Урок №_______ Дата____25.02.20 г.
Название предмета: курс по выбору
«Основы визуального программирования»
Класс: 10
Практическая работа №9-10
Тема: Использование циклов для решения задач
Программирование вычислений с итеративными формулами
Цель: Овладеть навыками разработки алгоритмов циклической структуры на алгоритмическом языке.
Оснащение работы: IBM PC, Turbo Pascal, методические указания.
Общие указания:
Большинство вычислительных процессов обладают следующей особенностью: отдельные участки вычислений повторяются многократно, при этом всякий раз используются новые значения исходных данных. Такие вычислительные процессы называют циклическими, а их повторяющиеся участки – циклами.
Циклы бывают арифметическими и структурными. Арифметические циклысвязаны, в основном, с изменением одной переменной. Они делятся на два типа: циклы на достижение заданной точности (итерационные) и циклы с известным числом повторений.
Циклический процесс называется итерационным, если заранее неизвестно количество повторений цикла, а конец вычисления определяется при достижении некоторой величины заранее заданной точности вычисления.
При программировании итерационных процессов принято их разделять на циклы с «предусловием» и «постусловием». Их отличие заключается в том, что проверка достижения некоторой величины заданной точности вычисления осуществляется соответственно либо в начале цикла, либо в конце цикла. Особенность цикла с «постусловием» заключается в том, что повторяющийся участок алгоритма выполнится хотя бы один раз, в то время как в цикле с «предусловием» этот участок может, не выполнится ни разу.Цикл «Пока» (цикл с «предусловием») Цикл «ДО» (цикл с «постусловием»)
тело цикла выполняется хотя бы один раз
тело цикла может не выполниться ни разу
Инициализация представляет собой задание начальных значений переменным, которые используются в теле цикла.
Тело цикла – это последовательность действий, которые выполняются многократно.
Рассмотрим выполнение различных циклов.
Цикл с предусловием.
Данная структура работает так: сначала проверяется какое – либо логическое выражение (условие). Если значение логического выражения – истина (условие выполняется), то выполняются какие – либо действия и вновь проверяется условие. Как только значение логического выражения становится – ложь (условие не выполняется), работа структуры прекращается, и мы следуем алгоритму дальше. Иначе данная структура носит название цикл пока.
Для реализации этой структуры в алгоритмическом языке есть команда, имеющая вид:
Пока логическое выражение (условие)
нц
серия
кц
В качестве примера рассмотрим пример.
Пример: Найти количество чётных чисел, вводимых с клавиатуры. Кроме 0.
Алг чётность (цел а,к)
арг а
рез к
нач к:=0
пока а<>0
нц ввести значение а
если а mod 2=0,
то к:=к+1
всё
кц
вывести значение к
кон
Цикл с постусловием.
Данная структура предполагает выполнение серии операций до наступления, какого–либо события. В алгоритмическом языке нет команды, которая могла бы описать данную структуру, но её можно выразить с помощью других команд.
Примерно так:
1: а:=в+с
с:=с+1
если в<с,
то вернуться к шагу 1
иначе вывести значение а
всё
Цикл с параметром.
Структура (команда) данного типа иногда называется цикл к раз. В алгоритмическом языке эта команда выглядит так:
Для параметр от начальное значение До конечное значение шаг значение или имя переменной.
нц
серия
кц
Где: параметр (счётчик цикла) — переменная, которая принимает все значения из промежутка от начального значения до конечного;
Шаг — величина, на которую изменяется параметр на каждом проходе цикла.
В качестве имени параметра может выступать любая переменная , но чаще всего в таких циклах используют i или j. Значение шага может задаваться в виде константы или в виде переменной или выражения. В том случае, если шаг отрицателен, начальное значение параметра должно быть больше его конечного значения.
Графически данную структуру удобно выразить так:
Эта команда выполняется таким образом: параметру присваивается начальное значение, сравнивается с конечным и, если оно меньше или равно конечному, исполняется серия команд, параметру присваивается значение предыдущего, увеличенному на величину шага (S) и вновь сравнивается с конечным значением.
Команда будет выполняться до тех пор, пока значение параметра не превысит конечное значение. В том случае, когда начальное значение параметра будет больше конечного, цикл выполняется до тех пор, пока значение параметра не станет меньше, чем конечное значение (шаг при этом отрицателен).
Ход работы:
1. Прочитай общие указания, содержащиеся в этой работе.
2. Ответь на контрольные вопросы.
3. Выполни задания.
4. Оформи отчёт.
Исходные данные:
Примечание: на оценку «3» достаточно решить задание 1; на оценку «4» - задания 1,2; на оценку «5» необходимо выполнить все задания.
1. На алгоритмическом языке составить программу нахождения суммы всех положительных чисел, вводимых с клавиатуры. Кроме 0.
2. На алгоритмическом языке составить программу вычисления значения функции, заданной следующим образом:
3. На алгоритмическом языке составить программу нахождения всех трёхзначных чисел, сумма цифр которых равна заданному числу.
Контрольные вопросы:
1. Какой алгоритм называют циклическим?
2. Какие циклы называют арифметическими.
3. Дайте определение арифметических итерационных циклов.
4. В чём состоит отличие операторов цикла с «предусловием» и с «постусловием»?
5. Перечислите основные виды циклов и дайте их определение.
© ООО «Знанио»
С вами с 2009 года.