No Image

Что называют телом цикла с параметром

СОДЕРЖАНИЕ
3 просмотров
10 марта 2020

В этих структурах:

i — параметр цикла;

start > — начальное значение параметра;

finish > — конечное значение параметра;

Тип переменной цикла i и значений и finish > должен быть порядковым!

Порядок выполнения оператора:

1. Вычисляются и запоминаются начальное — start , и конечное — finish , значения параметра цикла. S tart и finish могут быть представлены в виде конкретного значения (в этом случае нет необходимости в вычислениях) или в виде выражения, значение которого вычисляется в начале выполнения цикла.

2. Параметру цикла i присваивается значение start.

3. Значение параметра цикла i сравнивается со значением finish. Оператор "тело цикла" будет выполняться при выполнении следующего условия:
первый вариант оператора: i i >= finish ;
В противном случае происходит прекращение выполнения циклического оператора.

4. Параметру цикла присваивается:
первый вариант оператора: следующее большее значение;
второй вариант оператора: следующее меньшее значение.

5. Выполняется пункт 3 данной схемы.

Часто говорят, что первый вариант оператора цикла с параметром — цикл с возрастающим параметром; второй вариант — с убывающим параметром.

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

Телом цикла может быть только один оператор. для того, чтобы в теле цикла с параметром выполнить несколько операторов, их необходимо объеденить операторными скобками Begin и End.

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

Процедура Break может использоваться во всех циклических операторах. Эта процедура позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода.

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

Особенное место в Turbo Pascal занимают циклы. Их начинают изучать сразу же после отработки навыков ввода-вывода информации на экран. Ведь большинство задач сводится к тому, что циклы с параметром и другие конструкции помогают облегчить написание и функционирование определенного блока программы.

Разновидности циклов

Всего различают три разновидности:

  • с параметром,
  • с предусловием,
  • с постусловием.

Циклы с параметром, иначе их называют For … to … do или For … downto …. do, многократно повторяют определенную последовательность действий. В принципе, и другие разновидности используются с этой же целью, только в for-цикле заранее известно количество шагов.

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

Основные определения по теме

Циклы с параметрами – многократно повторяющиеся итерации. Счетчик – основной показатель, с помощью которого выполняется заданная конструкция. Границы промежутка показывают, в каких пределах будут выполняться те или иные итерации. Кстати, совершенно не обязательно, чтобы начальное значение было равно 1. Пользователь самостоятельно задает обе границы промежутка. Тело цикла – набор команд, для которых уже определено количество повторений.

Читайте также:  Js textarea получить текст

Понятие «циклы с параметрами» означает, что в данной конструкции проверяется условие, после чего выполняется набор итераций. Счетчик увеличивается (или уменьшается), и все повторяется. Тело цикла будет задействовано до тех пор, пока условие истинно.

For … to … do: алгоритм работы, синтаксис

Как уже было сказано, циклы с параметром используются в задачах, в которых указан «промежуток», в котором предстоит работать. Так, это может быть массив чисел, дней недели, строк стихотворения и т. д.

Выделяют 2 вида конструкции: на увеличение счетчика и на его уменьшение. Первая конструкция будет прописана следующим образом:

for исх.переменная := граница 1 to граница 2 do

Здесь: исх. переменная объявляется пользователем в начале программы или блока; граница 1 и граница 2 – начальное и конечное значение промежутка; в теле цикла прописывается ряд действий, которые должны выполняться программой. Необходимо помнить, что если тело цикла содержит всего 1 команду, тогда операторные скобки begin…end можно опустить. В таком варианте конструкции счетчик, а именно , будет увеличиваться с шагом, равным 1.

for исх.переменная := граница 1 downto граница 2 do

Здесь же исх. переменная будет уменьшаться с шагом, равным 1.

Схема работы цикла с параметром For … to … do будет выглядеть следующим образом:

  • Задается значение верхней границы промежутка, т. е. граница 2.
  • Исх.переменной присваивается значение параметра граница 1.
  • Проходит проверка условия: исх.переменная ≤ граница 2.
  • При получении результата True (Истина) выполняется тело цикла.
  • Счетчик увеличивается на шаг, равный 1.
  • Выполнение пунктов 3-5 происходит ровно до того момента, пока условие истинно: исх.переменная > граница 2. Как только это произошло, происходит выход из цикла и управление передается команде, следующей за данной конструкцией.

В For … downto … do алгоритм работы схож с вышеуказанным, за исключением некоторых пунктов:

  • В 3-м пункте проверяется условие: исх.переменная ≥ граница 2.
  • В 5-й строчке алгоритма счетчик уменьшается на 1.
  • В 6-м пункте команды 3-5 будут выполняться до тех пор, пока не будет удовлетворено условие: исх.переменная 0.
  • Если условие выполняется, то счетчик увеличивается на 1.
  • После цикла следует вывести на экран получившееся значение счетчика.
  • Данные, указанные в скобках <>, являются комментариями. В строке 11 можно вывести массив на экран двумя способами: оставить пробел между числами либо отвести под каждый элемент определенное количество ячеек (в данном случае их 5).

    В строке 12 переменную counter можно увеличить также двумя способами: либо к предыдущему значению прибавить 1, либо воспользоваться стандартной функцией Inc.

    Дана квадратная матрица. Найти количество положительных элементов, находящихся на главной диагонали.

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

    1. Создать квадратную матрицу.
    2. Присвоить переменной, ответственной за подсчет положительных элементов, значение «0».
    3. Составить цикл по созданию квадратной матрицы.
    4. Организовать цикл по проверке условия: если число на главной диагонали >0, тогда счетчик увеличивается на 1.
    5. После окончания действия цикла на экран вывести значение переменной, хранящей количество положительных элементов.

    Противостояние двух языков программирования: С и Turbo Pascal

    Как правило, уважающий себя программист знает несколько языков. К примеру, это могут быть С++, Turbo Pascal, Delphi, Java и т. д. Противостояние двух из них было ярко выражено еще в 80-е гг. (С и турбо паскаль). В конце ХХ века такая же борьба наблюдалась между Си++ и Java.

    В виртуальном пространстве среди трех десятков языков программирования можно выделить три самые яркие пары, противостояние которых поражало величайшие умы киберпространства: алгол-60 и фортран, Pascal и C, Java и С++. Конечно, эти ощущения субъективные, но в тот или иной период один из пары был лидером. Это объяснялось требованиями промышленности и необходимости в том или ином программном продукте. В 70-х гг. «управлял миром» фортран, в 80-х – Turbo Pascal, в 90-х – С++. Конечно, ни один из них не «умер». Скорее, они преобразовались в усовершенствованные программные продукты.

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

    Интересно, что разработчики Turbo Pascal (Старый Свет) пользовались результатами наработок американских ученых, в то время как в Новом Свете активно применяли итоги исследований европейских специалистов. В Европе разработчики ратуют в большей степени за чистоту и компактность языков программирования, а американские умы склоняются больше к использованию новомодных веяний в написании кода.

    Цель работы – научиться программировать циклические процессы с заранее известным числом повторений.

    Циклические операторы используются для многократного повторения некоторого фрагмента программы, который называется телом цикла. Количество повторений может быть заранее заданным (счетный цикл) или определяться выполнением некоторого условия (циклы с проверкой условия). Существуют три вида операторов цикла: оператор цикла с параметром, оператор с предварительным условием, оператор цикла с последующим условием. В данной работе рассмотрим оператор цикла с параметром.

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

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

    for k:= A1 to A2 do S;

    где for, to, do – служебные слова( для, до, выполнить), k – параметр цикла ( управляющая переменная любого порядкового типа), A1 – начальное значение ( переменная того же типа), A2 – конечное значение ( переменная того же типа), S – произвольный оператор Турбо Паскаля( или последовательность операторов, заключенная в операторные скобки begin…end).Оператор S называется также телом цикла.

    Рассмотрим выполнение оператора цикла с параметром. Значения выражений A1и A2, задающих диапазон изменения k, вычисляются один раз при входе в цикл. Переменная k принимает значения от A1 до A2 с шагом 1, причем A1 должно быть меньше или равно A2, в противном случае цикл не выполняется ни разу. Последовательность операторов тела цикла выполняется один раз для каждого значения переменной k. Отметим, что значение управляющей переменной не должно изменяться в теле цикла. После нормального завершения оператора цикла с параметром ( т.е. когда значение k превысило A2 ) управляющая переменная остается неопределенной.

    Оператор цикла с параметром может иметь и другую форму

    for k := A1 downto A2 S;

    В этом случае параметр цикла k принимает значения от A1 до A2 с шагом -1, причем A1 должно быть больше или равно A2.

    Рассмотрим несколько примеров применения оператора цикла с параметром для вычисления конечных сумм и произведений.

    Пример 1. Рассмотрим вычисление суммы

    Общее слагаемое суммы (k=1,2,…N) выражается формулой .Однако использовать эту формулу для расчетов нерационально. Действительно, например, для определения требуется вычислить . Между тем при нахождении было вычислено значение , которое достаточно умножить на sin2x, чтобы получить нужную нам степень, а не вычислять ее заново. Для рационального вычисления общего члена конечной суммы , выведем рекуррентное соотношение , связывающее текущее слагаемое суммы с предыдущим. Рассмотрим отношение двух последующих слагаемых и

    .

    Запишем рекуррентные соотношения

    , (k=2,3,…N).

    Для начала счета по этим формулам нужно задать значения

    , .

    Число слагаемых в сумме зададим как константу N, а значение параметра x введем с клавиатуры . Программа будет иметь вид

    Обратим внимание на то, что нет необходимости запоминать в программе промежуточные величины , ,…, , ,… и , следовательно, вводить для них отдельные имена, связанные с соответствующими индексами. Действительно, перед выполнением оператора цикла переменные a и S получают начальное значение , соответствующее k=1. На первом шаге цикла ( k=2) вычисляется значение и результат снова присваивается переменной a, « забивая» ее уже не нужное первоначальное значение. Далее к переменной S, имеющей значение , прибавляется только что вычисленное значение переменной a ( т.е. ) и результат снова присваивается переменной S, которая будет теперь содержать сумму + и т. д.

    Отметим часто встречающиеся ошибки. Начальное значение переменной для суммы, которая вычисляется в цикле, часто бывает либо не присвоено перед входом в цикл, либо задано неправильно, особенно если цикл начинается не с первого члена последовательности. То же касается и задания начального значения для общего члена суммы перед циклом, если это необходимо. Часто ошибки связаны с непониманием того . какой смысл имеет использование составного оператора begin…end при необходимости повторения действия не одного, а группы операторов. При отсутствии этих операторных скобок в цикле повторяется только один оператор, непосредственно стоящий за служебным словом do.

    Отладка программы является необходимым этапом ее реализации, особенно, когда устранены все ошибки, обнаруживаемые машиной, и возникает впечатление, что работа над программой на этом закончена.Чтобы убедиться в том, что составленная программа считает правильно, необходимо выполнить проверку. С этой целью, например, можно использовать операторы вывода промежуточных результатов. Для получения значений переменных a и S при k=1,2,3 внутри цикла после оператора S:= S+a поставим оператор вывода значений S и a при условии, что k

    Не нашли то, что искали? Воспользуйтесь поиском:

    Лучшие изречения: Для студентов недели бывают четные, нечетные и зачетные. 9637 — | 7525 — или читать все.

Комментировать
3 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock detector