Наш спонсорПриглашаем сайты с посещаемостью от 2-х человек в сутки!

120x90-p2m002.gif (5122 bytes)

Партнерская программа для русскоязычных сайтов

2.3 Понятие алгоритма. Повторы и сравнения.

Программа – это набор предписаний (инструкций), являющийся руководством к действию, направленных на достижение конечной цели. Полный набор инструкций называется алгоритмом. Алгоритм состоит из точно описанных этапов, которые следует выполнять в установленной последовательности. Программа на языке программирования тоже является одним из способов описания алгоритмов.

Иногда, какую–либо часть программы необходимо выполнить несколько раз, в зависимости от условия оператора. Оператор повторения называют оператором цикла. Для завершения повторения цикла в Си существует 6 типов вопросов, которые можно задать с помощью сравнения:

А<B - А меньше В?

A>B - A больше B?

A==B - A равно B?

A>=B - A не меньше B?

A<=B - A не больше B?

A!=B - A не равно B?

Как видно все вопросы, кроме третьего и последнего, соответствуют записи аналогичных вопросов языка Паскаль, где пишут: А=B и А<>B.

Сравнение двух выражений представляет собой условное выражение, которое проверяется: “истинно” оно или “ложно”. Результат проверки может влиять на последовательность выполнения операторов программы.

Рассмотрим программу, которая выполняет вычисления по формуле С=5/9*(F-32) и печатает таблицу соответствия температур по Фаренгейта и по Цельсию.

Рассмотрим программу более подробно. Запись #include <stdio.h> сообщает компилятору о необходимости включения файла со стандартной библиотекой ввода/вывода (этот вопрос мы рассмотрим чуть позже).

Первая и последняя фигурные скобки определяют тело функции.

Операторы описания объявляют имена и свойства переменных.

Вычисления начинаются с оператора присваивания lower=0;. Следующие три оператора – так же операторы присваивания.

Теперь, так как все строки в таблице вычисляются одним и тем же способом, мы воспользовались циклом, повторяющим это вычисление для каждой строки. Эти действия выполняет цикл while. Оператор цикла проверяет условие в скобках и, если оно истинно, выполняется тело цикла, заключённое в фигурные скобки. После этого опять проверяется условие цикла. И так до тех пор, пока на определённом шаге, условие не станет ложным.

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

Рассмотренный цикл – один из способов реализации повторяющихся вычислений. Этот способ называют циклом while. Рассмотрим этот цикл в сравнении с таким же циклом из языка Паскаль.

Паскаль

while условие do

оператор;

Оператор состоит из трёх основных частей:

  • зарезервированных слов while и do;
  • проверяемого условия;
  • тела цикла – оператора, который выполняется в том случае, если условие истинно.

Си

while (условие)

оператор;

Оператор состоит из трёх основных частей:

  • ключевое слово while;
  • проверяемое условие, заключённое в круглые скобки;
  • тела цикла – оператора, который выполняется в том случае, если условие истинно.

Как видно, существенным отличием является условие в скобках, в то время как на Паскале, простое условие может быть записано без скобок. Кроме того, отсутствует зарезервированное слово do, характерное для Паскаля.

Так же как и в Паскале, если тело цикла представляет собой набор операторов, то оно называется блоком. В Паскале составной оператор ограничен словами begin и end. В Си – заключён в фигурные скобки. Одиночный оператор, также как и в Паскале, может быть не ограничен, т.е. не заключён в фигурные скобки.

Например:

Во фрагменте 1 в цикл включён только один оператор присваивания (при отсутствии фигурных скобок область действия оператора распространяется от ключевого слова до ближайшего символа “точка с запятой”). Печать данных будет выведена только один раз – после завершения цикла.

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

В заключении отметим, что при записи тела цикла были использованы отступы от левого края программы. Для компилятора эти отступы никакой роли не играют, но правила “хорошего тона” программирования требуют, чтобы программа была читаемой для любого программиста.

Google
Rambler's Top100 Яндекс цитирования PageRank

Регистрация доменов .RU по минимальной ценеРегистрация в системе обмена ссылками