Цикл с параметром. Структура и синтаксис оператора for — КиберПедия 

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Цикл с параметром. Структура и синтаксис оператора for

2017-11-18 309
Цикл с параметром. Структура и синтаксис оператора for 0.00 из 5.00 0 оценок
Заказать работу

Рассмотрим в качестве примера несложную задачу: найти сумму первых ста положительных целых чисел: S = 1 + 2 + 3 + … + 99 + 100.

Алгоритм решения может быть представлен в виде:

РИСУНОК

Переменная i играет в этом алгоритме двоякую роль: с одной стороны, она является счётчиком числа повторений цикла. При этом до начала цикла ей присваивается определённое начальное значение: i:= 1; на каждой итерации её значение увеличивается на единицу i:= i + 1; и, кроме того, очередная итерация выполняется лишь в том случае, если значение i не превысило конечное значение: i £ 100.

С другой стороны, переменная i представляет собой очередное слагаемое искомой суммы, поэтому именно она добавляется в теле цикла к переменной S, в которой и накапливается эта сумма.

Чтобы показать более наглядно различие двух этих сторон использования переменной i, слегка изменим условие задачи: найти сумму первых ста положительных нечётных чисел: S = 1 + 3 + 5 + … + 197 + 199. Пронумеруем слагаемые, входящие в сумму:

№ слагаемого          
Слагаемое          

Общая структура алгоритма останется той же, что и в предыдущем примере: необходимо «пробежаться» по всем слагаемым, с первого по сотое, и накапливать их кумулятивную сумму в переменной S. Точно так же, переменной i можно придать смысл счётчика числа повторов цикла (т.е. счётчика слагаемых), однако в выражении для накапливания суммы теперь нельзя просто использовать i, поскольку теперь значение слагаемого отличается от его порядкового номера. Рассматривая приведённую выше таблицу несложно заметить, что между номером слагаемого и его значением существует функциональная связь:

.

Таким образом, схема алгоритма для данного примера примет вид:

РИСУНОК

Точно так же, как и в предыдущем случае, здесь присутствует переменная-счётчик числа повторений, которой до первого попадания в цикл присваивается начальное значение, на каждой итерации производится приращение счётчика на единицу, и цикл повторяется до тех пор, пока счётчик не превысит некоторое конечное значение.

На практике довольно часто возникают задачи, аналогичные по структуре рассмотренным выше, т.е. задачи программирования циклических алгоритмов, для которых число повторений известно заранее. И хотя они могут быть запрограммированы с использованием изученных ранее циклов типа while или repeat..until, здесь целесообразнее использовать специальный оператор цикла, который в Паскале называется оператор цикла с параметром for. С его помощью реализуются циклы, количество повторений которых заранее известно или может быть определено до начала выполнения цикла.

В общем виде алгоритмическая структура этого оператора имеет вид:

РИСУНОК

Синтаксически оператор for имеет вид:

for переменная_цикла:= нач_знач to конечн_знач do оператор;

Переменная цикла в процессе выполнения цикла принимает все возможные значения в диапазоне от начального до конечного, увеличиваясь на единицу по завершении очередной итерации. Начальное и конечное значения фактически определяют число повторений оператора, образующего тело цикла.

Существует еще одна форма оператора for:

for переменная_цикла:= нач_знач downto конечн_знач do оператор;

В этом случае переменная цикла после каждой итерации не увеличивает, а уменьшает свое значение на единицу (предполагается, что ее начальное значение должно быть больше конечного).

Оператор for также относится к циклам с предусловием.

Примеры программирования итерационных алгоритмов

Пример 1. Вычислить y = x^n путем многократного умножения (n- целое положительное число).

Program Mult;

Var x,y: real;

i,n: word;

Begin

Ввод и печать x,n

y:=x;

For i:=1 to n do y:=y*x;

Печать y

End.

Раздел №13 (2 часа)

Диапазонный тип данных. Массивы

План:

Понятие диапазонного типа данных

Массивы. Описание и использование массивов

 

13. Диапазонный тип данных. Массивы

Диапазонные типы данных

С помощью диапазонного типа программист может объявить новый ординальный тип как часть ранее определенного типа, который в этом случае называют базовым. Диапазон определяется указанием наименьшего и наибольшего постоянного значения, входящего в диапазон.

Синтаксис объявления можно пояснить следующими примерами:

Type

Positive = 1.. MaxInt;

Natural = 0.. MaxInt;

Rist = -20.. 20;

Parn = 'a'.. 'k';

В этих примерах MaxInt – предопределённая константа, соответствующая максимальному целому числу, допустимому для используемой платформы/компилятора.

Использование диапазонных типов данных позволяет, с одной стороны, экономить память, а с другой, – контролировать значения переменных диапазонного типа, предотвращая их выход за установленный диапазон.


Поделиться с друзьями:

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.012 с.