Составить программу с использованием функции

При решении многих задач возникает необходимость повторять одни и те же вычисления при различных значениях параметров. При этом для уменьшения размера программ целесообразно выделить эти операторы в отдельную процедуру (подпрограмму). Кроме того, использование процедур и функций позволяет реализовать принципы структурного программирования.

Процедуры используются п тех случаях, когда необходимо в подпрограмме получить несколько результатов. Процедура определяется в разделе описания процедур и функций. Описание процедуры включает в себя заголовок процедуры, разделы описаний (меток констант, типов, переменных, а также дополнительных процедур, являющихся локальными по отношению к описываемой процедуре), тело процедуры. Синтаксическая диаграмма раздела описания процедур и функций приведена на рис. 1.27.

В заголовке процедуры за ключевым словом PROCEDURE указывают имя процедуры, а в скобках — список параметров со своими описаниями.

Имя процедуры выбирается пользователем в соответствии с правилами образования имен. Описание необходимых Шествий в процедуре осуществляется с помощью формальных параметров, которые используются только в теле процедуры и локальны по отношению к ней. Напрцмер, сложение дробей, записанных в общем виде: H/Z = H1/Z1 + Н2/Z2, можно описать процедурой:

ChatGPT создаст любое приложение за считанные секунды

FROCEDURE DROB(VAR H,Z,Hl,H2,Z1,Z2:INTEGER);

Блок процедуры заканчивается символом — точка с запятой.

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

Пример 1.26. Составить программы для вычисления используя процедуру

Программа имеет вид:

PROGRAM FUN1(INPUT,OUTPUT);

VAR A,B,Z,C,D,T1, T2, T3:REAL;

PROCEDURE TH(VAR X,R:REAL);

Источник: studopedia.ru

Составление программ с использованием процедур и функций.

Цель работы: получение навыков в составлении программ с использованием процедур и функций.

1 Составить блок-схему алгоритма с использованием процедур и функций.

2 Изучить особенности программирования алгоритмов на алгоритмическом языке Паскаль.

3 Запрограммировать полученный алгоритм.

4 Ввести текст программы в компьютер.

5 Выполнить расчет по программе.

Для выражений из лабораторной работы 2 вычисление 4-го элемента выражения оформить как функцию.

В задании к лабораторной работе 2 ввод исходных данных оформить в виде процедуры.

Методические указания.

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

Следует различать описание и представление функции. Описание делает возможным доступ к функции (помещает ее в область видимости), про которую известно что она внешняя. Представление задает действия, выполняемые функцией при ее вызове. Представление функции включает:

C# ФУНКЦИИ И МЕТОДЫ | МЕТОД C# ЧТО ЭТО | ФУНКЦИИ C# ПРИМЕР | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 35

* Тип значения, возвращаемого функцией (если значение не возвращается, то тип функции – void).

*Число и тип формальных параметров.

*Код (тело) функции, который должен быть выполнен при вызове функций.

* Указания о видимости функции вне файла, где она задается.

Читайте также:
Программа для настройки клавиш на Андроид

• Локальные переменные, которые могут маскировать глобальные переменные.

ε=

ε=

ε=

ε=

ε=

ε=

ε=

ε=

Источник: studfile.net

Типовые задачи по С++ для новичков (часть 6.1, функция)

«Разделяй и властвуй» – мудрое правило,
но «объединяй и направляй» – еще лучше*
* Иоганн Гете (1749–1832) — немецкий поэт
и философ.

Сегодня мы приступим к изучению такого понятия в языке программирования С++, как функция. В программировании и математике понятие функция разнятся, поэтому не путайте эти термины. Математическое понятие функции выражает интуитивное представление о том, как одна величина полностью определяет значение другой величины.

Так, значение переменной x однозначно определяет значение выражения x 2 . В то время как функция в программировании — это фрагмент кода или алгоритм, реализованный на каком-то языке программирования, с целью выполнения определённой последовательности операций. Функция помогает нам разбить нашу программу на модули, повышая ее читабельность и эффективность.

Написав один раз функцию, к примеру конвертации валют, мы сможем применять ее в разных программах. Как ни странно, но с одной функцией мы уже знакомы! Да да, вы не ослышались! Это функция main(); – самая главная, с которой начинается выполняться программа. Функции могут содержать параметры, возвращать значение или же ничего не возвращать. Приведу самый простой пример функции – печать сообщения в консоль:

#include #include using namespace std; void print_message(); // прототип функции int main(int arcg, char* argv[]) // основная функция < setlocale(0, «»); print_message(); //вызываем функцию печати сообщения _getch(); // задержка return 0; >void print_message() // наша функция

void print_message(); — это наша созданная функция, роль которой напечатать текст «Привет от Ledrunning!» в консоль. Если поставить точку останова в Visual Studio на месте, где вызывается наша функция, то можно увидеть, что при следующих шагах отладчика мы попадем из места вызова нашей функции в основной программе, в ее тело. НА изображение переход указан стрелочкой.

Ну а дальше, после выполнения функции, мы снова вернемся в main(); и программа продолжиться с _getch(); (Это кстати тоже функция, только встроенные в язык С++, как и setlocale();).

Наша функция print_message(); называется void, это слово означает, что функция выполняется, печатает текст, и заканчивает свою работу, не возвращая из своего тела никаких данных. В вышеуказанной функции так же нет параметров. Это говорит о том, что наш модуль не принимает в себя никаких данных.

Для работы с данной функцией необходимо ее вызвать в основной функции main(); как видно из изображения выше, на 12 строке.

int main(int arcg, char* argv[]) < setlocale(0, «»); print_message(); // вызов нашей функции _getch(); return 0; >

  • функция состоит возвращаемого функцией значения, оно может быть любым; если функция не возвращает значения, обязательно указывают тип void;
  • имя_функции, с которым она будет вызываться;
  • список_переменных — перечень передаваемых в функцию аргументов, которые отделяются друг от друга запятыми; для каждой переменной из списка указывается тип и имя;
Читайте также:
Какие лишние программы в компьютере

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

В следующем варианте, изменим код и добавим один параметр, в качестве типа данных выберем тип char и массив символов, так как мы печатаем сообщение:

#include #include using namespace std; void print_message(char* message); // прототип функции int main(int arcg, char* argv[]) < setlocale(0, «»); // Рус.яз в консоли char message[] = «Привет от Ledrunning!»; // массив сообщения print_message(message); // вызов функции и передача аргумента _getch(); // ожидание нажатия клавиши return 0; >// наша функция, в которую передаем указатель на массив символов void print_message(char* message)

Для вызова этой функции необходимо также вызвать ее в основной функции main(); просто написав ее и добавить в скобки переменную — массив message типа char в качестве аргумента этой функции;

Поставим точку останова и снова пошагаем, результат виден на рисунке 2. В нашу функцию передался массив символов и его адрес, после чего он выводится на экран и происходит конец жизненного цикла функции и мы возвращаемся в main(); на строчку 15, к функции _getch(); Ожидая, когда пользователь нажмет клавишу. Если вы заметили, наша основная функция то же принимает параметры – это массив строк. По сути вы можете в консоли вводить команды и в своей программе уже их обрабатывать.

А давайте теперь попробуем произвести какие-нибудь вычисления, например простое сложение и вернуть данные из нашей функции:

#include #include using namespace std; int sum(); int main(int arcg, char* argv[]) < setlocale(0, «»); // Рус.яз в консоли cout // наша функция int sum()

Функция отличается от предыдущей тем, что мы используем ключевое слово return! Оно говорит программе, что из функции при выполнении подпрограммы возвращаются некоторые данные, в нашем случае это сумма двух чисел. Наша функция вернет нам значение 6. Что и видно на представленном изображении ниже:

Давайте немного изменим программу, и передадим две переменные в качестве аргументов функции sum:

#include #include using namespace std; int sum(int x, int y); int main(int arcg, char* argv[]) < setlocale(0, «»); // Рус.яз в консоли int x = 2, y = 4; cout // наша функция int sum(int x, int y)

Читайте также:
Какие программы воспроизводят мр4

Если присмотреться к основной функции main();, можно заметить ключевое слово return 0; Это означает то, что наша программа возвращает значение 0 системе при благоприятном выполнении программы, в случае каких-либо ошибок, обычно возвращается значение -1;

Если присмотреться к основной функции main();, можно заметить ключевое слово return 0; Это означает то, что наша программа возвращает значение 0 системе при благоприятном выполнении программы, в случае каких-либо ошибок, обычно возвращается значение -1;

Функция может вернуть всего лишь одно значение или результат выражения, строго определенного типа, который указывает программист, например int или float, принимать функция может параметры разных типов, но считается что количество более трех, считается дурным тоном, и необходимо либо переписать функцию. Если же при написании программы в будущем не известно, сколько данных необходимо передавать функции, ее сигнатуру прописывают таким образом:

[тип_возвращаемого_параметра] [имя_функции] [параметр 1, …];

#include #include using namespace std; void sum(int x, . ); int main(int arcg, char* argv[]) < setlocale(0, «»); // Рус.яз в консоли int x = 2, y = 4; sum(x, y, 5, 6, 10, 0); // вызов функции и передача аргументов, // в конце обязательно указать 0, как окончание параметров _getch(); // ожидание нажатия клавиши return 0; >// наша функция void sum(int x, . ) < int *buffer = //взятие адреса у первого параметра while (*buffer) //пока встречаются параметры и параметр не равен 0 < cout >

В языке программирование С++ используется еще один вид функций – встраиваемые функции.

#include #include using namespace std; inline int sum(int x, int y); int main(int arcg, char* argv[]) < setlocale(0, «»); // Рус.яз в консоли int x = 2, y = 4; cout // наша функция inline int sum(int x, int y)

После того как вы определите встроенную функцию с помощью ключевого слова inline, всякий раз когда вы будете вызывать эту функцию, компилятор будет заменять вызов функции фактическим кодом из функции. Это даст прирост скорости, так как вызов обычной функции занимает больше времени. Но есть одно но, для того чтобы встраиваемая функции работала с большой производительностью, тело самой функции должно быть максимально небольшим, без использования switch-case и if-else. Обычно в этих функциях производятся какие либо вычисления.

При помощи функций очень удобно разбить программу на модули, и вызывать написанные нами функции в любом участке основной программы, производя вычисления или реализуя алгоритмы в них, не нагромождая кодом основную программу. Написание кода с использованием функций обычно называют процедурным программированием. Хотел я уложиться в одну статью, но не вышло. В следующей части мы уже порешаем конкретные задачи. До скорой встречи!

Источник: ledrunning.wordpress.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru