лабораторная работа / вар13 / Лаб3
.docБалаковский институт техники технологий и управления
Лабораторная работа №3
Вариант 13
Выполнил студент УИТ-2в
Балаково 2007 год.
Задание: Вычислить и вывести на экран значение заданной функции
при i < 4
при 4 ≤i≤ 6
при i > 6,
где a = 2.1; b = 1.8; c = -20.5
i[1;12]; Δk = 1
Значение функции вычислять многократно при изменении аргумента в указанном диапазоне и с заданным шагом Δi. Организовать вывод значения аргумента и вычисленного значения функции в виде таблицы:
Таблица функции W(i)
-
i
1
2
3
4
5
6
7
8
9
10
11
12
W(i)
-16.2
-12.0
-3.5
4.0
5.0
6.0
634.9
941.6
1334.7
1825.0
2423.3
3
Загол. таблицы
d=(ik-i0)/ h
n=round(d)+1
i=i0
j =1, n
140.4
Обозначим i0=0; ik=12 ; h=1.
Текст программы:
Program lab_31;
Const h=1;a=2.5;b=1.8;c=-20.5;
var i,w,i0,ik,d:real;
n,j:byte;
Begin
Writeln('Введите i0,ik');
Read(i0,ik);
Writeln('Таблица функции W(i)');
Writeln(' i W(i)');
d:=(ik-i0)/h;
n:=round(d)+1;
i:=i0;
For j:= 1 to n do
begin
if i<4 Then w:=a/i+b*sqr(i)+c
else if (i>=4) and (i<=6) Then
w:=i
Else
w:=a*i+b*exp(3*ln(i));
Writeln (i:6:1, ' ',w:6:1);
i:=i+h;
end;
End..
Б
i = i + h
данной задачи при использовании
цикла с параметром, представлена на рис.1
Рис. 1 Блок-схема алгоритма решения задачи
Пример использования оператора цикла repeat…until.
Program lab_32;
Const h=1;a=2.5;b=1.8;c=-20.5;
var i,w,i0,ik:real;
Begin
Writeln('Введите i0,ik');
Read(i0,ik);
Writeln('Таблица функции W(i)');
Writeln(' i W(i)');
i:=i0;
Repeat
if i<4 Then w:=a/i+b*sqr(i)+c
else if (i>=4) and (i<=6) Then
w:=i
Else
w:=a*i+b*exp(3*ln(i));
Writeln (i:6:1, ' ',w:6:1);
i:=i+h;
Until i>ik;
End.
Блок-схема алгоритма решения данной задачи при использовании цикла с постусловием, представлена на рис.2.
Рис.2. Блок-схема алгоритма решения задачи с постусловием
Пример использования оператора цикла While…do.
Program lab_33;
Const h=1;a=2.5;b=1.8;c=-20.5;
var i,w,i0,ik:real;
Begin
Writeln('Введите i0,ik');
Read(i0,ik);
Writeln('Таблица функции W(i)');
Writeln(' i W(i)');
i:=i0;
While i<=ik do
begin
if i<4 Then w:=a/i+b*sqr(i)+c
else if (i>=4) and (i<=6) Then
w:=i
Else
w:=a*i+b*exp(3*ln(i));
Writeln (i:6:1, ' ',w:6:1);
i:=i+h;
end;
End.
Блок-схема алгоритма решения данной задачи при использовании цикла с предусловием, представлена на рис.3.
Рис.3. Блок-схема алгоритма решения задачи с предусловием