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

Сложный оператор for в языке Algol



Читайте также:
  1. I. Общая концепция выведения на рынок сотовой связи нового оператора
  2. TCAS - это сложный метод
  3. VII. В 4-5 предложениях расскажите о новой европейской валюте на французском языке.
  4. VII. В 4-5 предложениях сообщите на французском языке о пользе леса для человека и для окружающей среды.
  5. VII. В 4-5 предложениях сообщите на французском языке о проблеме климата.
  6. Алгебраические действия с операторами.
  7. Алгоритма на языке программирования.

Разработчики языка понимали, что некоторые часто встречающиеся случаи повторения лучше было бы выражать в более точной форме, чем в комбинации в операторами goto. Они ввели оператор for, особенно удобный при работе с массивами, как в следующем примере:

for i:= 1 step 1 until n do a[i]:= 0

Если не обращать внимание на довольно неудачный выбор слов step и until, идея кажется замечательной. К несчастью, она была заражена плохой идеей мнимой общности. Последовательность значений, которые могла принимать управляющая переменная i, можно было задавать в виде списка:

for i:= 2, 3, 5, 7, 11 do a[i]:= 0

Более того, элементы списка могли быть выражениями общего вида:

for i:= x, x+1, y-5, x*(y+z) do a[i]:= 0

Кроме того, допускались различные формы элементов списка:

for i:= x-3, x step 1 until y, y+7, z

while z < 20 do a[i]:= 0

Естественно, светлые головы быстро придумали патологические случаи, демонстрирующие абсурдность конструкции:

for i:= 1 step 1 until i+1 do a[i]:= 0

for i:= 1 step i until i do i:= -i

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


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






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