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

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

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

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

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

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

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

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

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

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

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

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

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