Добавил:
Допоможу чим зможу) Відсигнальте якщо знайшли шось корисне) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
79
Добавлен:
15.12.2017
Размер:
1.25 Mб
Скачать

21

2.ЗАВДАННЯ

2.1.Домашня пiдготовка до роботи

1.Вивчити синтаксис, призначення, принцип роботи і використання

операторів мови СІ та основних функцій введення-виведення.

2. Скласти блок-схеми алгоритмів та програми мовою СІ для табулювання функцій. Забезпечити ввід значень інтервалу, кроку і похибки табулювання з клавіатури і вивід результатів на дисплей. Дані для роботи беруться з таблиць 1 і 2 за вказівкою викладача:

а) табулювання функції (див. табл.1), що вибирається залежно від значення аргумента, на проміжку [a, b] з кроком табуляції h.

 

 

 

 

 

 

 

 

 

 

Таблиця 1

Функції

Умови для вибору

Крок,

Інтервал,

п/п

функцій

h

[a,b]

 

 

 

 

 

 

 

1

cos

 

 

 

x 0.6

0.02

[0.5, 0.9]

x

 

ctg x2

0.6 x 0.7

 

 

 

arctg x3

x 0.7

 

 

2

ln x3

x 3

0.2

[2, 4]

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

3 < x < 4.5

 

 

 

 

 

 

 

 

 

 

 

 

 

| sin x |

 

 

 

x 4

 

 

 

sec 1/x

 

 

 

 

 

 

 

 

 

 

 

3

cosec x2

x 4.5

0.2

[4, 6]

 

x + ln

 

 

4.5 x 5

 

 

 

x7

 

 

 

lg ex + 4

x 5

 

 

4

cos ln x2

x < 2.5

0.2

[2, 4]

 

sec x4

2.5 x 3.5

 

 

 

tg sin x

x > 3.5

 

 

 

 

 

 

 

5

log 5 3x +1

x 0.2

0.05

[0.1, 0.7]

 

xcos x

0.2 x 0.4

 

 

 

cosec ln x

x 0.4

 

 

 

 

 

 

 

6

e x sin x

x 0.6

0.02

[0.5, 0.8]

 

tg | ln x |

0.6 x 07

 

 

 

arctg x7

x 0.7

 

 

7

ln x cos x

x 4

0.2

[3, 6]

 

ctg ex 3

4 x 5

 

 

 

5x x

x 5

 

 

8

cosec ex

x 2

0.2

[1.5, 3.5]

 

sec ln x

2 x 3

 

 

 

sin ln x

x 3

 

 

 

 

 

 

 

 

 

 

 

 

 

22

9

 

 

 

sec x cos x

x 4.5

0.2

[4, 7]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3 4

4.5 x 6

 

 

 

 

 

 

lg ex

x 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

cos x tg x

x 2.3

0.1

[2, 3]

 

 

 

ctg x sin x

2.3 x 2.7

 

 

 

 

 

x ln x 3

x 2.7

 

 

11

 

log3 x sin x

x 4

0.2

[3, 6]

 

 

lg ex 4

4 x 5

 

 

 

 

ln lg x

x 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

 

 

 

cos

 

 

 

 

 

0.2

[0.5, 2]

x 3

x 1

 

 

 

 

arctg ex

1 x 1.5

 

 

 

 

 

 

sin 5 ln x

x 1.5

 

 

13

 

 

 

ln x 2 ex

x 0.3

0.02

[0.2, 0.5]

 

 

 

 

ctg x 2 4

0.3 x 0.4

 

 

 

 

 

 

tg x 2 1

x 0.4

 

 

14

 

 

 

| ln x |7

x 0.5

0.02

[0.4, 0.8]

 

 

 

 

ctg x + x3

0.5 x 0.7

 

 

 

 

 

 

log 5 sin x

x 0.7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

x 7

 

0.2

[7.5, 10]

x 2 1

x 8

 

1

 

 

 

 

 

 

 

 

 

 

 

8 < x 9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin x + | cos x |

 

 

 

 

x > 9

 

 

 

ln e x + 4

 

 

 

 

 

 

16

 

 

 

cos x0.3

x 3

0.2

[2, 5]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3 + lg x

3 x 4

 

 

 

 

 

 

ctg x 2

x 4

 

 

17

 

 

 

cosec cos x 2

x < 0.5

0.05

[0.3, 0.9]

 

 

 

 

cos sin x

0.5 x < 0.7

 

 

 

 

 

 

sin sec x

x 0.7

 

 

 

 

 

 

 

 

 

 

 

 

18

 

 

 

arctg x3

x -0.7

0.05

[-0.9, -0.4]

 

 

 

 

tg x + ln | x |

- 0.7 < x -0.6

 

 

 

 

 

 

ctg x 2

x -0.6

 

 

19

ln lg x + log 3 x

x 0.4

0.05

[0.3, 0.9]

 

cos sin x 2

0.4 x 0.6

 

 

 

7

 

 

 

 

x 0.6

 

 

 

x3 + 0.5

 

 

20

 

 

arctg 1/ x

x < 1

0.3

[0.3, 3.5]

 

 

 

tg x + log 4 x

 

 

 

 

 

1 x < 3

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1+ ln x

 

 

 

 

 

 

 

 

23

21

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

0.3

[3, 6]

 

 

 

 

 

 

 

 

 

sin 1/x + 4

 

 

 

 

 

x 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

4 x 5

 

 

 

 

 

 

 

 

 

 

 

 

x 2 + ln x

 

 

 

 

 

 

 

x 5

 

 

 

 

 

 

 

 

 

 

tg x 3 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22

 

 

 

 

ctg x + cosec x 2

x 3

0.2

[2, 5]

 

 

 

 

 

lg ln x + log3 x

3 x 4

 

 

 

 

 

 

 

cos 5x2

 

 

 

 

 

 

 

 

 

 

 

 

x 4

 

 

23

log 5 5+ | log 4 | log 3 x | |

x 5

0.5

[3, 8]

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 x 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2

+16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 7

 

 

 

ln x + cos x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

lg | ln x + sec x |

x 3

0.2

[2, 5]

 

 

 

 

ctg x + ln x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 x 4

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16 x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25

 

 

lg x ln x + sin x

x 7

0.2

[6, 9]

 

 

 

log 3 sin x + 4

 

 

 

 

 

7 x 8

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16 + sec x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

26

 

 

 

 

sin x 2 + cos x 2

x 0.8

0.5

[0,6, 1,2]

 

 

 

 

 

log 7 x + tg x

 

 

 

 

 

 

 

0.8 x 1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

160 + x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

27

 

 

 

1+ cos x

 

 

 

 

 

 

 

 

0.2

[3, 6]

 

 

 

 

1 sin x 2

 

 

 

 

 

 

 

 

 

 

x 4

 

 

 

 

 

arctg ln x + sin x

4 x 5

 

 

 

 

 

 

1

+

 

1

+

 

1

 

 

 

 

 

 

 

 

x 5

 

 

 

 

 

 

 

x 4

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2

x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

28

 

 

 

 

 

 

 

tg x + sin x

x 2

0.1

[1.5, 3]

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x 2.5

 

 

 

 

 

 

 

 

 

 

x3 + sin x 2

 

 

 

 

 

 

 

 

 

 

x 2.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e tg x+2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

29

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

0.5

[0, 5]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

tg x 2 + 5

x 2

 

 

 

 

 

 

 

 

 

ln x +

 

 

2 x 3

 

 

 

 

 

 

 

 

cos

x

 

 

 

 

 

 

 

log 5 cos 2 x + 7

x 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30

 

 

 

 

cosec

 

 

 

 

 

 

 

 

 

 

 

 

x 5

0.3

[3, 9]

 

 

 

 

 

 

x 2 + e x

 

 

 

 

 

cos xln x

 

 

 

 

 

 

7 x 5

 

 

 

 

 

 

 

ctg x3 +11.5

x 7

 

 

24

31

 

 

log 5 x cos x 7

 

 

 

0.1

[2, 4]

 

 

 

 

arctag x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2.8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin

ln x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.8 x 3.4

 

 

 

 

 

 

sin

x 2

+ tg 2 + x

 

x 3.4

 

 

 

 

 

 

 

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32

lg cos x + e x+2

 

 

 

 

 

 

 

x

2

0.2

[1, 4]

 

sin x + 2x 3 cos x 2x

2

 

 

 

2

x 3

 

 

 

 

 

arctan x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2 sin x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

33

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.05

[0.2, 0.9]

 

 

 

sin x ln x + 5

 

x 0.5

 

 

 

 

 

 

sin x +

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

0.5

x 0.6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln x3

+ 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 0.6

 

 

 

 

 

 

 

x +1 sin x+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

34

 

 

 

 

 

 

 

 

 

 

 

x +1

 

 

 

 

 

 

 

 

 

0.2

[4, 7]

 

 

 

 

 

 

 

tg ln

x 2

+ 3

 

 

 

 

 

 

 

 

x

5

 

 

 

 

 

 

 

 

3

 

sin x + 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 x 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x x3

 

 

 

 

 

 

 

x 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

log

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

35

 

 

 

sin x3 +

e2+x

 

 

 

 

 

 

 

 

 

0.3

[3, 9]

 

 

 

 

102.1

 

 

 

 

 

x

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ sin

 

 

 

x

 

 

 

 

 

 

 

 

 

tg

 

 

 

 

 

 

 

 

 

5

x 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

7

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2

x3

 

x 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б) табулювання функції, представленої рядом (див. табл.2), на інтервалі [a, b] з кроком табуляції h та абсолютною похибкою d. Оцінку похибки здійснювати за значенням модуля чергового члена ряду.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблиця 2

 

Функція

Інтервал,

Крок, h

Похибка,

п/п

 

 

 

 

 

 

 

 

 

 

 

[a, b]

 

d

1

 

 

 

x 2

 

 

[0.5, 0.7]

0.02

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k k 2

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

[0.1, 0.6]

0.05

0.001

 

 

 

kxk

 

 

 

 

 

 

 

 

 

k 1

 

 

 

 

 

 

3

 

1

x

 

[3, 4]

0.1

0.001

 

 

 

 

tg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1 k

2k

 

 

 

 

 

4

 

 

1

 

x 4k 3

[0.2, 0.3]

0.01

10

-6

 

 

 

 

 

 

 

 

 

 

 

 

 

4k 3

 

 

 

 

 

k 0

 

 

 

 

 

 

 

 

 

 

 

 

 

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

25

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

[1.1, 2]

0.1

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1 2k

 

 

 

 

 

 

2k

 

 

 

 

 

 

 

 

 

 

 

1 k x

 

sin 2k 1

 

[-1, 1]

0.5

0.001

 

 

 

 

 

 

 

 

 

 

 

 

k k 1

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[-1, 1]

0.2

0.001

 

 

 

 

1

k

 

k sin kx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 2

k 2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[-1, -0.9]

0.01

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

k

 

cos kx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 2

 

 

 

 

k 2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

sin 2k 1

 

[-1, 1]

0.1

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 3

 

 

 

 

 

 

k 0 2k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

cos 2k

1

[0.1, 1]

0.1

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2k 1 2k 3

 

 

 

k 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 k x 2k 3

 

 

 

 

 

[0, 1]

0.1

0.0001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2k 1 2k 3

 

 

 

 

 

k 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 k

cos4 2k x

 

[1, 2]

0.1

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[3, 4]

0.1

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

k

sin kx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m n

1

 

 

 

 

 

 

 

 

 

 

 

 

 

[0.1, 0.5]

0.05

0.001

1

 

x

n

, m=20

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m n 1

 

 

 

 

 

 

 

 

 

 

 

[0.1, 0.5]

0.05

0.001

1

x

n

, m=3

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 1 2n 1

 

 

 

 

 

[1, 1.2]

0.02

10-6

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2n 1 x 1 2n 1

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

n

1

x 1

n

 

[1, 1.5]

0.05

10-5

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 1

 

n

 

 

 

 

 

 

 

 

[1, 1.5]

0.05

10-5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

nxn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

n 1

 

 

xn

 

 

 

 

 

[0, 0.5]

0.05

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

n

 

 

 

 

 

 

 

 

 

 

 

[-0.5, 0]

0.05

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21

22

23

24

25

26

27

28

29

30

31

32

33

34

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

26

 

 

 

 

 

 

 

 

 

2n

1

 

 

 

 

 

 

0.05

 

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

[0.5, 0.9]

 

 

 

 

1

 

 

 

 

 

x n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

2n 2n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

π

 

 

 

 

 

 

 

 

2n

1

 

 

 

 

 

[0.5, 0.9]

0.05

 

0.001

 

x

 

 

 

 

 

 

 

 

 

x 2n 1

 

 

 

 

2

 

2n 2n

1

 

 

 

 

 

n

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 2n

1

 

 

 

 

 

[0.1, 0.2]

0.01

 

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2n 1 !

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[0, 0.5]

0.05

 

0.001

 

1

m n 1 x n , m=20

 

 

 

 

1

 

 

 

 

 

n 1

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

m n 1 x n , m=9

[0, 0.5]

0.05

 

0.001

1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos xn

 

 

 

 

 

[1, 5]

0.5

 

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 2 n 3

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

sin n 2

[0.1, 0.6]

0.05

 

0.001

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

n 1

3n -1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n-1

n

1 sin x

[-1, 1]

0.2

 

0.001

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos

3

x

 

 

 

 

 

[0.1, 0.5]

0.05

 

0.0001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

sin k 1

[0.5, 1]

0.05

 

0.00001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2k 1 2k 2

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos2

x

 

 

 

 

 

[1, 2]

0.1

 

0.0001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

1

k

sin kx

 

[3, 4]

0.1

 

0.001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2n

1

 

 

 

 

 

[0.5, 0.9]

0.05

 

0.001

 

 

 

1

 

 

 

 

 

x n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

2n 2n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

x 1

n

[1, 1.5]

0.05

 

10-5

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

27

ІНСТРУКЦІЯ ДО ЛАБОРАТОРНОЇ РОБОТИ № 3

РОБОТА З МАСИВАМИ. ВИКОРИСТАННЯ ФУНКЦІЙ

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

1.ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ

1.1.Функції.

1.1.1. Оголошення функції (прототип)

Синтаксис:

[<специфікація класу пам’яті>] [<специфікація типу>] <оголошувач> ( [<список аргументів>] );

Оголошення функції специфікує ім’я функції, тип значення що повертається і, можливо, типи її аргументів та їх числові значення. Ці атрибути функції необхідні для перевірки компілятором мови Сі коректності звертання до неї до того, як вона визначена.

Якщо <оголошувач> функції представляє собою ідентифікатор (ім’я функції), то оголошується функція, тип значення якої, що повертається, заданий специфікацією типу. Функція не може повертати масив чи функцію, однак може повертати покажчик на ці об’єкти.

Якщо специфікація типу в оголошенні функції пропущена, то передбачається тип int. На зовнішньому рівні може бути також пропущена специфікація класу пам’яті (див. класи пам’яті), а на внутрішньому рівні хоча б одна із специфікацій – класу пам’яті чи типу – повинна бути присутньою.

Деякі приклади оголошень функцій:

 

add(int, int);

/* приклад 1 */

double calc( );

/* приклад 2*/

void draw(void);

/* приклад 3 */

void bul(int a[n][n]);

/* приклад 4 */

Впершому прикладі оголошується функція з іменем add, яка приймає два аргументи типу int і повертає значення типу int.

Вдругому прикладі оголошується функція з іменем calc, яка повертає значення типу double. Список типів аргументів пустий.

Втретьому прикладі оголошується функція draw з типом що повертає значення void (нічого не повертається). Список типів аргументів також містить ключове слово void, що вказує на відсутність аргументів функції.

28

В четвертому прикладі оголошується функція bul з типом що повертає значення void. Аргумент функції – двомірний масив (n – розмірність масиву) елементів цілого типу.

1.1.2. Оголошення функції

Оголошення функції визначає її ім’я, тип значення що повертається, клас пам’яті і може також задавати тип деяких чи усіх аргументів функції.

Крім явного оголошення, функція може бути оголошена неявно, по контексту її виклику. Неявне оголошення має місце в тому випадку, коли функція викликається без попереднього оголошення чи визначення. В цьому випадку компілятор мови Сі вважає, що функція, яка викликається, має тип значення що повертається int і клас пам’яті extern. Визначення функції, якщо воно є далі в тому ж самому файлі, може перевизначити тип значення що повертається і клас пам’яті.

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

Наприклад: main( )

{

int a = 0, b = 1; float x = 2.0, y = 3.0;

double realadd(double, double); a = intadd(a, b);

x = realadd(x, y);

}

intadd(a, b)

int a, b;

 

{

 

return (a + b);

/* повертає значення типу int */

}

 

double realadd(x, y)

 

double x, y;

 

{

 

return (x + y);

/* повертає значення типу double */

}

 

В прикладі функція intadd оголошена неявно з типом значення що повертається int, оскільки вона викликана до свого визначення. Компілятор не перевірятиме типи аргументів при виклику даної функції, тому що список типів аргументів для неї не заданий.

Функція realadd повертає значення типу double. В функції main є попереднє оголошення функції realadd. Тип значення що повертається (double), заданий у визначенні, відповідає типу значенню що повертається, заданому в

29

попередньому оголошені. В попередньому оголошені також визначені типи двох параметрів функції realadd. Типи фактичних аргументів відповідають типам, що задані в попередньому оголошені, і також відповідають типам формальних параметрів у визначенні функції realadd.

1.1.3. Виклик функції.

Виклик функції передає управління і фактичні аргументи (якщо вони є) заданій функції.

Синтаксично виклик функції має вигляд: <вираз> ([<список виразів>]);

<вираз> обчислюється, і його результат інтерпретується як адрес функції. Вираз повинен мати тип функція.

<список виразів>, в якому вирази ідуть через кому, представляє собою перелік фактичних аргументів, що передаються функції. Список виразів може бути пустим.

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

Приклад: main( )

{

intadd(2, 3); /*Виклик функції intadd з передачею фактичних аргументів 2, 3 заданій функції */

}

intadd(a, b) /*Визначення функції intadd з формальними аргументами а, b */

int a, b;

{

. . . .

}

В даному прикладі показано присвоєння фактичних аргументів 2, 3 формальним аргументам a, b функції intadd. Виклик функції в такому випадку робить наступні дії:

a = 2; b = 3;

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

30

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

1.1.4. Визначення функції.

Функція – самостійна одиниця програми, спроектована для реалізації конкретної задачі. Виконання програми завжди починається з команд, що містяться в функції main( ), яка в свою чергу може викликати інші функції

(getchar( ), printf( ), scanf( ) та ін.).

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

Синтаксис визначення функції:

[<специфікація класу пам’яті>] [<специфікація типу>] <ім’я функції> ( [<список аргументів>] )

[<оголошення аргументів>] <тіло функції>

У визначенні функції допускається вказівка специфікації класу пам’яті static чи extern (див. клас пам’яті).

Наявність списку аргументів і оголошень не є обов’язковою. Змінні, відмінні від аргументів, оголошуються в середині тіла функції.

Наприклад:

 

 

diff(x, y)

/* функція diff з аргументами x, y

*/

int x, y;

/* оголошення аргументів x, y

*/

{

 

 

int a, b;

/* оголошення змінних а, b */

 

. . . .

 

 

}

 

 

Функції повинні мати той же тип, що і значення, які вони повертають в якості результатів. По замовчуванню передбачається що функції мають тип int. Якщо функція має інший тип, він повинен бути вказаний і в програмі що викликається, і в самому визначенні функції.

Наприклад: main( )

{

float q, x, duff( ); /* оголошення в програмі що викликається */ int n;

. . . .

q= duff(x, n);

. . . .

}

float duff(u, k) /* оголошення у визначенні функції */ float u;