русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Подпрограммы: функции


Дата добавления: 2015-07-23; просмотров: 609; Нарушение авторских прав


Подпрограмма-функция предназначена для вычисления какого-либо значения. Функция, определенная пользователем, состоит из заголовка и тела функции. Заголовок функции:

function <имя_функции> (<список формальных параметров>): тип_возвр_значения;

Функция может возвращать значения следующих типов: любого порядкового, любого вещественного, типа string. Тело функции имеет структуру, аналогичную структуре программы на языке Pascal. При этом в разделе операторов в теле функции должен находиться, по крайней мере, один оператор, присваивающий имени функции значение. В основную программу возвращается результат последнего присваивания.

Обращение к функции осуществляется по имени в составе некоторого выражения с указанием списка фактических параметров.

Функция имеет четыре основных отличия от процедуры:

- заголовок;

- в теле функции хотя бы один раз (перед выходом из подпрограммы) имени функции должно быть присвоено значение;

- функция не имеет выходных параметров, она возвращает единственное значение (результат);

- вызов функции происходит в составе некоторого выражения внутри оператора, в то время как процедура не может выступать в качестве операнда в выражении.

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

Program Primer;

Uses Crt;

Var A, B, Summa : Integer;

Function Sum(C, D:Integer):Integer; {описание функции}

Var S:Integer; {для нахождения суммы двух чисел}

Begin

S:=C+D;

Sum:=S;

End;

Begin

Clrscr;

Writeln(‘Введите первое число’);

Readln(A);

Writeln(‘Введите второе число’);

Readln(B);

Summa:=Sum(A,B); {вызов функции}

Writeln(‘Сумма равна ’,Summa);

Readkey;

End.

Задача

Сформировать матрицы А{15,13} и В{5,7}. Вывести их. Используя функцию, найти максимальные элементы матриц.

а) Схема алгоритма основной программы:



б) Схема алгоритма функции поиска максимального элемента матрицы.

 

Схемы алгоритмов процедур формирования и вывода матрицы см. в Занятии 5.

Program Primer; Uses Crt; Type Matrica=array[1..15,1..13] of Integer; Var A, B : Matrica; Max1, Max2 :Integer; Procedure Input(Var D:Matrica; N,K:Integer); Var i, j : Integer; Begin Randomize; For i:=1 to N Do For j:=1 to K Do D[i,j]:=Random(10)-5; End; Procedure Output(D:Matrica; N,K:Integer); Var i, j : Integer; Begin For i:=1 to N Do Begin For j:=1 to K Do Write(D[i,j]:4,’ ‘); Writeln; End; End; Function Max_Elem(D:Matrica; N,K:Integer) :Integer; Var i, j, max : Integer; Begin Max:=D[1,1]; For i:=1 to N Do For j:=1 to K Do If D[i,j]>Max Then Max:=D[i,j]; Max_Elem:=Max; End; Begin Input(A,15,13); Input(B,5,7); Clrscr; Writeln(‘Матрица А’); Output(A,15,13); Readkey; Clrscr; Writeln(‘Матрица В’); Output(В,5,7); Readkey; Max1:=Max_Elem(A,15,13); Max2:=Max_Elem(B,5,7); Writeln(‘Макс. элемент матрицы А равен Writeln(‘Макс. элемент матрицы B равен Readkey; End. {заголовок программы} {объявление типа - матрица} {объявление переменных} {процедура формирования матрицы} {указанной размерности} {N – число строк в матрице} {K – число столбцов в матрице} {формирование матрицы с помощью} {датчика случайных чисел} {процедура вывода матрицы заданной} {размерности} {N – число строк в матрице} {K – число столбцов в матрице} {функция поиска максимального} {элемента в матрице указанной} {размерности} {основная программа} (вызов процедуры форм-я для матрицы А) {вызов процедуры форм-я для матрицы В} {очистка экран} {вызов проц. вывода матр. для матр. А} {ожидание нажатия любой клавиш} {очистка экрана} {вызов проц. вывода матр. для матр. В} {ожидание нажатия любой клавиши} {вызов ф-ии Max_Elem для матрицы А} {вызов ф-ии Max_Elem для матрицы В} ’,Max1); {вывод максимума для матрицы А} ’,Max2); {вывод максимума для матрицы В} {ожидание нажатия любой клавиш} {конец программы}


<== предыдущая лекция | следующая лекция ==>
Подпрограммы: процедуры. | Рекурсия


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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