Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
10_программирование.doc
Скачиваний:
8
Добавлен:
09.11.2019
Размер:
1.07 Mб
Скачать

Возведение положительного числа в вещественную степень

следует производить, используя следующее математическое тождество: ху = еу 1п х. На Паскале это записывается так:

ехр (у*LN(х) )

Пример 1. Записать математическое выражение в виде арифметического выражения на Паскале.

Математическое выражение

х2-7х + 6

Выражение на Паскале

Sqr (х) - 7*х+6

Задачи

Напишите операторы присваивания

Программирование ветвящихся алгоритмов

Для программирования ветвящихся алгоритмов применяются условный оператор (оператор ветвления) и оператор выбора.

Условный оператор имеет следующий формат:

if <логическое выражение> then <оператор 1>

else <оператор 2>;

Логическое выражение содержит один из 6 знаков логических отношений: >, <, >=, <=, <>, = и может принимать одно из двух значений: true (истина) или false (ложь).

Если логическое выражение принимает значение False, то выполняется оператор 2, если True -- оператор 1.

Перед словом else точка с запятой не ставится

Пример 1. Из трех данных вещественных чисел X, Y, Z выбрать наибольшее.

Решение. Выбираем большее сначала из двух чисел, затем из найденного значения и третьего числа.

Program Мах_1; Var X, Y,Z,MAX : real;

BEGIN

write ('Введите X,Y,Z' ); readln(X,Y,Z) ;

if X>=Y then

if X>=Z then

MAX :=X

else MAX:=Z

else if Y>=Z

then MAX:=Y

else MAX:=Z;

writeln ('Максимальное значение=' , MAX)

END.

Если по ветви THEN… или по ветви ELSE… необходимо выполнить более одного оператора, то они должны быть оформлены как составной оператор. Для этого эти несколько операторов заключаются в операторные скобки- слова begin-end.

Пример Вычислить значение функции с учетом области определения

Р ешение

Функция не определена, когда аргумент равен 1 или -1. В этом случае нужно вывести сообщение об этом на экран. При всех других значениях аргумента необходимо:

  • вычислить значение функции

  • вывести вычисленное значение на экран

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

var

x,y:real;

BEGIN

Write(' Введите аргумент '); readln(x);

If (x=1) or (x=-1) then

writeln('Функция неопределена')

else begin

y:=(x+2)/(sqr(x)-1);

writeln('y=',y);end;

END.

Неполная форма условного оператора:

if <логическое выражение> then <оператор>;

В данном случае, если значение логического выражения равно False, то оператор по ветви then просто не выполняется , а программа переходит к выполнению следующей команды.

Пример Даны три числа. Сообщить сколько среди них четных чисел.

Решение Для второго варианта решения используем алгоритм с последовательными не­полными ветвлениями.

Var X, Y, Z, S : integer;

BEGIN

write ('Введите три целых числа' ) ; readln(X, Y, Z);

S:=0;

if X mod 2=0 then S:=S+1;

if Y mod 2=0 then S:=S+1;

if Z mod 2=0 then S:=S+1;

writeln (Количество четных чисел равно ' , S);

END.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]