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

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

Лабораторная работа №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. Блок-схема алгоритма решения задачи с предусловием

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