1 какая программа называется циклической какая переменная называется параметром цикла

Цикл с параметром

На предыдущем уроке Вы познакомились с оператором выбора Select Case.

В этом уроке будет описано использование оператора цикла с параметром For.

Циклический процесс, или просто цикл, это повторение одних и тех же действий.

Операторы, предназначенные для организации повторения одних и тех же действий, называются операторами цикла.

Они всегда имеют заголовок цикла, определяющий число повторений, и тело цикла — повторяющиеся действия.

Переменная, которая изменяются внутри цикла и влияют на его окончание, называется параметром цикла.

Величина, на которую изменяется переменная цикла, называется шагом цикла.

Различают два вида циклов: циклы с известным числом повторений (циклы с параметром) и циклы с неизвестным числом повторений (циклы с условием).

Опишем первый из них.

Оператор цикла for

Оператор цикла с параметром (цикл for) применяется тогда, когда заранее известно количество повторений одного и того же действия.

Цикл с параметром | Информатика Паскаль #13 | Инфоурок

Для записи оператора цикла с параметром в языке Паскаль используется две формы записи.

for := to do ;
for := downto do ;

В первом операторе, с ключевым словом to в заголовке, параметр цикла изменяется от начального значения до конечного значения, увеличиваясь всякий раз на единицу.

Во втором операторе, с ключевым словом downto, параметр цикла уменьшаясь на единицу.

— переменная цикла (счетчик цикла);

— начальное значение переменной цикла;

— конечное значение переменной цикла.

В языке Паскаль шаг цикла всегда равен единице.

Если тело цикла состоит из нескольких операторов, то оно заключается в операторные скобки Begin — End.

Рассмотрим пример с использованием оператора цикла For.

Пример. Из чисел от 10 до 99 вывести те, сумма цифр которых равна n (0

Вопросы для обсуждения

  1. Каким действием можно выделить последнюю цифру числа?
  2. Каким действием можно выделить первую цифру числа?

k — это просматриваемое число;
p1 — это первая цифра числа k;
p2 — это вторая цифра числа k;
s — это сумма цифр данного числа k.

Число k будем выписывать только в том случае, когда сумма p1 и p2 будет равна n.

Program Primer9_1; Var k,n,p1,p2,s : Integer; Begin Writeln(‘Введите целое число n (0 < n Begin p2:=k Mod 10; p1:=k Div 10; s:=p1+p2; If s = n Then Writeln(k); End; End.

Коротко о главном

1. Если нужно многократно повторять одни и те же действия, то в программе организуют цикл.

2. Когда заранее известно число повторений и шаг цикла равен 1 (или -1), для организации циклов используют оператор for.

3. Оператор for имеет две формы записи. Если в заголовке цикла используется ключевое слово to, значение переменной цикла увеличивается на 1, если слово downto — переменная цикла уменьшается на 1.

4. Количество повторений цикла определяется по формуле:

Информатика 9 Цикл с параметром


— +1.

5. Нельзя изменять параметр цикла в теле цикла.

На следующем уроке мы рассмотрим циклы с неизвестным числом повторений.

Источник: gospodaretsva.com

Управляющие операторы языка

Операторы цикла используются для вычислений, повторяющихся многократно. В Паскале имеется три вида циклов: цикл с предусловием while , цикл с постусловием repeat и цикл с параметром for . Каждый из них состоит из определенной последовательности операторов.

Блок, ради выполнения которого и организуется цикл, называется телом цикла. Остальные операторы служат для управления процессом повторения вычислений: это начальные установки, проверка условия продолжения цикла и модификация параметра цикла ( рис. 2.5). Один проход цикла называется итерацией.

 Структурные схемы операторов цикла


Рис. 2.5. Структурные схемы операторов цикла

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

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

Параметром цикла называется переменная, которая используется при проверке условия цикла и принудительно изменяется на каждой итерации, причем, как правило, на одну и ту же величину. Если параметр цикла целочисленный, он называется счетчиком цикла. Количество повторений такого цикла можно определить заранее. Параметр есть не у всякого цикла. В так называемом итеративном цикле условие продолжения содержит переменные, значения которых изменяются в цикле по рекуррентным формулам 1 Рекуррентной называется формула, в которой новое значение переменной вычисляется с использованием ее предыдущего значения. .

Цикл завершается, если условие его продолжения не выполняется. Возможно принудительное завершение как текущей итерации, так и цикла в целом. Для этого служат операторы break , continue и goto . Передавать управление извне внутрь цикла не рекомендуется, потому что при этом могут не выполниться начальные установки.

Читайте также:
Кто разрабатывает программу противопожарного инструктажа
Цикл с предусловием while

Формат оператора прост:

while выражение do оператор

Выражение должно быть логического типа. Например, это может быть операция отношения или просто логическая переменная. Если результат вычисления выражения равен true , выполняется расположенный после служебного слова do простой или составной оператор (напомню, что составной оператор заключается между begin и end ). Эти действия повторяются до того момента, пока результатом выражения не станет значение false . После окончания цикла управление передается на следующий за ним оператор.

ВНИМАНИЕ Если в теле цикла необходимо выполнить более одного оператора, необходимо заключить их в блок с помощью ключевых слов begin и end .

Пример. Программа, печатающая таблицу значений функции

mathbf<Y></p><p>= left( begin t,

для аргумента, изменяющегося в заданных пределах с заданным шагом.

Опишем алгоритм в словесной форме.

  1. Ввести исходные данные.
  2. Взять первое значение аргумента.
  3. Определить, какому из интервалов оно принадлежит.
  4. Вычислить значение функции по соответствующей формуле.
  5. Вывести строку таблицы.
  6. Перейти к следующему значению аргумента.
  7. Если оно не превышает конечное значение, повторить шаги 3–6, иначе закончить.

Шаги 3–6 повторяются многократно, поэтому для их выполнения надо организовать цикл. Назовем необходимые нам переменные так: начальное значение аргумента — Xn , конечное значение аргумента — Xk , шаг изменения аргумента — dX , параметр — t . Все величины вещественные. Программа выводит таблицу, состоящую из двух столбцов — значений аргумента и соответствующих им значений функции ( пример 2.2).

program tabl_fun; var Xn, Xk : real; < начальное и конечное значение аргумента >dX : real; < шаг изменения аргумента >x, y : real; < текущие значения аргумента и функции >t : real; < параметр >begin writeln(‘Введите Xn, Xk, dX, t’); < приглашение ко вводу данных >readln(Xn, Xk, dX, t); < ввод исходных данных – шаг 1 >writeln(‘ ————————— ‘); < заголовок таблицы >writeln(‘| X | Y |’); writeln(‘ ————————— ‘); x := Xn; < первое значение аргумента = Xn – шаг 2 >while x if x < 0 then y := t; < вычисление значения функции — шаг 4 >if (x >= 0) and (x < 10) then y := t * x; < шаг 4 >if x >= 10 then y := 2 * t; < шаг 4 >writeln(‘|’, x:9:2,’ |’, y:9:2,’ |’); < вывод строки табл. – шаг 5 >x := x + dX; < переход к следующему значению аргумента — шаг 6 >end; writeln(‘ ————————— ‘); end.
Листинг 2.2. Таблица значений функции (оператор while)

Параметром этого цикла, то есть переменной, управляющей его выполнением, является х . Для правильной работы цикла необходимо присвоить параметру начальное значение до входа в цикл (шаг 2). Блок модификации параметра цикла представлен оператором, выполняющимся на шаге 6. Для перехода к следующему значению аргумента текущее значение наращивается на величину шага и заносится в ту же переменную.

Цикл с постусловием repeat

Тело цикла с постусловием заключено между служебными словами repeat и until , поэтому заключать его в блок не требуется.

repeat тело цикла until выражение

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

Этот вид цикла применяется в тех случаях, когда тело цикла необходимо обязательно выполнить хотя бы один раз: например, если в цикле вводятся данные и выполняется их проверка.

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

y(n)=frac 1 2 left( y(n-1) + frac <x></p><p> right),

где y ( n –1) — предыдущее приближение к корню (в начале вычислений выбирается произвольно), y ( n ) — последующее приближение. Процесс вычислений прекращается, когда приближения станут отличаться друг от друга по абсолютной величине менее, чем на eps — величину заданной точности ( пример 2.3)..

program square_root; var X, eps, < аргумент и точность >Yp, Y : real; < предыдущее и последующее приближение >begin repeat writeln(‘Введите аргумент и точность (больше нуля): ‘); readln(X, eps); until (X > 0) and (eps > 0); Y := 1; repeat Yp := Y; Y := (Yp + X / Yp) / 2; until abs(Y — Yp) < eps; writeln(‘Корень из ‘, X:6:3, ‘ с точноcтью ‘, eps:7:5, ‘равен ‘, Y:9:5); end.

Источник: intuit.ru

Циклические алгоритмы. Цикл с параметром

На этом уроке ученики познакомятся с последним типом циклов – циклом с параметром. Рассмотрят, как работает такой цикл и с какими особенностями связано его программирование на языке Python. Также будет рассмотрена функция генерации диапазона значений.

В данный момент вы не можете посмотреть или раздать видеоурок ученикам

Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет.

Получите невероятные возможности

1. Откройте доступ ко всем видеоурокам комплекта.

2. Раздавайте видеоуроки в личные кабинеты ученикам.

3. Смотрите статистику просмотра видеоуроков учениками.
Получить доступ

Конспект урока «Циклические алгоритмы. Цикл с параметром»

· Принцип работы цикла с параметром.

· Программирование цикла с параметром.

· Функция генерации множества значений из указанного диапазона.

Рассмотрим пример. Допустим, нам необходимо вычислить произведение всех элементов некоторой числовой последовательности А. В этом случае нужно сначала присвоить переменной для хранения произведения p значение один, после чего необходимо перебрать все элементы последовательности А, умножая на них значение переменной p. После выполнения этих действий переменная p будет содержать произведение всех элементов числовой последовательности. Обратим внимание на то, что при описании этого цикла мы не использовали никаких условий.

Читайте также:
Программа которая меняет голос на женский

Для решения такой задачи удобно использовать цикл с параметром. В общем случае его блок-схема выглядит так.

В верхнем блоке записывается имя параметра, например, i, а также указывается множество значений, которые он будет принимать. Часто в качестве множества указывается некоторый диапазон от начального до конечного значения, например, от 1 до 10, с некоторым шагом приращения параметра, например, с шагом, равным 3. В описанном нами цикле параметр i будет принимать значения: 1, 4, 7 и 10. То есть все значения из заданного множества.

Рассмотрим, как такой цикл записывается на языке Python. Вначале записывается служебное слово for, после которого следует имя параметра, а после него записывается служебное слово in и описывается множество значений параметра. После множества записывается двоеточие, а со следующей строки с отступом начинают записываться инструкции, составляющие тело цикла.

Буквально на русский язык заголовок этого цикла можно перевести как «Для параметра, принимающего множество значений». Важно, что в теле цикла с параметром нельзя изменять значение параметра внутри тела цикла. Если это сделать, то цикл будет работать неправильно.

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

Решим простую задачу с использованием цикла с параметром. Написать программу для вывода на экран кубов четырёх целых чисел, введённых пользователем. Для решения задачи нам нужно будет перебирать числа, введённые пользователем, возводить их в куб и выводить полученные значения на экран.

Начнём написание программы для решения задачи. Вначале с помощью инструкции print выведем на экран сообщение о том, что это программа, возводящая в куб четыре числа, и запрос на ввод этих чисел. Дальше считаем числа с клавиатуры в переменные a, b, c и d.

Так как в условии задачи не сказано, что числа целые, то при считывании их значения мы будем преобразовывать в вещественный тип float. После того, как мы считали значения чисел, с помощь инструкции print выведем на экран текстовое сообщение «Кубы введённых чисел», заканчивающееся двоеточием. Для перебора четырёх чисел используем цикл для параметра i, принимающего множество значений, которое состоит из переменных a, b, c и d. Внутри заданного цикла запишем единственную инструкцию print, которая выводит на экран значение параметра i, возведённого в куб.

print (‘Программа, возводящая в куб 4 числа. Введите 4 числа.’)

a, b, c, d = float (input ()),float (input ()),float (input ()),float (input ())

print (‘Кубы введённых чисел:’)

for i in (a, b, c, d):

Сохраним написанный модуль и запустим его на выполнение. Введём числа 1, 2, 3 и 4. Программа действительно вывела на экран значения кубов введённых чисел: 1, 8, 27 и 64. Программа работает правильно. Задача решена.

Если роль множества играет некоторый диапазон значений с заданным шагом, то его можно сгенерировать с помощью встроенной функции range, что в переводе на русский язык означает «диапазон». Эта функция принимает на вход от 1 до 3 целочисленных значений.

Если задать функции один целочисленный аргумент — a, то она сгенерирует значения в диапазоне от нуля до этого a, не включая последнее, с шагом приращения, равным единице. Если a ≤ 0, то функция не сгенерирует ни одного значения. Если функции задать два аргумента – a и b, то она сгенерирует множество значений в диапазоне от a до b, не включая последнее, с шагом, равным 1. Если b ≤ a, то функция сгенерирует пустое множество. Если задать функции range три аргумента – a, b и c, то она сгенерирует множество значений в диапазоне от a до b, не включая последнее, с шагом c. При этом, если знак разности a и a не совпадает со знаком c, то функция сгенерирует пустое множество.

Рассмотрим ещё одну задачу. Написать программу, которая вычисляет значение факториала целого положительного числа n!. Факториалом натурального числа n! называется произведение всех целых чисел в диапазоне от 1 до n включительно. Очевидно, что для решения этой задачи необходимо перебрать все целые числа от 1 до n и перемножить их.

Начнём написание программы для решения задачи. Вначале выведем на экран сообщение о том, что это программа, вычисляющая значение n!, и запрос на ввод n. Теперь считаем значение n с клавиатуры. По условию задачи это целое число, поэтому при считывании будем преобразовывать его в целочисленный тип int. Теперь объявим переменную f для расчёта n!.

Так как дальше в ней будет рассчитываться значение произведения, присвоим ей единицу. Теперь запишем цикл для вычисления факториала числа.

Это будет цикл для параметра i, который будет принимать значения в диапазоне от 1 до n, включая концы с шагом, равным 1. Для генерации множества значений из этого диапазона запишем функцию range с параметрами 1 и n + 1, так как функция генерирует множество значений, не включая конец заданного диапазона. Так как шаг равен 1, то его указывать не требуется. Тело цикла будет содержать единственную инструкцию присваивания переменной f её собственного значения, умноженного на значение параметра i. После цикла с помощью инструкции print выведем на экран поясняющее сообщение о том, что факториал числа n равен значению переменной f.

Читайте также:
Программы утилиты и их использование

print (‘Программа, вычисляющая значение n!. Введите n.’)

for i in range (1, n + 1):

Сохраним написанный модуль и запустим его на выполнение. Зададим n = 3. Действительно 3! = 6. Снова запустим программу и зададим n = 5. Действительно 5! = 120. Программа работает правильно.

Задача решена.

Рассмотрим задачу посложнее. Написать программу, вычисляющую сумму всех нечётных чисел на промежутке от a до b, где a > b. Для решения задачи мы можем перебрать все целые числа на заданном промежутке, определяя их чётность, при этом нечётные числа мы должны учитывать при вычислении суммы.

Напишем программу для решения задачи. Вначале с помощью инструкции print выведем на экран сообщение о том, что это программа, вычисляющая сумму нечётных чисел на промежутке от a до b, и запрос на ввод a и b. В условии задачи не сказано, что a и b — целые числа, поэтому при считывании будем преобразовывать их в вещественный тип float.

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

Множество значений в заданном диапазоне мы генерируем с помощью функции range, но она принимает на вход целочисленные аргументы, а у нас числа a и b вещественные, поэтому мы должны привести их к целым значениям. Для этого нужно использовать функцию int.

Но так как она отбрасывает дробную часть числа, то при переводе числа А мы должны проверить, равна ли его дробная часть нулю. Дробную часть числа можно выделить, вычислив разность его самого и его целой части. Если это условие выполняется, то мы присвоим переменной a значение её целой части.

В противном случае, мы можем сократить промежуток, перейдя от a к следующему целому числу, поэтому мы присвоим переменной a значение её целой части, увеличенное на единицу. Для преобразования переменной b нам достаточно взять её целую часть. Так и поступим. Теперь запишем цикл для перебора целых чисел.

Это будет цикл для параметра i, изменяющегося в диапазоне от a до b + 1, так как последнее значение не входит в диапазон. В цикле запишем ветвление, определяющее чётность значения i. Если остаток от деления i на 2 равен 1, то мы увеличим значение переменной s на i. Таким образом, по окончании работы цикла переменная s будет содержать значение суммы нечётных чисел на указанном промежутке. С помощью инструкции print выведем на экран сообщение о том, что сумма нечётных чисел на заданном промежутке равна значению переменной s.

print (‘Программа, вычисляющая сумму нечётных чисел на промежутке [a; b]. Введите a и b.’)

a, b = float (input ()),float (input ())

for i in range (a, b + 1):

print (‘Сумма нечётных чисел на заданном промежутке:’, s)

Сохраним написанный модуль и запустим его на выполнение. Зададим промежуток от 1.2 до 7. На этом промежутке нечётные числа: 3, 5 и 7. Их сумма действительно равна 15. Программа работает правильно. Задача решена.

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

Если остаток от деления a на 2 равен 0, то оно является чётным, а нечётным является следующее целое число, поэтому мы увеличим a на 1. Теперь, чтобы в цикле перебирать лишь нечётные числа, так как a – нечётное число, достаточно перебирать значения от a до b + 1 с шагом 2, чтобы пропускать чётные числа. Теперь в цикле нам не нужно проверять чётность числа. Нам достаточно просто на каждом шаге увеличивать значение s на i. Таким образом, вместо проверки на каждом шаге цикла мы делаем всего одну проверку до начала цикла.

print (‘Программа, вычисляющая сумму нечётных чисел на промежутке [a; b]. Введите a и b.’)

a, b = float (input ()),float (input ())

for i in range (a, b + 1, 2):

print (‘Сумма нечётных чисел на заданном промежутке:’, s)

Проверим, верно ли работает модуль. Сохраним и запустим его на выполнение. Зададим промежуток от 4 до 10. На этом промежутке нечётные числа: 5, 7 и 9. Их сумма действительно равна 21. Программа работает правильно.

· В цикле с параметром параметр принимает все значения из заданного множества и для каждого значения выполняется тело цикла.

· Роль множества значений могут выполнять значения, перечисленные в скобках, списки и диапазон значений с заданным шагом.

· Функция range генерирует множество значений в заданном диапазоне с указанным шагом.Она принимает на вход от 1 до 3 целочисленных параметров.

Источник: videouroki.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru