Другие языки программирования и технологии

Язык программирования паскаль, оператор if-else

Мое почтение. Элемент программы:
If f=5 then writeln(c) else writeln(c+5) else exit. Получилось. А забил тоже 3 раза else, но другое условие и операторы, -не получилось. В чем проблема?
Султан Zx
Султан Zx
209
Условный оператор имеет такую структуру:

if условие1 then
действие1
else
действие2;

Если условия вложенные, то количество else соответствует количеству if:

if условие1 then
if условие2 then
if условие3 then
действие1
else {если не соблюдено условие 3}
действие2
else {если не соблюдено условие 2}
действие3
else {если не соблюдено условие 1}
действие4;

Но для того, чтобы не путаться, вложенные условия лучше заключать в составной оператор begin-end и строить код лесенкой с пробелами слева:

if условие1 then
begin
__if условие2 then
__begin
____if условие3 then
____begin
______действие1
____end
____else {если не соблюдено условие 3}
______действие2
__end
__else {если не соблюдено условие 2}
____действие3
end
else {если не соблюдено условие 1}
__действие4;
Naman Dj
Naman Dj
82 086
Лучший ответ
Kair Kustayev Дополню ответ, что "пробелы" - вовсе не пробелы, а табуляция (при наборе кода, при переходе на каждую новую строчку нужно тыкать кнопку tab для отступа). Это разбивает код на визуальные блоки, вследствие чего его читаемость возрастает в разы.
else может ставиться на каждый if только один раз. А то чёрти что получается: если f равно пяти то отобразить c, иначе c плюс пять. Какое ещё третье иначе?

это тебе не да/нет/наверное
Алекс Косюра
Алекс Косюра
55 231
Это не проблема, это неправильный синтаксис.
В первом случае, видимо, где-то выше еще if есть.
VK
Vitali Kasper
25 516
Структура, вида:
if Условие1 then
Действие1
else
Действие2
else
Действие3;
абсолютно неверна. Однако есть такая конструкция, как else if, и вот с помощью неё можно добиться желаемого результата.
Например
if Условие1 then
Действие1
else if Условие 2 then
Действие 2
else
Действие 3. Но нужно отталкиваться от условия задачи, ибо иногда лучше решение вынести в два разных условия, чем ветвить одно.
~Вова~ Немыкин
~Вова~ Немыкин
10 673