Как и можно было ожидать, имеется множество различныхспособов написания каждой программы. Давайте рассмотрим та-кой вариант программы перевода температур: MAIN() /* FAHRENHEIT-CELSIUS TABLE */{ INT FAHR; FOR (FAHR = 0; FAHR <= 300; FAHR = FAHR + 20) PRINTF("%4D %6.1F\N", FAHR, (5.0/9.0)*(FAHR-32.0));} Эта программа выдает те же самые результаты, но выглядитбезусловно по-другому. Главное изменение - исключение боль-шинства переменных; осталась только переменная FAHR , причемтипа INT (это сделано для того, чтобы продемонстрироватьпреобразование %D в функции PRINTF). Нижняя и верхняя грани-цы и размер щага появляются только как константы в оператореFOR , который сам является новой конструкцией, а выражение,вычисляющее температуру по цельсию, входит теперь в видетретьего аргумента функции PRINTF , а не в виде отдельногооператора присваивания. Последнее изменение является примером вполне общего пра-вила языка "C" - в любом контексте, в котором допускаетсяиспользование значения переменной некоторого типа, вы можетеиспользовать выражение этого типа. Так как третий аргументфункции PRINTF должен иметь значение с плавающей точкой,чтобы соответствовать спецификации %6.1F, то в этом местеможет встретиться любое выражение плавающего типа. Сам оператор FOR - это оператор цикла, обобщающий опера-тор WHILE. Его функционирование должно стать ясным, если высравните его с ранее описанным оператором WHILE . ОператорFOR содержит три части, разделяемые точкой с запятой. Перваячасть FAHR = 0 выполняется один раз перед входом в сам цикл. Вторая часть -проверка, или условие, которое управляет циклом: FAHR <= 300 это условие проверяется и, если оно истинно, то выполняетсятело цикла (в данном случае только функция PRINTF ). Затемвыполняется шаг реинициализацииFAHR =FAHR + 20 и условие проверяется снова. цикл завершается, когда это ус-ловие становится ложным. Так же, как и в случае оператораWHILE , тело цикла может состоять из одного оператора или изгруппы операторов, заключенных в фигурные скобки. Инициали-зирующая и реинициализирующая части могут быть любыми от-дельными выражениями. Выбор между операторами WHILE и FOR произволен и основы-вается на том , что выглядит яснее. Оператор FOR обычно удо-бен для циклов, в которых инициализация и реинициализациялогически связаны и каждая задается одним оператором, таккак в этом случае запись более компактна, чем при использо-вании оператора WHILE , а операторы управления циклом сосре-дотачиваются вместе в одном месте. Упражнение 1-5 --------------- Модифицируйте программу перевода температур таким обра-зом, чтобы она печатала таблицу в обратном порядке, т.е. От300 градусов до 0.