I. Оператор условия. Составление программы с использованием разветвляющегося алгоритма.

Вспомните и проверьте свои знания, используя свой конспект с записанными алгоритмами задач:
      -   Что такое ветвление в алгоритме?
      -   Как записывается условие в блок-схеме?
      -   Какие конструкции разветвляющегося алгоритма вы знаете?

Условный оператор.
Конструкция условного оператора на языке Паскаль:
IF < условие > THEN < оператор 1 > ( краткая форма )
IF < условие > THEN < оператор 1 > ELSE < оператор 2 > ( полная форма )

Обрати внимание, что

1. Перед оператором ELSE знак “;” никогда не ставится.

2. Условия могут быть сложные, например x+x*3, 14<2*x+13. Здесь могут даже встречаться арифметические действия.

3. Часто хотят, чтобы выполнялись или не выполнялись несколько операторов.

1. IF x<2 THEN
2. BEGIN
3.   S1;
4.   S2;
5.   S3;
6.   S4
7. END;
8. S5;

В этом примере имена с S1 по S5 символически обозначают операторы. Мы видим, что операторы c S1 по S4 объединены с помощью BEGIN и END. Здесь BEGIN и END, как бы, выполняют роль скобок. Если выполняется условие x<2, то выполняются и все эти операторы. Все операторы между BEGIN и END образуют так называемый составной оператор.

4. Составной оператор может сам тоже содержать другой составной оператор, или схематически это будет иметь вид BEGIN...BEGIN...END; ...END; ... или BEGIN P1; P2; ...PK END, где P1, P2, ... PK - любые операторы.
Как частный случай: BEGIN P END

5. После THEN (или ELSE) может быть снова помещен оператор IF. Ставьте этот следующий оператор всегда между BEGIN и END. Это предотвратит путаницу.

II. Решение задач:

Задача 1.
Вводятся годы рождения двух девочек. Определите старшую из них.

1. Program Year;
2.   Var a,b:integer;
3. Begin
4.   Writeln(’Введите годы рождения девочек: ’);
5.   Readln(a,b);
6.   If a=b Then Writeln(’Девочки ровесницы.’)
7.          Else If a>b Then Writeln(’Вторая девочка старше.’)
8.                      Else Writeln(’Первая девочка старше.’);
9. End.

Задача 2.
Музыкальный диск стоит x рублей. У вас имеется a рублей. Хватит ли денег на покупку? В случае недостатка, определите, сколько денег надо добавить.

1. Program Disk;
2.   Var x,a:real;
3. Begin
4.   Write(’Введите вашу сумму денег: ’);
5.   Readln(a);
6.   Write(’Сколько стоит диск? ’);
7.   Readln(x);
8.   If a<x Then Writeln(’Вы не купите диск, Вам не хватает ’,x-a,’ рублей’)
9.          Else Writeln(’Покупка состоялась’);
10.End.

Проверьте себя:
Запиши на Паскале алгоритмы, записанные у вас в тетради:
1. Введите количество лет ( с точностью до месяца ) двух мальчиков и определите кто из них младше.
2. Билет в кино стоит B рублей. Сможете ли вы посмотреть фильм, если у вас имеется D рублей.