Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

Строковые константы в Pascal.

В качестве значения строковой константы может выступать любая последовательность символов. Эта последовательность заключается в апострофы. Строковая константа отличается от символьной константы тем, что здесь в качестве значения константы можно ...

Операции умножения и сложения в Pascal.

В данном уроке мы рассмотрим операции умножения и сложения в Pascal. Умножение в Pascal обозначается знаком «*», а сложение - знаком «+».

Циклы и массивы

Вычисление предела последовательности.

Вычисление предела последовательности является типичной задачей на использование итерационного цикла.

Организация условного перехода. Оператор IF.

Для программирования разветвляющихся процессов, содержащих две ветви, используется оператор IF условного перехода (ветвления), имеющий две конструкции.

Уроки Паскаль

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (integer) и дробные числа (real). Теперь рассмотрим тип данных, позволяющий хранить и обрабатывать различные символы. Символы – это все буквы и значки, которые мы можем увидеть на клавиатуре. Для того чтобы ввести в программу символьные переменные необходимо указать для них символьный тип данных Char.

Program number13;
uses crt;
var N:integer;
X:char;
begin
clrscr;
X:=’L’;
writeln (X);
N:=Ord (X);
writeln (N);
X:=Chr (N);
writeln(X);
readln
end.

Строка №4. Записываем переменную «X» и указываем для нее тип данных Char. Char – тип данных, который позволяет хранить символы. В данном случае в переменную «X» мы будем записывать не какие-то числа, а символы.

В строке №7 мы присвоили переменной «X» значение латинской буквы L. Сам символ, который необходимо записать в переменную, обязательно берется в апострофы. Напомню, что когда мы присваиваем переменной числовое значение, то число в апострофы не берется.

В строке №8 выводим на экран значение, которое мы присвоили переменной X, т.е. фактически на экран выведется буква L.

Строка №9. Функция Ord, преобразовывает букву в ее числовой код. Коды всех букв и символов можно посмотреть в кодовой таблице ASCII, которая приведена ниже. ASCII (American Standard Code for Information Interchange) - международный стандарт, принятый для кодирования текстовой информации. По этой таблице, любые символы имеют свой уникальный числовой код. В нашем примере переменной N присваивается значение функции Ord (L) т.е. (код) буквы «L» (по таблице ASCII код буквы «L» - 76).

В строке №10 выводим значение переменной «N» (т.е. числовой код буквы «L») на экран.

Строка №11. Функция Chr противоположна функции Ord. Эта функция будет преобразовывать числовой код символа в сам символ. В переменной N у нас записан код буквы «L». C помощью функции Chr мы преобразуем этот код в букву и запишем её в символьную переменную X. Таким образом, в строке №12 на экран выведется буква «L»

Tip dannihkh Char, funkcii Ord, Chr

Tip dannihkh Char, funkcii Ord, Chr.



Дополнение к материалу.

В приведенном выше примере функция Ord возвращает в качестве значения код переменной «X», которой присвоено значение латинской буквы «L». После записи функции Ord переменная «X» стоит в круглых скобках (строка №9). Вместо записи переменной можно напрямую записать символ, код которого необходимо получить. Этот символ необходимо заключить не только в круглые скобки, но и в апострофы. Таким образом программу можно записать так:


Program number13;
uses crt;
var N:integer;
X: char;
begin
clrscr;
writeln (‘L’);
N:=Ord (‘L’);
writeln (N);
X:=Chr (N);
writeln(X);
readln
end.

Кодовая таблица ASCII.

kodovaya tablica ASCII.

kodovaya tablica ASCII

Комментарии  

 
+8 # Юрий 13.03.2012 16:53
Здравствуйте! А почему во втором варианте программы №112 нет объявления типа переменной Х?
 
 
+20 # Administrator 15.03.2012 11:54
Да точно, моя ошибка. Спасибо за замечание. Сейчас все исправлено.
 
 
+17 # Нео 03.12.2012 19:48
понятно, кратко, детально = идеально :lol:
 
 
0 # Ученик 17.03.2016 15:02
Разбираешься в Паскале? Я пишу программу для конкурса и столкнулся с проблемой. Моя программа- игра, самая элементарная, но проблема в том, что я не могу сделать управление, к примеру на стрелки клавиатуры, сколько я бы не пытался, у меня не выходит, можешь помочь?
 
 
+18 # Юрий 17.03.2012 05:18
Здравствуйте! Спасибо за Ваш ответ. Он подтверждает то, что Вы - классно учите. Ведь очевидно, что благодаря Вам я за короткий срок уже умею не только буквы узнавать , но и понимать смысл записей. :-)
 
 
+28 # Administrator 17.03.2012 07:38
Спасибо за Вашу похвалу, Юрий. Благодаря таким как Вы хочется писать хорошие статьи для того чтобы научить людей программировани ю, а не просто извести кучу бумаги для написания лишь бы чего и потом это продавать по баснословным ценам.
 
 
+9 # Дори 09.12.2012 14:54
И в првду все прекрасно изложено, начинаю верить что сдам нормально сессию, а ведь информатика это единственный предмет который я не понимаю. Спасибо админ.
 
 
+4 # Ahtung 11.12.2012 12:33
Почему у цифр от 7 до 13 нет значений?
 
 
+2 # rad 21.02.2013 22:56
Потому, что в этой части таблицы расположены управляющие клавиши.
Например, у клавиши Enter код =13
 
 
0 # sairan 01.03.2013 07:45
молдцы ребята
 
 
+8 # Игорь 16.12.2012 13:09
Создатели сайта, ребята, молодцы вообще. доступно и понятно. спасибо вам:)
 
 
0 # Антон 28.02.2013 13:29
Хм, я писал программку для вывода значений таблицы ASCII в PascalABC.net, что-то получившийся результат не совпадает с таблицей, представленной здесь...
 
 
+1 # Гость 13.04.2016 17:57
согласна
 
 
0 # Нупя 28.02.2013 17:35
В дополнении после readln не должно быть точки с запятой?!
 
 
-8 # sairan 01.03.2013 07:48
:-| :lol: :D :-| :oops: :sad: :cry: :o :-? :-x :eek: :zzz :P :roll: :sigh:
 
 
+2 # sairan 01.03.2013 07:50
создатели сайта молодцы
 
 
0 # Антонов Всеволод 04.03.2013 14:07
перед последним end-ом п редыдущий перед ним строчки ";" необязательна
 
 
0 # Лолка 17.02.2014 20:10
Отсутствие отступов — крайне дурной тон, не надо такому учить!
А нижняя часть таблицы ASCII (после 127 символа) — это уже не ASCII, а какая-то русскоязычная кодовая страница на её основе (коих, вообще говоря, вагон и маленькая тележка).
 
 
-1 # GlassySundew 27.08.2014 13:25
Какое значение у кода #10?
 
 
-1 # Len 17.09.2014 12:28
Какое введешь, такое и будет
 
 
0 # Danil 11.09.2015 06:39
Можете подсказать, как сделать?
Нужно чтобы в программе пользователь ввёл да или нет, а после этого должна выполняться программа , зависящая от выбранного ответа
Типа если на вопрос ответил да, то выполняется одно действие, если нет-другое
 
 
0 # cookies_thief 08.06.2016 15:17
Думаю, уже не актуально, но, надеюсь, пригодится тем, кто так же, как и я, пришёл сюда за ещё неизученным материалом (большой респект создателям и авторам сайта!):

Program tree;
Var c: char;
n: integer;
{...}
Begin

Writeln ('*вопрос*');
Readln (c);

N := Ord (C);

If n = 89
then {один случай}
else {второй случай};

end.
 
 
0 # Danila 22.02.2016 21:10
Вопрос, Можете пожалуйста обяснить, как я могу сделать выборочную проверку букв в слове(например только четные буквы).
 
 
0 # cookies_thief 13.06.2016 20:00
Проверку на что? Формулируйте вопрос конкретнее, пожалуйста.
Если нужно проверить, если ли в слове какой-то определённый символ или буква, вам сюда - http://programmado.ru/55-stroki-v-paskale-tip-string.html , ибо нужен строковый тип данных string, char же работает только с единичным символом.

Если допустить, что вам нужна проверка на то, не встречается ли в слове определённая буква, то вот, накропал на досуге :lol: :

PROGRAM Check;
VAR X, C: string;
i, L: integer;
begin

WRITELN ('Введите слово для проверки');
READLN (X);
WRITELN ('Введите проверочный символ');
READLN (C);
L := Length (X);
For i := 1 to L do
begin
If C = X[1] then WRITELN ('Соответствие');
Delete (X, 1, 1);
end;

end.
 
 
0 # cookies_thief 13.06.2016 20:11
Чорд, забыл про комментарии (комменты - это поясняющий текст в фигурных скобках, если чо):

PROGRAM Check;
VAR X, C: string;
i, L: integer;
begin

WRITELN ('Введите слово для проверки'); { вводим проверяемое слово }
READLN (X);
WRITELN ('Введите проверочный символ'); { наличие которого в слове и будет определяться }
READLN (C);
L := Length (X); { функция определения количества символов с строке (в данном случае - в слове) }
For i := 1 to L do { детерминированн ый цикл или цикл с заранее известным количеством итераций (повторений). В данном случае, число повторений будет равно L. Тело этого цикла заключено в операторные скобки (begin...end). Таким образом, слово "соответствие" выводится на экран столько раз, сколько было, собственно, соответствий }
begin
If C = X[1] then WRITELN ('Соответствие');
Delete (X, 1, 1); { удаляем первый символ }
end;

end.
 
 
0 # ггпшгунупатшгныпетгн 21.04.2018 13:55
А что такое clrscr;? Это процедура?
 
 
0 # StepAN 23.04.2018 10:13
ClrScr (процедура) (модуль Crt). Очищает активное окно и устанавливает курсор в левый верхний угол окна
 
   ГлавнаяПаскальУроки ПаскальAbs, Sqr в Pascal.