Учебная работа. Реферат: Процедуры и функции в языке Паскаль

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Реферат: Процедуры и функции в языке Паскаль

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

Тема:
Процедуры и функции в языке Паскаль

Цель работы:
изучить работу процедуры и функции и обрести навык написания

программ с применением процедур и функций.

1.
Главные понятия.

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

. Циклическая группа операторов оформляется в виде самостоятельной единицы – подпрограммы, записывается однократно, а в соответственных местах программки обеспечивает только воззвание к ней. Внедрение аппарата подпрограммы дозволяет уменьшить размер и сделать лучше структуру программки исходя из убеждений наглядности и читаемости. Подпрограмма быть может рассмотрена как самостоятельная программка (со своими входными и выходными данными).

В языке Паскаль подпрограммы реализуются в виде

и

, которые вводятся в программку при помощи собственного описания.

1.1 Описание процедуры.

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

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

Заголовок процедуры представляет собой:


Где
– служебное слово,


– имя процедуры,


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

. Допускается описание процедуры, несодержащей формальных характеристик:


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


. Завершается блок процедуры точкой с запятой.

Пример:

Оформить в виде процедуры метод вычисления степени y=xn
c натуральным показателем
.

END;

В заголовке процедуры с именованием

перечислены характеристики



определяющие начальные данные процедуры, и параметр
, обозначающий

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

Для получения результатов в главный программке употребляются параметры-переменные. Эти характеристики перечисляются опосля служебного слова
с неотклонимым указанием типа.

тело процедуры состоит:

1)
Из описательной части, где определена переменная
, нужная и имеющая смысл лишь снутри данной процедуры и именуемая локальной переменной (

2)
Из составного оператора BEGIN-END, реализующего метод вычисления степени реального числа с натуральным показателем.

Это то же вычисление оформим в виде процедуры без характеристик:


В этом случае процедура

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




именуются глобальными по отношению к процедуре

.

1.2 Функция.

Функция

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

Описание функции аналогично описанию процедуры и состоит из заголовка и блока. Заголовок функции имеет вид:


Где
– служебное слово,


имя функции,


список формальных характеристик (начальных

данных) с указанием их типов,


тип результата:

Допускается описание функции без характеристик:


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

Пример:

Оформить в виде функции метод вычисления степени Y=Xn
:












В заголовке функции с именованием

перечислены характеристики


, определяющие ее начальные данные. Итог выполнения функции (Y
) присваивается ее имени

. Тип результата (тип функции) –

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

1.3 Воззвание к подпрограммам.

Описание процедуры (либо функции), расположенное в разделе описаний, {само по себе} никакого деяния не вызывает. Чтоб исполнить функцию (либо функцию), нужно в подходящем месте программки поместить воззвание к ней. Воззвание к процедуре делается при помощи оператора процедуры, имеющего вид:

Где
имя процедуры, к которой происходит воззвание,


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

При вызове процедуры формальные характеристики, обозначенные в заголовке, заменяются аргументами в порядке их следования: первому слева параметру в перечне ставится в соответствие 1-ый аргумент, второму – 2-ой и т.д. Аргументы, перечисленные в операторе процедуры, именуются также фактическими параметрами. Число, тип и порядок следования формальных и фактических характеристик обязано совпадать. структура программки, содержащей функцию, имеет вид:

Пример:

Cоставить программку вычисления степени Z=An
, где n – целое число и A<>0. Степень с целым показателем определяется последующим образом:

Беря во внимание, что 1/An
= (1/A)n
и используя функцию

описанную в пт 1.1, составим метод рис.1 а), б) и программку.






FOR I:=1 TO N DO


{
}




























б)

нет да


STEP1

(m,1/a,z)











STEP1

(m,a,z)








а)

Рис. 1

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

. В теле процедуры произойдет подмена формальных характеристик




на фактические




1-ый раз и на




2-ой раз. Потом производится совокупа действий, предусмотренных операторами процедуры, и в программку будет возвращен итог
. Возврат осуществляется к оператору программки

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



– это переменные, фиктивно (формально) присутствующие в процедуре и определяющие тип и пространство подстановки фактических характеристик.



это настоящие объекты (программки, заменяющие в теле процедуры при ее вызове формальные характеристики). Над этими объектами и выполняются деяния, предусмотренные операторами тела процедуры.

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

Воззвание к функции осуществляется аналогично воззванию к обычным функциям (




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

Пример:

Составить программку вычисления

,

используя функцию

описанную в п. 1.2., (

действительное,

целое).













Функция

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

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

Даны два вектора: А, состоящий из 3-х частей, и В, состоящий из 4 частей. Возвести любой элемент вектора в квадрат и отыскать сумму частей. Деяния над векторами оформить в виде процедуры.










2. Задание

2.1
Из таблицы 1. По номеру компа взять задание и составить программку,

иcпользуя подпрограмму- функцию.

2.2
Из таблицы 2 по номеру компа взять задание и составить программку, ис

пользуя подпрограмму FUNCTION.

2.3
Из таблицы 3 по номеру компа взять задание и составить программку, ис

пользуя подпрограмму FUNCTION.

2.4
Из таблицы 4. По номеру компа взять задание и составить программку, ис

пользуя подпрограмму- функцию

3. Содержание Отчёта

отчет ДОЛЖЕН СОДЕРЖАТЬ:

1) Задание к работе;

2) Программку;

3) Блок- схему метода;

4) Результаты расчётов;

4. Контрольные вопросцы:

1.
Заголовок процедуры и функции.

2.
Что заходит в тело процедуры?

3.
Отличия процедуры и функции.

4.
Понятия локальной и глобальной переменной.

5.
Воззвание к подпрограммам.

6.
Какие характеристики являются фактическими, какие формальными?

7.
Характеристики процедур и функций.

8.
Соответствие меж формальными и фактическими параметрами.


5. Литература

1. Новичков В.С. ПАСКАЛЬ – В.С. Новичков, Н.И. Парфилов, А.Н. Пылькин — М.: Высш. школа, 1990г. 223 стр.

2. Савельев А.Я. ЯЗЫКИ ПРОГРАММИРОВАНИЯ (Паскаль, ПЛ/М). – М.:Высш. школа. 1987г. –143 стр.

3. Боон К. ПАСКАЛЬ ДЛЯ ВСЕХ. – М.- Энергоатомиздат, 1988г.- 190 стр.

тут применены последующие процедуры:

GoToXY (X, Y:Byte) — перемещает курсор к элементу экрана с данными координатами, беря во внимание, что размер экрана в текстовом режиме 25 строк по 80 знаков.

TextBackGround (Color : Byte) – задает цвет фона.

TextColor (Color : Byte) – задает цвет знаков.

uses crt;

var s1,s2,s3:string;

c1,c2,c3:byte;

procedure pr(s:string;x,y,c:byte);

begin

textcolor(c);

gotoxy(x,y);writeln(s);

end;

begin

writeln(‘введите оценку по арифметике’);readln(s1);

writeln(‘введите оценку по физике’);readln(s2);

writeln(‘введите оценку по истории‘);readln(s3);

clrscr;

pr(‘матемаитка’+s1,1,1,5);{на первом месте текст, столбец, строчка, цвет печати}

pr(‘физика’+s2,40,10,8); {физика+ оценка, столбец 40, строчка 10, цвет 8(сероватый)}

pr(‘история’+s3,70,23,12); {история+, столбец 70, строчка 23, цвет 12(св крас)}

repeat until keypressed;

end.

Таблица
1

N
вар.



Содержание задания


1
.


Процедура запрашивает три фамилии и выводит текст в данном месте экрана.(употреблять модуль crt)



2.


Процедура запрашивает имена трёх человек и выводит их различным цветом.(употреблять модуль crt) красноватый голубий голубой)



3
.


Процедура запрашивает оценки по трём предметам и цвет и выводит данным цветом.(употреблять модуль crt)(красноватый голубий голубой)



4.


Процедура запрашивает частоту обновления трёх марок мониторов и выводит их мерцающим цветом. (употреблять модуль crt)



5
.


Процедура запрашивает частоту трёх марок микропроцессора и выводит их по главной диагонали. (употреблять модуль crt)



6.


Процедура запрашивает три объёма памяти разных марок видео карт и выводит их по побочной диагонали. (употреблять модуль crt)



7
.


Процедура запрашивает частоты трёх марок материнских плат микропроцессора и выводит их сверху, в центре, понизу средней части экрана. (употреблять модуль crt)



8
.


Процедура запрашивает скорость трёх марок машин и выводит их в центре экрана сначала посреди и в конце строчки. (употреблять модуль crt)



9.


Процедура запрашивает массу подъёмную трёх марок грузовых авто и выводит их в конце строчки в на 1 , в центре, в конце строчки. (употреблять модуль crt)



10.


Процедура запрашивает количество мест трёх марок автобуса и выводит красноватым цветом в нижней строке экрана по очереди. (употреблять модуль crt)




Таблица 2


N
вар.


Содержание задания



1
.


при а=4,5; b=0,7; c=6,2; А x воспринимает значения 0,2; 0,56; 0,83



2.


, при a=0,8; b=0,16; c=0,4;

a=0,6; b=0,4; c=1,2;

a=0,47; b=0,1; c=0,5.



3


, при a=0,15; b=1,5;

a=1,7; b=0,1.



4.


, при x=1,4; y=0,8;

x=0,9; y=0,6;

x=2,9; y=0,4; a d=5,3, при всех значениях x,y.



5.


, при x=0,4; y=1,2;

x=0,25; y=1,3;

a=0,54; b=1 при всех значениях x, y



6.


, при a=10,7; b=6,3; y=0,35; a x воспринимает значения 0,6; 0,51; 0,42.



7.


, при x=3; y=4;

x=1,6; y=5,8;

x=4,5; y=2,7; a=7,1; b=2,4 при всех значениях x, y



8.


, при x=0,1; y=0,7;

x=0,4; y=0,6

x=0,5; y=0,2; a=2; b=0,1 при всех значениях x, y



9.


, при a=9,7; b=2,7, a x воспринимает значения 4,8; 9,6; 0,44.



10.


, при x=0,35; y=0,1;

x=0,82; y=0,12;

x=0,67; y=0,3, a=0,24;

b=4,9 при всех значениях x, y.




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




















программка, содержащая описание процедуры удвоения аргументов.









Таблица 3

1. Опишите функцию нахождения большего из трёх чисел..



2. Опишите функцию нахождения гипотенузы по двум катетам.



3. Опишите функцию нахождения катета по его гипотенузе и второго катета



4. Опишите функцию разность косинусов 2-ух углов.



5. Опишите функцию сумму синусов 2-ух углов.



6. Опишите функцию вычисления куба числа.



7. Опишите функцию суммы квадратов 2-ух чисел.



8. Опишите функцию разности квадратов 2-ух чисел.



9. Опишите функцию определения среднего значения из трёх введенных



10. Опишите функцию нахождения меньшего из трёх чисел.




Таблица 4

1.Опишите функцию, которая находит квадрат разности 2-ух чисел.



2.Опишите функцию, которая вычисляет площадь прямоугольного треугольника.



3.Опишите функцию, которая вычисляет периметр прямоугольника.



4.Опишите функцию, которая переводит угол из градусов в радианы.



5.Опишите функцию, которая вычисляет сумму по модулю 2-ух чисел



6.Опишите функцию, которая вычисляет разность по модулю 2-ух чисел



7.Опишите функцию, которая вычисляет произведение по модулю 2-ух чисел



8.Опишите функцию, которая вычисляет сумму кубов 2-ух чисел.



9.Опишите функцию, которая вычисляет разность кубов 2-ух чисел.



10.Опишите функцию, которая вычисляет произведение кубов 2-ух чисел.

]]>