Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Цикл с переменной

Читайте также:
  1. II Измерить среднеквадратическое значение переменной составляющей, среднеквадратичное действующее и амплитудное напряжения после выпрямителя для различных нагрузок.
  2. II Измерить среднеквадратическое значение переменной составляющей, среднеквадратичные действующие и амплитудное напряжения после выпрямителя для различных нагрузок.
  3. Адрес переменной
  4. Бесклассовая адресация CIDR и маски переменной длины VLSM
  5. Выражения с переменной.
  6. Дифференциал функции одной переменной для приближенных вычислений
  7. Замена переменной в определенном интеграле

 

 

Весьма часто возникает необходимость просто выполнить участок программы заданное число раз. Конечно, можно организовать такой цикл при помощи оператора WHILE. Например, нам нужно перебрать все целые числа от 10 до 20 и просуммировать их. Сделать это можно следующим образом:

 

VAR i: BYTE; s: WORD;

 

BEGIN

i:=10;

s:=0;

WHILE i<=20 DO

BEGIN

s:=s+i;

i:=i+1

END;

 

Такая программа работоспособна, но громоздка и некрасива. Есть способ лучше – использовать цикл с переменной FOR..TO. Его общий вид таков:

 

FOR переменная:=начальное значение TO конечное значение DO

оператор;

 

Оператор FOR автоматически перебирает значения целой переменной от начального до конечного c шагом 1 и при каждом увеличении переменной на единицу выполняет оператор. Обратите внимание, что оператор FOR работает только с целыми числами и шаг приращения всегда равен единице.

Перепишем нашу программу, используя оператор FOR:

 

VAR i: BYTE; s: WORD;

 

BEGIN

s:=0;

FOR i:=10 TO 20 DO

s:=s+i;

 

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

А что делать, если нужно перебирать не целые, а дробные значения? Единственный выход – по-прежнему перебирать целые, а в теле цикла делить их на 10,100,1000… для получения дробного числа. Например, просуммируем числа от 0.1 до 1.2 с шагом 0.1:

 

VAR i:BYTE; s:REAL;

BEGIN

s:=0.0; { обязательно 0.0, а не 0 – это вещественное число }

FOR i:=1 TO 12 DO

s:=s+i/10;

 

Иногда нужно перебирать числа в обратную сторону – от большего к меньшему. Обычный цикл FOR в случае, когда начальное значение переменной цикла меньше конечного, вообще не будет выполняться ни разу. Однако в Delphi предусмотрен вариант цикла с переменной, в котором шаг равен минус единице. Все отличие состоит в том, что слово TO заменяется на DOWNTO:

 

FOR i:=20 DOWNTO 10 DO…

 

На блок-схемах цикл с переменной изображается так, как показано на Рис. 3.

 

Рис. 3. Обозначение цикла с переменной на блок-схемах.

 


Дата добавления: 2015-07-08; просмотров: 411 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Цикл с постусловием| Статические массивы

mybiblioteka.su - 2015-2024 год. (0.005 сек.)