АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Описание функции в общем виде

Читайте также:
  1. II. ОПИСАНИЕ МАССОВОЙ ДУШИ У ЛЕБОНА
  2. II. Основные задачи и функции
  3. III. Предмет, метод и функции философии.
  4. XI. Описание заболевания
  5. XVIII. ПРОЦЕДУРЫ И ФУНКЦИИ
  6. А) ПЕРЕДАЧА НА РУССКОМ ЯЗЫКЕ ФУНКЦИИ АРТИКЛЯ
  7. А. Средняя квадратическая погрешность функции измеренных величин.
  8. Абстрактные классы и чистые виртуальные функции. Виртуальные деструкторы. Дружественные функции. Дружественные классы.
  9. Адаптивные функции
  10. Администраторы судов, их функции
  11. Анализ основных конкурентов (схема и описание)
  12. Аналитические функции

Тип Имя(тип1 параметр1,тип2 параметр2, … типК параметрК);

{ // здесь объявление локальных переменных функции

 

// здесь инструкции функции

 

return=Выражение; // здесь передача результата через возвращаемое значение

}

Пример описания функции без результата:

void printchar(char ch, int n);

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

{ for (int i=0; i<n; i++) // тело функции

printf(”%c”,ch);

printf(”\n”);

}

 

Пример описания функции с результатом:

int min(int a, int b);

// функция находит максимальное из двух целых значений

{if (a>b) return a; // тело функции

else return b; }

Вся информация, которая передаётся в функцию и обратно, должна отражаться в её заголовке. Это требование не синтаксиса, а хорошего стиля программирования.

В теле функции крайне нежелательно использовать глобальные переменные!

 

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

Пример передачи результатов по ссылке:

 

int (float a, float b, float c, float &x1, float &x2);

// функция вычисляет корни квадратного уравнения

// результат функции – количество корней

// вычисленные корни квадратного уравнения передаются по ссылке

{ float D; // D-локальная переменная

D=b*b-4*a*c;

if (D>0)

{return 2; // вычисляем два корня квадратного уравнения

x1=(-b+sqrt(D))/(2*a);

x2=(-b-sqrt(D))/(2*a);}

else

if (D==0)

{return 1; // вычисляем один корень квадратного уравнения

x1=(-b)/(2*a);

x2=x1; }

else return 0; } // иначе корней нет

 

Пример передачи результатов через указатели:

 

int (float a, float b, float c, float *x1, float *x2);

// функция вычисляет корни квадратного уравнения

// функция передаёт результат – количество корней

// вычисленные корни квадратного уравнения передаются через указатели

{ float D; //D-локальная переменная

D=b*b-4*a*c;

if (D>0)

{return 2; // вычисляем два корня квадратного уравнения

*x1=(-b+sqrt(D))/(2*a);

*x2=(-b-sqrt(D))/(2*a);}

else

if (D==0)

{return 1; // вычисляем один корень квадратного уравнения

*x1=(-b)/(2*a);

*x2=x1; }

else return 0; } // иначе корней нет

 


1 | 2 | 3 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)