Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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






 

Тема: Разработка программ с использованием процедур и функций.

 

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

1. Основные понятия.

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

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

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

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

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

PROCEDURE <ИМЯ> (<СПИСОК ПАРАМЕТРОВ>),

где PROCEDURE – служебное слово, ИМЯ – имя процедуры, СПИСОК ПАРАМЕТРОВ - перечень имен для обозначения исходных данных и результатов работы процедуры с указанием их типов. Параметры, перечисленные в списке, называются формальными. Допускается описание процедуры, несодержащей формальных параметров:

PROCEDURE <ИМЯ>;

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

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

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

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

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

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

1.2. Функция.

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

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

FUNCTION <ИМЯ> (<СПИСОК ПАРАМЕТРОВ>):<ТИП>

где FUNCTION – служебное слово, ИМЯ – имя функции, СПИСОК ПАРАМЕТРОВ – перечень формальных параметров (исходных данных) с указанием их типов, ТИП – тип результата: значение, которое должно приобретать имя функции.

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

FUNCTION <ИМЯ>: <ТИП>;

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

1.3. Обращение к подпрограммам.

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

<ИМЯ> (<СПИСОК АРГУМЕНТОВ>);

где ИМЯ – имя процедуры, к которой происходит обращение, СПИСОК АРГУМЕНТОВ – перечень конкретных значений (выражений) и имен, подставляемых на место формальных параметров процедуры при ее выполнении.

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

Program <имя>;

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

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

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

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

 

2. Задание

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

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

 

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

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

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

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

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

5. Обращение к подпрограммам.

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

7. Параметры процедур и функций.

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

Литература

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

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

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

Таблица 1

N вар. Содержание задания
1. Определить математическое ожидание и дисперсию для четырёх случайных чисел, заданных векторами: A=[0,5; 1,5; 2] b=[6,7; 8; 7,5; 6] C=[0,1; 10; 4] d=[3,2; 5,1] Расчёт математического ожидания и дисперсии производится по следующим формулам:
2. Определить расстояние от начала координат до точки Р, делящей отрезок с координатами Р={2;6} M={10;8} в отношении L=3/2 . Расстояние определяется по формуле: , где    
3. Определить расстояние между точками А и В с координатами A=[2;5], B=[2;1], и точками C и D с координатами С=[20;4], D=[12;8]. Расстояние определяется по формуле: , где и
4. Вычислить значение функции , где корни уравнения ; - корни уравнения . Корни уравнения находятся в подпрограмме- процедуре. Если корни мнимые, то считать их равными нулю. Исходные данные: A=0,5; B=3; C=1;
5. Заданы стороны двух треугольников АВС (стороны а, в, с) и DEF (стороны d, e, f). Найти сумму и разность площадей треугольников АВС DEF. Площадь треугольника NKM со сторонами n, k, m вычисляется по формуле: r - полупериметр треугольника NKM. Исходные данные: а=3; b=2,5; c=1,7; d=2; e=7,8; f=7  
6. Три точки заданы своими декартовыми координатами a={1;2}, b={1,2;1}, c={-3; -4}. Вычислить полярные координаты этих точек. Полярный радиус r и полярный угол вычисляются по формулам: ,
7.     Определить номера точек, лежащих в круге радиусом r. Координаты точек заданы массивами и . Исходные данные: n=6; r=3; i=1,2….n ={-1; 2,3; 3,3; -1,8; -2,4} ={2;-2,8;6;1;-2; 1}
8. Вычислить значение где заданы массивом; =(0,2; 0,46; 0,33; 0,97; 0,15; 0,61; 0,54; 0,77)
9. Вычислить значение R= где X= S= элементы массива. Исходные данные:n=3; m=8; i=1,.2..m; =(5,6; 0,3; -0,9; 3; 2,8; 1,45; -4,6; 1)
10. Определить значение функции Z=sh(x+y) и M=sh(xy), где M изменятся от 1 до 0,5 с шагом 0,1; Y изменяется от 2 до 2,6 с шагом 0,2. Гиперболический синус вычисляется по формуле:  
11. Заданы стороны двух треугольников JKL (стороны j,c,l), и ABD (стороны a,b,d).Переменной S присвоить значение –1, если площадь треугольника JCL меньше или равна площади треугольника ABD, и значение 1,если площадь треугольника JCL больше площади треугольника ABD. Площадь треугольника MNK со сторонами m,n,k вычисляются по формуле Герона. W= где r-полупериметр треугольника MNK. Исходные данные j=1; c=2,5; i=2,7; a=1; b=2,7; d=3,2.
12. Построить таблицу Z=ch(x2=y2),где имеется от 3до 4 с шагом 0,1, y меняется от 2 до 3 с шагом 0,2. Гиперболический косинус вычисляется по формуле: CH(n)=(en+en)/2.  
13. Заданы два квадратных уравнения Ax2+Dx+C=0, Dx2+Fx+R=0. Найти минимальное значение среди корней этих уравнений. В случае если корни мнимые считать их равными нулю. Решение квадратного уравнения оформить в виде подпрограммы-процедуры. Исходные данные:a=2; b=-5,2; c=1,3; d=3,7; f=1,8; r=6.
14. Четыре точки заданы своими координатами X=(x1,x2), Y=(y1,y2) Z=(z1,z2), P=(p1,p2) Вычислить и напечатать, сколько из них принадлежит полосе, аналитически заданной неравенством: f<Ma1+Na2<r. Проверку на принадлежность точки полосе оформить в виде подрограммы-процедуры. Исходные данные M=5; N=3; f=2,5; r=7,1; X=(-4,2;3); Y=(1,8; 0,8); Z=(-8,6; -4,1); P=(-1; -0,1).
15. Задана окружность (x-a)2+(y-b)2=r и две точки P=(p1,p2) и F=(f1,f2).Выяснить и напечатать, сколько точек (нуль,одна или две) лежит внутри окружности. Проверку, лежит ли точка внутри окружности, оформить в виде подпрограммы-процедуры. Исходные данные a=3,2; b=4,1; r=2; p=(6,1; 4,3); f=(27,48;-6) .

 

Таблица 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.
, при 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.  
11. , при a=4; b=2,7, a x принимает значения 0,1; 0,25; 0,14; 0,21.
12.
13.  
14.  
15.

 

 








Дата добавления: 2015-09-15; просмотров: 865. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

ИГРЫ НА ТАКТИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ Методические рекомендации по проведению игр на тактильное взаимодействие...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

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

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

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

Studopedia.info - Студопедия - 2014-2023 год . (0.003 сек.) русская версия | украинская версия