Вы находитесь на странице: 1из 6

Вариант №8.

1. Цель Работы:
Написать программу, которая решит уравнение определенное количество раз, изменяя значение
переменной m на определенном интервале, используя операторы цикла for, while и repeat.

2. Краткая теория:
В данной лабораторной работе мы работаем с уравнением, решения которого нужно найти при
различных значениях переменной m, которая принимает значения на определенном интервале.
Решим данную программу тремя способами: 1) используя оператор цикла for вида for i:=1 to n, где
i – параметр цикла и 1 to n – диапазон изменения значения параметра цикла; 2) используя
оператор цикла c предусловием while вида while [Выражение], где [Выражение] должно иметь
булевский тип, так как выполнения цикла while возможно лишь когда [Выражение] принимает
значение true; 3) используя оператор цикла с постусловием repeat вида repeat [Операторы] until
[Выражение], где [Операторы] – операторы языка Pascal, а [Выражение] – выражение булевского
типа. Выполнение цикла с постусловием возможно лишь когда [Выражение] принимает значение
false. Основным отличием цикла repeat от while является то, что цикл repeat выполняется по
крайней мере один раз, даже если [Выражение], написанное ниже, примет значение true.

Изм. Лист №Документа Подпись Дата


Выполнила Костецкая Циклически Литера Лист Листов
А.А. е
Проверил Иким.И.Н 1 6
программы
UTM FTA С-194
3.Листинг программы.
При помощи цикла for:
program lab_3;
const min=10;
var j:real;
a,b,i,y,x,interval:integer;
begin
write('Введите a,b,x,y ');
readln(a,b,x,y);
interval:=1;
if (abs(y)-x>min) or (abs(y)-x=min) then
for i:=x to (abs(y)) do begin
j:=(exp(ln(b)*(2-a))+sqr(a)-i)/abs(i+2);
writeln('#',interval,' Результат равен ',j);
inc(interval);
end else write('Введите значения повторно ');
end.

При помощи цикла while:


program lab_3;
const min=10;
var j:real;
a,b,i,y,x,interval:integer;
begin
write('Введите a,b,x,y ');
readln(a,b,x,y);
interval:=1;
if (abs(y)-x>min) or (abs(y)-x=min) then begin
i:=x;
while i<=abs(y) do begin
j:=(exp(ln(b)*(2-a))+sqr(a)-i)/abs(i+2);
writeln('#',interval,' Результат равен ',j);
inc(interval);
inc(i);
end;
end else write('Введите значения повторно ');
end.

При помощи цикла repeat:


program lab_3;
const min=10;
var j:real;
a,b,i,y,x,interval:integer;
begin
write('Введите a,b,x,y ');
readln(a,b,x,y);
interval:=1;
if (abs(y)-x>min) or (abs(y)-x=min) then begin
i:=x;
repeat
j:=(exp(ln(b)*(2-a))+sqr(a)-i)/abs(i+2);
writeln('#',interval,' Результат равен ',j);
inc(interval);
inc(i);
until i>abs(y);
end else write('Введите значения повторно ');
end.

Лист
2
Изм. Лист №Документ Подпись Дат
а а
4. Полученные результаты:
При помощи цикла for:

Лист
3
Изм. Лист №Документ Подпись Дат
а а

При помощи цикла while:

Лист
4
Изм. Лист №Документ Подпись Дата
а

При помощи цикла repeat:

5. Вывод.
В данной лабораторной работе я научился решать задачи при помощи операторов цикла while,
for, repeat. Все результаты, полученные тремя разными способами, правильные и соответствуют
результатам других способов, что говорит о правильности составления программ. Цель работы
достигнута.

Лист
5
Изм. Лист №Документ Подпись Дата
а