Подпрограммы Турбо Паскаля, их основные функции
Разновидности и задачи подпрограмм в языке Турбо Паскаль, их локальные и глобальные параметры. Использование процедуры для выполнения законченной последовательности действий. Формат объявления функции, особенности рекурсивного оформления подпрограммы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 08.02.2012 |
Размер файла | 20,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
13
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
НОВОКУЗНЕЦКИЙ ФИЛИАЛ
РЕФЕРАТ
ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»
ТЕМА: «ПОДПРОГРАММЫ ТУРБО ПАСКАЛЯ, ИХ ОСНОВНЫЕ ФУНКЦИИ»
Выполнила студентка
группы Ф-7100НК
Бедарева И.А.
Руководитель: Князев С.В.
2010
Содержание
Введение
1. Подпрограммы
2. Процедуры
3. Функции
4. Формальные и фактические параметры
5. Рекурсивные подпрограммы
Заключение
Список литературы
Введение
Пакет Turbo Pascal 7.0 обладает ограниченными возможностями и позволяет работать только в обычном режиме MS DOS. Начинающему программисту, по-видимому, целесообразно начать изучение языка и среды именно с этого пакета.
Язык характеризуется расширенными возможностями по сравнению со стандартом, хорошо развитой библиотекой модулей, позволяющих использовать возможности операционной системы, создавать оверлейные структуры, организовывать ввод-вывод, формировать графическое изображение и т.д.
Среда программирования позволяет создавать тексты программ, компилировать их, находить ошибки и оперативно их исправлять, компоновать программы из отдельных частей, включая стандартные модули, отлаживать и выполнять отлаженную программу.
В данной работе будут описаны основные возможности языка, работа в интегрированной среде, набор стандартных модулей.
Паскаль замечательный язык программирования, который относительно прост в изучении, довольно ясен и логичен и, будучи первым изучаемым языком программирования, приучает к хорошему стилю. Паскаль воспитывает дисциплину структурного программирования и программирования вообще лучше, чем другие языки программирования, такие, как, например Бейсик.
Паскаль - гибкий и развитый в отношении типов данных язык. Привлекательны его рекурсивные возможности, а также поддержка технологии объектно-ориентрованного программирования.
1. Подпрограммы
В практике программирования довольно часто встречается ситуация, когда одну и ту же группу операторов, реализующих определенную цель, требуется повторить без изменений в нескольких других местах программы. Чтобы избавить программиста от такого нерационального занятия, в 1957 году М. Уилксом была предложена концепция подпрограмм, которая получила широкое распространение практически во всех языках программирования.
Подпрограмма - это именованная логически законченная группа операторов языка, которую можно вызвать для выполнения любое количество раз из различных мест программы. В языке Turbo Pascal существуют две разновидности подпрограмм: процедуры и функции.
Процедура - это независимая поименованная часть программы, предназначенная для выполнения определенных действий. По структуре ее можно рассматривать как небольшую программу. После однократного описания процедуру можно вызвать по имени из последующих частей программы. После выполнения процедуры программа продолжится с оператора, следующего непосредственно за оператором вызова процедуры. Имя процедуры не может находиться в выражении в качестве операнда.
Функция аналогична процедуре, но имеет два отличия:
1) функция передает в программу результат своей работы в виде значения простого типа;
2) имя функции может находиться в выражении как операнд.
Все процедуры и функции языка Turbo Pascal подразделяются на две группы: стандартные и определенные пользователем.
Стандартные процедуры и функции являются частью языка и могут вызываться по имени без предварительного описания. Процедуры и функции пользователя организовываются самим программистом в соответствии с правилами языка. Предварительное описание таких подпрограмм обязательно.
В отличие от стандарта языка Паскаль в версии Turbo Pascal не реализованы стандартные процедуры Get, Put, Pack, UnPack, Page.
Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные и глобальные. Локальные параметры объявляются внутри подпрограммы и доступны только ей самой. Глобальные параметры объявляются в основной программе и доступны как самой программе, так и всем ее подпрограммам. Обмен информацией между программой и подпрограммой может осуществляться только с помощью глобальных параметров. Подпрограмма может использовать глобальные параметры двояким образом: непосредственно обращаясь к параметру по имени либо используя механизм формальных параметров. Подпрограмма может непосредственно использовать любые глобальные параметры, кроме тех, которые имеют те же имена, что и ее локальные параметры.
2. Процедуры
Процедура предназначена для выполнения какой-то законченной последовательности действий. Объявление процедуры включает заголовок и тело процедуры:
Procedure <имя> (<формальные параметры>);
<разделы описаний>
Begin
<раздел операторов - тело процедуры>
End;
Имя процедуры - идентификатор, уникальный в пределах программы. Разделы описаний в процедуре - такие же, как и в основной программе. Формальные параметры могут отсутствовать.
Формат оператора вызова процедуры:
<имя процедуры> (<список фактических параметров>);
Список фактических параметров может отсутствовать.
Несколько параметров, записываемых в объявлении процедуры и операторе вызова, разделяются запятыми. Фактические параметры должны совпадать по количеству и типам с формальными параметрами процедуры.
Пример. Процедура ввода N целых чисел.
Program Prim;
Type
Arr=array[1..100] of Integer;
Var
Vector: Arr;
Kol: Byte;
Procedure InpInt(var Mas:Arr; N:Byte);
Var
i:Integer;
Begin {Тело процедуры InpInt}
Writeln('Введите ',N,' целых чисел');
For i:=1 to N do Readln(Mas[i])
End;
Begin {Тело основной программы}
{Здесь должна быть проверка N<=100 перед вызовом процедуры}
InpInt(Vector,Kol); {Вызов процедуры InpInt}
End.
3. Функции
Объявление функции содержит зарезервированное слово Function, имя функции, список формальных параметров в круглых скобках, затем через двоеточие записывается тип функции, являющийся типом возвращаемого значения. Функция может возвращать значения следующих типов: порядкового, вещественного, строкового, указатель. В теле функции хотя бы раз имени функции должно быть присвоено значение. Формат объявления функции:
Function <имя> (<формальные параметры>):<тип результата>;
<разделы описаний>
Begin
<раздел операторов>
End;
Пример. Функция вычисления факториала числа N.
Function Factorial(N: Byte): LongInt;
Var i: Byte;
Begin
Factorial:=N;
For i:=(N-1) downto 2 do
Factorial:=Factorial*i;
End;
Для досрочного выхода из подпрограммы предусмотрена процедура Exit. Досрочно прекратить выполнение программы можно с помощью процедуры Halt.
4. Формальные и фактические параметры
подпрограмма турбо паскаль рекурсивный
Формальные параметры указывают, с какими параметрами следует обращаться к этой подпрограмме (количество параметров, их последовательность, типы). Они задаются в заголовке подпрограммы в виде списка формальных параметров, разбитого на группы, разделенные точками с запятыми. В группу формальных параметров включаются однотипные параметры одной категории. В языке Turbo Pascal существует четыре категории формальных параметров:
1. параметры-значения, которые в подпрограмме не изменяются;
2. параметры-переменные, которые подпрограмма может изменить и передать в основную программу;
3. параметры-константы (используются только в версии 7.0);
4. параметры-подпрограммы (параметры процедурного типа).
Для каждого формального параметра следует указать его имя и через двоеточие тип, а в случае параметра-переменной или параметра-константы - его категорию. Тип формального параметра может быть практически любым, однако в заголовок подпрограммы нельзя вводить новый тип. Например, нельзя записать:
Function Max(A: array[1..100] of Real): Real;
Чтобы правильно объявить данную функцию следует в основной программе объявить тип-массив, а затем использовать его в заголовке функции, например:
Type
Vector: array[1..100] of Real;
Function Max(A: Vector): Real;
При обращении к подпрограмме формальные параметры заменяются на соответствующие фактические вызывающей программы или подпрограммы.
Параметр-значение не может быть файлового типа. Если параметров-значений одного типа несколько, их можно объединить в одну группу, перечислив их имена через запятую, а затем через двоеточие указать общий тип, например:
Procedure One(Max,Min: Real; Number: Word);
Function Two(X,Y: Integer): Real;
В качестве фактического параметра на месте параметра-значения при вызове подпрограммы может быть любое выражение допустимого для присваивания типа, например:
One(Abs(Max),Abs(Min),Sqr(N));
Rezult:=Two(X+Y,X-Y);
Параметр-переменная указывается в заголовке подпрограммы аналогично параметру-значению, но перед именем параметра записывается слово Var. Действие слова Var распространяется в пределах одной группы параметров (до ближайшей точки с запятой). Тип параметров-переменных может быть любым, включая файловый.
Пример. Объявление подпрограммы с разными параметрами:
Procedure MxMn(Mas:Vector; Var Max,Min:Real; Num:Word);
Здесь Max и Min - параметры-переменные, Mas и N - параметры- значения.
Параметр-константа указывается в заголовке подпрограммы аналогично параметру-значению, но перед именем параметра записывается слово Const. Действие слова Const распространяется в пределах одной группы параметров. Параметры-константы предназначены для передачи в подпрограмму параметров больших размеров. Тип такого параметра может быть любым, кроме файлового.
В языке Turbo Pascal можно использовать параметры-переменные и параметры-константы без указания типа. В этом случае фактический параметр может быть переменной любого типа, а согласование формальных и фактических параметров возлагается на программиста.
5. Рекурсивные подпрограммы
Язык Turbo Pascal допускает, чтобы подпрограмма вызывала саму себя. Такой прием программирования получил название рекурсивное обращение. Для некоторых алгоритмов рекурсивное оформление подпрограммы может быть более компактным и эффективным, но следует помнить, что количество рекурсивных вызовов ограничено. Классическим примером рекурсивной подпрограммы служит функция вычисления факториала числа.
Пример. Рекурсивное вычисление факториала числа N.
Function Factorial(N: Byte): LongInt;
Begin
IF N in [0,1] Then Factorial:=1
Else Factorial:=N*Factorial(N-1)
Заключение
Развитие информатики в нашей стране всегда происходило со значительными трудностями. Еще в 50-е годы кибернетика наряду с генетикой была объявлена "буржуазной лженаукой", что, естественно, не могло не сказаться на темпах развития в СССР компьютерных технологий. Поэтому большинство теоретических и прикладных разработок в информатике было выполнено учеными из США и Великобритании. Отечественные компьютеры развивались только до середины 70-х годов, так как в СССР было принято решение копировать в производстве вычислительных машин зарубежные разработки - большие и малые ЭВМ фирм IBM и DEC. Так появились семейства ЕС и СМ ЭВМ, а эволюция компьютеров типа БЭСМ и других оригинальных моделей полностью прекратилась. При этом значительный вклад в отечественную компьютерную промышленность внесли Б.А. Бабаян, И.С. Брук, В.Л. Бурцев, В.М. Глушков, А.П. Ершов, М.А. Карцев, С.А. Лебедев, А.А. Ляпунов, Б.Н. Наумов, И.В. Прангишвили, Л.Н. Преснухин, Б.И. Рамеев и многие другие.
Проводимая с 1991 года в нашей стране перестройка социально-экономических отношений внесла еще больше проблем в процесс развития российской информатики. Практически полностью прекратилось производство отечественных микропроцессоров и других деталей для компьютеров, поэтому практически все персональные компьютеры, которые изготавливаются российскими производителями, полностью собираются из импортных комплектующих. Громадный вред рынку программной продукции в России наносит компьютерное пиратство, по уровню которого наша страна занимает одно из первых мест в мире. Большое количество российских специалистов по вычислительной технике и программированию выехали работать за границу. Все эти и прочие негативные факторы привели к тому, что современная Россия занимает примерно 50-е место в мире по уровню развития информационной технологии.
Однако наряду с указанными отрицательными моментами, российское общество стало более открытым, в связи с чем получило определенные выгоды. В Россию пришли новые передовые технологии в сферах компьютерной техники, программного обеспечения, средств связи и телекоммуникаций. Быстрыми темпами развивается отечественный сегмент сети Internet. Информатизация стала одним из решающих факторов развития современного российского общества, и общество должно быть к ней подготовлено. Для реализации процесса информатизации обществу необходимы специалисты, свободно владеющие различными инструментами информационной технологии. Учебный курс "Информатика", изучаемый студентами вузов практически всех специальностей на младших курсах, предназначен для начального ознакомления с основами информационной технологии. От того, насколько глубоко студент усвоил основы информатики, зависит его становление как специалиста, умеющего свободно владеть самыми передовыми достижениями информатики.
Список литературы
1. Турбо Паскаль 7.0. - К.: BHV, 1998.
2. Хершель Р. Турбо Паскаль 4.0/5.0. - Вологда: МИК, 1991.
3. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. - М.: Нолидж, 1997.
4. Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. - М.: Нолидж, 1997.
Размещено на Allbest.ru
Подобные документы
Использование графических возможностей Турбо Паскаля, подключение графического модуля Graph. Графические функции и процедуры. Общая структура графической программы. Построение фигур, определение цветов и стилей, работа с текстом, сообщения об ошибках.
реферат [109,3 K], добавлен 28.04.2010Особенности программирования на языке Паскаль в среде Турбо Паскаль. Линейные алгоритмы, процедуры и функции. Структура данных: массивы, строки, записи. Модульное программирование, прямая и косвенная рекурсия. Бинарный поиск, организация списков.
отчет по практике [913,8 K], добавлен 21.07.2012Основные сведения о системе программирования Турбо Паскаль. Структура программы на Паскале и ее компоненты. Особенности и элементы языка Турбо Паскаль. Порядок выполнения операций в арифметическом выражении, стандартные функции и оператор присваивания.
лекция [55,7 K], добавлен 21.05.2009Назначение и механизмы подпрограмм в программировании, их описание и вызов. Характеристика формальных и фактических параметров. Разновидности параметров в программе Паскаль. Способы передачи информации в подпрограммы, их виды. Отличие процедур от функций.
реферат [20,9 K], добавлен 06.03.2014Область видимости переменных. Хранение локальных данных в памяти компьютера. Использование опережающего описания для развязки закольцованных вызовов подпрограммы. Условия работоспособности рекурсивных подпрограмм. Параметры-функции и параметры-процедуры.
презентация [36,8 K], добавлен 13.10.2013Особенности использования графического режима в среде Турбо Паскаль. Типы драйверов. Инициализация графики. Построение изображения на экране. Графические примитивы и работа с текстом. Разработка и реализация программ в среде Турбо Паскаль "Графика".
курсовая работа [1,2 M], добавлен 26.09.2014Разработка прикладного программного обеспечения для решения задачи для персонального компьютера. Структура подпрограммы, механизмы передачи параметров и возврат результатов из подпрограммы. Вызов подпрограммы на выполнение. Отладка программы на языке С.
курсовая работа [818,1 K], добавлен 03.01.2014Общая характеристика языка программирования Турбо Паскаль: операторы, циклы, файлы. Процедуры и функции модуля Crt. Структурная и функциональная схема программы учета учащихся, таблица идентификаторов. Список и описание использованных подпрограмм.
курсовая работа [702,9 K], добавлен 29.01.2011Развертывание системы на жестком диске, диалоговая система программирования Турбо Паскаль, запуск программы и выполнение задания. Функциональные клавиши и их назначение. Текстовый редактор, средства создания и редактирования текстов программ, курсор.
реферат [18,6 K], добавлен 01.04.2010Определение понятий "процедура" и "функция", порядок их объявления для нескольких модулей. Перечень возможных вариантов расположения подпрограмм и особенности их использования. Осуществление передачи параметров в подпрограммы по значению и наименованию.
лабораторная работа [116,0 K], добавлен 30.09.2012