Файл: Лабораторная работа 10 Разработка, отладка и испытание алгоритмов и программ с использованием подпрограмм.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.03.2024
Просмотров: 11
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Лабораторная работа №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.
Содержание отчета:
-
Тема, цель; -
Условие задачи; -
Блок-схема; -
Код программы; -
Ответы на контрольные вопросы; -
Вывод.
Контрольные вопросы
-
Что такое функция? -
Какова общая форма определения функции? -
Как производится обмен аргументами и результатами между основной программой и функцией?