Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие для учеников .doc
Скачиваний:
12
Добавлен:
18.12.2018
Размер:
2.27 Mб
Скачать

Задача 8

Написать программу решения квадратного уравнения вида ax2+bx+c=0.

Program Example_28;

var a, b, c, d, x1, x2, x: real;

begin

writeln('Введите коэффициенты квадратного

уравнения’);

readln(a,b,c);

d:=b*b-4*a*c;

if d>0 then

begin

x1:=(-b+sqrt(d)/(2*a);

x2:=(-b-sqrt(d)/(2*a);

writeln('уравнение имеет два корня:

x1=',x1, 'и x2=',x2);

end

else if d=0 then

begin

x:=(-b)/(2*a);

writeln('Уравнение имеет один

корень x=',x);

end

else

writeln('уравнение не имеет корней');

readln;

end.

Задача 9

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

2000 – високосный год

1900 – невисокосный год.

Примечание. Год является високосным тогда и только тогда, когда его номер делится на 4 или, если номер года оканчивается на два ноля, − 400.

Program Example_29;

var n: integer;

begin

writeln('Введите год:');

readln(n);

if n mod 100=0 then

begin

if n mod 400=0 then

writeln(n,'- високосный год')

else writeln(n, '-невисокосный

год’);

end

else

begin

if n mod 4=0 then

writeln(n, '-високосный год')

else

writeln(n, '-невисокосный год');

end;

readln

end.

Задача 10

Даны три неравных числа a, b, c. Вычислить и вывести значение z, равное квадрату большего из них.

Program Example_30;

var a, b, c, z: real;

begin

wtiteln('введите 3 числа');

readln(a, b, c);

if a>b then z:=a

else z:=b;

if c>z then z:=c;

z:=sqr (z);

writeln(‘квадрат максимального числа

z=’,z);

readln;

end.

§14. Цикл с параметром

Оператор цикла с параметром:

For <параметр>:= А То В Do

<тело цикла>;

For <параметр>:=А Downto В Do

<тело цикла>;

где А − начальное значение параметра, В − конечное значение параметра.

Оператор цикла с параметром применяют тогда, когда заранее известно число повторений одной и той же последовательности операторов.

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

Рассмотрим, как выполняется оператор цикла с параметром вида

For <параметр>:=А То В Do

<тело цикла>

Сначала вычисляются значения выражений А и В. Если А<В, то <параметр> последовательно принимает значения, равные А, А+1,..., В-1, В и для каждого из этих значений выполняется <тело цикла>. Если А>В, то <тело цикла> не выполняется ни разу.

Оператор цикла с параметром

For <параметр>:=А Downto В Do

<тело цикла>

выполняется аналогичным образом, но значение <параметра> изменяется с шагом, равным -1.

Если <тело цикла> состоит из нескольких операторов, то операторы тела цикла заключаются в операторные скобки Begin-End.

Пример 1

Составить программу вычисления значения выражения у=((...(202-192)2-182)2-...-12)2.

Решение:

В данном случае целесообразно организовать цикл с параметром, изменяющимся от 19 до 1, то есть шаг изменения параметра равен -1.

Обозначим через у очередное значение квадрата числа, а через n − параметр цикла.

Program Example_31;

Var у, n: Integer;

Begin

y:=sqr(20);

For n:=19 Downto 1 Do y:=sqr(y-sqr(n));

Writeln('Значение выражения равно');

Writeln(у);

End.