- •Раздел 2 Программирование на языке
- •Лабораторная работа № 1
- •1 Порядок решения задач на компьютере
- •2 Разработка линейных программ
- •Input "Ввести d, k,n"; d, k,n
- •3 Операторы read, datа, restore
- •3 Запуск qbasic, ввод и редактирование программ
- •Лабораторная работа № 2
- •2 Программы ветвления
- •Input X
- •Лабораторная работа № 3
- •1 Операторы цикла qb
- •2 Примеры программ с циклами
- •3 Контрольные вопросы
- •4 Задание
- •Лабораторная работа № 4
- •1 Программа вычисления арифметического ряда
- •2 Программы вычисления факториалов
- •3 Алгоритм итерационного цикла
- •4 Контрольные вопросы
- •5 Задания
- •Лабораторная работа № 5
- •1 Программа "цикл в цикле"
- •2 Программа "цикл и ветвление"
- •3 Программа "цикл в цикле и ветвление"
- •4 Контрольные вопросы
- •5 Задания
- •Лабораторная работа № 6
- •1 Одномерные массивы - векторы
- •2 Двумерные массивы – матрицы. Обработка массивов
- •3 Контрольные вопросы
- •4 Задания
- •Лабораторная работа № 7
- •1 Функции пользователя
- •3 Процедуры. Операторы sub и end sub
- •Лабораторная работа № 8
- •1 Графические операторы qbasic
- •2 Программа рисования графических объектов
- •3 Построение графиков функций
- •4 Контрольные вопросы
- •5 Задание
3 Алгоритм итерационного цикла
Пример 4 Вычислить корень k-й степени из аргумента х = 2 с точностью до третьего знака после запятой.
Корень любой степени можно вычислить по итерационной формуле
Погрешность вычислений определим как модуль разности текущего и следующего значений функции у и сравнения его с заданной точностью Е = 0,001
│y(n+1)-y(n)│<E
Для вычислений нужно задать начальное приближение результата, т.е. примерное значение корня k-й степени из аргумента х, например, единицу.
y(n)=h = 1
В программе приняты обозначения:
h – начальное значение функции у;
x – значение аргумента х;
k – показатель степени корня;
E – заданная точность вычисления функции у.
81
Y0 – текущее значение функции у
Y1 – следующее значение функции у
Программа:
CLS
INPUT h,x,k,E
Y0=h
L2: Y1=1/k*((k-1)*Y0+x/Y0^(k-1))
IF ABS(Y1-Y0)<E THEN L1
Y0=Y1
GOTO L2
L1: PRINT Y1
END
Путем последовательного приближения к заданному значению E по данной итерационной формуле получается искомый результат корня. Здесь в строке 6 результат предыдущей итерации y(0) заменяется результатом, полученным при последующей итерации (y(1)). После этого управление передается по метке L2, где по итерационной формуле получается очередное приближение значения корня (y(1)) к требуемой точности вычислений. Когда заданная точность достигнута (│y(1)-y(0)│<E), осуществляется выход из цикла путем передачи управления по метке L1.
4 Контрольные вопросы
1 Какие вычислительные процессы называются итерационными?
2 Какая переменная управляет итерационным циклом ?
3 Какой метод вычислений реализуется в итерационных вычислительных процессах.
4 Как организовать вычисление факториала?
5 Как вычислить сумму чётных факториалов, начиная с 4!?
6 Как вычислить сумму нечётных факториалов, начиная с 5!?
7 Как организовать вычисление произведения факториалов?
Как ввести вычисление знакопеременности членов ряда?
5 Задания
Вычислить сумму членов ряда с точностью Е=10-2
при заданном х=0.75
82
№ варианта |
Выражение |
1 |
2 |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 |
, Е=103 |
12 |
, Е=102 |
13 | |
14 |
83
1 |
2 |
15 | |
16 | |
17 | |
18 |
, Е=102 |
19 | |
20 |
Содержание отчета
1 Название работы.
2 Цель работы.
3 Содержание работы
4 Задание и программа для своего варианта.
5 Результаты расчёта итерационной суммы
6 Письменные ответы на контрольные вопросы.
9 Выводы по работе.
84
Лабораторная работа № 5
Сложные алгоритмы
Цель работы: разработка программ, реализующих циклические и ветвя-
щиеся вычислительные процессы.
Содержание работы:
1 Программа "цикл в цикле"
2 Программа "цикл и ветвление"
3 Программа "цикл в цикле и ветвление"
Общие сведения
В предыдущих лабораторных работах рассматривались программы, которые реализовывали отдельно линейные, ветвящиеся и циклические алгоритмы с проверкой различных условий для ветвления или выхода из цикла Часто в практике программирования приходиться решать задачи, включающие одновременно эти вычислительные процессы.
В общем случае циклическая часть программы может содержать проверку различных условий, т.е. представлять собой ветвящуюся программу, а также включать в себя другие циклические части. Последние называются внутренними и вложенными циклами по отношению к внешним, содержащим их, а подобная организация программы называются циклом в цикле.
В Бейсике разрешена организация вложенных циклов, при каждом повторении наружного цикла внутренний цикл выполняется полностью, т.е. при первом значении параметра внешнего цикла полностью выполняется весь внутренний цикл, затем при следующем значении внешнего цикла снова выполняется весь внутренний цикл и т.д. Таким образом реалиуются все возможные сочетания параметров обоих циклов.
При организации циклов либо один из них вложен внутрь другого, либо они расположены последовательно один за другим. Если цикл вложен в другой цикл, то важно помнить, что сначала закрывается внутренний цикл, а затем внешний.