Методические указания
Часть 3
Нижнекамск
НХТИ КНИТУ
Составители: ст. преп. Т.А. Хрузина
к.п.н., доцент В.А. Садыкова
Алгоритмический язык QBasic. Часть III. Циклические алгоритмы: Метод. указания для самостоятельной работы студентов / НХТИ КНИТУ; Сост.: Т.А. Хрузина, В.А. Садыкова. Нижнекамск, 2012. 74 с.
Подготовлены на кафедре информационных систем и технологий Нижнекамского химико–технологического института Казанского национального исследовательского технологического университета.
В пособии дано изложение основных теоретических положений языка QBasic по циклическим алгоритмам, операторам организации циклов. Содержат методические указания к разработке алгоритмов и практическому программированию на языке Qbasic, которые могут быть использованы для подготовки к выполнению контрольных, лабораторных и практических заданий по дисциплине «Информатика».
Адресовано студентам технологических и механических специальностей дневной, вечерней и заочной форм обучения. Рекомендуется также студентам других специальностей, желающим самостоятельно изучить основы алгоритмического языка QBasic.
Печатаются по решению методической комиссии факультета Управления и Автоматизации Нижнекамского химико–технологического института Казанского национального исследовательского технологического университета.
Рецензенты: к. т. н., доц. Н.В.Лежнева
к. ф.-м.н., доц. Н.Н.Саримов
1. Понятие циклического алгоритма
При решении многих задач возникает необходимость многократного повторения одних и тех же действий, но над различными значениями переменных, определяющих эти действия. Такие вычислительные процессы называются циклическими, а многократно повторяемые участки — телом цикла.
Любой алгоритм циклической структуры в общем случае предусматривает:
1) задание начальных значений переменным, изменяющимся в цикле;
2) выполнение действий, выполняемых непосредственно в цикле;
3) изменение значений переменных цикла по некоторому закону, т. е. подготовка исходной информации для нового выполнения тела цикла;
4) проверка условия продолжения или окончания цикла и соответственно переход к началу цикла, если он не завершен, или выход из цикла по его окончании, т. е. управление циклом. Выход из цикла может быть преждевременным, он осуществляется с помощью специального оператора.
В языке программирования Qbasic имеется стандартный набор из трех разновидностей цикла – цикл с параметром, цикл с предусловием («До») и цикл с постусловием («После»):
Циклические алгоритмы содержат несколько типовых блоков. Основной блок, называемый телом цикла, производит требуемые вычисления. Остальные блоки имеют вспомогательное значение, они организуют циклический процесс: устанавливают начальные и новые значения данных, проверяют условия окончания или продолжения циклического процесса. Циклический алгоритм позволяет компактно описать большое число одинаковых вычислений над разными данными для получения необходимого результата.
В QBASIC существуют три типа операторов организации циклов: FOR...NEXT; DO...LOOP; WHILE...WEND. Рассмотрим подробнее каждый из них.
2. Организация циклов с параметром
Этот оператор по-другому называется – оператор организации цикла с заранее заданным количеством повторений. В качестве параметра цикла в нем выступает переменная, которая используется при проверке условия продолжения цикла и при каждом прохождении цикла изменяется на одну и ту же величину, называемую шагом цикла. Если параметр цикла целочисленный, он называется счетчиком цикла.
Общий вид оператора:
FOR параметр = nz TO kz [STEP h]
[блок_операторов]
[EXIT FOR]
NEXT параметр
где
параметр – числовая переменная, используемая как счетчик цикла,
nz и kz – начальное и конечное значение счетчика цикла,
h – приращение счетчика при каждом шаге цикла (по умолчанию h=1),
EXIT FOR – позволяет выйти из цикла преждевременно, до его окончания.
Работает данный оператор следующим образом: для всех значений параметра (FOR параметр), начиная с начального значения nz и до (TO) конечного значения kz с шагом (STEP) равным h, выполняется блок_операторов. Ключевое слово NEXT меняет значение параметра цикла следующим образом:
параметр = параметр + h
Рассмотрим некоторые особенности выполнения этого цикла:
1) тело цикла выполняется только в том случае, если:
· nz+hkz;
· kz<nz и h < 0;
2) тело цикла выполняется только один раз, если kz=nz;
3) произойдет зацикливание, если h=0;
Существует множество задач, в которых требуется использование оператора FOR…NEXT: табулирование функции, нахождение наибольшего и наименьшего значения функции, вычисление конечной суммы, вычисление конечного произведения и др. Рассмотрим некоторые задачи более подробно.