TURBO PASCAL |
Новости
|
Условный оператор
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор - это средство ветвления вычислительного процесса. Структура условного оператора имеет следующий вид:
IF <условие> THEN <оператор1> ELSE <оператор2>,
где IF, THEN, ELSE - зарезервированные слова (если, то, иначе); <условие> - произвольное выражение логического типа; <оператор1>, <оператор2> - любые операторы языка Турбо Паскаль. Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение <условие>. Если результат есть TRUE (истина), то выполняется <оператор1>, а <оператор2> пропускается; если результат есть FALSE (ложь), наоборот, <оператор1> пропускается, а выполняется <оператор2>. Например: var х, у, max: Integer; begin ....... if x > max then у := max else y := x; При выполнении этого фрагмента переменная Y получит значение переменной X, если только это значение не превышает МАХ, в противном случае Y станет равно МАХ. Часть ELSE <оператор2> условного оператора может быть опущена. Тогда при значении TRUE условного выражения выполняется <оператор1>, в противном случае этот оператор пропускается: var х, у, max: Integer; begin ....... if x > max then max := x; Y := x; В этом примере переменная Y всегда будет иметь значение переменной X,а в МАХ запоминается максимальное значение X. Поскольку любой из операторов <оператор1> и <оператор2> может быть любого типа, в том числе и условным, а в то же время не каждый из «вложенных» условных операторов может иметь часть ELSE <оператор2>, то возникает неоднозначность трактовки условий. Эта неоднозначность в Турбо Паскале решается следующим образом: любая встретившаяся часть ELSE соответствует ближайшей к ней «сверху» части THEN условного оператора. Например: var a,b,c,d : Integer; begin a := 1; b := 2; c= 3; d := 4; if a > b then if с < d then if с < 0 then с := 0 else a := b; {а равно 1} if a > b then if с then if с then с := 0 else else else a := b; {а равно 2} Рассмотрим программу (пример 2.4), которая вводит произвольное десятичное целое число в диапазоне 0...15, преобразует его к шестнадцатеричному и выводит на экран полученный результат. Пример 2.4 Program Hex; {Программа вводит с клавиатуры целое число в диапазоне от 0 до 15, преобразует его к шестнадцатеричной системе счисления и выводит результат на экран} var n : Integer; {Вводимое число} ch : Char; {Результат} begin Write ( ',n = ' ) ; ReadLn(n); { Вводим число } {Проверяем число на принадлежность к диапазону 0...15} 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('n = ',ch) end else {He принадлежит диапазону} WriteLn('Ошибка') end. В шестнадцатеричной системе счисления используется 16 цифр в каждом разряде: цифры 0...9 обозначают первые 10 возможных значений разряда, буквы A...F - остальные шесть. В программе учитывается непрерывность и упорядоченность множеств цифр 0...9, букв A...F и их кодов (см. гл.4).
|
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |