Файл: Лабораторная работа 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.
Содержание отчета:

  1. Тема, цель;

  2. Условие задачи;

  3. Блок-схема;

  4. Код программы;

  5. Ответы на контрольные вопросы;

  6. Вывод.

Контрольные вопросы

  1. Что такое функция?

  2. Какова общая форма определения функции?

  3. Как производится обмен аргументами и результатами между основной программой и функцией?