- •Міністерство освіти і науки, молоді та спорту України
- •Склад вихідних даних для виконання контрольних робіт
- •Контрольна робота 1
- •1.1. Завдання 1. Арифметичні вирази. Задача 1а
- •1.2. Алгоритм лінійної структури. Задача 1б
- •1.3. Завдання 2. Алгоритм розгалуженої структури. Задача 2 а
- •1.6. Алгоритм циклічної структури. Задача 3 б
- •Контрольна робота 2
- •2.1. Завдання 4. Алгоритм комбінованої структури. Задача 4
- •2.2. Завдання 5. Обробка одномірних масивів. Задача 5 а
- •2.3. Обробка двовимірних масивів. Задача 5 б
- •3. Рекомендації з виконання контрольних завдань
- •3.1. Вибір вихідних даних
- •3.2 Запис арифметичних виразів за правилами алгоритмічної мови (qbasic)
- •Стандартні арифметичні функції
- •Деякі допоміжні формули
- •3.3. Приклад виконання задачі 1а
- •3.4. Типи алгоритмів
- •Алгоритм
- •3.5. Приклад виконання задачі 1б
- •3.6. Приклад виконання задачі 2а
- •3.7. Приклад виконання задачі 2б
- •3.8. Приклад виконання задачі 3 а
- •Блок – схеми
- •1. Цикл ''Поки'' 2. Цикл '' До'' 3. Цикл ''з лічильником''
- •Програми
- •3.9. Приклад виконання задачі 3 б
- •Блок – схеми
- •1. Цикл ''Поки'' 2. Цикл '' До'' 3. Цикл ''з лічильником''
- •Програми
- •3.10. Приклад виконання задачі 4
- •Програма
- •Блок – схема
- •Програма
- •3.11. Приклад виконання задачі 5 а
- •Програма
- •3.12. Приклад виконання задачі 5 б
- •Блок – схема
- •Програма
- •Література
3.10. Приклад виконання задачі 4
Завдання: розробити алгоритм комбінованої структури й скласти програму.
Умова: Обчислити значення функції
, 0,5 < с < 2,5
y = , с ≤ 0,5 або с ≥ 2,5,
для с = -1,5 ; -0,5 ; -0,1 ; 0 ; 0,5 ; 1,75 ; 1,8 ; 2,5 ; 3,4 ; 5,7.
Тут . Знехтуватичленами ряду, меншими ε = 10 - 4
Розв'язання: позначимо z → Z, zn → ZN, i →I, n → N, ε → EPS як прості змінні, c → C(I), y → Y(I) як одномірні масиви, довжина кожного з яких становить 10 елементів ( по кількості заданих значень с).
Комбінований алгоритм даної задачі складається із фрагментів алгоритму, що розгалужується, і двох циклічні: простого (із заздалегідь відомим числом повторень) і ітераційного (для обчислення суми Z), припинення якого відбувається при досягненні заданої точності обчислень zn < ε = 10-4.
Реалізація ітераційного циклу можлива тільки за допомогою циклічних алгоритмів типу ''Поки'' або '' До''. Для простого циклу можна використовувати цикл ''З лічильником''.
Перша частина алгоритму виконує обчислення змінної Z (ітераційний цикл) значення якої використовується в другої частині (простий цикл обчислення функції Y(I) з розгалуженням – вибором відповідної формули, в залежності від введеного значення змінної C(I)).
1-й варіант
Блок – схема
+
+ -
Програма
REM алгоритм комбінованої структури ‘оператор - коментар
DIM EPS,N,Z,ZN,I,C(1 TO 10),Y(1 TO 10) ‘ опис змінних
INPUT “ EPS ”; EPS ‘введення даних
DATA –1.5,-.5,-.1,0,.5,1.75,1.8,2.5,3.4,5.7 ‘ рядок даних
N = 1: Z = 0 ‘оператори присвоювання
DO ‘оператор начатку циклу
ZN = 0.1*N / (N+0.6)^3: Z=Z+ZN ‘оператори присвоювання
N= N + 1
LOOP WHILE ABS(ZN) > EPS ‘завершення циклу
PRINT “Z=”; Z ‘виведення
FOR I = 1 TO 10 ‘оператор начатку циклу
READ C(I) ‘ введення даних
IF C(I)> .5 AND C(I)< 2.5 THEN ‘оператор умовного переходу
Y(I) = (C(I) * Z - 3) ^ 2 ‘оператор присвоювання
ELSE Y(I) = .5 * Z ^ 3 - 5 * C(I) оператор присвоювання
END IF ‘завершення оператора умовного переходу
PRINT “Y”; I; “=”;Y(I) ‘виведення
NEXT I ‘завершення циклу
END ‘ кінець програми
2-й варіант (з використанням підпрограми користувача)
Зауваження
Фрагмент обчислення Z виділений в окремий програмний модуль – підпрограму користувача (SUB) з іменем SUMZ.
Місце підпрограми SUB - після тексту основного модуля.
Уведення програми, у тексті якої перебуває звертання до підпрограми користувача, виконується за 2 кроки:
- після введення останнього рядка основної програми необхідно ввести частину заголовка процедури, а саме SUB <ім'я> і натиснути ENTER.
На екрані з'являться 3 рядки
SUB ім'я
-
END SUB
- уведення тексту процедури.
Після введення останнього оператора підпрограми необхідно натиснути клавішу F2.
На екрані в поле діалогу з'являються імена головного модуля (наприклад, UNTITLED) і функції.
За допомогою курсорних клавіш і ENTER можна перейти в поле редагування головного модуля або підпрограми.
Запуск процедури SUB здійснюється з головної програми оператором CALL
CALL ім'я підпрограми (фактичний параметр[,ф.п....])
Обмін даними між головним модулем і підпрограмою, здійснюється 2 способами:
1. Використання глобального оголошення типів даних за допомогою оператора DIM SHARED (дані, які оголошені глобальними, доступні як в основній програмі, так і в процедурі)
2. Використання механізму формально-фактичних параметрів (тут підпрограма використовує формальні параметри, яки визначаються за допомогою фактичних параметрів при звертанні до підпрограми.
Між фактичними й формальними параметрами існує відповідність по типу, кількості й порядку проходження.
Обоє способи обміну можуть бути використані в одній процедурі.
Після виконання підпрограми SUB керування передається оператору, що знаходиться за оператором – викликом підпрограми CALL