Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабораторная работа / вар3 / лаб №3 вариант 3

.docx
Скачиваний:
55
Добавлен:
10.02.2014
Размер:
30.82 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Саратовский государственный технический университет

Балаковский институт техники, технологии и управления

ЛАБОРАТОРНАЯ РАБОТА

программирование алгоритмов

циклических структур

на языке 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.

Отчет: овладел практическими навыками разработки алгоритмов и программ с циклической структурой.

Соседние файлы в папке вар3