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

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

Лабораторная работа №3

Вариант 6

Выполнил студент УИТ-2в

Балаково 2008 год.

Задание: Вычислить и вывести на экран значение заданной функции

при x < a

при x = a

при x > a,

где a = 2.5.

x[1;5]Δx = 0.5

Значение функции вычислять многократно при изменении аргумента в указанном диапазоне и с заданным шагом Δx. Организовать вывод значения аргумента и вычисленного значения функции в виде таблицы:

Таблица функции w(x)

X

1.0

1.5

2.0

2.5

3.0

3.5

4.0

4.5

5.0

W

1,2

3.4

5.7

-0.1

0.0

-0.0

-0.0

0.0

0.0

Обозначим x0=1; xk=5 ; h=0.5.

Текст программы:

Program lab_31;

Const h=0.5;a=2.5;

var x,w,x0,xk,d:real;

n,i:byte;

B

Загол. таблицы

egin

Writeln(‘Введите x0,xk');

R

d=(xk-x0)/ h

ead(x0,xk);

Writeln('Таблица функции w(x)');

Writeln(' x w(x)');

d

n=round(d)+1

:=(xk-x0)/h;

n:=round(d)+1;

x

x=x0

:=x0;

For i:= 1 to n do

begin

i

i =1, n

f x<a Then w:= exp(3*ln(x))*sqrt(abs(x-a))

else if (x=a) Then

w

нет

нет

:= x*sin(a*x)

E

x<a

x=a

lse

w

да

да

:= exp(-a*x)*cos(a*x);

Writeln (x:6:1, ' ',w:6:1);

x:=x+h;

end;

End.

Б

x, w(x)

x = x + h

лок-схема алгоритма решения данной задачи при использовании цикла с параметром, представлена на рис.1

Рис. 1 Блок-схема алгоритма решения задачи

Пример использования оператора цикла repeat…until.

Program lab_31;

Const h=0.5;a=2.5;

var x,w,x0,xk:real;

Begin

Writeln(‘Введите x0,xk');

Read(x0,xk);

Writeln('Таблица функции w(x)');

Writeln(' x w(x)');

x:=x0;

Repeat

if x<a Then w:= exp(3*ln(x))*sqrt(abs(x-a))

else if (x=a) Then

w:= x*sin(a*x)

Else

w:= exp(-a*x)*cos(a*x);

Writeln (x:6:1, ' ',w:6:1);

x:=x+h;

Until x>xk;

End.

Блок-схема алгоритма решения данной задачи при использовании цикла с постусловием, представлена на рис.2.

Рис.2. Блок-схема алгоритма решения задачи с постусловием

Пример использования оператора цикла While…do.

Program lab_31;

Const h=0.5;a=2.5;

var x,w,x0,xk:real;

Begin

Writeln(‘Введите x0,xk');

Read(x0,xk);

Writeln('Таблица функции w(x)');

Writeln(' x w(x)');

x:=x0;

While x<=xk do

begin

if x<a Then w:= exp(3*ln(x))*sqrt(abs(x-a))

else if (x=a) Then

w:= x*sin(a*x)

Else

w:= exp(-a*x)*cos(a*x);

Writeln (x:6:1, ' ',w:6:1);

x:=x+h;

end;

End.

Блок-схема алгоритма решения данной задачи при использовании цикла с предусловием, представлена на рис.3.

Рис.3. Блок-схема алгоритма решения задачи с предусловием

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