Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OsnovPaskal.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

6.Применение ветвлений при решении задач Неполная форма ветвления

Бывают случаи, когда в алгоритме в ветке «Да» оператор не требуется, тогда возможно использование неполной формы условного оператора:

If <условие> Then <оператор>;

  1. Напишем программу – модель анализа пожарного датчика в помещении, которая выводит сообщение «Пожарная ситуация», если температура превысила 60.

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

Начало

Программу запишите самостоятельно.

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

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

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

  1. По длинам трех сторон треугольника а, b, с вычислить его площадь.

Для решения задачи используется формула Герона

где р = (а + b + с) /2 — полупериметр треугольника.

Исходные данные должны удовлетворять основному соотношению для сторон треугольника: длина каждой стороны должна быть меньше длин двух других сторон.

Имея возможность в одном условном операторе записывать достаточно сложные логические выражения, мы можем сразу «отфильтровать» все варианты неверных исходных данных.

В случае, если логическое выражение True, следует выполнить не одну команду, а серию команд. Для этого используется составной оператор.

P rogram Geron;

Var A,B,C,P,S: Real;

Begin

WriteLn('Введите длины сторон треугольника: ' );

Write ( ' a = ' ) ; ReadLn(A)

Write ( ' b = ' ) ; ReadLn(В)

Write ( ' c = ' ) ; ReadLn(С)

If (A>0) And (B>0) And (C>0) And (A+B>C)

And (B+C>A) And (A+C>B)

Then Begin

P:=(A+B+C)/2;

S:=Sqrt(P*(P-A)*(P-B)* (P-C));

WriteLn('Площадь=',S)

End

Else WriteLn('Неверные исходные данные');

End.

  1. Для заданного числа x вычислить

  1. Даны два действительных числа x и y. Вычислить:

  1. Даны три целых числа. Выяснить будут ли они четными.

  2. Даны три действительных числа x,y и z. Найти минимальное значение.

Д\з.

  1. Вычислить значение функции:

  1. Даны три действительных числа x,y и z. Найти максимальное значение.

  2. Изменить знак на противоположный чисел x и z, если сумма целых частей этих чисел кратна 3, в противном случае возвести в квадрат меньшее из исходных чисел.

7.Проверочная работа.

  1. Вычислить значение функции:

при a=2, b=7/28.

  1. Даны два действительных числа a и b (ab). Меньшее из этих чисел заменить половиной их суммы, а большее – их удвоенным произведением.

Д/з.

  1. Заданы три числа. Определить наибольший остаток при делении этих чисел на 5.

  2. Дано трехразрядное число. Верно ли, что оно содержит две одинаковые цифры?

  3. Даны числа x, y, z. Найти значение выражения:

  1. Написать программу, определяющую, будут ли прямые A1x+B1y+C1=0 и A2x+B2y+C2=0 перпендикулярны. Если нет, то найти угол между ними.