Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
2018-01-04 | 177 |
5.00
из
|
Заказать работу |
|
|
Процедуры Процедурой в Паскале называется именованная последовательность инструкций, реализующая некоторое действие. В нужное место программы процедуру вызывают с помощью оператора вызова. После выполнения процедуры программа перейдет к выполнению оператора, следующего за оператором вызова. Формат описания процедуры:Рrocedure<Имя процедуры>(<форм. параметры>); <Раздел описаний> Begin <Тело процедуры> End;Формальные параметры — перечень имен для обозначения исходных данных и результатов работы процедуры, используемых для описания процедуры, с указанием их типов.Раздел описаний может иметь такие же подразделы, как и раздел описаний основной программы. Однако все описанные здесь объекты доступны лишь в этой процедуре. Они локальны так же, как и имена формальных параметров. Объекты, описанные ранее в разделе описаний основной программы и не переопределенные в процедуре, называются глобальными для этой подпрограммы и доступны для использования. Формат оператора вызова: <имя процедуры> (<фактические параметры>);Фактические параметры - данные, с которыми выполняется процедура. Между формальными и фактическими параметрами должно быть соответствие по количеству, типу и порядку следования. Процедуры могут быть без параметров, например, Procedure Р11;. При описании процедур без параметров используются глобальные переменные. Параметры процедуры Существует два способа передачи фактических параметров в подпрограмму: по значению и по ссылке. Соответственно параметры называются параметрами-значениями и параметрами-переменными.В первом случае значение переменной - фактического параметра при вызове подпрограммы присваивается локальной переменной, являющейся формальным параметром подпрограммы. Изменение локальной переменной никак не отражается на соответствующей глобальной. В качестве фактических параметров может служить любое выражение соответствующего типа.Передача параметров по ссылке отличается тем, что при обращении к подпрограмме имя формального параметра будет указывать на ту же область памяти, что и имя соответствующего фактического параметра. При описании подпрограммы перед именем параметра-переменной ставится служебное слово Var. В этом случае изменения выполняются в ячейках памяти фактических параметров. Поэтому в качестве фактических параметров можно использовать только имена переменных.
|
Пользовательские функции
Подпрограмма-функция предназначена для вычисления какого-либо параметра. Функция состоит из заголовка и тела функции. Заголовок функции имеет вид: Function <имя> (формальные параметры):<тип>; где Function - служебное слово; <имя> — имя функции, определяемое в соответствии с общими правилами построения идентификаторов; <тип> - тип функции, т.е. тип возвращаемого параметра. Функция может возвращать типы вещественные, порядковые, строкового и любого указателя.
У этой подпрограммы два основных отличия от процедуры. Первое отличие - заголовок. Второе отличие в том, что процедура может иметь несколько выходных параметров - результатов, а функция только одно значение, передаваемое через ее имя. Именно этим объясняется то, что в теле функции хотя бы один раз имени функции должно присваиваться вычисленное значение.Структура функции такая же, как и процедуры. Передача параметров осуществляется так же, как в процедуре. Функция - это некоторый независимый вспомогательный алгоритм (или имеющая имя часть программы), к которому можно обращаться для выполнения указанной в нем последовательности операций. Функция предназначена для вычисления только одного значения переменной. Вызов функции производится на том шаге основного алгоритма, для реализации которого необходимо использовать значение именно данной функции (в выражениях, других функциях и т.п.). Обращение к функции состоит из имени функции и списка фактических параметров, которые должны совпадать по количеству и типам с формальными параметрами. При обращении к некоторым функциям список параметров может отсутствовать.В теле функции обязательно должна быть команда присваивания, где в левой части стоит имя функции, а в правой - ее значение. В противном случае значение функции не будет определено. Каждое обращение к функции приводит к исполнению компьютером предусмотренных этой функцией операций, которые позволяют найти конкретное значение данной функции. Полученное значение присваивается этой функции и помещается (как говорят, возвращается) в ячейку памяти, адрес которой определяется именем функции {пример - математические функции). Т.е. результат исполнения алгоритма-функции возвращается в основной алгоритм в виде единственного значения этой функции.
|
Рекурсия
При вычислениях возможны случаи, когда подпрограмма обращается к себе самой. Такую ситуацию называют рекурсией. Примером рекурсии служит подпрограмма вычисления факториала натурального числа:n!=система 1, если n=0; (n-1)!n, если n>0 function f(n:integer):integer; begin if n=0 then f:=l else f:=f (n-l)*n; end; Обращение к данной функции, например, с фактическим параметром 3, влечет следующие действия. Рекурсия. Рекурсия - это процесс, при котором вспомогательный алгоритм (функция или процедура) вызывает самого себя. Программу с рекурсией позволяют реализовать только некоторые языки программирования (в частности Pascal). Рекурсия позволяет свести общую задачу к другой, более простой задаче. Идея, рекурсии основана на использовании рекуррентных соотношений. Рекуррентное соотношение (рекуррентная формула) позволяет легко найти функцию для некоторого значения аргумента я, если известно ее значение для аргумента /7-1. Рекуррентные соотношения существуют для многих математических функций. Определения с п омощью рекуррентных формул иногда назы вают рекурсивными определениями. Достоинства алгоритмов, в которых используются рекурсии: простота, наглядность и компактность, поскольку использо вание рекурсии позволяет легко (почти дословно) построить алгоритм вычисления по рекуррентным.формулам. Недостаток таких алгоритмов: неэкономное использование оперативной памяти при их реализации на компьютерах.Текущим уровнем рекурсии называется число рекурсивных вызовов в каждый конкретный момент времени. Главное требование к рекурсивным процедурам: вызов ре курсивной процедуры должен выполняться по условию, которое на каком-то уровне рекурсии станет ложным. Если условие истинно, то рекурсивный спуск продолжается Когда оно становится ложным, то спуск заканчивается и начина ется поочередный рекурсивный возврат из всех вызванных на данный момент копий рекурсивной процедуры.Б езусловные рекурсивные процедуры приводят к бесконеч ным процессам, и на эту проблему нужно обратить особое внима ние, так как практическое использование процедур с бесконеч ным самовызовом невозможно. Такая невозможность вытекает из того, что для каждой копии рекурсивной процедуры необхо димо выделять дополнительную область памяти, а бесконечной памяти не существует.Рекурсии делятся на два вида: прямую и косвенную. При прямой рекурсии во вспомогательном алгоритме осуществляется обращение этого алгоритма к самому себе.
|
Понятие файла
Файл в Паскаль-программе представляет структурированный тип данных, образованный последовательностью компонентов одного типа. В Паскале имеются три разновидности файлов: типизированные, безтиповые и текстовые. Доступ к физическим файлам происходит через так называемые файловые переменные. Для организации ввода/вывода в программе необходимо выполнить следующие действия:- объявить файловую переменную;- открыть файл для чтения и/или записи;- выполнить операции ввода/вывода;- закрыть файл. В любой момент доступен только один компонент файла. Другие компоненты становятся доступными по мере продвижения по файлу, В отличие от массива число компонентов в файле не фиксируется. Его длина определяется в процессе выполнения программы и ограничивается только доступной памятью. Позиция файла, следующая за последним компонентом файла (или первая позиция пустого файла), помечается специальным маркером, который отличается от любого компонента файла. Для работы с файлами используют специальные процедуры и функции. С их помощью осуществляются все необходимые действия по созданию файлов и доступа к их компонентам. Перед выполнением операций файловая переменная связывается с физическим файлом, после чего он в тексте программы не упоминается. В Паскале есть подпрограммы, применяемые для файлов любого типа, а также подпрограммы для работы только с определенными типами файлов. Для эффективного выполнения операций ввода/вывода из внешних файлов в Паскале целесообразно использовать нетипизированные файлы, так как при работе с ними можно использовать быстрые дисковые операции низкого уровня. Нетипизированные файлы дают возможность прямого доступа к любому файлу на диске независимо от его типа и структуры.
|
|
|
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!