КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Внутренние и внешние функции
Процедуры и функции пользователя Программа интерполяции по Ньютону Программа позволяет найти значение функции по значению переменной в промежуточной точке между узлами интерполяции. Входные данные: N — степень полинома; X(N), Y(N) — массивы х, у. A – значение аргумента Выходные данные: L — значение полинома в точке A. INPUT “Укажите степень полинома ”,N DIM X(N), Y(N) FOR i=0 TO N PRINT “Укажите значения X и Y в ”; I;” узле”; INPUT “ ”,X(i), Y(i) NEXT i INPUT “Укажите значение аргумента Х ”,A REM подпрограмма интерполяции по Ньютону L=Y(0): S=1 FOR I=N TO 1 STEP -1 I1=N-I FOR K=0 TO I-1 Y(K)=(Y(K+1)-Y(K))/(X(K+1+I1)-X(K)) NEXT K S=S*(A-X(I1)): L1=L L=L+Y(0)*S NEXT I PRINT “Значение функции”;L END
Если некоторую функцию необходимо вычислять в программе многократно, то целесообразно определить ее как функцию пользователя и использовать в дальнейшем так же, как и стандартную функцию языка программирования. Для этого язык QBASIC предоставляет возможность использовать внутреннюю функцию или внешнюю функцию. Внутренняя функция может использоваться только в текущей программе, а внешняя функция может использоваться как в текущей, так и в любой другой программе. Внутренняя функция объявляется оператором DEF FN. При этом может быть два варианта использования данной функции: однострочная и многострочная.
Формат однострочной функции DEF FN: DEF FNnn…nt(x1,x2, …,xm)=<выражение> Здесь DEF – оператор; FN –стандартное имя функции; nn…n –расширение имени функции; t – тип переменной (результата вычисления функции); xi – формальные параметры. Имя функции может содержать до 40 латинских символов. Число формальных параметров может быть шестнадцать. Пример 9.4.16. Вычислить путь, пройденный автомобилем, если известны начальный путь S0, скорость v, ускорение – а, и время движения автомобиля – t: DEF FNput(S0,v,a,t)=S0+v*t+a*t^2/2
Формат многострочной функции DEF: DEF FNnn…nt(x1,x2, …,xm) … у=<выражение> FNnn…nt=y END DEF Строка FNnn...nt=y присваивает результат вычисления переменной с именем, равном имени функции. Пример 9.4.17. Вычислить факториал числа N DEF FNfactarial#(N) F=1 FOR Fact =1 TO N F=F*Fact NEXT Fact FNfactarial#=F END DEF Используются функции пользователя так же, как и стандартные функции языка Бейсик. REM вычисление факториала … Input “Введите М “,M y= FNfactarial#(M): PRINT “Факториал ”;М;”равен”; y или PRINT "Факториал";М;"равен"; FNfactarial#(M) Функция пользователя должна быть объявлена в начале программы, до ее использования.
Внешние функции описываются следующим образом: FUNCTION <имя>[(формальные параметры)] [STATIC] <тело программы> <имя>=<результат> END FUNCTION Формат внешней функции аналогичен формату внутренней многострочной функции. Имя функции может начинаться с любых символов. Используется внешняя функция так же, как и внутренняя. Однако, при использовании внешней функции есть особенности. Одна из них состоит в том, что функция должна быть объявлена в вызывающей программе: DECLARE FUNCTION <имя>(параметры) [STATIC] Другая особенность использования внешней функции связана с использованием глобальных переменных. В данном пособии этот вопрос не рассматривается. Заголовок внешней функции может включать описание типов аргументов, среди которых, в отличие от внутренних функций могут присутствовать и имена массивов, сопровождаемые пустыми скобками, например V(). Указатель STATIC употребляется в тех случаях, когда необходимо сохранить значения локальных переменных между двумя последовательными обращениями к функции.
Дата добавления: 2014-01-06; Просмотров: 496; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |