- •210700 Инфокоммуникационные технологии и системы связи
- •220700 Автоматизация технологических процессов и производств
- •230400 Информационные системы и технологии
- •1. Цели и задачи дисциплины
- •2. Место дисциплины в структуре основной образовательной программы
- •3. Требования к уровню освоения содержания дисциплины
- •Для специальности 210700 Инфокоммуникационные технологии и системы связи
- •4. Объем дисциплины и виды учебной работы
- •5. Содержание дисциплины
- •Для специальности 210700 Инфокоммуникационные технологии и системы связи
- •6. Лабораторный практикум
- •7. Библиографический список
- •8. Материально-техническое обеспечение дисциплины
- •9. Опорный конспект
- •1. Основы алгоритмизации
- •1.1 Этапы решения задач на эвм.
- •1.2. Алгоритм. Свойства алгоритмов
- •1.3. Формы представления алгоритмов
- •1.4. Алгоритмическая конструкция ветвления
- •1.5. Алгоритмическая конструкция цикла
- •2.1. Разработка консольного проекта
- •2.3. Комментарий
- •2.4. Организация ввода и вывода информации
- •Вывод данных
- •Ввод данных
- •2.5. Разработка проекта типа Windows Forms Application
- •3. Основные элементы языка
- •3.1. Алфавит
- •3.2. Идентификаторы
- •3.3. Переменные и константы
- •3.4. Символьные типы данных
- •3.5. Данные типа int
- •3.6. Данные с плавающей точкой
- •3.7. Логический тип данных
- •3.8. Операции и выражения
- •Арифметические операции
- •Операции инкремента и декремента
- •Операции отношения и логические операции
- •Оператор присваивания
- •Составные операторы присваивания
- •Оператор условия ? :
- •Операция sizeof
- •4. Программирование разветвляющих и циклических алгоритмов
- •4.1. Общие сведения
- •4.2. Оператор if
- •4.3. Оператор switch
- •4.4. Оператор цикла for
- •4.5. Оператор цикла while
- •4.6. Оператор цикла do while
- •4.7. Применение оператора continue
- •4.8. Оператор goto
- •5. Массивы и строки
- •5.1. Массивы
- •5.2. Строки
- •6. Функции
- •6.1. Общие сведения
- •6.2. Описание функции и ее тип
- •6.3. Вызов функции
- •6.4. Область действия переменной
- •6.5. Классы памяти
- •Глоссарий
- •10. Задания на лабораторные работы и методические указания к их выполнению
- •11. Задания на контрольную работу и методические указания к их выполнению
- •Оглавление
6. Функции
6.1. Общие сведения
Программа на языке С++ состоит из одной или нескольких функций.
Функция – это логически самостоятельная именованная часть программы, которой могут передаваться параметры и которая может возвращать какое-то значение.
Все функции в языке С++ имеют рекомендуемый стандартами языка единый формат определения:
тип имя_функции ([спецификация параметров])
{
тело функции
[return;]
}
Первая строка – это, по существу, заголовок функции, который отличается от ее прототипа только отсутствием точки с запятой в конце и обязательным присутствием имен формальных параметров.
Здесь тип либо void (для функций, не возвращающих значения), либо обозначение типа возвращаемого функцией значения с помощью оператора return.
Имя_функции либо main – для основной (главной) функции программы, либо произвольно выбираемое программистом имя (идентификатора), не совпадающее со служебными словами и с именами других объектов (и функций) программы.
Спецификация_параметров – это либо пусто, либо список формальных параметров, каждый элемент которого имеет вид:
обозначение_типа имя_параметра
Если в функцию передается несколько параметров, то они разделяются запятой. В списке параметров для каждого аргумента должен быть указан тип.
Тело_функции - это часть определения функции, ограниченная фигурными скобками и состоящая из операторов языка С++. Особенность языка С++ состоит в невозможности внутри тела функции определить другую функцию. Другими словами, определения функций не могут быть вложенными.
Обязательным, но не всегда явно используемым оператором тела функции, является оператор возврата из функции в точку вызова, имеющий две формы:
return;
return выражение;
Первая форма соответствует завершению функции, не возвращающей никакого значения, т.е. функции, перед именем которой в ее определении указан тип void. Выражение во второй форме оператора return должно иметь тип, указанный перед именем функции в ее определении.
Если программист не использовал оператор return внутри тела функции, возвращающей значение типа void, то компилятор автоматически добавляет оператор return в конец тела функции перед закрывающейся фигурной скобкой “}”.
Пример определения функции, возводящей число d в степень s:
float step ( float d, int s)
{
float rez=1;
for (int i=1; i <= s; i++)
rez *= d; // rez = rez*d
return (rez);
}
Встретив определение функции, компилятор создает самостоятельную секцию кода программы, которая на этапе компоновки объединяется с другими функциями.
6.2. Описание функции и ее тип
Для корректного обращения к функции сведения о ней должны быть известны компилятору, т.е. до вызова функции в том же файле стандартом рекомендуется помещать ее определение или описание.
Это «предварительное» объявление, называемое прототипом функции, извещает компилятор о типе возвращаемого значения, количестве и типе аргументов.
Форма объявления функции (прототип):
тип имя_функции ([список типов формальных аргументов]);
Прототип функции может либо полностью совпадать с заголовком функции, либо из списка формальных аргументов в заголовке функции можно исключить имена переменных, а оставить только типы.
Например, для функции step можно использовать один из следующих прототипов:
float step ( float d, int s);
или
float step ( float, int );
