На главную Самоучитель pascal Форум программистов онлайн Решение задач pascal Задачи pascal Поиск
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • 09 Июн 13

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


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



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

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

    Начнем с того , что поясним что такое условие в принципе. Думаю нетрудно догадаться , что условие это некоторая развилка на два пути истинное ( 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        Просмотры :  26537
    denis
    08 Фев 17   07:05
    denis
    Присылайте код прогоаммы и более точно опишите суть проблемы. cry
    0  

    Поиск

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

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

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

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

    Опрос

    Какой ваш любимый раздел ?