Реализация циклических алгоритмов с заранее известным количеством повторений 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Реализация циклических алгоритмов с заранее известным количеством повторений



При организации этих циклов присутствуют стандартные элементы, сопровождающие любой цикл:

· подготовка первого выполнения цикла (присвоение счетчику цикла начального значения);

· тело цикла, которое образуют блоки, выполняемые многократно;

· изменение значения счетчика циклов и сравнение его с конечным значением.

Блок-схемы циклических алгоритмов существенно отличаются структурами повторения «повторять ДО» (do… while) или «повторять ПОКА» (while …). В первом варианте проверка условий окончания циклических вычислений осуществляется в конце цикла, а во втором – в начале цикла.

Цикл «повторять ДО» выполняется, по крайней мере, один раз, а цикл «повторять ПОКА» может сразу привести к выходу из цикла.

38. Структура функции в языке C++. Прототип, заголовок и вызов функции

Функция - это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи.

Использование функций требует что бы функция была сначала объявлена, а потом определена. Объявление функции сообщает компилятору тип возвращаемого значения, тип параметров и как функция работает, и называется прототипом функции.

Прототип (описание) функции может внешне почти полностью совпадать с заголовком ее определения:

тип имя (СпецификацияФормальныхАгрументов);

Основное различие – точка с запятой в конце описания (прототипа). Второе отличие – необязательность имен формальных аргументов в прототипе даже тогда, когда они есть в заголовке определения функции.

Предварительное описание функции

См. предыдущий пункт.

Каждая функция, перед тем, как она будет вызвана, по крайней мере, должна быть объявлена. Это обязательное условие успешной трансляции и вольный перевод соответствующего сообщения об ошибке (Call to undefined function 'ИмяФункции'), выдаваемого транслятором в случае вызова необъявленной функции.

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

Локальные и глобальные величины программы

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

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

· Они используют память в течение всего времени работы программы, а не тогда, когда они необходимы.

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

· Использование большого числа глобальных переменных может вызвать ошибки в программе из-за неизвестных и нежелательных эффектов.



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 512; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.36.10 (0.041 с.)