Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_PASKAL.doc
Скачиваний:
15
Добавлен:
25.03.2015
Размер:
969.22 Кб
Скачать

Задание к лабораторной работе

Составьте программу для вычисления функции b=f(x,y,z), где z=(x,y). Вид функции и входные данные приведенные в таблицы 1.

Таблица 1

Вар.

f(x,y,z)

(x,y)

x

y

1

e|x-y|(tg2z)x

-4,52

0,75

Продолжение таблицы 1

Вар.

f(x,y,z)

(x,y)

x

y

2

2,87

0,84

3

0,42

-0,87

4

5,34

3,85

5

-2,75

-1,42

6

1,82

18,25

7

1,54

-3,26

8

1,82

18,23

9

-0,85

1,25

10

0,12

-8,75

11

1,58

3,42

12

-15,24

4,67

13

6,55

-2,78

14

0,84

0,65

15

1,12

0,87

Продолжение таблицы 1

Вар.

f(x,y,z)

(x,y)

x

y

16

0,27

4,38

17

6,35

7,32

18

2sin(x+y)

3,91

-0,51

19

0,42

1,23

20

4,32

-0,54

21

0,83

2,38

22

-0,93

-0,25

23

3,25

4,12

24

-0,72

-1,42

25

3,98

-1,63

26

-0,62

5,54

27

-4,58

2,32

Продолжение таблицы 1

Вар.

f(x,y,z)

(x,y)

x

y

28

-3,44

5,28

29

5,48

2,25

30

3,42

-1,45

Лабораторная работа 2

Программирование разветвляющегося

циклического вычислительного процесса.

Табулирование функциЙ

Цель работы: выработать практические навыки в составлении алгоритмов, написании и отладке программ на разветвляющийся циклический процесс, в организации таблицы результатов.

Оператор цикла while

«Цикл - пока» с проверкой условия в начале цикла имеет вид:

while A do P;

Здесь А - логическое выражение; P - простой или составной оператор. Оператор P выполняется до тех пор, пока логическое выражение истинно.

Например:

z:=-5;

while z 0 do

begin

y: = y + sqrt(z);

z: = z - 1

end;

Оператор цикла repeat

«Цикл - пока» с проверкой условия в конце цикла имеет вид

repeat P until A;

Здесь Р - группа операторов; А - логическое выражение. Оператор цикла повторяет группу операторов до тех пор, пока не станет истинным (true) булевское выражение A.

Например:

z:=-5;

repeat

y: = y + sqrt(z); z: = z - 1

until z < 0;

Оператор безусловного перехода

Общий вид - goto N;

Метка N, на которую передается управление, должна быть описана в разделе label. Метку можно поставить перед любым оператором, отделив ее двоеточием.

Табулирование функций

В задачах табулирования функций приходится делать многократные вычисления по одним и тем же математическим зависимостям при различных значениях входящих в них величин (аргументов). Использование циклов позволяет при этом существенно сократить длину программы. В отличие от итерационного цикла в задачах табулирования функций применяется цикл с заданным количеством повторений, которое можно определить по формуле:

n=[(Xk-Xн)/h]+1,

где Хк и Хн - начальное и конечное значение аргумента; h - шаг изменения аргумента.

Перед первым выполнением цикла необходимо задать начальное значение аргумента, а затем организовать n раз вычисление и печать значений функции. При каждом новом выполнении цикла необходимо изменять аргумент на шаг. Чтобы процесс был конечным, необходимо задать условие окончания цикла.

Пример выполнения задания лабораторной работы

Пример 7. Найти сумму ряда

y = ,при 0 x , x = /20.

Порядок работы:

Шаг 1. Установим начальное значение суммы s = 0.

Шаг 2. Определим начальное значение параметра цикла x = 0.

Шаг 3. Пока x , выполняем шаги 3-7, иначе - идем на шаг 8.

Шаг 4. Вычисляем y = sinx / (x2+1).

Шаг 5. Вычисляем сумму s = s + y.

Шаг 6. Увеличиваем значения x на шаг: x = x + /20.

Шаг 7. Возвращаемся на шаг 3.

Шаг 8. Останов.

Пример 8. Вычислить y = sin(3x)/x при 1 x 100 с шагом 0,5.

Порядок работы:

Шаг 1. Задаем начальное значение x=1.

Шаг 2. Пока x 100, выполняем шаги 3-6, иначе - шаг 7.

Шаг 3. Вычисляем y = sin(3x)/x..

Шаг 4. Выводим x, y.

Шаг 5. Увеличиваем значения x на шаг: x = x + 0,5.

Шаг 6. Возвращаемся на шаг 2.

Шаг 7. Останов.

Блок-схема

Пример 9. Вычислить таблицу значений функции

где а=3|sin2x|, x изменяется в интервале от -1,8 до 4,6 с шагом 0,4.

Программа вычисления таблицы значений функции z имеет вид:

program pr9;

uses Crt;

const XN = -1.8; XK = 4.6; HX = 0.4;

var x,a,z,y:real; p:char;

begin

clrscr;

x:=XN;

writeln('======================');

writeln('I X I A I Z I');

writeln('-------------------------------------------');

while x <= XK do

begin

a:=3*abs(sin(2*x));

if x<a then begin

y:=sqrt(abs(a*x))+ln(sqr(x));

z:=y/exp(-a*x) end

else

begin

y:=1+exp(ln(x*x*x*pi*a)/5);

z:=a*sqr(sin(x))/y end;

writeln(‘I ‘,x:5:2,’I’,a:7:3,’I’,z:7:3,' I');

x:=x+HX;

end;

writeln('================');

p:=readkey

end.

В этой программе цикл организован оператором while. Аналогично можно использовать оператор repeat.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]