- •Министерство образования и науки, молодежи и спорта Украины
- •Содержание
- •Вступление
- •Состав исходных данных для выполнения контрольных работ
- •Контрольная работа 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. Пример выполне6ния задачи 1а
- •3.4. Типы алгоритмов
- •3.5. Пример выполнения задачи 1б
- •3.6. Пример выполнения задачи 2а
- •Результат выполнения программы:
- •3.7. Пример выполнения задачи 2б
- •Результат выполнения программы:
- •3.8. Пример выполнения задачи 3 а
- •Блок – схемы
- •1. Цикл ''Пока'' 2. Цикл '' До'' 3. Цикл ''Со счетчиком''
- •Результат выполнения программы:
- •Результат выполнения программы:
- •3.10. Пример выполнения задачи 4
- •Программа
- •Блок – схема
- •Программа
- •Результат выполнения программы:
- •3.11. Пример выполнения задачи 5 а
- •Программа
- •Результат выполнения программы:
- •3.12. Пример выполнения задачи 5 б
- •Блок – схема
- •Программа
- •Література
Результат выполнения программы:
H, X0? 1.2, 0.4 _
S= -4.155788
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 этапа:
1. После ввода последней строки основной программы необходимо ввести часть заголовка процедуры, а именно SUB <имя> и нажать ENTER.
На экране появятся 3 строки
SUB имя
-
END SUB
2. Ввод текста процедуры.
После ввода последнего оператора подпрограммы необходимо нажать клавишу F2.
На экране в поле диалога появляются имена головного модуля (например, UNTITLED) и функции.
С помощью курсорных клавиш и ENTER можно перейти в поле редактирования головного модуля или подпрограммы.
Запуск процедуры SUB осуществляется из головной программы оператором CALL
CALL имя подпрограммы (факт. параметр[,ф.п....])
Обмен данными между головным модулем и подпрограммой, осуществляется 2 способами:
1. Использование глобального объявления типов данных с помощью оператора DIM SHARED (данные, которые объявлены глобальными, доступны как в основной программе, так и в процедуре)
2. Использование механизма формально-фактических параметров (здесь подпрограмма использует формальные параметры, значения которых определяются с помощью фактических параметров при обращении к подпрограмме).
Между фактическими и формальными параметрами существует соответствие по типу, количеству и порядку следования.
Оба способа обмена могут быть использованы в одной процедуре.
После выполнения подпрограммы SUB управление передается оператору, следующему за оператором – вызовом подпрограммы CALL