|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Пример программы с функциейВычислить значение: Z = , где а - заданное вещественное число. В этой задаче требуется многократно использовать алгоритм возведения числа в целую степень. Оформим функцию, в которой данный алгоритм можно формально описать как алгоритм накопления произведения. где i – номер шага вычисления (умножения); n – число шагов. Поскольку в задаче требуется вычислить три раза операцию возведения в степень, то в главной функции main() будет организован вызов этой функции из выражения. #include "stdafx.h" float ST(float x, int n) // начало функции ST { int i; float P; //локальные переменные i и P P=1; for(i=1; i<= n; i++) P = P*x; //накопление произведения return P; } // конец функции ST
void main() { float a,Z; printf("Введите число а:"); scanf("%f",&a); Z = (ST(a, 5) + ST(1/a, 5))/(2* ST(a, 7)); printf("Z=%f\n", Z); } В процессе выполнения программы после ввода заданного числа авычисляется значение Z по формуле.В данной формуле обращение к функции ST() осуществляется с помощью трех операндов. При вычислении выражения операнд обращения к функции заменяется значением возвращаемого функцией значения. Далее вычисляется значение Z и выводится на экран. Предыдущую программу можно скомпоновать так: #include "stdafx.h" float ST(float, int); // прототип функции ST
void main() { float a,Z; printf("Введите число а:"); scanf("%f",&a); Z = (ST(a, 5) + ST(1/a, 5))/(2* ST(a, 7)); printf("Z=%f\n", Z); } // текст функции ST Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.) |