Лаб.раб №10+. Лабораторная работа 10 Разработка, отладка и испытание алгоритмов и программ с использованием подпрограмм
Скачать 18.17 Kb.
|
Лабораторная работа №10 Разработка, отладка и испытание алгоритмов и программ с использованием подпрограмм Цель работы повторить основные принципы создания программ на языке С++; изучить принципы создания и использования функций в программах на языке С++. Краткие теоретические положения Функция - часть программы, имеющая собственное название. Любая программа на С++ содержит функцию main(), которая является ее входной точкой. Функция main() — это частный случай функции вообще. Функции являются основными “строительными блоками” программы. Определить функцию - значит указать, какие действия и как она должна выполнять. Функцию нельзя вызвать до тех пор, пока она не определена. В общем виде функция определяется таким образом: Тип Имя_функции(список_параметров) {тело_функции} Оператором возврата из функции в точку ее вызова является оператор return. Тип возвращаемого выражения должен совпадать с объявленным типом функции. Обмен аргументами и результатами между основной программой и функцией производится через параметры (формальные и фактические). Между формальными и фактическими параметрами должны соблюдаться правила соответствия по последовательности и по типам. Передача параметров при вызове функции происходит по значению. Поэтому выполнение функции не может изменить значения переменных, указанных в качестве фактических параметров. Пример1.В следующем примере функция main() использует функцию Cub() для вычисления третьей степени аргумента. //функция в этом примере описывается до основной программы #include #include using namespace std; //описание функции пользователя с названием Cub float Cub(float f) {float C; C=f*f*f; return C;} //основная программа int main() {float x,y; // объявляет переменные cin>>x; // вводим х y=Cub(x); // вызываем функцию для вычисления третьей степени числа х cout<<"x^3 = "<< y; float r; cout<<"r^3 = "<< Cub(r); //выводим куб числа r return 0; } Создайте новое консольное приложение и проверьте работу приведенного примера. Прототипы функций. Полное определение функции необязательно помещать перед основной частью программы. Можно использовать прототип функции – предварительное описание (декларацию) функции, в котором содержится вся необходимая информация для правильного обращения к ней: имя и тип функции, типы формальных параметров. В прототипе имена формальных параметров указывать необязательно. Декларация прототипа функции заканчивается точкой с запятой. Пример 2. В следующем примере объявим функцию Sum() для вычисления суммы трех чисел. // в этом примере до основной программы объявляется прототип функции, а определение функции помещается после основной программы #include using namespace std; // прототип функции, т.е. объявление функции пользователя без описания int Sum(int A, int B, int C); //основная программа int main() {int x,y,z,S; cin>>x>>y>>z; //вызываем функцию Sum первый раз для чисел x,y,z S=Sum(x,y,z); cout< //вызываем функцию Sum второй раз для чисел 4,3 и -2 S=Sum(4,3,-2); cout< } // описание функции, то есть указание того, что она должна делать int Sum(int A, int B, int C) { return A+B+C; } Создайте новое консольное приложение и проверьте работу приведенного примера. Пример3. Функция, которая не возвращает результата, объявляется как void. Например, в следующем примере используется функция hello(), которая выводит на экран приветствие. Так как она не возвращает в основную программу никаких результатов вычислений, она объявлена как void: #include using namespace std; void hello(void) {cout<<"Hello All"< int main() { cout<<"Primer: "; hello(); return 0; } Порядок выполнения работы Задание 1. Запустите Пример 1 и Пример 2, приведенные в методических указаниях, составьте для них блок-схему. Задание 2. Составьте программу и приведите к ней блок-схему Вариант 1: Объявить функцию S(n), которая определяет сумму всех чисел до заданного натурального числа n. Так, например, S(4)=10. Разработать программу, использующую составленную функцию. В программе для введенных с клавиатуры чисел А и В найти и вывести S(А) + S(В). Вариант 2: Объявить функцию F для вычисления площади прямоугольника по длинам двух его сторон. Составить программу для нахождения суммарной площади двух прямоугольников с использованием объявленной функции F. Содержание отчета: Тема, цель; Условие задачи; Блок-схема; Код программы; Ответы на контрольные вопросы; Вывод. Контрольные вопросы Что такое функция? Какова общая форма определения функции? Как производится обмен аргументами и результатами между основной программой и функцией? |