На главную Самоучитель pascal Форум программистов онлайн Решение задач pascal Задачи pascal Поиск
09 Июн 13

Условия if then else в Паскаль


Комментарии :  2        Просмотры :  24397



Условия в паскале ( их также называют разветвлениями ) - одна из самых важных тем в языке программирования Паскаль. Данная конструкция будет использоваться почти в каждой задаче.

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

Начнем с того , что поясним что такое условие в принципе. Думаю нетрудно догадаться , что условие это некоторая развилка на два пути истинное ( true ) и ложное ( false ).
Истинное условие выполняется в том случае , когда условие истинно , то есть условие возвращает истинное значение ( позже будет понятнее ).
Ложное условие выполняется в том случае , когда условие ложно.

Рассмотрим эту конструкцию на примере .Например нам нужно узнать больше ли первое число второго . Проще говоря ввести два числа "а" и "b" и если а больше б , то вывести "а больше".
Делается это проще простого.

If ( если )


Условие записывается в скобках между словами if ( если ) и then ( тогда ).
В нашем случае нам понадобится такое условие if ( a > b ) then . Если условие "а больше б" возвращает истинный результат , то после слова then выполняется первая команда . Например :

Условиe if


После выполнения данной программы , если условие истинное и "а" больше "б" , на экран будет выведено сообщение A больше. Однако следует заметить , что если мы хотим в результате выполнения условия выполнять несколько команд , то их следует заключать в блок begin end.

Использование нескольких команд

Else ( иначе )


Допустим условие задачи такое - Ввести два числа с клавиатуры "a" и "b" , если "а" больше вывести число "а" , иначе вывести число "b".

Блок else ( иначе ) записывается после тела истинного значения . Запомните перед else ; никогда не ставится !

Пример использования блока else


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

Несколько команд в блоке else

Сложные условия :


В аналогии с простыми существуют и сложные условия . Пример простого условия ( a = b ) . Пример сложного ( a > b ) and ( a <> b ). Дословно - если "а" больше "б" и "а" неравно "б" тогда ... В данном случае блок then будет выполнятся тогда и только тогда , когда обе скобки возвращают истинный результат . Если хоть одна из скобок возвращает ложный , то будет выполнен блок else ( если он есть ). Разберем пример ещё одного условия ( сложного ). if ( (a > b) and ( a <> b ) ) or ( a = c ) then в этом случае блок then будет выполнятся в том случае , если "а" больше "б" и "а" неравно "б" или "а" равно "с".

Знаки для условий

Вложенные условия :

В одном условии могут находится ещё несколько условий , а в них ещё столько же условий. Проще говоря условия могут вкладываться в другие условия. Для того , чтобы вам было более понятно приведем такой пример. Например у нас есть массив из 10 элементов , заполненный случайными числами ,а нам нужно найти отрицательное число и вывести его на экран если индекс отрицательного элемента будет четным. Код данной программы выглядит вот так :

Код

program mypascal;
uses
crt;
var
a: array[1..10] of integer;
i:integer;
begin

  for i:= 1 to 10 do
  a[i]:= random(21)-10;
   
  for i:= 1 to 10 do
  if ( a[i] < 0 ) then
  if ( i mod 2 = 0 ) then
  writeln(a[i]);

end.


Однако данные вложенные условия можно было заменить одним : if ( a[i] <0 ) and ( i mod 2 = 0 ) then.

Вывод :


Ветка истинности и ложности

Выше на картинке показано как именно работают условия в языке программирования pascal. Если условие , которое указано в скобках , в данном случае это a > b , истинно , то будет выполнен код по ветки истинности. Если условие ложное , то будет выполнен код по ветке ложности.
  • Условие записывается в скобках между словами if ( если ) и then ( тогда ).
  • Если условие истинное , например ( 4 > 3 ) , то выполняется блок then , если условие ложное ( 3 > 4 ) выполняется блок else.
  • Если мы хотим выполнить больше одной команды в условии их следует заключать в блок begin end.
  • Перед else точка с запятой не ставится !


Рейтинг материала : ( 4 / 6 )
Сообщить об ошибке
Комментарии :  2        Просмотры :  24397
denis
08 Фев 17   07:05
denis
Присылайте код прогоаммы и более точно опишите суть проблемы. cry
0  

Личный кабинет

Логин:
Пароль:

Поиск

RSS лента

Подписаться на rss


Подпишитесь на нашу ленту новостей rss и вы всегда сможете быть в курсе обновлений на нашем сайте.

Решение задач

Если вас интересует решение какой-либо задачи , то вы можете опубликовать
её условие на нашем сайте или форуме. И в скором времени другие пользователи помогут вам.

Опубликовать на сайте

Опубликовать на форуме

Опрос

Какую разновидность паскаля вы предпочитаете ?