русс | укр

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

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

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

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


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

Функции пользователя


Дата добавления: 2014-02-04; просмотров: 904; Нарушение авторских прав


Процедуры пользователя

Формат описания процедуры:

Procedure <имя>{(формальные параметры)};

Пример описания процедуры:

Procedure Sort(A:Integer;B:Real);

Procedure Sum; {формальные параметры не требуются}

Procedure Kvadr(Al,Beta:Integer);

Имя процедуры – идентификатор, уникальный в пределах программы.

Тело процедуры по структуре аналогично программе:

Procedure <имя>{(формальные параметры)};

<раздел описания>

Begin

<раздел операторов>

End;

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

Формат:

<имя процедуры>{(параметр1, параметр2, …)};

Примеры вызова процедур:

Sort(A1,B1); {параметры – значения переменных}

Rvadr(14,25); {параметры – непосредственно значения }

Sum;

Между фактическими параметрами в операторе вызова процедуры и формальными параметрами в заголовке описания процедуры устанавливается взаимно–однозначное соответствие в результате их перебора слева направо. Количество и тип формальных параметров равны количеству и типу фактических параметров. При обращении к процедуре формальные параметры заменяются на соответствующие фактические параметры вызывающей программы.

Пример. В процедуре произвести очищение экрана, установку курсора в его центр и вывод слова «Справочник».

USES CRT;

Procedure Ekran;

Begin

ClrScr;

GotoXY(30,12);

WriteLn(‘Справочник’);

End;

Begin {начало программы}

…..

Ekran; {вызов процедуры Ekran}

End.

Задания для самостоятельной работы

1 вариант

  1. Дан массив с оценками учащихся. Найти средний балл учащихся. Подсчитать количество 5 и 4. Заполнение массива, подсчет среднего балла и подсчет количества оценок оформить отдельными процедурами.
  2. Задана матрица W(5,6). Отрицательные элементы матрицы заменить на 0. измененный массив вывести на экран. Обработку элементов массива оформить в процедуре.

2 вариант



1. Дан одномерный массив со значениями веса кур на птицефабрике. Найти средний вес кур. Найти вес самой тяжелой курицы. Заполнение массива, подсчет среднего веса и нахождение веса самой тяжелой курицы оформить отдельными процедурами.

  1. Найти произведение элементов массива R(7,5) в строках с четными номерами. Обработку элементов массива оформить в процедуре.

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

Function <имя>{(формальные параметры)}:<тип результата>;

Примеры заголовка функции:

Function Prov(X,Y,T:integer):Real;

Function ZX:Real;

Возвращаемый результат может иметь любой скалярный тип.

Тело функции аналогично по структуре программе.

Function <имя>{(формальные параметры)}:<тип результата>;

<раздел описания>

Begin

<раздел операторов>

End;

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

Пример1. С использованием функции производить возведение в степень положительного или отрицательного числа.

Var

Z:Interer;

K:Real;

Function Step(F:Real; Exp:Integer):Real; {функция возведения в степень числа}

Var

C:Integer;

T:Real;

Begin

If Exp=0 Then Step:=1

Else Begin

T:=F;

For C:=2 To Abs(Exp) Do T:=T*F

If Exp >0 Then Step:=T Else Step:=1/T;

End;

End;

Begin

Write(‘Введите значение’);

Read(Z);

WriteLn(Step(Z,3)); {вызов функции Step и возведение числа Z в степень 3}

WriteLn(Step(Z,4)); {вызов функции Step и возведение числа Z в степень 4}

K:=1.4;

WriteLn(Step(K,3));

End.

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

K=½(1+m^2)/cos(1-m)½–5*Ö½(c+d^2)/cos(c-d)½+½(x+y^2)/cos(x-y)½

Var

M,C,D,X,Y:Integer;

K:Real;

Function SV(A,B:Integer):Real;

Begin

SV:=Abs((A+Sqr(B)/Cos(a-b));

End;

Begin

WriteLn(‘Введите 5 значений’);

ReadLn(M,C,D,X,Y);

K:=SV(1,M)-5*Sqrt(SV(C,D))+SV(X,Y);

WriteLn(‘K=’,K);

End.

Пример 3. Вычислить сумму N членов ряда. Факториал вычислять с помощью функции пользователя.

S=1!/4!+4!/5!+9!/6!+16!/7!+…+(n^2)!/(n+3)!

Var

S:LongInt;

J:Byte;

Function Fact(M:Integer):Integer; {функция вычисления факториала}

Var

I:Byte;

P:Integer;

Begin

P:=1;

For I:=1 To M Do P=P*I;

Fact:=P;

End;

Begin

WriteLn(‘Введите N’);

RearLn(N);

S:=0;

For J:=1 To N Do S:=S+Fact(Sqr(J))/Fact(J+3);

WriteLn(‘S=’,S);

End.

Задания для самостоятельного решения.

1. Вычислить сложное выражение, используя функцию пользователя для вычисления повторяющейся в нем части.

C=Ö(d+½e½)/tg(de)+(x+½y½)/tg(xy)-(z+½t½)/tg(zt)

2. Вычислить функцию: C = m!n!/(m-n)!. Для вычисления факториала использовать функцию пользователя.

 

В любой программе все переменные делятся на глобальные и локальные. Глобальные переменные описываются в разделе описаний основной части программы, а локальные – в разделах описаний процедур и функций. Локальные переменные существуют только в течение времени работы процедуры, определяются при ее вызове и «исчезают» после завершения работы процедуры.



<== предыдущая лекция | следующая лекция ==>
Задачи на вставку символов. | Параметры


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


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

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

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


 


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

 
 

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

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