В каком блоке заключается тело программы for to do begin end

Здесь переменная j, называемая управляющей переменной цикла for, является произвольным идентификатором, который объявляется как переменная любого скалярного типа (к скалярным относятся целый, символьный, булев и перечислимые типы).

При выполнении оператора for сначала вычисляется значение выражения expression1, затем вычисляется значение выражения expression2, далее управляющая переменная цикла последовательно пробегает все значения от expression1 до expression2. В том случае, когда значение expression1 оказывается больше значения expression2, тело цикла не будет выполняться вовсе. Эти значения остаются неизменными в ходе выполнения всего цикла for. Рассматриваемый вариант цикла for эквивалентен следующей последовательности операторов:.

j := expression1;
k := expression2;
while j begin
statement;
inc(j);
end:

в предположении, что при каждом выполнении оператора statement не изменяются значения j и к.

Оператор for вида for j := expression1 to expression2 do statement; неэквивалентен последовательности операторов

Цикл FOR в Pascal


begin
j := expression1;
while j begin
statement;
j := j + 1;
end;
end;

потому что выражение expression2 может изменяться при каждом выполнении оператора statement в цикле while.

В теле цикла for следует избегать операторов, изменяющих значение управляющей переменной j. Несмотря на то что использование подобных конструкций не приводит к ошибкам компиляции, они потенциально опасны и могут приводить к неприятным последствиям. Рассмотрим пример:

sum := 0;
for k := 1 to 100 do
begin
sum := sum + Sqr(k);
k := k + 2;
end;

Этот фрагмент программы является попыткой просуммировать n2 по всем целым значениям вида n * (3*
for k := 0 to 33 do
sum := sum + Sqr(3*k + 1);
sum := 0;
k := 1;
repeat
sum := sum + Sqr(k);
k := k + 3;
until k > 100;

Читайте также:
Программа чтобы открыть bin файл на Андроид

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

Вариант for. downto. do. цикла for аналогичен циклу for. to. do. за исключением того, что в нем управляющая переменная на каждом шаге выполнения не увеличивается, а уменьшается на единицу:

for j := expression1 downto expression2 do statement;

Подводя итоги, для применения циклов можно сформулировать следующие ^рекомендации:

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

Иногда бывает удобно проводить проверку на возможный выход из цикла где-нибудь в его середине, а не в начале или конце. Такой выход из цикла обеспечивается процедурой Break модуля System, которая прерывает выполнение самого внутреннего вложенного цикла, будь то for, whilе или repeat. Указанный модуль подключается к программе автоматически, если в этом есть необходимость. Пример:

while true do
begin
statement1;
if expression then Break;
statement2;
end;

Следует также упомянуть процедуру Continue, которая прерывает выполнение тела самого внутреннего цикла for, while или repeat и передает управление на его заголовок, так что начинается выполнение очередной итерации цикла.

Источник: www.cyberguru.ru

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

обучение PascalABC

Инфоучка

В сегодняшней статье разберем самый популярный вид цикла в языках программирования. Это цикл с параметром. У него есть и другие названия: цикл-для, цикл со счетчиком (оператор for to do, оператор цикла с параметром).

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

цикл с параметром паскаль цикл for блок схемы

Посмотрите на рисунок ниже. Там представлена блок схема for (блок-схема цикла с параметром) и его запись на языке программирования Паскаль.

Читайте также:
Как через программу Microsoft

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

Как работает цикл с параметром ?

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

Задачи на циклы For в паскале с решением

Задание 1. Напишите программу, которая выводит на экран 10 строк следующего содержания: «**++==++**»

Решение:

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

Операторы управления

Операторы цикла с условием обладают значительной гибкостью, но не слишком удобны для организации «строгих» циклов, которые должны быть выполнены заданное число раз. Оператор цикла for..do используется именно в таких случаях:

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

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

Шаг изменения цикла for всегда постоянен и равен интервалу между двумя ближайшими значениями типа параметра цикла (при целочисленном значении параметра цикла шаг равен 1).

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

Алгоритм работы цикла for..do


увеличить изображение
Рис. 3.26. Алгоритм работы цикла for..do

Представление цикла for. do с помощью блок-схемы


увеличить изображение
Рис. 3.27. Представление цикла for. do с помощью блок-схемы

for параметр_цикла:=начальное_значение to конечное_значение do begin оператор_1; оператор_2; . оператор_N; end;

Опишем алгоритм работы цикла for..do (рис. 3.26).

  • Параметру_цикла присваивается начальное_значение.
  • Если значение параметра_цикла превосходит конечное_значение , то цикл завершает свою работу. В противном случае выполняется п. 3.
  • Выполняется оператор .
  • Значение параметра_цикла изменяется на соответствующий шаг и осуществляется переход к п. 2, и т. д.
Читайте также:
Программа для настройки изображения телевизора Андроид

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

В дальнейшем, чтобы избежать создания слишком громоздких алгоритмов, в блок-схемах цикл for будем изображать так, как показано на рис. 3.27 10 Если шаг изменения параметра цикла равен единице, его в блок-схемах можно не указавать. .

Фрагмент подпрограммы, приведённый далее, демонстрирует применение цикла for :

var i : integer; c : char; begin for i :=1 to 10 do writeln ( i ); for i :=10 downto -10 do writeln ( i ); for c := ’ a ’ to ’ r ’ do writeln ( c ); end.

Вернёмся к задаче вывода значений функции y = e^<sin(x)>cos(x) на отрезке [0; pi]с шагом 0.1. Как видим, здесь количество повторений цикла явно не задано. Однако это значение, можно легко вычислить. Предположим, что параметр цикла xпринимает значения в диапазоне от x_nдо x_k, изменяясь с шагом dx, тогда количество повторений тела цикла можно определить по формуле:

n = roundleft(frac<x_k-x_n>right)+1 ( 3.6)

округлив результат деления до целого числа. Следовательно, фрагмент программы вывода значений функции y = e^<sin(x)>cos(x) на отрезке [0; pi]с шагом 0.1 будет иметь вид:

var i, n : integer; x, y : real; begin n:=round ( ( pi — 0)/0.1)+1; x : = 0; for i :=1 to n do begin y:=exp ( sin ( x ) ) * cos ( x ); writeln ( ’ x= ’, x, ’ y= ’, y ); x:=x + 0.1; end; end.

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

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