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

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



Читайте также:
  1. Влияние «третьей» переменной
  2. Замена переменной в определенном интеграле
  3. Расчет на прочность при нерегулярной переменной нагруженности

 

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

Из законов Мэрфи.

 

Весьма часто возникает необходимость просто выполнить участок программы заданное число раз. Конечно, можно организовать такой цикл при помощи оператора 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-11; просмотров: 201 | Нарушение авторских прав






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