Студопедия

КАТЕГОРИИ:


Архитектура-(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)

End sub




Exit sub

End function

End if

Else

End function

End function

Определения процедур

C

Формат функции:

[<тип>] <имя>([<описания_параметров>])<блок>

В блоке обязательно присутствие инструкции вида return <выражение>, значение которого возвращается в точку вызова. Его обычно называют возвращаемым значением функции. <тип> в заголовке функции указывает тип возвращаемого значения.Если тип значения в инструкции return не совпадает с типом в заголовке, то производится автоматическое преобразование его к типу заголовка. Если <тип> отсутствует, то транслятор подставляет int.

Примеры.

float MinFun( floa t x[ ], in t n){

int i, j;

float MinValue;

................

return 2*MinValue+5;

}


Определение функции: Вызов:

double Max(double a, double b){ y=Max(cos(x), sin(x));

double y;

if (a>b){

y=a;

} else {

y=b;

}

return y;

}

Basic

Формат функции:

function <имя_функции>([<описания_параметров>]) as <тип>

инструкции

<имя_функции>=<выражение>

Возвращаемое значение непосредственно присваивается имени функции.

Примеры.

function Minfun(x() as single, n as integer) as single

dim i as integer, j as integer, MinValue as single, y as single

................................................................................

MinValue=2*y+5

Определение функции Вызов

function Max(a as double, b as double) as double y=Max(cos(x), sin(x));

dim y as double;

if a>b then

y=a

y=b

Max=y

C

По понятиям языка C подпрограмма – это функция, не возвращающая значения. Для указания типа возвращаемого значения в этом случае используется ключевое слово void (пустой, не возвращающий значение).

Пример.

void fun(void){

………….

[ return;]

........……

}

Для возвращения в точку вызова используется инструкция return; Если возвратпроизводится непосредственно перед замыкающей фигурной скобкой тела процедуры, то употребление инструкции return необязательно.


Пример(подпрограмма). Вызов:

/* Умножение матрицы на вектор */ Matrix(a, b, c, m, n);

void Matrix(double p[10][10], /* Исходная матрица */

double q[10], /* Исходный вектор */

double s[10], /* Вектор-результат */

int l, /* Число строк */

int k){ /* Число столбцов */

int i, j;

for (i=0; i<l; i++){

for (s[ i ]=j=0; j<k; j++){

s[ i ]+=p[ i ][ j ]*q[ j ];

}

}

} /* End Matrix */

В каждой программе должна быть процедура, которой передает управление операционная система и которая остается активной в течение всей работы программы. Эта процедура называется главной и имеет заголовок вида:

void main([<параметры>])

<блок>

Параметры используются редко, поэтому обычно имеем:

void main( void ){

............

}

Basic

Формат подпрограммы:

sub <имя_подпрограммы>([<описания_параметров>])

..................................

..................................

Для возвращения в точку вызова используется инструкция exit sub. Если возвратпроизводится в конце процедуры, то употребление инструкции exit sub не нужно.

Пример (подпрограмма). Вызов:

' Умножение матрицы на вектор call Matrix(a, b, c, m, n);

sub Matrix(p(9,9) as double, _

q(9) as double, _

s(9) as double, _

l as integer, _

k as integer)

dim i as integer, j as integer

for i=0 to l-1

s(i)=0

for j=0 to k-1

s(i)=s(i)+p(i)(j)*q(j)

next j

next i




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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