лабораторная работа / вар4 / лаба №3_1 вариант 4
.docxМинистерство образования и науки Российской Федерации
Федеральное агентство по образованию
Саратовский государственный технический университет
Балаковский институт техники, технологии и управления
ЛАБОРАТОРНАЯ РАБОТА
программирование алгоритмов
циклических структур
на языке turbo pascal
Выполнил:
Проверил:
2010
Цель работы: овладение практическими навыками разработки алгоритмов и программ с циклической структурой.
Задание 4:
a = 1.65 x[0.7;2] Δx=0.1
Обозначим xо=0,7; xk=2; Δx=0,1.
Блок-схема алгоритма решения задачи
Текст программы:
Program lab_3;
Const deltax = 0.1;a = 1.65;
Var x,Q,xo,xk,d : real;
n, i : byte;
Begin
Writeln ('Введите xo , xk');
Read ( xo , xk );
Writeln (' Таблица функций Q(x) ');
Writeln (' x Q(x) ');
d := ( xk - xo ) /deltax;
n := trunc ( d ) + 1;
x := xo;
For i := 1 to n do
begin
if x < 1.4 then Q:= pi*sqr(x)-7/sqr(x)
else if (x = 1.4) then Q:= a*exp(3*ln(x))+7*sqrt(x)
else Q:= ln(x+7*sqrt(abs(x+a)));
Writeln ( x :6 : 3 , ' ', Q : 6 : 3 );
x := x + deltax ;
end;
End.
Результат вычислений:
Таблица функций Q(x)
x Q
0.700 -12.746
0.800 -8.927
0.900 -6.097
1.000 -3.858
1.100 -1.984
1.200 -0.337
1.300 1.167
1.400 2.612
1.500 2.634
1.600 2.655
1.700 2.675
1.800 2.695
1.900 2.714
2.000 2.733
Проверка на Mathcad:
Q(0.7)=-12.746
Q(2)=2.733
Использование оператора цикла repeat…until
Блок-схема алгоритма решения задачи с постусловием
Текст программы:
Program lab_3;
Const deltax = 0.1;a = 1.65;
Var x,Q,xo,xk,d : real;
Begin
Writeln ('Введите xo , xk');
Read ( xo , xk );
Writeln (' Таблица функций Q(x) ');
Writeln (' x Q(x) ');
x := xo;
Repeat
if x < 1.4 then Q:= pi*sqr(x)-7/sqr(x)
else if (x = 1.4) then Q:= a*exp(3*ln(x))+7*sqrt(x)
else Q:= ln(x+7*sqrt(abs(x+a)));
Writeln ( x :6 : 3 , ' ', Q : 6 : 3 );
x := x + deltax ;
Until x > xk;
End.
Использование оператора цикла While…do.
Блок-схема алгоритма решения задачи с предусловием
Текст программы:
Program lab_3;
Const a = 1.65; deltax = 0.1 ;
Var x,Q,xo,xk,d :real;
Begin
Writeln ('Введите xo , xk');
Read ( xo , xk );
Writeln (' Таблица функций Q(x) ');
Writeln (' x Q(x) ');
x := xo;
While x<=xk do
begin
if x < 1.4 then Q:= pi*sqr(x)-7/sqr(x)
else if (x = 1.4) then Q:= a*exp(3*ln(x))+7*sqrt(x)
else Q:= ln(x+7*sqrt(abs(x+a)));
Writeln ( x :6 : 3 ,' ', Q : 6 : 3 );
x := x + deltax ;
end;
End.
Отчет: овладел практическими навыками разработки алгоритмов и программ с циклической структурой.