Меню Закрыть

Else на языке паскаль

Содержание

Бывает, что в процессе выполнения программы требуется реализовать разный набор команд в зависимости от произошедших до этого событий. В языках программирования это достигается с помощью специальных конструкций – условных операторов.

Чаще всего в качестве условного оператора в языках программирования используется конструкция if-else или ее сокращенный вариант if. Также существует оператор выбора case, который имеет более специфичное применение.

Оператор if-else

Когда выполнение основной ветки программы доходит до условного оператора if-else, то в зависимости от результата логического выражения в его заголовке выполняются разные блоки кода. Если логическое выражение вернуло true, то выполняется один блок (в Паскале начинается со слова then), если false – то другой (начинается со слова else). После выполнения одного из вложенных блоков кода, ход программы возвращается в основную ветку. Другой вложенный блок не выполняется.

Например, программа должна определять, ввел пользователь четное или нечетное число, и выводить на экран сообщение. Тогда программный код на языке Pascal может быть таким:

Бывают неполные формы условных операторов. В таком случае вложенный в if блок кода выполняется только в случая true логическом выражении заголовка. В случае false выполнение программы сразу передается в основной блок. Понятно, что ветка else в таком случае отсутствует.

В примере ниже, если переменная имеет значение меньше нуля, то ее значение изменяется (находится модуль числа). Если же значение переменной изначально больше нуля, то блок кода при операторе if вообще не выполняется, т.к. не соблюдено условие (n Добавить комментарий

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Условный оператор в Паскале

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

Блок-схема условного оператора:

Условный оператор в Паскале имеет следующий синтаксис:

if условие then оператор;

Полный вариант:

if условие then оператор else оператор;

Условный оператор в Паскале — if — служит для организации хода задачи таким образом, при котором изменяется последовательность выполнения операторов в зависимости от какого-либо логического условия. Логическое условие может принимать одно из двух значений: либо true (истина), либо false (ложь), соответственно, оно может быть либо истинным, либо ложным.

Составной оператор

Если при истинном условии необходимо выполнять несколько операторов, то их по правилам языка Pascal необходимо заключать в блок, начинающийся со служебного слова begin и заканчивающегося служебным словом end . Такой блок принято называть операторными скобками, а данную конструкцию — составным оператором:

Операторные скобки и составной оператор в Паскале:

if логическое выражение then begin оператор1; оператор2; end else begin оператор1; оператор2; end;

Читайте также:  Int main что означает

Перевод с английского оператора условия облегчит понимание его использования:


В условии (в логическом выражении) используются операторы отношения.
Рассмотрим список операторов отношения Паскаля:

  • больше >
  • меньше
  • больше или равно в Pascal >=
  • меньше либо равно в Pascal
  • сравнение в Pascal =
  • не равно в Pascal <>
Вариант 1 Вариант 2

Подробно разобраться в работе условного оператора в Паскале можно, просмотрев видеоурок:

Обратите внимание на то, как в данном примере выводится y . При выводе переменных типа real в pascal, можно использовать так называемый форматированный вывод, или запись с двумя двоеточиями:
y:6:2
— цифра после первого двоеточия ( 6 ) указывает на то, сколько знаков будет занимать число при выводе на экран
— цифра после второго двоеточия ( 2 ) указывает на то, сколько знаков после запятой вещественного числа будет выводиться

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

Логические операции в Паскале (в логическом выражении)

Когда необходимо использовать двойное условие в Pascal, то понадобятся логические операции.

  • Логическая операция AND (И), поставленная между двумя условиями, говорит о том, что должны выполняться сразу оба эти условия (должны быть истинными). Логический смысл операции — «конъюнкция».
  • Поставленный между двумя условиями, знак OR (ИЛИ) говорит о том, что достаточно, если будет выполняться хотя бы одно из них (одно из двух условий истинно). Логический смысл операции — «дизъюнкция».
  • На языке Паскаль XOR — знак логической операции, имеющий смысл «строгая дизъюнкция» и указывающий на то, что необходимо, чтобы одно из двух условий выполнялось (истинно), а другое — не выполнялось (ложно).
  • Логическая операция NOT перед логическим выражением или переменной имеет смысл «отрицание» или «инверсия» и указывает на то, что если данная переменная или выражение истинны, то их отрицание — ложь и наоборот.

var n:integer; begin n:=6; if (n>5) and (n 7) or (n 7) xor (n 7) then writeln(‘истина’); end.

Вариант 1 Вариант 2

var a,b: integer; begin write(‘Введите A: ‘); read(a); b := a mod 2; if b>0 then writeln(‘true’) else writeln (‘false’) end.

Построение блок-схем по коду Паскаль

Теперь настало время вспомнить о том, что такое блок-схемы.
Блок схема — ориентированный граф, указывающий на последовательность операций, приводящую к решению поставленной задачи.

Существуют управляющие структуры трех типов:

следование ветвление повторение или цикл

Две из трех представленных структур блок-схемы мы уже можем перевести в код Pascal.

Читайте также:  Правильное расположение пальцев на клавиатуре

Результат:

На предыдущей странице мы разобрались, что такое оператор присваивания – он используется для придания переменным конкретных значений. Следующим по важности использования можно назвать условный оператор. Но в чем его суть?

Помните, как в старой доброй сказке витязь стоял перед вещим камнем и читал надпись не нем: «Направо пойдёшь – коня потеряешь, себя спасёшь; налево пойдёшь – себя потеряешь, коня спасёшь; прямо пойдёшь – и себя и коня потеряешь»? Чего ждал он, о чем размышлял? Естественно, о проблеме выбора, ведь у него стояла не лёгкая задача – в любом случае витязь что-то терял. Благо, что нам нечего терять, но выбирать придется.

Представим себе классическую задачу решения квадратного уравнения: если дискриминант положительный – тогда уравнение имеет два разных решения, если он равен нулю – то одно, а при отрицательном дискриминанте вещественных решений нет вообще. Идея здесь одна – решение квадратного уравнения зависит от дискриминанта, а точнее – от его знака. Или ещё задача: определить количество дней в году. Естественно, что количество дней зависит от того, является год високосным или нет.

А вот пример геометрической задачи подобного рода: выяснить, будут ли три числа a, b и c сторонами треугольника. Мы знаем, что три числа будут сторонами некоего треугольника тогда и только тогда, когда сумма любых двух сторон этого треугольника больше третьей стороны. Здесь тоже, как мы видим, решение задачи зависит от некоторых условий (трех неравенств).

Эти три задачи объединяет одно: здесь нельзя просто так составить программу на Паскале, чтобы задача решалась «одним махом» – из-за наличия определенных условий. Поэтому в таких случаях на помощь приходит условный оператор, который распределяет выполнение операторов в зависимости от условий. Записывается следующим образом:

Эта конструкция работает по такому принципу. Сначала проверяется условие (после if); если оно истинно, то выполняется оператор1 (после then), в противном случае – оператор2 (после else). И ещё: if означает «если», then – «тогда», else – «иначе». Все это зарезервированные слова в Pascal, всегда выделяются жирным шрифтом. Ещё одно важное замечание: перед else никогда не ставится точка с запятой, поскольку оно составляет единое целое с if и then. Поясним, как используется условный оператор на простом примере:

Перепишите этот небольшой код в среду PascalABC.Net и запустите (кнопка F9 на клавиатуре). Посмотрите, как программа работает. Здесь идет проверка температуры t воздуха – если она больше 0 (условие t > 0 после if), то выполняется оператор после then и мы увидим ответ: «вода не замерзла»; в противном случае (то есть при температуре от 0 и ниже: t ≤ 0 — это условие противоположное по отношению к предыдущему t > 0 ) выполнится оператор после else и ответ будет другим: «вода замерзла» (без кавычек). Это пример простейшей задачи на использование условного оператора. Другие задачи такого типа вы можете посмотреть в материале Сравнение чисел.

Читайте также:  Connected cars что это

В этой задаче, правда, мы не учли температуру кипения воды (при нормальном атмосферном давлении — 100°С). Поэтому перепишем предыдущую программу немного по-другому:

Здесь надо сделать некоторые пояснения. Сначала мы проверяем отрицательную или нулевую температуру (t≤0): если это действительно так, то выполняется оператор вывода write(‘вода замерзла’) – это и есть оператор1. В противном случае (то есть, если температура положительная) должен быть выполнен оператор2, стоящий после else. Но мы видим, что там находится ещё одна конструкция условного оператора со своими if, then и else.

Тогда постает вопрос: что именно считать оператором2? А как раз эта вся конструкция и будет оператором2, поскольку программой она воспринимается как один оператор (условный оператор — единственный оператор, состоящий из трех частей: ifthenelse). Таким образом, здесь мы будем проверять положительные температуры: если температура меньше 100 (t write(‘вода нагревается’) , иначе (от 100 и выше градусов) вступит в действие write(‘вода закипела’) . Все это будет относиться к первому else.

Перепишите программу в PascalABC.Net и запустите. Вводите разные значения, помня, что при температуре от 0° и ниже вода замерзает, от 100° и выше – закипает, а во всех остальных случаях не замерзает и не закипает. Если результаты совпадают, значит программа работает.

Бывает так, что при истинности или ложности условия (после if) вместо выполнения одного оператора (оператора1 или оператора2) должна выполнятся целая группа операторов. В этом случае используются операторные скобки beginend, в которые записываются все необходимые команды. В общем случае запись такова:

Как видно, при истинности условия выполняется одна группа из N операторов, а при ложности – другой набор из M операторов. Условие (между if и then) тоже может состоять из нескольких частей. Для примера решим задачу о существовании треугольника по его сторонам:

Задача. Дано три числа: a, b и c. Определить, существует ли треугольник со сторонами, равными этим числам.

Как упоминалось выше, треугольник будет существовать при выполнении трех условий: a+b>c, b+c>a, c+a>b . Поскольку все три неравенства должны выполняться одновременно, то мы их объединим оператором and (логическое «и»). В итоге получим:

«>

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.