[АП 2023/01] - свежий номер журнала
Как в PHP получить полные сведения о конфигурации сервера
Как выделить память для данных в Паскале
Использование системных команд в С++
Как создать каталог в Паскале с помощью процедуры MkDir

Как стать успешным фрилансером
Условный оператор
![]() |
Что делать, чтобы стать программистом
Многие сегодня хотят стать программистами. Хотят. Но ничего не делают для этого. Не делают даже простых вещей. Не хотят даже прочитать книжку из 10 страниц. В итоге так и остаются никем. Потому что мечты не сбываются никогда. Сбываются только планы… Подробнее... |
В общих чертах с условным оператором мы уже познакомились в статье Операции сравнения. Сегодня поговорим об это более подробно.
Напомню, как выполняется ветвление в Паскале:
if … then … else
Эта конструкция работает так:
if (если) выполняется условие then (то) выполняем этот код else (иначе) если условие не выполняется выполняем этот код
Кроме того, условный оператор может быть сокращённым, то есть без использования слова else. Сокращённый вариант применяется в тех случаях, когда при несоблюдении условия никаких действий выполнять не надо.
Например, какая-то программа должна проверять значение температуры. Если температура ниже минимальной, то надо выдать сообщение. А если нет, то ничего не предпринимать и продолжить работу. Если вы помните наш алгоритм похода за молоком (рис. 4.2), то там надо выполнять именно эту операцию - проверку температуры, то есть определять, насколько холодно на улице. Выглядеть это будет примерно так:
var Temperatura : integer; begin Temperatura := -20; WriteLn('Get the money'); //Взять деньги if Temperatura < 0 then //Если температура ниже нуля WriteLn('Dress warmly'); //то тепло одеться WriteLn('Go to the store'); //Пойти в магазин WriteLn('...'); //Ну и так далее... ReadLn; end.
Здесь мы проверяем значение переменной Temperatura. Если оно меньше нуля, то выводим строку “Dress warmly” (тепло одеться). Иначе, если температура равна или больше нуля, то программа ничего не делает, а просто переходит к следующей строке кода.
Ну и для закрепления материала снова вернёмся к нашему калькулятору. Посмотрите ещё раз внимательно исходный код и попробуйте определить, какие ещё ошибки могут возникнуть при вводе данных и сможем ли мы их избежать с помощью ветвления.
program ifelse; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Classes { you can add units after this }; var x, y : integer; begin Write('x = '); ReadLn(x); Write('y = '); ReadLn(y); WriteLn('x + y = ', x + y); WriteLn('x - y = ', x - y); WriteLn('x * y = ', x * y); if y = 0 then WriteLn('!!! Error: Division by ZERO !!!') else WriteLn('x div y = ', x div y); ReadLn; end.