Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_Pascal.doc
Скачиваний:
7
Добавлен:
13.11.2019
Размер:
5.18 Mб
Скачать

6.3.3Розробка алгоритму

Після введення вхідних даних доцільно очистити екран та вивести шапку таблиці і номер сторінки. Оскільки кількість обчислень можна визначити, то для табулювань потрібно використати цикл з параметром. Для визначення моменту заповнення екрану необхідно організувати лічильник виведених рядків таблиці та порівнювати його з кількістю рядків, що можуть бути розміщені на екрані. При заповненні екрану необхідно організувати затримку, обнулити лічильник рядків, збільшити на 1 лічильник сторінок та продовжити виведення з першого рядка. Для обчислення складної функції, доцільне виділення її у підпрограму. Спрощена блок схема алгоритму наведена на Рис. 6 .2.

Рис. 6.2. Блок-схема алгоритму табулювання функції.

При виконанні лабораторної роботи необхідно конкретизувати наведені у блок-схемі описи, вказавши, які операції виконуються зі змінними. Блок-схема має бути доповнена блоком настроювання констант (присвоєння конкретних значень кількості рядків, стовпців, початкових значень) та блоком виведення номеру сторінки.

6.3.4Текст програми.

При написанні програми використовують оператори керованого виведення LOCATE для мови Basic і GotoXY для мови Pascal, та оператори введення одного символу INKEY$ для мови Basic, ReadKey для мови Pascal. Приклад тексту програми подано нижче.

program table;

uses CRT;

const MaxRowsNum=24;

var a,b,dx,x,y:real;

Page:integer;

Row:integer;

ColumnsNum:integer;

function f(a:real):real;

begin

if a<>0

then f:=sin(a)/a

else f:=0;

end;

Procedure Zatrymka;

begin

Repeat until KeyPressed;

end;

begin

ClrScr;

WriteLn('Obchyslennja znachen funktsiji y=sin(x)/x');

Write('Liva granytsja intervalu: ');

ReadLn(a);

Write('Prava granytsja intervalu: ');

ReadLn(b);

Write('Krok: ');

ReadLn(dx);x:=a;

ClrScr;

Page:=1;Row:=5;

GotoXY(1,1);Write('Storinka:');GotoXY(10,1);Write(Page);

GotoXY(1,2);

WriteLn('+--------------------------------------+--------------------------------------+');

WriteLn('| Argument | Functsija |');

WriteLn('+--------------------------------------+--------------------------------------+');

repeat

y:=f(x);

GotoXY(1,Row);Write('|');GotoXY(40,Row);Write('|');GotoXY(79,Row);Write('|');

GotoXY(2,Row);

Write(x);

GotoXY(41,Row);

Write(y);

inc(Row);

x:=x+dx;

if Row=MaxRowsNum

then

begin

GotoXY(10,1);

Write(Page);

Zatrymka;

Row:=5;

Inc(Page);

end;

until x>b;

Zatrymka;

end.

6.3.5Налагодження та результати тестування.

В цьому розділі необхідно навести діалог користувача з комп’ютером при введенні даних, одну з виведених на екран сторінок таблиці, перевірити за допомогою калькулятора або ЕОМ декілька з розрахованих значень.

7.Лабораторна робота №7

Обчислення сум функціональних рядів.

Мета роботи - засвоїти методику та виробити практичні навики застотування циклів для обчислення значень шляхом поступового накопичення.

7.1Перелік питань, які необхідно вивчити.

  • Збіжність і сума рядів;

  • Рекурентні формули;

  • Структури циклів “до” і “поки”;

  • Правила запису циклів мово Pascal.

7.2Завдання.

Розрахувати значення заданої елементарної функції f(x) безпосередньо за формулою та як суму функціонального ряду (f(x)= ). При обчисленні забезпечити похибку не більше за . Похибку оцінювати за абсолютною величиною наступного члену ряду. Значення аргументу x задано. Варіанти завдань до лабораторної роботи №7 наведені в Табл. 7 .2, яка містить задані значення аргументу, точність обчислення та номер виразу, згідно з яким з Табл. 7 .1 вибирається відповідна функція, її розклад в ряд Тейлора в околі нуля та початкове значення для n.

Табл. 7.1. Функції і члени функціональних рядів.

f(x)

n0

an

f(x)

n0

an

1

1(1-x)

0

xn

5

sin(x)

0

(-1)nx2n+1 (2n+1)!

2

ex

0

xnn!

6

cos(x)

0

(-1)nx2n

(2n)!

3

arctg(x)

1

(-1)n-1x2n-1 (2n-1)

7

exp(-x2)

0

(-1)nx2n n!

4

ln(x+1)

1

(-1)n-1xn n

8

sin(x)x

0

(-1)nx2n (2n+1)!

Табл. 7.2. Числові значення.

Варіант

Вираз

X

Варіант

Вираз

X

1

1

0.72

10-5

9

2

0.383

10-5

2

2

2.85

10-4

10

3

0.4

10-6

3

3

0.8

10-5

11

4

0.117

10-3

4

4

0.66

10-4

12

5

-4.8

10-3

5

5

5

10-2

13

6

5.96

10-4

6

6

0.27

10-2

14

7

-1.5

10-6

7

7

3.52

10-7

15

8

3.28

10-5

8

8

-0.196

10-3

16

1

0.2

10-3