Продолжаем изучать язык программирования Паскаль. Рассмотрим первую алгоритмическую конструкцию, которая изучается при изучении языка — условие (ветвление). Статья предназначения для начинающих программистов, а также для учителей информатики. Задачи в конце статьи помогут закрепить знания и проверить себя.
Алгоритмическая конструкция УСЛОВИЕ используется в тех случаях, когда перед нами стоит выбор: сделать так или иначе.
Условие бывает:
- Неполное
- Полное
Неполное условие
Блок-схема неполного условия выглядит следующим образом:
ЕСЛИ УСЛОВИЕ ИСТИННО, ТО ВЫПОЛНЯЕТСЯ ДЕЙСТВИЕ, ИНАЧЕ НИЧЕГО НЕ ПРОИСХОДИТ
На языке Паскаль данная алгоритмическая конструкция выглядит следующим образом:
IF условие THEN действие;
Если условие, стоящее после IF истинно, то выполняется действие, стоящее после слова THEN.
Что такое условие?
Условие — это выражение, которое может быть либо истинным, либо ложным. Условие обязательно содержит логические операторы <, >, =, <=, >=, <> (не равно).
Например:
var a:integer; begin readln(a); if a=7 then writeln('Привет!'); end.
Если введенное значение переменной a равно 7, то на экране мы увидим слово Привет! Если не равно — то на экран ничего выводится не будет.
Рассмотрим другой пример:
var a:integer; begin readln(a); if a=7 then writeln('Привет!'); writeln('До встречи'); end.
Что мы увидим на экране, введя число 7? Увидим:
Привет!
До встречи
Что мы увидим на экране, введя число 10?
До встречи
Почему так? Почему До встречи выводится на экран в любом случае? Команда
writeln('До встречи');
не относится к конструкции If-Then
var a:integer;
begin
readln(a);
if a=7 then writeln('Привет!');
writeln('До встречи'); // условие подсвечено голубым цветом end.
Как сделать так, чтобы оба действия относились к конструкции If-Then?
Необходимо заключить эти действия в так называемые операторные скобки: begin… end;
Получим:
var a:integer; begin readln(a);
if a=7 then begin
writeln('Привет!');
writeln('До встречи');
end;
end.
Теперь, если мы введем число 10, то на экране ничего не увидим.
Составное (сложное) условие
Иногда приходится использовать сложное условие. Для его составления используются логические союзы: and или or.
- Если мы используем and, то составное условие будет истинно, когда все простые условия истинны.
- Если мы используем or, то составное условие будет истинно, когда хотя бы одно простое условие будет истинно.
Например:
a>7 и a<15 на языке паскаль будет записываться
(a>7) and (a<15)
т.е. оба условия должны выполняться одновременно, чтобы составное условие было истинно
Или:
(a=7) or (a>15)
Составное условие будет истинно, если: либо a=7, либо a>17.
Задача:
Используя конструкцию If-Then, найти максимальное среди трех введенных чисел.
Решение
var a, b, c:integer; begin readln(a); readln(b); readln(c); if (a>b) and (a>c) then writeln('число ', a, ' максимальное'); if (b>a) and (b>c) then writeln('число ', b, ' максимальное'); if (c>a) and (c>b) then writeln('число ', c, ' максимальное'); end.
Полное условие
Блок-схема полного условия выглядит так:
IF условие THEN действие_1 ELSE действие_2;
- Если условие истинно, то выполняется действие, стоящее после слова Then.
- Если условие ложно, то выполняется действие, стоящее после слова Else.
Если действий, которые выполняются, если условие истинно или ложно несколько — используются операторные скобки.
if условие then begin действие; действие; ............... end else begin действие; действие; ................ end;
(перед else точка с запятой не ставится)
Задачи для самостоятельного выполнения:
- Сумма покупки составляет а рублей. Если а больше 1000 рублей, то предоставляется скидка 15%. Вывести на экран сумму покупки с учетом скидки либо сообщение о том, что скидка не предоставляется.
- Известны площади круга и квадрата. Определить:
- уместится ли круг в квадрате
- уместится ли квадрат в круге
- Определить, является ли число а делителем числа b
- Проверить, принадлежит ли число введенное с клавиатуры, интервалу (-5;3).
- Дано двузначное число. Определить:
- входит ли в него цифра 3
- входит ли в него цифра а
- Определить, является ли треугольник со сторонами a, b, c равнобедренным
- Даны три различных числа. Определить, какое из них (первое, второе или третье)
- самое большое
- самое маленькое
- является средним
(список задач будет пополняться)