Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
новая метода.docx
Скачиваний:
10
Добавлен:
07.05.2019
Размер:
610.3 Кб
Скачать

If выражение then оператор;

После выполнения операторов из соответствующей ветви управление передается оператору, следующему за условным.

а б

Рис. 3. Структурная схема условного оператора

Когда по какой-либо ветви требуется выполнить не один, а несколько операторов, применяют операторные скобки (ключевые слова begin и end).

if a = 0

then

begin

x := 0;

у := 0

end

else

begin

x := 1;

у := 2

end;

Внутри условного оператора можно записать еще один условный оператор, на­пример:

if a >= b then if a = b then с := 0 else с := 1 else с := 2:

Ключевое слово else всегда считается относящимся к ближайшему слову if, то есть

if а >= b

then if a = b

then с := 0

else с := 1

else с := 2;

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

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

Постановка задачи.

Исходные данные: вещественные значения коэффициентов a, b, c.

Результат: вещественные значения корней квадратного уравнения.

Поэтому для представления этих величин в программе следует выбрать тип real.

Рекомендуемый вид экрана во время выполнения программы:

Вычисление корней квадратного уравнения.

Введите коэффициенты квадратного уравнения

А – > 2

B – > 3

C – > 1

Корни уравнения: x1=-0.5 , x2= -1 .

Математическая модель. Для вычисления квадратного уравнения необходимо вычислить дискриминант .

Если , то квадратное уравнение не имеет действительных корней.

Если , то имеем 2 корня квадратного уравнения и .

Если , то имеем 1 корень квадратного уравнения .

Разработка алгоритма. Схема алгоритма решения задачи приведена на рис. 4.

Рис. 4

Программирование.

Program SqrEquation;

var

A, B, C : real; { Коэффициенты уравнения A, B, C}

D : real; { Дискриминант }

x1, x2 : real; { Корни уравнения}

begin

{Ввод коэффициентов A, B, C}

writeln(‘Вычисление корней квадратного уравнения.’);

writeln(‘Введите коэффициенты квадратного уравнения:’);

write(‘A – > ’); readln(A);

write(‘B – > ’); readln(B);

write(‘C – > ’); readln(C);

{ Вычисление дискриминанта }

D := B*B – 4*A*C;

if D < 0

then

writeln(‘Действительных корней нет.’)

else

if D > 0

then {имеем 2 корня}

begin

x1 := (-B + sqrt(D)) / (2*a);

x2 := (-B - sqrt(D)) / (2*a);

writeln(‘Корни уравнения: x1=’,x1:6:2,’ x2=’,x2:6:2 );

end

else {имеем 1 корень}

begin

x1 := -B / (2*a);

writeln(‘Корень уравнения: x1=’,x1:6:2 );

end ;

end. {конец программы}