Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

АтаП_лаб

.pdf
Скачиваний:
19
Добавлен:
23.02.2016
Размер:
557.11 Кб
Скачать

 

ì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1- x

2

(4A2 ), при х < 0

6

ï- A

 

 

 

 

Y = í

А

 

æ

 

 

 

х А

 

 

 

 

 

 

х А

ö

 

 

 

 

 

 

ï

 

е

 

+

е

 

 

 

 

 

 

ï

 

2 ç

 

 

 

 

 

 

 

 

 

÷, при х ³ 0

 

î

 

 

è

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ø

 

 

 

 

 

 

ïì-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, при х < 0

 

(3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

)3

7

 

 

 

A2

 

- 3

 

x2

Y = í

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

(2A - х), при х ³ 0

 

îA +

 

 

 

 

 

 

 

ì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

2

 

 

- (x -

 

 

 

2

 

, при х <

8

ï-

 

 

 

 

 

 

A)

 

 

Y = í

 

 

 

 

 

 

 

 

Ax

 

), при хх³

 

ï

 

 

- e

 

 

îA(1

 

 

 

 

 

9

ì

(х +

 

 

 

 

 

 

 

2

, при х £ -6A

Y = í-

)

 

 

îAcos(x + 3A)- 3A, при х > -6A

 

 

ì2A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1- x2

A

2 ,при х < 0

10

Y =

ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

í

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2cos(x)+ 3A

 

 

 

, при х ³ 0

 

 

ï

 

 

 

2

 

 

î

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

ìAcos(x +1)+ A , при х £ -1

Y =

ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

í

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

, при х > -1

 

 

 

îA(x + 2)

 

 

 

 

 

ì

2A

- A

 

 

æ

 

 

 

x 2

 

+ e

x

2

ö

 

ï

2

çe

 

 

 

 

 

 

 

 

÷ , при х £ 0

 

 

 

 

 

 

 

 

 

 

 

è

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ø

12

Y = í

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

(2A - x) ,при х > 0

 

ïA +

 

 

 

 

 

 

î

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

2

 

- (x -

A

2

), при х < А

13

ïA -

 

 

 

 

 

 

 

 

Y = í

 

 

 

 

 

 

 

 

 

A)

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

 

 

 

 

 

 

 

,при х ³ А

 

îA(x -

 

 

 

 

 

 

 

 

ì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

ï- Aln(- x -

A

 

), при х < -2А

14

Y =

 

 

 

í

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A2

 

 

- (x + A)2

 

 

, при х ³ -2А

 

 

ï

 

 

 

 

 

 

 

î

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ì

 

 

 

 

 

 

 

 

 

 

 

 

x−8 A

, при х <

15

Y =

ïA - Ae

 

 

 

 

 

 

í

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ï

 

 

 

2Ax -16A

2

 

 

,при х ³

 

 

 

î

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Завдання 2. Відповідно до варіанту скласти програму.

1. Дано дійсне а, натуральне n. Обчислити a( a + 1)...( a + n 1).

 

1

1

1

 

2. Дано дійсне а, натуральне n. Обчислити

 

+

 

+ ... +

 

.

a

a +1

a(a +1)...(a + n)

3.Дано дійсне а, натуральне n. Обчислити 1a + a12 + a14 + ... + a12n .

4.Дано дійсне а, натуральне n. Обчислити a(a - n)(a - 2n)...(a + n2 ) .

5. Дано натуральне n. Обчислити

æ1+

 

1

öæ1+

1

ö...æ1+

1

ö

2

 

2

 

2

÷ .

ç

֍

2

÷

ç

n

 

è

1

øè

 

ø

è

 

ø

21

6.

Дано натуральне n. Обчислити

1

 

+

 

1

 

+ ... +

 

1

 

.

sin1

sin1

+ sin 2

 

sin1+ sin 2 + ... + sin n

 

 

 

 

 

 

 

7.

Дано натуральне n. Обчислити

cos1× cos1

+ cos2 ×...×

 

cos1+ cos2 +...cosn

.

 

 

 

 

sin1

 

sin1

+ sin 2

 

sin1+ sin 2 +...+ sin n

 

8.Дано дійсне x, натуральне n. Обчислити sin x + sin 2 x + ... + sin n x .

9.Дано дійсне x, натуральне n. Обчислити sin x + sin x2 + ... + sin xn .

10.Дано натуральне n. Обчислити

 

1

 

 

+

 

1+ 2

 

 

 

 

 

 

+...+

 

 

 

 

1+ 2 +...+ n

.

 

 

 

 

 

cos1

cos(1+

2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos(1+ 2 +...+ n)

 

 

 

 

11.Дано натуральне n. Обчислити

æ

 

 

cos1öæ

 

 

 

 

cos2

ö

æ

 

 

 

 

 

 

 

cosn

 

 

ö

 

ç1

+

 

 

 

 

֍1+

 

 

 

 

 

 

 

÷...ç1

+

 

 

 

 

 

 

 

 

 

 

 

 

÷ .

 

12

12

+ 22

12

+ 22

+ ...

+ n2

 

è

 

 

 

øè

 

ø

è

 

ø

 

12.Дано натуральне n. Обчислити

 

sin1

+

 

 

 

 

sin 2

 

 

 

+...+

 

 

 

 

 

 

 

sin n

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1 +

2

 

 

1 +

 

2 +...+

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13.Дано натуральне n. Обчислити

1

 

 

+

 

 

 

 

 

 

 

 

1

 

 

 

 

 

+...+

 

 

 

 

1

 

 

 

 

.

 

 

sin n

 

 

sin n + sin(n -1)

sin n +...+ sin1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14.Дано натуральне n. Обчислити

 

cosn

+

 

cosn ×cos(n -1)

+... +

 

 

 

cosn ×...cos1

.

 

 

 

 

 

sin1×sin 2×...×sin n

 

 

sin1

 

 

 

 

 

 

 

 

sin1×sin 2

 

 

 

 

 

 

 

 

 

 

 

15.Дано натуральне n. Обчислити

 

 

a

 

 

 

 

 

+

 

a2

 

+ ...+

 

 

an

 

 

 

.

 

 

 

 

 

 

 

 

cos a +1

cos2 a +1

cosn a +1

 

 

 

 

 

 

 

Завдання 3. Відповідно до варіанту скласти програму.

1.Дано натуральне n і дійсні а1, а2,…, аn. Обчислити а1, а1+ а2,…, а1+а2+…+аn.

2.Дано натуральне n і дійсні а1, а2,…, аn. Обчислити а1, а1 а2,…, а1 а2аn.

3.Дано натуральне n і дійсні а1, а2,…, аn. Обчислити а1+1!, а2+2!,…, аn+n!.

4.Дано натуральне n і дійсні а1, а2,…, аn. Обчислити sinа1, sin(а12),…, sin(а1+а2+…+аn).

5.

Дано натуральне n і дійсні а1, а2,…, аn. Обчислити

 

a1

+

 

a2

 

 

+...+

 

 

 

 

 

an

.

1

1+ 2

1+ 2

 

+ ...+ n

 

 

 

 

 

 

 

 

 

 

 

 

6.

Дано натуральне n і дійсні а1, а2,…, аn. Обчислити

a1 + a2 + ...+ an

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a1

× a2 ×...an

 

 

 

 

 

 

 

 

 

 

7.

Дано натуральне n і дійсні а1, а2,…, аn. Обчислити

 

 

 

 

 

 

+

 

 

 

 

 

+ ...+

 

 

 

 

 

.

 

 

 

a1

 

 

 

 

 

a2

 

 

 

 

an

 

 

 

 

 

 

 

 

 

 

 

8.Дано натуральне n і дійсні а1, а2,…, аn. Обчислити 1+1)( а2+2)…(аn+n).

9.Дано натуральне n і дійсні а1,а2,…, аn. Обчислити a1 +1a2 + 2 ×...× an + n .

10.Дано натуральне n і дійсні а1, а2,… аn. Обчислити sin(а1+ а2+…+аn).

11.Дано натуральне n і дійсні а1, а2,…,аn. Обчислити a12 +1 + a22 + 2 + ... + ann + n . 12.Дано натуральне n і дійсні а1, а2,…, аn. Обчислити a1a2 ...an .

13.Дано

натуральне

 

n

 

і

дійсні

а1,

а2,…,

аn.

Обчислити

(

 

 

 

 

 

- a1 )2 + (

 

 

 

 

 

- a2 )2 + ×...+ (

 

 

 

 

 

- an )n .

 

 

 

 

 

 

 

a1

 

 

 

 

a2

 

 

 

 

an

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14.Дано натуральне n і дійсні а1, а2,…, аn. Обчислити а12+a3-(-1)n+1аn. 15.Дано натуральне n і дійсні а1, а2,…, аn. Обчислити cos(а1а2аn).

22

Контрольні питання

1.Який алгоритм є алгоритмом циклічної структури?

2.Види циклів.

3.Формат оператора While .. do. Як здійснюється вихід з тіла циклу?

4.Формат оператора Repeat .. until? Як здійснюється вихід з тіла циклу?

5.Формат оператора for .. to .. do? Як здійснюється вихід з тіла циклу?

6.Який цикл виконається принаймні один раз?

7.Який цикл може не виконатися жодного разу?

ЛАБОРАТОРНА РОБОТА № 4

РЕАЛІЗАЦІЯ ІТЕРАЦІЙНИХ ТА РЕКУРСИВНИХ АЛГОРИТМІВ

Мета: закріпити теоретичні знання, отримати навички складання рекурсивних та ітераційних алгоритмів.

Короткі теоретичні відомості

Рекурсія – це такий спосіб організації обробки даних, при якому програма безпосередньо викликає сама себе, або за допомогою інших програм.

Ітерація – спосіб організації обробки даних, при якому певні дії повторюються багато разів, не приводячи при цьому до рекурсивного виклику програми.

Принципові властивості рекурсивного визначення:

визначення об'єкту самого через себе, але з іншими параметрами;

завершеність ланцюжка визначень на деякому значенні аргументів.

Приклади рекурсій:

1.

Визначення факторіала

ì1,

якщоn = 0,

 

 

 

 

 

n! = í

 

 

 

 

 

 

 

 

 

 

în(n - 1)!, якщоn > 0.

 

 

 

 

 

 

 

 

 

ì1,

 

якщо k = 0,

2.

 

 

 

ï

 

 

 

 

 

 

Обчислення біноміальних коефіцієнтів С(n,k)! = íC( n,k - 1)×(n - k + 1)

, якщо 1

£ k £ n.

 

 

 

 

ï

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

î

 

 

 

 

 

3.

Ряд чисел Фібоначчі

 

ì1,

якщоk = 1,2,

 

 

 

 

F( k )!= í

 

 

 

 

 

 

 

 

 

 

îF( k - 2 ) + F( k -1), якщоk > 2.

 

 

 

 

Приклади ітерації:

1.Обчислення факторіалу за формулою: n! =1×2×3...n.

2.Обчислення функцій за допомогою рядів:

sin(x) = x -

x3

+

x5

-

x7

+

x9

- ... + (-1)

n

x2n+1

 

± ...

3!

5!

7!

9!

 

(2n +1)!

 

 

 

 

 

 

 

23

Будь-який алгоритм, реалізований у рекурсивній формі,

переписаний у ітераційному вигляді, і навпаки.

 

початок

Приклад 4.1. З точністю ε

знайти корінь

 

 

 

 

 

 

рівняння f(x) = 0, що належить інтервалу [a, b].

 

 

 

 

 

 

x0, ε

Умова існування коренів рівняння:

 

функція f(x) і її перша похідна неперервні на

 

 

 

 

 

 

 

 

 

 

відрізку [a, b].

 

 

x=φ(x0)

 

Для застосування методу ітерацій рівняння

 

 

 

 

 

 

 

 

 

 

f(x)=0 має бути приведене до вигляду x = ϕ(x) .

 

 

 

 

 

 

|x-x0|≤ε

Як початкове наближення

вибирається

 

будь-яка точка x0 інтервалу [a, b].

 

 

 

так

Далі ітераційний процес пошуку кореня

 

 

 

 

 

 

 

будується за схемою:

 

 

x, f(x)

x1 = f (x0 );

 

 

 

 

 

 

x2 = f (x1 );

 

 

кінець

...............

 

 

 

 

 

 

xn = f (xn−1 ).

може бути

ні

x0=x

Для того, щоб послідовність х1, х2,…,хn наближалась до кореня, необхідно, щоб виконувалась умова: ϕ′(x) < 1.

Процес пошуку припиняється, як тільки виконується умова xn xn−1 ≤ ε .

Завдання до лабораторної роботи

Завдання 1. Методом ітерації обчислити корінь рівняння виду f(x) = 0, розміщеного на інтервалі [а, b] з абсолютною похибкою ε (у відповідності до варіанту. Визначити число ітерацій, необхідне для знаходження кореня.

Рівняння

a

b

ε

1

tgx =

1

 

0

π

10 −4

 

 

 

x

 

2

 

2

ln x =

1

 

1

2

10 −4

 

 

 

x

 

 

 

3

e-x = x

0

1

10 −3

4

ln x =

 

1

 

1

2

10 −4

 

x2

 

 

 

 

 

 

5

ex2 = x

0

1

10 −5

6

ex2 = ln x

0

2

10 −4

7

x - x3 + 1 = 0

1

2

10 −3

8

x + 3 = x3

1

2

10 −3

9

x + x3 – 5 = 0

1

2

10 −3

10

1 – 5 x + x4 = 0

0

1

10 −4

11

1 – 5 x + x3 = 0

0

1

10 −4

24

 

 

 

 

 

 

 

 

12

1 – 3 x + x5 = 0

1

2

10 −5

13

ex =

1

 

 

 

0

π

10 −3

sin x

2

 

 

 

 

14

x + 5 = x3

1

2

10 −4

15

ln x + 2 =

1

 

0

1

10 −4

x

 

 

 

 

 

 

Завдання 2. Відповідно до варіанту побудувати блок-схему та скласти програму обчислення суми ряду при |x|<1.

1.

x(2 + x)

-

 

 

x3 (4 + x)

+

 

x5 (6 + x)

-...±

 

x2i−1

(2i + x)

m...

 

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4!

 

 

 

 

 

 

 

 

 

 

 

 

6!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2i)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

1

x -

1×5

 

 

x2

+

 

 

1×5×9

 

 

 

x3 -...±

1×5×9...(4i -3)

xi

m...

 

 

4

4×8

 

4×8×12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2i + 2)!

 

 

 

 

 

 

 

 

 

 

3.

3x2

 

-

 

 

5x4

 

+

 

7x6

 

-

9x8

+...±

(2i +1)x2i

 

m...

 

 

 

 

 

 

 

 

 

 

4!

 

 

 

 

6!

 

 

 

8!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2i + 2)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.

1

 

x -

1×4

 

 

x2

+

 

 

1×4×7

x3 -...±

 

1×4×7×...×(3i - 2)

xi m...

 

 

3

3×6

 

 

3×6×9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3×6×9...3i

 

 

 

 

 

 

 

 

 

 

5.

x3 -

 

1

 

x4

 

+

 

3×3

 

 

x5 -

 

 

 

1×3×5

 

 

 

 

x6 +...±

 

 

1×3×5×...×(2i -3)

xi+2 m...

8

 

 

 

 

 

 

 

 

 

 

 

8×10×12

 

 

 

8×10×12...2(i + 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8×10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.

(2x)2

-

 

(2x)4

 

 

+

(2x)6

 

-..±

 

(2x)2i

m...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4!

 

 

 

 

 

 

 

 

 

 

 

 

6!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2i)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.

x

-

 

x3

+

 

 

 

x5

 

-

 

 

x7

+....±

 

 

x2i−1

 

 

 

 

m...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3!

 

5!

 

 

 

7!

 

 

 

9!

 

(2i +1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8.

2x

-

 

 

 

3x2

 

 

 

+

 

4x3

-

5x4

 

+...±

 

(i +1)xi

 

 

m...

 

 

 

 

 

 

 

 

 

 

 

 

 

1!

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

4!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9.

x2 -

 

 

1

x3

 

 

 

 

 

 

+

1×3

 

x4

-

 

 

1×3×5.

x

5 +...±

 

 

1×3×5...(2i -3)

 

xi+1 m...

6

 

 

 

 

 

 

 

 

6×8×10

 

6×8×10...(2i + 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6×8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10.

 

2x6

 

 

 

 

 

-

 

4x10

+

 

 

6x14

-

 

8x18

 

+...±

 

2i × x4i+2

m...

 

 

 

 

 

 

 

 

 

 

3!

 

 

 

 

 

 

 

 

 

 

5!

 

 

 

 

 

 

 

 

 

 

7!

 

 

 

 

 

 

9!

 

 

 

(2i

+

1)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11.

 

 

 

 

2x3

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

2x5

 

 

 

 

+

 

 

 

 

 

 

2x7

 

 

-...±

 

 

2x2i+1

 

m...

 

 

 

 

 

 

4×12

 

-1

 

4

×22 -

1

4×32 -1

4

×i2 -

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12.

x(4 - x)

 

 

 

-

x5 (8 - x)

+

x9 (12 - x)

-...±

x4i (8 - x)

m..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4im)!

 

 

 

 

 

 

13. x -

3

x2 +

 

 

 

3×7

 

 

x3

-

 

 

 

3×7×11

x4 +...±

3×7×11..(4i - 5)

xi

m...

 

 

8×12

 

 

8×12×16

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8×12×16...4i

 

 

14.

1

x -

1×3

 

x2

+

 

1×3×5

 

 

x3 -...±

 

1×3×5...(2i -1)

xi m...

 

 

2

2×4

 

2×4×6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2×4×6...2i

 

 

 

 

 

 

 

 

 

 

 

 

15.1-

5

x +

 

5× 7

x2 -

 

5× 7 ×9

 

x3 + ... ±

5×7 ×9...(2i + 3)

xi

m ...

 

 

2 × 4

2 × 4 × 6

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 × 4 × 6...2i

 

 

 

 

 

 

25

Контрольні питання

1.В чому полягає сутність ітераційного циклічного процесу?

2.Умови збіжності методу ітерацій.

3.Чому при програмуванні ітераційного процесу не використовують індексні змінні для позначення послідовних наближень до кореня?

4.Умова виходу із циклу при обчисленні значення суми нескінченого ряду.

5.Що таке рекурентність?

ЛАБОРАТОРНА РОБОТА № 5

ОБРОБКА ОДНОВИМІРНИХ МАСИВІВ

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

Короткі теоретичні відомості

Зчисленний тип задається списком констант (об'єктів), які може приймати змінна цього типу. Кожен об'єкт має своє ім'я. Числа, логічні і символьні константи не можуть бути об'єктами зчисленних типів. Номер першої константи є 0, а наступних 1,2,.... Дані зчисленного типу не можуть бути безпосередньо введені або виведені, їх можна присвоювати, порівнювати, брати наступне, попереднє значення, визначати номер.

Опис зчисленного типу:

TYPE<ім'я_типу> = (список констант); VAR <ім'я_змінної>: <ім'я_типу>;

Наприклад:

TYPE

DAY = (MO, TU, WE, TH, FR, SA, SU);

VAR

D1, D2, D3 : DAY.

Інтервальний тип є деякою підмножиною вже існуючого типу. Він визначається вказуванням найменшого і найбільшого значень, що входять у діапазон, в той же час, нижня межа не повинна перевищувати верхню. Тип даних інтервального типу визначається за типом границь. Тип граничних значень називається базовим. Над даними діапазонного типу можливі всі операції, визначені для базового типу.

Множина значень стандартних скалярних типів даних і перелічуваних скалярних типів впорядкована і скінченна (крім дійсного типу).

Якщо необхідно звузити діапазон значень, яких набуває деякий об'єкт скалярного типу, то здійснюється це накладенням обмежень на стандартний або перелічуваний скалярний тип.

26

Опис інтервального типу:

TYPE <ім'я_типу> = константа1...константа2.

Обидві граничні константи мають бути одного типу, як базовий тип можна використовувати будь-який простий тип, окрім дійсного. Початкове значення для визначення інтервального типу не має бути більше кінцевого.

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

Порядковий номер елемента масиву називається індексом.

Вектор або одновимірний масив це масив, в якому елементи нумеруються одним індексом.

Характеристиками масиву є:

тип – загальний тип елементів масиву;

розмірність (ранг) – кількість індексів масиву;

діапазон – кількість допустимих значень кожного індексу;

форма – сукупність розмірності та діапазонів.

Загальний вигляд повної форми опису масивів:

TYPE

<ім’я типу>=ARRAY[п_індекс...к_індекс] OF <тип ел. масиву>;

VAR <ідентифікатор масиву> : <імя типу>;

Приклад:

TYPE

MAS=array[1..5] of integer; VAR A: MAS.

Загальний вигляд скороченої форми опису масивів:

VAR

 

ARRAY

[п_індекс...к_індекс]

OF

<ім'я_масиву>:

<тип_даних>;

 

 

 

 

Приклад:

Massive

: arrary [1 .. 5] of real;

 

VAR

 

 

Index

: arrary [2 .. 7] of integer;

 

 

Name

: arrary [1 .. 5] of string [25];

 

Виконати операцію над масивом означає виконати дії над елементами цього масиву. Елементи масиву називають також змінними з індексами.

Як індекс можна використовувати вирази, результатом яких є ціле число. Всі операції з формування елементів масиву, обробки масиву, виведення

виконуються в циклі з параметром.

Для введення і виведення числових значень массиву використовують цикли:

FOR I := 1 TO 10 DO READ (A[I]);

FOR I := 1 TO 10 DO WRITE (A[I]);

Елементи масиву можуть вводитись з клавіатури або формуватися випадковим чином.

27

Масив констант описується так само, як і звичайний масив, але після опису базового типу ставиться знак =, за яким в круглих дужках перелічено через кому значення елементів масиву.

Приклад:

Type rgb = (red,green,blue);

Const color:array [1..4] of rgb= (red,green,blue,green); table:array [1..5] of Real = (0,0.5,1,1.5,-8e10);

Для випадкового формування використовується функція – генератор випадкових чисел Random. Ця функція згідно з певним алгоритмом при кожному зверненні до неї повертає випадкове число - або дійсне, з інтервалу [0..1], якщо аргумент відсутній, або ціле, якщо задано цілочисельний аргумент. Для коректної роботи функцію спочатку треба ініціалізувати, викликавши процедуру Randomize без параметрів.

Приклад: randomize;

for i := 1 to 10 do R[i] := random; (з інтервалу [0..1])

або

randomize;

for i := 1 to 10 do R[i] := random(11);(з інтервалу [0..10]).

Приклад 5.1. В масиві, що складається з п'яти елементів, підрахувати кількість додатних і від’ємних елементів. Додатні елементи записати в один одновимірний масив, а від’ємні – в інший.

PROGRAM TASK1; USES CRT; CONST N = 50;

VAR A, B, C : ARRAY [1..N] OF INTEGER; I, K, L : INTEGER;

BEGIN CLRSCR;

WRITE (‘Введіть розмірність масиву <=50’); READLN (N); FOR I := 1 TO N DO READLN (A[I]); K := 0; L := 0;

FOR I :=1

TO N DO

BEGIN

 

 

IF A[I] <

0 THEN

BEGIN K := K + 1; B[K] := A[I]; END

 

ELSE BEGIN

L:= L + 1;

C[L] := A[I]; END;

END;

WRITELN (‘Від’ємні елементи масиву ’);

FOR I := 1 TO K DO WRIETLN (B[I]); WRITELN (‘Додатні елементи масиву’);

FOR I := 1 TO L DO WRIETLN (C[I]);

WRITELN (‘Кількість від’ємних елементів масиву’);WRITELN (K);

WRITELN (‘Кількість додатніх елементів масиву’); WRITELN (L);

READLN;

END.

28

початок

N

i = 1, n

A[I]

 

 

 

 

 

k = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i = 1, n

 

 

 

так

 

A[i] < 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k = k +1

 

 

 

 

 

l = l+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B[k] = A[i]

 

 

 

C[l] = A[i]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α

α

i = 1, k

B[i]

i = 1, l

C[i]

k, l

кінець

Приклад 5.2. Сформувати елементи масиву випадковим чином та вивести їх в зворотному порядку.

USES CRT;

VAR A : ARRAY [1..100] OF INTEGER; I : INTEGER;

BEGIN CLRSCR; RANDOMIZE;

WRITELN (‘Сформований массив: ’); FOR I := 1 TO 100 DO

29

BEGIN

A[I]:= RANDOM(11)-6; {[-6..4]} WRITE (‘A[’,I,‘]=’,A[I]:3,‘’:2);

END;

READLN;

WRITELN (‘Змінений массив: ’);

FOR I:=100 DOWNTO 1 DO WRITE (‘A[’,I,‘]=’, A[I]:3,‘’:2); READLN;

END.

Метою сортування є впорядкування масивів для полегшення подальшого пошуку елементів у даному масиві.

Всі методи сортування можна поділити на дві великі групи: прямі методи сортування та покращенні методи сортування.

Прямі методи сортування за принципом, який лежить в основі методу, в свою чергу поділяються на три підгрупи:

сортування вставкою (включенням).

сортування вибором (виділенням).

сортування обміном (метод “бульбашки”).

Покращені методи сортування грунтуються на тих же самих принципах, що і прямі, але використовують деякі оригінальні ідеї для прискорення процесу сортування. Прямі методи на практиці використовуються дуже рідко, бо мають відносно низьку швидкодію. Однак вони добре показують сутність методів, що на них базується. Окрім того, у деяких випадках (як правило, при невеликій довжині масиву і(або) особливому вихідному розташуванню елементів масиву) деякі із прямих методів можуть навіть перевершити покращені методи.

Сортування вставкою. Масив поділяється на дві частини: відсортовану і невідсортовану. Елементи із невідсортованої частини почергово вибираються та вставляються у відсортовану частину так, щоб не порушити в ній упорядкованість елементів. На початку роботи алгоритму відсортованою частиною масиву є тільки один перший елемент, а невідсортованою частиною

– всі інші елементи.

Таким чином, алгоритм буде складатися із (n-1)-го проходу (n – розмірність масиву), кожний з яких буде включати чотири дії:

вибір чергового і-ого невідсортованого елементу та зберігання його у допоміжній змінній;

пошук позиції j у відсортованій частині масиву, в якій присутність взятого елементу не порушує упорядкованості елементів;

зміщення елементів масиву від (і-1)-го до (j-1)-го вправо, щоб звільнити знайдену позицію вставки;

вставка взятого елемента у знайдену j-ту позицію.

Для того, щоб реалізувати даний метод, можна запропонувати кілька алгоритмів, які будуть відрізнятися способом пошуку позиції вставки.

Сортування вибором. На першому етапі алгоритму перший елемент масиву по черзі порівнюється з наступними і при виконанні поставленої умови міняється з ними місцями. В результаті першого проходу алгоритму на

30