лабораторная работа / вар3 / лаб №3 вариант 3
.docxМинистерство образования и науки Российской Федерации
Федеральное агентство по образованию
Саратовский государственный технический университет
Балаковский институт техники, технологии и управления
ЛАБОРАТОРНАЯ РАБОТА
программирование алгоритмов
циклических структур
на языке turbo pascal
Выполнил:
Проверил:
2010
Цель работы: овладение практическими навыками разработки алгоритмов и программ с циклической структурой.
Задание 3:
a = 2.8 b= -0.3 c= 4 x[1;2] Δx=0.05
Обозначим xо=1; xk=2; Δx=0,05.
Блок-схема алгоритма решения задачи
Текст программы:
Program lab_31;
Const deltax = 0.05;a = 2.8;b = -0.3;c = 4;
Var x,w,xo,xk,d : real;
n, i : byte;
Begin
Writeln ('введите xo , xk');
Read ( xo , xk );
Writeln (' Таблица функций W(x) ');
Writeln (' x w(x) ');
d := ( xk - xo ) /deltax;
n := trunc ( d ) + 1;
x := xo;
For i := 1 to n do
begin
if x < 1.2 then w := a*sqr(x)+b*x+c
else if x = 1.2 then w := a/x+sqrt(sqr(x)+1)
else w := (a+b*c)/sqrt(sqr(x)+1) ;
Writeln ( x :6 : 3 , ' ', w : 6 : 3 ) ;
x := x + deltax ;
end;
End.
Результат вычислений:
Таблица функций W(x)
x w(x)
1.000 6.500
1.050 6.772
1.100 7.058
1.150 7.358
1.200 7.672
1.250 1.000
1.300 0.976
1.350 0.952
1.400 0.930
1.450 0.908
1.500 0.888
1.550 0.867
1.600 0.848
1.650 0.829
1.700 0.811
1.750 0.794
1.800 0.777
1.850 0.761
1.900 0.745
1.950 0.730
2.000 0.716
Проверка на Mathcad:
w (1)=6.5 w(2)=0.984
Использование оператора цикла repeat…until
Блок-схема алгоритма решения задачи с постусловием
Текст программы:
Program lab_32;
Const deltax = 0.05;a = 2.8;b = -0.3;c = 4;
Var x,w,xo,xk,d : real;
Begin
Writeln (' введите xo , xk');
Read ( xo , xk );
Writeln (' Таблица функций W(x) ');
Writeln (' x w(x) ');
x := xo;
Repeat
if x < 1.2 then w := a*sqr(x)+b*x+c
else if x = 1.2 then w := a/x+sqrt(sqr(x)+1)
else w := (a+b*c)/sqrt(sqr(x)+1) ;
Writeln ( x :6 : 3 , ' ', w : 6 : 3 ) ;
x := x + deltax ;
Until x > xk;
End.
Использование оператора цикла While…do.
Блок-схема алгоритма решения задачи с предусловием
Текст программы:
Program lab_33;
Const deltax = 0.05;a = 2.8;b = -0.3;c = 4;
Var x,w,xo,xk,d : real;
Begin
Writeln (' введите xo , xk');
Read ( xo , xk );
Writeln (' Таблица функций W(x) ');
Writeln (' x w(x) ');
x := xo;
While x <= xk do
begin
if x < 1.2 then w := a*sqr(x)+b*x+c
else if x = 1.2 then w := a/x+sqrt(sqr(x)+1)
else w := (a+b*c)/sqrt(sqr(x)+1) ;
Writeln ( x :6 : 3 , ' ', w : 6 : 3 ) ;
x := x + deltax ;
end;
End.
Отчет: овладел практическими навыками разработки алгоритмов и программ с циклической структурой.