Инфоурок Информатика Другие методич. материалыФункция как программный модуль С++

Функция как программный модуль С++

Скачать материал

Функция как программный модуль С++.

Пользовательские функции – неотъемлемая часть программы. Никому не хочется писать один и тот же код программы несколько раз. Гораздо проще его оформить в виде функции.

Под функцией в программировании подразумевают именованный фрагмент программного кода, который может многократно вызываться в программе. По своей структуре функция – это блок операторов, заключённых в фигурные скобки и имеющих одно общее имя. Функции могут иметь аргументы и возвращать значения в качестве результата. Результатом функции может быть практически всё, кроме массива.

Создание и использование пользовательских функций в С++ состоит из следующих шагов:

1. Сначала нужно объявить функцию – предоставить её прототип.

2. Определить функцию – описать, что именно должна делать функция.

3. Вызвать функцию.

ПРИМЕР: Определить, является ли введённое пользователем число простым.

В программе будет две функции:

main() – основная функция программы

checkPrimeNumber() – пользовательская функция, возвращающая true, если число является простым. Тип функции можно использовать как int, поскольку true сводится к 1, а false – к 0, то есть к целым числам.

Чтобы функции могли быть вызваны в функции main(), нужно объявить их до функции main. Это не всегда удобно, учитывая, что код некоторых функций может быть очень длинным. Поэтому мы можем использовать предварительное объявление функции – описывается прототип функции (тип возвращаемого значения, имя, параметры), но не пишется сам код функции. А после функции main можно полностью описать наши функции.
#include <iostream>

using namespace std;

int checkPrimeNumber(int);

int main()

{

    int n;

    cout << "Vvedite poloshzitelnoe chislo";

    cin>>n;

    if (checkPrimeNumber(n)== true)

        cout<<n<<" - prostoe chislo";

    else

        cout<<n<<" - ne prostoe chislo";

    cout<<endl;

    return 0;

}

int checkPrimeNumber(int n)

{

bool flag = true;

for(int i = 2;i<=n/2; ++i)

{

    if (n%i==0)

    {

        flag =false;

        break;

    }

}

return flag;

}

Объявление функцииэто предоставление её прототипа. При этом под прототипом функции принимается заголовок функции без тела функции.

Объявление функции является оператором, поэтому после прототипа функции нужно обязательно ставить точку с запятой. Прототип используется компилятором, чтобы понимать, как работать с памятью и как контролировать этот процесс. В прототипе имена аргументов можно не указывать. Например, можно предоставить такой прототип:

int checkPrimeNumber(int n);

int checkPrimeNumber(int);

Оба варианта правильны и для компилятора имеют одно и то же значение. Вызов функции может осуществляться из любого места программы.

ПРИМЕР 2. Выведем простые числа в заданном диапазоне.

#include <iostream>

using namespace std;

int checkPrimeNumber(int);

int main()

{

    int n1,n2;

    bool flag;

    cout << "Vvedite 2 chisla";

    cin>>n1>>n2;

    for (int i=n1+1;i<n2;++i)

    {

     flag = checkPrimeNumber(i);

    if (flag==true)

        cout<<i<<" ";

    }

    cout<<endl;

    return 0;

}

int checkPrimeNumber(int n)

{

bool flag = true;

for(int j = 2; j<=n/2; ++j)

{

    if (n%j==0)

    {

        flag =false;

        break;

    }

}

return flag;

}

ПРИМЕР 3. Выразим число как сумму простых чисел.

#include <iostream>

using namespace std;

bool checkPrime(int n);

int main()

{

    int n,i;

    bool flag = false;

    cout << "Vvedite poloshzitelnoe chislo";

    cin>>n;

    for(i = 2;i<=n/2; ++i)

   {

       if (checkPrime(i))

        {

        if (checkPrime(n-i))

        {

    cout<<n<<"="<<i<<" + "<<n-i<<endl;

    flag = true;

    }

   }

}

if (!flag)

    cout<<n<<" ne summa prostix\n";

return 0;

}

bool checkPrime(int n)

{

  int i;

  bool isPrime = true;

for(i = 2;i<=n/2; ++i)

{

    if (n%i==0)

    {

        isPrime =false;

        break;

    }

}

return isPrime;

}

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Функция как программный модуль С++" Смотреть ещё 4 926 курсов

Методические разработки к Вашему уроку:

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 855 692 материала в базе

Материал подходит для УМК

Скачать материал

Другие материалы

Методическая разработка для проведения урока информатики по теме «Алгебра логики» (10 класс)
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: Глава 3. Логические основы компьютеров
  • 17.06.2020
  • 806
  • 27
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
Презентация к проекту по информатике "Представление целых чисел в двоичной, восьмеричной и шестнадцатеричной системах счисления " студента 1 курса Лапина Сергея
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: § 9. Системы счисления
  • 11.06.2020
  • 326
  • 2
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
Презентация к проекту по информатике "Подпрограммы. Табличные величины " студента 1 курса Королёва Егора .
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: Глава 6. Программное обеспечение
  • 10.06.2020
  • 579
  • 13
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
Презентация к проекту по информатике "Безопасность и гигиена при работе за компьютером" студентки 1 курса Комоловой Натальи.
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: Глава 1. Информация и информационные процессы
  • 09.06.2020
  • 458
  • 10
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
Презентация к проекту по информатике "Сравнение чисел записанных в двоичной восьмеричной и шестнадцатеричной системах счисления " студента 1 курса Козлова Данила
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: Глава 2. Кодирование информации
  • 09.06.2020
  • 1607
  • 54
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
Презентация к проекту по информатике "Представление результатов моделирования в виде, удобном для восприятия человеком. Графическое представление данных " студентки 1 курса Запорожцевой Надежды
  • Учебник: «Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.
  • Тема: Глава 9. Решение вычислительных задач на компьютере
  • 09.06.2020
  • 2460
  • 110
«Информатика. Углубленный уровень (в 2-ух частях) », Поляков К.Ю., Еремин Е.А.

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 19.06.2020 475
    • DOCX 16.9 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Буракова Наталья Сергеевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Буракова Наталья Сергеевна
    Буракова Наталья Сергеевна
    • На сайте: 6 лет
    • Подписчики: 1
    • Всего просмотров: 2866
    • Всего материалов: 4

Оформите подписку «Инфоурок премиум»

Вы сможете бесплатно проходить любые из 4926 курсов в нашем каталоге.

Перейти в каталог курсов

Мини-курс

Основы управленческого анализа

3 ч.

699 руб. 399 руб.
Подать заявку О курсе

Мини-курс

Исследование и понимание архитектурных стилей: от модернизма до современности

4 ч.

699 руб. 399 руб.
Подать заявку О курсе

Мини-курс

Эффективная коммуникация с подростками: от вопросов к аргументации

4 ч.

699 руб. 399 руб.
Подать заявку О курсе
  • Этот курс уже прошли 14 человек
Смотреть ещё 4 926 курсов
Подарки