Текст программы

Государственное образовательное учреждение среднего профессионального образования

ВОРКУТИНСКИЙ ГОРНО-ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ

РАССМОТРЕНО УТВЕРЖДАЮ:

На заседании цикловой комиссии Зам. директора по УВР

«___»_____________2008 г. ______________З.Г. Штокалюк

Председатель цикловой комиссии «___»___________2008 г.

____________ О.В. Гармаш

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторной работе № 13

Тема:

«Организация функций»

Дисциплина: «Программирование на языке высокого уровня»

для студентов специальности 230101

Разработал преподаватель Баев А.В.

2008 г.

Лабораторная работа №13

Организация функций

Цель работы:

1. Получить навыки разработки программ с использованием функций.

Краткие сведения из теории

Подпрограммы - функции (Function) имеют следующие отличительные особенности (по сравнению с процедурами):

1. Функция имеет только один результат выполнения. Этот результат обозначается именем функции и передается в вызвавшую эту функцию программу.

2. Раздел операторов функции должен содержать хотя бы один оператор присваивания имени функции;

3. Обращение к функции — не оператор, а выражение.

4. Для функции обязательно указывается ее тип. Тип может быть простым (скалярным) или строковым.

Описание функции в Паскале имеет вид:

Function Имя функции (формальные параметры):Тип результата;

Раздел описаний

Begin

 
 
Раздел операторов


End;

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

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

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

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

,

где a, b, n, m - целые переменные;

{xi}, {yj} - массивы, содержащие n и m вещественных чисел, соответственно.

В Паскале нет стандартных функций сумммирования элементов массива и возведения чисел в степень больше 2. Разработаем свои функции для решения этих задач и будем использовать их для решения поставленной задачи.

Текст программы

Uses crt;

Type

Tmas=array[1..100] of real;

Var a,b,n,m,i,j:byte;

X,Y:Tmas;

S:Real;

Function Summa(Dlmas:byte; Mas:Tmas):Real;

Var Sum:real; i:byte;

Begin

Sum:=0.0;

For i:=1 to Dlmas do

Sum:=Sum+Mas[i];

Summa:=Sum;

End;

Function step(St:byte;Osn:byte):real;

Var i:byte; P:real;

Begin

P:=Osn;

For i:=2 to St do

P:=P*Osn;

step:=P;

End;

{ Главная программа}

BEGIN

Write(' Введите длину первого массива - N '); Readln(N);

Write(' Введите длину второго массива - M '); Readln(M);

Writeln(' Введите элементы массива X');

For i:=1 to N do Read(X[i]); readln;

Writeln(' Введите элементы массива Y');

For j:=1 to M do Read(Y[j]); readln;

Write(' Введите a и b '); Readln(a,b);

S:=(Summa(N,X)+Summs(M,Y))/(step(N,a)+step(M,b));

Writeln(' Полученный результат S = ',S);readkey;

END.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: