Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вводные понятия




End.

End.

End

 

Пример 5.14. Дана матрица A размера 5´5, состоящая из вещественных элементов. Вычислить суммы элементов, лежащих на главной и побочной диагоналях матрицы.

Для решения этой задачи необходимо определить, какому условию удовлетворяют индексы элементов диагоналей квадратной матрицы. Несложно заметить, что для элементов главной диагонали должно выполняться равенство i = j, а для элементов побочной – равенство i + j = n + 1, или j = n + 1 – i, где n – размер матрицы, в данном случае n = 5. Таким образом, элемент главной диагонали, находящийся в i-й строке – это a[i, i], а элемент побочной диагонали, стоящий в i-й строке – это a[i, n+1–i]. Для просмотра всех элементов каждой диагонали надо организовать цикл вида for i:=1 to n.

Имеем следующую программу.

 

const n = 5;

var i, j: integer;

A: array[1..n, 1..n] of real;

sGlavn, sPoboch: real;

begin writeln (‘Введите матрицу ’);

for i:= 1 to n do

for j:=1 to n do read(A[i, j]);

sGlavn:=0; sPoboch:=0;

for i:=1 to n do

begin sGlavn:= sGlavn + A[i, i];

sPoboch:= sPoboch + A[i, n+1–i];

end;

writeln(‘Сумм. главн. = ’, sGlavn:10:5,

’ Сумм. побочн. = ’, sPoboch:10:5);

 

Тема 6. Подпрограммы

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

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

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

Пример 6.1. Нужно вычислить значение выражения

.

Несложно заметить, что все три части в этой формуле имеют схожее строение вида . В первом выражении вместо t надо подставить х, во втором – 1/ х, а в третьем – sin(x). Значит, для экономии места можно не программировать три разных формулы, а запрограммировать только одну, и использовать её три раза, подставляя разные исходные данные.

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

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

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

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

Одну и ту же подпрограмму можно использовать в одной или нескольких точках главной программы или другой подпрограммы, поместив в эти точки операторы вызова подпрограммы, которые обеспечивают ее выполнение (активизацию). Каждый такой оператор должен содержать

- имя вызываемой подпрограммы,

- исходные данные.

Эти данные передаются подпрограмме в момент её вызова, затем выполняются действия, заданные операторами подпрограммы, после чего управление передается вместе с результатами счёта в место вызова подпрограммы (рис.6.1).

 

 
 

 

 


Рис.6.1. Взаимодействие вызывающей (главной) программы и подпрограммы

 

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

В языке PASCAL имеется две разновидности подпрограмм - процедуры (procedure) и функции (function).

Описание подпрограмм. Так же, как описание программы в целом, описание подпрограммы состоит из заголовка, раздела описания объектов подпрограммы и раздела операторов, который заканчивается символом ’; ’ (рис.6.2):

 

Заголовок;

const < описание констант >

type < описание типов >

var < описание переменных >




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 471; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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