- •Загальні методичні вказівки
- •Лабораторна робота № 1
- •1 Теоретичні відомості
- •2 Послідовність виконання роботи
- •3 Оформлення звіту
- •4 Контрольні запитання
- •Лабораторна робота № 2
- •1 Теоретичні відомості
- •2 Послідовність виконання роботи
- •3 Оформлення звіту
- •4 Контрольні запитання
- •Лабораторна робота № 3
- •1 Теоретичні відомості
- •2 Оформлення звіту
- •3 Контрольні запитання
- •Лабораторна робота № 4
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота № 5
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №6
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №7
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №8
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №9
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №10
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №11
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №12
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №13
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота №14
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота № 15
- •1 Теоретичні відомості
- •2 Хід роботи
- •Пояснення до програми
- •3 Контрольні запитання
- •Лабораторна робота № 16
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні питання
- •М2. Система автоматизованого проектування науково-технічних задач (пакет mathcad)
- •Лабораторна робота № 17
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота № 18
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота № 19
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота № 20
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота № 21
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
- •Лабораторна робота № 22
- •1 Теоретичні відомості
- •2 Хід роботи
- •3 Контрольні запитання
Лабораторна робота №13
Тема: Програмування із використанням оператора типу
функція
Мета: Формування умінь створення підпрограм-функцій та їх використання в програмах алгоритмічною мовою високого рівня GW-Basiс
1 Теоретичні відомості
Крім стандартних функцій, в програмі можна визначити і використовувати інші або, так звані, функції користувача.
Формат функції користувача:
DEF FNV(X1[,X2,…,XN])=<Вираз>,
де V – допустиме ім’я змінної;
Х1,Х2,...ХN – формальні параметри оператор-функції.
Обчислення функції, яка записана оператором DEF FN, здійснюється при звертанні до неї за допомогою показчика функції:
FNV(a1[,a2,…an]),
де (а1 [,a2,…an]) – фактичні параметри функції, які заміняють формальні параметри оператор-функції (X1[,X2,…,XN]).
2 Хід роботи
2.1 Постановка задачі
Взимку
5 дітей ліпили снігові кулі. Скільки
снігу (в м3
) необхідно для підготовки кожної з
них, якщо процес їх виготовлення
припинявся, коли куля ставала за висотою
рівною зросту дитини? Кількість снігу
визначати підпрограмою-функцією.
Об'єм сфери дорівнює:
.
2.2 Графічний алгоритм показано на рис.13.1 - головна програма, рис.13.2 - функція.
Ідентифікація змінних
-
Змінна
R
H
S
i
Ідентифікатор
R
H
S
i
2.4 Програма мовою GW-Basic та результати обчислень
10 DEF FNV(D)=4/3*3.1416*D^3
20 DATA 2.4,2.7,3.0,2.64,3.3
30 FOR I=1 TO 5
40 READ H(I)
50 R(I)=H(I)/2
60 NEXT I
70 S=0
80 FOR I=1 TO 5
90 S=S+FNV(R(I))
100 NEXT I
110 PRINT S
120 END
RUN
7.516523
Рисунок 13.2 – Графічний
алгоритм підпрограми
Рисунок 13.1 – Графічний алгоритм головної програми
3 Контрольні запитання
Коли доцільно використовувати оператор-функції?
Що таке фактичні і формальні параметри?
Які функції називають рекурсивними?
Як формується звертання до оператор-функції мовою GW-Basic?
Як здійснюється передача обчисленного значення функції в головну програму?
Варіанти завдань наведені нижче:
13.1. Скласти програму з використанням оператор-функції, яка обчислює значення х аргумента монотонної функції,при якому f(x)=0, згідно формули:
Очевидно:
13.2. Скласти програму з використанням оператор-функції, яка визначає довжину відрізка на площині за заданими полярними координатами його вершин згідно формули :
Використовуючи цю підпрограму-функцію, скласти програму, яка вводить полярні координати вершин трикутника і друкує його периметр. Вершини:
.
13.3.
Скласти програму
з використанням оператор-функції
обчислення бінома
:
із
заданою точністю
.
Тут
.
13.4. Нехай функція y(x) задана таблицею:
-
Xi
X1
X2
X3
X4
...
X20
Yi
Y1
Y2
Y3
Y4
...
Y20
Скласти
опис
підпрограми-функції
для
обчислення
значення
цієї
функції
в
довільній
точці
згідно
формули
лінійної
інтерполяції:
,
де
.
13.5.Скласти програму для обчислення означеного інтегралу:
згідно методу трапецій
,
де
-
крок
інтегрування, а=2,b=3,n-число інтервалів;
-підінтегральна
функція.
Обчислення підінтегральної функції оформити як підпрограму-функцію.
13.6. Задані дійсні a i b. Отримати
,
де
.
Обчислення функції f(x;y) оформити у вигляді підпрограми-функції.
13.7. Обчислити ймовірність появи випадкової події рівно m разів в n незалежних дослідах згідно формули Бернуллі:
,
де
,
q=1-p, m ,n - цілі додатні числа, р -дійсне додатнє число з інтервалу (0;1) . Знаходження факторіалу оформити у вигляді підпрограми-функції.
13.8. Оформити обчислення значення інтегральної функції Ф(x), використовуючи наближену формулу (x>0):
у вигляді підпрограми-функції.
13.9. Отримати послідовнісь п'ятнадцяти псевдовипадкових чисел в інтервалі (0;1) згідно формули:
де F{ } - символ взяття дробової частини від виразу у фігурних дужках. За α0 взяти будь-який десятковий дріб. Знаходження чергового αk (k=1,2,...) оформити у вигляді процедури-функції.
13.10. Описати підпрограму-фнкцію для обчислення
Число n , дійсні U, V і елементи дійсного вектора А вибрати самостійно. Скласти програму для обчислення величини
.
13.11.
Скласти програму обчислення розміщення
згідно наближеної формули:
.
Обчислення ln(x!) оформити у вигляді підпрограми-функції.
13.12. Знайти значення величини
,
де |z|, |y|<1
При цьому обчислення arcsin(x) оформити у вигляді підпрограми-функції згідно формули:
13.13. Скласти програму для визначення величини
,
де а=1,
b=32.
Oбчислення інтегралу оформити у вигляді підпрограми-функції , використовуючи метод Сімпсона:
,
де h=(b-a)/n=0.5.
13.14.
Нехай А - двовимірний масив розміром
nxn.
Описати як функцію-підпрограму обчислення
суми абсолютних значень елементів k-го
рядка
, виключивши при цьому діагональний
елемент
, тобто
.
Величину n i елементи матриці А вибрати самостійно.
13.15. Майстерня отримала замовлення на виготовлення циліндричних бочок різної висоти, але діаметр основи кожної з них d=80 см. Скласти програму для визначення кількості бляхи (в квадратних одиницях ); потрібної для випуску 10 бочок висотою 1м, 15 бочок - 0.9м, 20 бочок - 0.7м. Повна поверхня циліндра дорівнює:
,
де R - радіус основи.
Обчислити як підпрограму-функцію.
13.16. В змаганнях з баскетболу приймають участь 5 команд, в кожній з них - 10 спортсменів. Зріст кожного юнака задано. Сформувати команду в яку входитимуть найвищі баскетболісти від кожного колективу. Їх вибір здійснити, використовуючи підпрограму-функцію. У випадку однакового зросту, заявити будь-кого.
13.17. Взимку 8 дітей ліпили снігові кулі. Скільки снігу (в м3 ) необхідно для підготовки кожної з них, якощо процес їх виготовлення припинявся, коли куля ставала за висотою рівною зросту дитини. Кількість снігу визначати як підпрограму-функцію. Об'єм сфери дорівнює:
13.18. Заипсати програму обчислення величини
Обчислення кореня кубічного згідно ітераційної формули
оформити у вигляді підпрограми-функції. X=5, Y0 =2.
13.19. Скласти програму обчислення
,
де
Обчислення
функції
(синус інтегральний) з точністю
оформити у вигляді підпрограми-функції.
.
13.20. Задано дві матриці A(3,3) i B(4,4). Знайти суму добутків додатніх елементів кожної матриці, які лежать нижче головної діагоналі. Обчислення такого добутку оформити у вигляді підпрограми-функції.
13.21. Написати програму для обчислення
,
де QJ -кількисть елементів векторів X(15) i Y(19), які кратні числу 3. Знаходження Q (j=1.2) оформити у вигляді підпрограми-функції.
13.22. Визначити суму мінімальних серед додатніх елементів в стовпцях масиву B(А,А). Обчислення такого мінімального елемента в стовпці оформити у вигляді підпрограми-функції.
13.23. Обчислити
,
,
де X змінюється від Xn =0 до XK =1.57 з кроком h=0.1. Обчислення фнкції sh(x) виконати у вигляді підпрограми-функції, використо-вуючи формулу
.
13.24. Записати підпрограму-функцію для обчислення скалярного добутку двох векторів. Використовуючи її,скласти програму для знаходження добутків:
.
13.25. Обчислити значення величини
,
де
.
При цьому обчислення arccosX оформити у вигляді підпрограми-функції згідно формули
