- •Липецкий государственный технический университет
- •Кафедра электропривода Лабораторная работа №3
- •Содержание
- •Лабораторная работа №3. Программирование циклических алгоритмов
- •Вариант задания 2
- •Этапы решения задачи
- •Составляем блок-схему алгоритма и программу расчета, используя оператор цикла for.. .
- •С оставляем блок-схему алгоритма и программу расчета, используя оператор цикла Repeat…until.
- •Вариант задания 3
- •Этапы решения задачи
- •Вариант задания 4
- •Э тапы решения задачи
- •Библиографический список
Вариант задания 3
Составить программу, которая вычисляет сумму ряда с заданной точностью. Нужная точность считается полученной, если очередное слагаемое оказалось по модулю меньше, чем (это и все последующие слагаемые учитывать не надо).
№ вар-та |
Вид выражения |
х |
Точность |
4 |
|
– |
0,510–4 |
Этапы решения задачи
Определим переменные, которые будем использовать в программе: S – сумма ряда, SL – текущее слагаемое, F – знаменатель(факториал), eps – заданная точность, n – номер слагаемого. По условию задачи слагаемое требуется сравнивать с заданной точностью. Наиболее удобным для данного вида вычислений является оператор цикла Repeat…until, так как проверка условия осуществляется после каждого выполнения тела цикла.
Составим блок-схему алгоритма и программу расчета.
–
+
|
program LR3_3; const Pi = 3.1415926535; var S, eps, SL :real; F, n, z :integer; begin S:=0; {значение суммы ряда} n:=0; {номер слагаемого} F:=1; {значение F – факториал} z:=1; {значение знака} eps:=0.5*1E-5; ; {значение точности} writeln(' | n | SL | S |'); writeln('--------------------------------'); repeat SL:=exp((2*n)*ln(Pi/6))/F; {вычисление текущего слагаемого} S:=S+z*SL; {вычисление суммы ряда} n:=n+1; {счетчик цикла} F:=F*(2*n-1)*(2*n); { факториал } z:=-z; {изменение знака} writeln(n:5,' ',SL:0:5,' ',S:0:5); {результатs} until SL<eps; end. |
Выполним программу в среде PascalABC.NET.
Вариант задания 4
Затабулировать
функцию двух переменных
внутри квадрата
и
и области существования функции
. Шаги табуляции Δх = Δу.
Результаты вывести в виде таблицы. В
точках, где функция не определена вывести
4 символа «*».
№ варианта |
|
x |
y |
Δх = Δy |
4 |
|
[0; 2] |
[0; 2] |
0,2 |
Э тапы решения задачи
Для вычисления функции
определим область допустимых значений
функции:
, так как «подкоренное» выражение должно быть положительным.
Так как функция зависит от двух переменных
,
будем использовать конструкцию из
вложенных циклов while
..do.
Составим блок-схему алгоритма и программу расчета.
PROGRAM Z3_4;
VAR Z, X, Y, D:REAL;
N :INTEGER;
BEGIN
WRITELN(' N | X | Y | Z');
N:=0; {НОМЕР ТОЧКИ}
X:=0; {НАЧАЛЬНОЕ ЗНАЧЕНИЕ Х}
WHILE (X<=2) DO {ЦИКЛ ПО Х}
BEGIN
Y:=0; {НАЧАЛЬНОЕ ЗНАЧЕНИЕ Y}
WHILE (Y<=2) DO {ЦИКЛ ПО Y}
BEGIN
N:=N+1;
D:= 6-SQR(X)-SQR(Y); {ОБЛАСТЬ СУЩЕСТВОВАНИЯ Z}
IF (D>0) THEN
BEGIN
Z:=SQRT(D);
WRITELN(N:2,' ',X:0:2,' ',Y:0:2,' ',Z:0:2);
//WRITELN('__________________________');
END
ELSE
BEGIN
WRITELN('****');
//WRITELN('__________________________');
END;
Y:=Y+0.2;
END;
X:=X+0.2;
END;
END.
Выполним программу в среде PascalABC.NET.
