Использование program, begin…end, write, readln, Uses Crt, Clrscr.

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

Применение логических операций с оператором IF.

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

Логические операции And, Or, Not, Xor в Pascal.

Над переменными логического типа можно производить логические операции. В языке программирования Pascal существуют следующие логические операции : Andлогическое умножение, Orлогическое сложение, Notлогическое отрицание, Xor ...

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

Описание процедур.

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

Отображение на экране значений двумерного массива.

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

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в десятичной системе счисления. Шестнадцатеричное число A соответствует числу 10 в десятичной

ispoljzovanie if, then, else

Перевод чисел в шестнадцатеричную систему счисления.






program vetvlenija5;
uses crt;
var n:integer;
ch:char;
begin
clrscr;
write ('Введите число от 0 до 15 ');
readln (n);
if (n>=0) and (n<=15) then
begin
if n<10 then
ch:=chr(ord('0')+ n)
else
ch:=chr(ord('A')+n-10);
writeln('Это число в шестнадцатеричной системе счисления равно ',ch)
end
else
writeln ('Вы ввели неправильное число');
readln
end.



В строке №3 записываем переменную для хранения вводимого нами числа (это будет число от 0 до 15).

В строке №4 записываем символьную переменную для хранения числа. Здесь важно различать эти 2 переменные. Обе переменные предназначены для хранения чисел, однако в строке №3 числа представляются как цифры, над которыми можно производить различные математические операции (например, 2+2=4). В строке №4 числа представляются как символы и над ними можно производить операции, предназначенные для символов.

Строка №7. На экран выводится сообщение.

Строка №8. Вводим любое число с клавиатуры.

В строке №9 идет проверка условия о том, что введенное число лежит в диапазоне от 0 до 15. Запись производится с помощью слова And. Сначала в круглых скобках записываем первое условие о том, что введенное нами число «n» больше либо равно 0 (n>=0). Затем пишем слово And (с англ. «и»). Затем в круглых скобках записывается второе условие о том, что введенное нами число «n» меньше либо равно 15 (n<=15). Слово And между 2-мя условиями означает, что оба этих условия должны выполняться одновременно. Строка №9 нужна для проверки правильности введенных чисел. Эти числа должны быть не меньше 0 и не больше 15.

Строка №11. Если условие в строке №9 выполняется, то начинает проверяться другое условие с помощью вложенного оператора If. Здесь проверяется условие о том, что введенное нами число меньше 10 (n<10). Если это условие соблюдается, то переменной «ch» присваивается  значение chr(ord('0')+ n) (строка №12). Запись chr(ord('0')+ n) означает, что сначала с помощью функции Ord вычисляется код символа 0 по Кодовой таблице ASCII (ord(‘0’)). Затем к этому коду прибавляется введенное нами число «n» (ord('0')+ n). Затем с помощью функции Chr вычисляется символ по полученному коду. Для наглядности рассмотрим пример. Предположим мы ввели с клавиатуры число 5. Это число запишется в переменную «n». Условие в строке №11 выполняется, поэтому будет выполнена операция присваивания в строке №12 (ch:=chr(ord('0')+ n)). Сначала подсчитывается Ord(‘0’). Числовой код символа 0 по Кодовой таблице ASCII равен 48. Затем к этому числу прибавляется значение переменной «n» (т.е. то значение, которое мы ввели с клавиатуры) (ord('0')+ n). Мы ввели число 5. 48+5=53. И последней выполняется функция Chr, т.е. числовой код 53 будет преобразован в символ согласно Кодовой таблице ASCII. Смотрим таблицу. Коду 53 соответствует символ 5. Это и будет результатом операции, записанной в строке №12.

Строка №13. Если условие в строке №11 не выполняется, т.е. если введенное нами число не меньше 10 (т.е. лежит в диапазоне от 10 до 15), то будет выполняться операция в строке №14 (ch:=chr(ord('A')+n-10)). Предположим мы ввели с клавиатуры число 15. Сначала подсчитывается числовой код символа «A». Он, согласно таблице, равен 65. К этому коду прибавляем «n». 65+15=80. Затем отнимаем от полученного числа 10. 80-10=70. И в конце функция Chr преобразует этот числовой код в символ. Коду 70 соответствует символ «F». Этот символ и будет результатом операции в строке №14.

Строка №15. Выводим на экран сообщение. Заметьте, что после Else (строка №13) должно выполняться сразу две операции (операция присваивания (строка №14) и операция вывода на экран (строка №15)). Поэтому всю конструкцию if…then…else необходимо заключить в операторные скобки begin…end. (строка №10 и №16).

Строка №17. Последний в программе else относится к первому if (строка №9). Т.е. если условие в строке №9 не выполняется (число, введенное с клавиатуры будет лежать за пределами диапазона от 0 до 15), то на экран выведется сообщение в строке №18.
После запуска программы введите любое число (например, 12).

ispoljzovanie if, then, else.

ispoljzovanie if, then, else..

Можете попробовать ввести другие числа (выходящие за пределы от 0 до 15).


Предыдущая статья : Использование вложенного оператора If.

Оглавление : Уроки Паскаль. Ветвления.

Следующая статья : Применение логических операций с оператором IF.


Комментарии  

 
+4 # Ниагара 05.12.2012 09:44
Отличная статья.
У меня тоже есть функция для представления чисел в шестнадцатеричн ой системе счисления. Она рекурсивная и не отображает начальные нули у чисел более 255
function hex(x: word): string;
const a: string=('012345 6789ABCDEF');
begin
if x
 
 
+1 # Нео 16.12.2012 13:58
Вау кто то кроме меня читает эти уроки :-)
 
 
0 # нуна 10.02.2013 16:34
конечно не только ты НЕО просто автор молодец!!!!
 
 
+1 # Даник 24.04.2015 18:50
А если у меня число больше 15?
 
 
-1 # Раиль 11.11.2016 21:48
Невозможно. Можно перевести в диапазоне от 0 до 15.
 
   ГлавнаяПаскальВетвления в ПаскальОператор выбора Case Of в Pascal.