лабораторная работа / вар22 / Лаб3
.docБалаковский институт техники технологий и управления
Лабораторная работа №3
Вариант 22
Выполнил студент УИТ-22
Балаково 2007 год.
Задание: Вычислить и вывести на экран значение заданной функции
при x 0
при 0 < x 1
при x > 1,
где x [-1; 3]
x = 0.2
Значение функции вычислять многократно при изменении аргумента в указанном диапазоне и с заданным шагом Δx. Организовать вывод значения аргумента и вычисленного значения функции в виде таблицы:
Таблица функции Y(x)
-
x
-1.0
-0.8
-0.6
-0.4
-0.2
0.0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
1.8
2.0
2.2
2.4
2.6
2.8
3.0
Y(x)
0.0
0.0
0.0
0.0
0.0
0.0
-0.2
-0.2
-0.2
-0.2
-0.0
2.4
2.1
1.6
3.9
4.0
4.4
6.4
6.1
8.3
9.0
Обозначим x0=-1; xk=3 ; h=0.2.
Текст программы:
Program lab_31;
Const h=0.2
var x,y,x0,xk,d:real;
n,i:byte;
Begin
Writeln('Введите x0,xk');
Read(x0,xk);
Writeln('Таблица функции Y(x)');
Writeln(' x Y(x)');
d:=(xk-x0)/h;
n:=round(d)+1;
x:=x0;
For i:= 1 to n do
begin
if x<=0 Then
y:= 0
else if (x>0) and (x<=1) Then
y:= sqr(x)-x
Else
y:= sqr(x)-sin(Pi*sqr(x));
Writeln (x:6:1, ' ',y:6:1); Рис. 1 Блок-схема алгоритма решения задачи
x:=x+h;
end;
End.Блок-схема алгоритма решения данной задачи при использовании цикла с параметром, представлена на рис.1
Пример использования оператора цикла repeat…until.
Program lab_31;
Const h=0.2;
var x,y,x0,xk:real;
Begin
Writeln('Введите x0,xk');
Read(x0,xk);
Writeln('Таблица функции Y(x)');
Writeln(' x Y(x)');
x:=x0;
Repeat
if x<=0 Then
y:= 0
else if (x>0) and (x<=1) Then
y:= sqr(x)-x
Else
y:= sqr(x)-sin(Pi*sqr(x));
Writeln (x:6:1, ' ',y:6:1);
x:=x+h;
Until x>xk;
End.
Блок-схема алгоритма решения данной задачи при использовании цикла с постусловием, представлена на рис.2.
Рис.2. Блок-схема алгоритма решения задачи с постусловием
Пример использования оператора цикла While…do.
Program lab_31;
Const h=0.2;
var x,y,x0,xk:real;
Begin
Writeln('Введите x0,xk');
Read(x0,xk);
Writeln('Таблица функции Y(x)');
Writeln(' x Y(x)');
x:=x0;
While x<=xk do
begin
if x<=0 Then
y:= 0
else if (x>0) and (x<=1) Then
y:= sqr(x)-x
Else
y:= sqr(x)-sin(Pi*sqr(x));
Writeln (x:6:1, ' ',y:6:1);
x:=x+h;
end;
End.
Блок-схема алгоритма решения данной задачи при использовании цикла с предусловием, представлена на рис.3.
Рис.3. Блок-схема алгоритма решения задачи с предусловием