Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 Методическое пособие изучения Паскаль.doc
Скачиваний:
6
Добавлен:
01.03.2025
Размер:
743.42 Кб
Скачать

5.4.Примеры программирования вычислительных процессов с разветвлениями.

Пример 5.5. Даны целочисленные значения А и В. Если А = В, вы­вести Y = 1. Если А < В, вывести Y = 2. Если А > В, вывести Y = 3 Составим программу 5.3 проверки логических условий.

Программа 5.3

(*ПРОВЕРКА ЛОГИЧЕСКИХ УСЛОВИЙ*)

PROGRAM A38; VAR

А,В:INTEGER; (* ВВОДИМЫЕ ДАННЫЕ *)

Y:INTEGER; (* РЕЗУЛЬТАТ *)

BEGIN

WRITELN('ВВЕДИТЕ ЗНАЧЕНИЯ А,В :' );

READ(А,В);

IF A=В THEN Y:=1

ELSE IF A<В THEN Y:= 2

ELSE Y:=3;

WRITELN(‘РЕЗУЛЬТАТ: ‘);

WRITE(‘Y=’,Y:1);

END.

Пример 5.6. Определить, принадлежит ли точка с координатами X, Y прямоугольнику с координатами Х1, X2, Y1, Y2 (рис. 5.2).

Рис. 5.2. Прямоугольник с координатами X, Y.

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

X ≥ X1 и X ≤ X2

и если другая координата точки имеет значение

Y≥Y1 и Y≤Y2

Программа задачи имеет вид:

Программа 5.4

(*ПРИНАДЛЕЖНОСТЬ ТОЧКИ ПРЯМОУГОЛЬНИКУ*)

PROGRAM A37;

VAR

X1,X2,Y1,Y2:REAL; (* КООРДИНАТЫ ПРЯМОУГ-КА *)

X,Y:REAL; (* КООРДИНАТЫ ТОЧКИ *)

BEGIN

WRITELN('ВВЕДИТЕ КООРДИНАТЫ X1,X2,Y1,Y2');

READLN(XI,X2,Y1,Y2);

WRITELN('ВВЕДИТЕ КООРДИНАТЫ ТОЧКИ X,Y: ' );

READLN(X,Y);

IF (X>=X1 ) AND (X<=X2) AND (Y>=Y1 ) AND (Y<=Y2)

THEN WRITE(‘ТОЧKA ПРИНАДЛЕЖИТ ПРЯМОУГОЛЬНИКУ ')

ELSE WRITE('TOЧKA HE ПРИНАДЛЕЖИТ ПРЯМОУГОЛЬНИКУ );

END.

Пример 5.7. Составить программу предыдущей задачи о принадлеж­ности точки прямоугольнику с дополнительным условием: в коммента­риях программы указать схему прямоугольника, используя символы клавиатуры (см. приложения 1 и 2). Обратите внимание на то, что это не точный чертеж, а схема. Чертеж можно выполнить, используя специальный графический дисплей.

Программа 5.5

ПРИНАДЛЕЖНОСТЬ ТОЧКИ ПРЯМОУГОЛЬНИКУ

PROGRAM A39;

VAR

X1,X2,Y1,YZ:REAL; (* КООРДИНАТЫ ПРЯМОУГ'КА *)

X,Y:REAL; (* КООРДИНАТЫ ТОЧКИ*)

BEGIN

WRITELN (‘Введите координаты X1, X2, Y1, Y2’);

READLN (X1,X2,Y1,Y2);

WRITELN (‘Введите координаты точки X, Y’)

READLN (X,Y);

IF ( X> = X1 )AND(X<=X2 )AND( Y> = Y1 )AND( Y< = Y2 )

THEN WRITELN(‘ТОЧKA ПРИНАДЛЕЖИТ ПРЯМОУГОЛЬНИКУ’)

ELSE WRITELN ('ТОЧКА НЕ ПРИНАДЛЕЖИТ ПРЯМОУГОЛЬНИКУ’)

END.

Пример 5.8. Составить программу предыдущей задачи о принадлеж­ности точки прямоугольнику с дополнительным условием: схема прямо­угольника должна быть отражена не только в программе, но и в резуль­татах выполнения программы. Схема прямоугольника здесь указыва­ется последовательно в операторах вывода WRITELN.

Программа 5.6

ПРИНАДЛЕЖНОСТЬ ТОЧКИ ПРЯМОУГОЛЬНИКУ

PROGRAM A40;

VAR

X1,X2,Y1,Y2:REAL; (* КООРДИНАТЫ ПРЯМОУГ-КА *)

X,Y:REAL ; (* КООРДИНАТЫ ТОЧКИ *)

BEGIN

WRITELN(' ПРЯМОУГОЛЬНИК С КООРДИНАТАМИ X,Y ‘);

WRITELN(' ! ‘);

WRITELN(' Y2 ! ------------------- ‘);

WRITELN(‘ ! | | ‘);

WRITELN( ! | | ‘);

WRITELN( Y1 ! ------------------- ‘);

WRITELN(' !--------------------------- ‘);

WRITELN(' X1 X2 ‘);

WRITELN;

WRITELN(' введите координаты X1,X2,Y1,42: ТОЧКИ X,Y : ' );

READLN(X1,X2,Y1,Y2);

WRITELN('ВВЕДИТЕ КООРДИНАТЫ ТОЧКИ X, Y:’)

READLN(X,Y);.

IF ( X>=X1 )AND( X<=X2 )AND( Y>=Y1 )AND( Y<=Y2 )

THEN WRITELN('ТОЧКА ПРИНАДЛЕЖИТ ПРЯМОУГОЛЬНИКУ)

ELSE WRITELN('ТОЧКА НЕ ПРИНАДЛЕЖИТ ПРЯМОУГОЛЬНИКУ);

END.

ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ

  1. Для чего предназначен оператор выбора?

  2. Каковы две формы записи полного условного оператора?

  3. Приведите пример условного оператора.

  4. В чем разница по смыслу между полной и краткой формой записи условного оператора?

  5. Может ли условный оператор содержать в себе другие условные опера­ торы?

  6. Может ли условный оператор содержать оператор перехода?

  7. Как выполняется программа при наличии в ней оператора перехода?