Ввод логических переменных с клавиатуры.

В отличие от переменных целого, вещественного или символьного типов данных, булевские переменные нельзя вводить с клавиатуры, их можно только выводить на экран. Однако можно использовать небольшую хитрость. Для того чтобы можно было ввести булевскую ...

Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

Функции LENGTH и CONCAT.

Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. ...

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

Циклы с параметром. Оператор FOR.

Эти циклы организуются в программах, где заранее известно число повторений. При этом повторное выполнение сопровождается изменением управляющего параметра (переменной цикла).

Тип данных Integer.

Тип INTEGER (целый). Этот тип представляет множество целых чисел диапазона от -32768 до 32767. В памяти ЭВМ  под целое число отводится два байта (16 бит).

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

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (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:
Ответить
 
 
-5 # Ученик 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 нет значений?
Ответить
 
 
0 # 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
Как используется '@'? Для чего предназначен?
Ответить
 
 
0 # Caroline 17.04.2017 13:14
Hello there! Do you know if they make any plugins to assist with SEO?
I'm trying to get my blog to rank for some targeted keywords but I'm not seeing very good
results. If you know of any please share. Cheers!


My web-site :: перейти на сайт (geschenkefuermaenner.info: http://geschenkefuermaenner.info/)
Ответить
 

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

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

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