Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 473; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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