Главная страница
Навигация по странице:

  • Тип Имя_функции(список_параметров) {тело_функции}

  • Пример1

  • Прототипы функций.

  • Порядок выполнения работы Задание 1.

  • Вариант 2

  • Содержание отчета

  • Контрольные

  • Лаб.раб №10+. Лабораторная работа 10 Разработка, отладка и испытание алгоритмов и программ с использованием подпрограмм


    Скачать 18.17 Kb.
    НазваниеЛабораторная работа 10 Разработка, отладка и испытание алгоритмов и программ с использованием подпрограмм
    Дата20.02.2023
    Размер18.17 Kb.
    Формат файлаdocx
    Имя файлаЛаб.раб №10+.docx
    ТипЛабораторная работа
    #946443

    Лабораторная работа  №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. Как производится обмен аргументами и результатами между основной программой и функцией?


    написать администратору сайта