русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Вызов функции


Дата добавления: 2015-07-09; просмотров: 600; Нарушение авторских прав


 

Для выполнения функции к ней нужно обратиться.

 

Форма обращения к функции (вызов для выполнения):

 

имя_функции (список фактических параметров);

 

Список фактических параметров, называемых аргументами, - это список выражений, количество которых равно числу формальных параметров функции.

При указании фактических аргументов тип данных не указывается. Если фактических аргументов несколько, то они разделяются запятыми.

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

Примеры вызова функции step:

float y;

// результат работы функции присваивается переменной y

y = step (3.5, 3);

// использование вызова функции в выражениях

Console::WriteLine(“ 2 в степени 5 = “ + step(2,5)+ “\n”);

y = 100/2+step(4.0, 3);

 

Пример 6_1. Использование функции, вычисляющей сумму 2-х чисел a и b, причем одно число целое, а второе – вещественное.

#include "stdafx.h"

using namespace System;

float schet ( float, int); // прототип функции

 

int main()

{ float sum,a;

int b;

a = 20.8;

b = 25;

sum = schet (a, b); // вызов на выполнение функции schet

// a, b – фактические параметры, передаваемые в функцию

// результат работы функции будет присвоен

// переменной sum

Console::WriteLine("a = " + a + " b = " + b + " sum = " + sum);

Console::WriteLine("Сумма 10.5 + 23 = " + schet(10.5, 23));

Console::ReadLine();

return 0;

}

 

 

// определение функции schet

// данная функция возвращает значение типа float

// (поэтому тип float указан перед именем функции)

// в функцию передаются 2 параметра (1-й типа float, 2-й - типа int)

float schet ( float c, int d)

{



// c, d - имена формальных параметров

// c - получит значение фактического параметра a

// d - получит значение фактического параметра b

// (могут быть любые имена - важен тип параметров

// и порядок следования)

 

float s;

s = c + d;

 

return ( s ); // передача значения в точку вызова

}

Результат работы со строками:

a = 20,8 b=25 sum =45,8

Сумма 10.5 + 23 = 33,5

 

Пример 6_2. Демонстрация использования функций для ввода целочисленного массива m из 7 элементов, вычисления суммы всех элементов массива и вывода на экран исходный массив и результат расчета (данное условие использовалось ранее при рассмотрении одномерных массивов).

Теперь программа будет состоять из:

- функции ввода данных с клавиатуры (метод будет иметь имя input);

- функции расчета суммы (метод будет иметь имя raschet);

- функции вывода исходного массива и результата расчета (метод будет иметь имя output).

(имена функциям программист выбирает самостоятельно, но рекомендуется имена выбирать согласно назначению метода)

 

#include "stdafx.h"

using namespace System;

void input(int [7], wchar_t);

int raschet(int [7]);

void output (int [7], wchar_t, int );

int main()

{



int m[7];

int sum;

input(m, L'm');

sum = raschet(m);

output(m, L'm', sum);

Console::ReadLine();

return 0;

}

 

// определение функции ввода данных в массив

void input(int a[7], wchar_t name)

{



int i;

Console::WriteLine("Вводим данные в массив {0}:", name);

for (i = 0; i < 7; i++)

{



Console::Write("{0}[{1}]=",name, i);

a[i] = Convert::ToInt32(Console::ReadLine());

}

}

 

// определение функции расчета суммы

int raschet(int a[7])

{



int i, s;

// расчет суммы всех элементов

s = 0;

for (i = 0; i < 7; i++)

s += a[i];

return s;

}

 

// определение функции вывода на экран

void output (int a[7], wchar_t name, int s)

{



int i;

//вывод исходного массива и результата

Console::WriteLine("\n\nИсходный массив {0}", name);

for (i = 0; i < 7; i++)

Console::Write("{0,6}", a[i]);

Console::WriteLine("\nСумма элементов равна " + s);

}

 

Результаты работы программы:

m[0] = 100

m[1] = 1

m[2] = 2

m[3] = 3

m[4] = 10

m[5] = 20

m[6] = 300

<здесь одна пустая строка>

 

Исходный массив m

100 1 2 3 10 20 300

Сумма элементов равна 436



<== предыдущая лекция | следующая лекция ==>
Общие сведения | Область действия переменной


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.73 сек.