Логические и символьные константы.

В данном уроке будет рассмотрено применение логических и символных констант. Логическая константа может принимать только 2 значения, либо True, либо False. В качестве значения символьной константы могут использоваться любые символы, которые есть в ...

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

Процедуры Dec и Inc в Pascal.

При работе с целыми числами используются процедуры DEC и INC. Процедура Dec уменьшает число на определенное значение, а процедура Inc увеличивает число на определенное значение.

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

Манипулирование строками STRING.

В языке Паскаль при работе с текстами чаще всего используются короткие строки типа STRING. Стандартные процедуры READLN(St), WRITE(St) и WRITELN(St) поддерживают ввод и вывод строк переменной длины ...

Сортировка простым включением и простым выбором.

Сортировка простым включением.
Пример 33. Методом простого включения упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94, 18, 06, 67).

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

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (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

Комментарии  

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

Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальУроки Паскаль