Тип данных Boolean. Значения True, False в Pascal.

Мы рассмотрели с Вами целый тип данных (integer), вещественный тип (real), символьный (char). В этом уроке мы рассмотрим тип данных, который имеет большое значение в программировании. Логический типBoolean. Одной из особенностей этого типа данных ...

Использование вложенного оператора If.

Условные операторы в Pascal можно вкладывать друг в друга. Для этого используется вложенный оператор IF. Рассмотрим это на примере программы, которая будет считать количество корней квадратного уравнения.

Логические операции с целыми числами.

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

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

Табулирование функций.

Задача табулирования функции предполагает получение таблицы значений функции при изменении аргумента с фиксированным шагом. В качестве исходной информации должны быть заданы: Х0, Хn – начало и конец ...

Поиск минимального и максимального элементов массива.

Одной из наиболее распространенных задач обработки массивов является поиск минимального (максимального) элемента.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 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.


Комментарии  

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

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

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

   ГлавнаяПаскальВетвления в Паскаль