- •1. Понятие алгоритма и его свойства
- •2.Способы представления алгоритма
- •3. Средства описания языков программирования
- •4. Классификация языков программирования
- •5. Базовые элементы языка Паскаль
- •6.Структура программы
- •7.Стандартные типы данных.Числовые типы.
- •8. Стандартные не числовые типы данных
- •9. Выражения и виды операций
- •10. Стандартные функции
- •10.2 Стандартные функции
- •11. Операторы действия
- •12. Процедуры ввода
- •13. Процедуры вывода
- •14. Структурные операторы. Составной оператор. Условные операторы.
- •15. Операторы цикла.
- •17. Структурированные типы данных. Массивы.
- •18. Строки
- •19. Записи
- •20. Процедуры. Процедуры без параметров. Параметры- значения.
- •21. Процедуры. Параметры-переменные.
- •22. Пользовательские функции
- •23. Рекурсия
- •24. Понятие файла
- •25. Процедуры и функции для работы с файлами
- •26.Текстовые файлы
- •27. Модули
- •28. Распределение памяти при выполнении программ
- •29.Указатели. Ссылочные переменные
- •30. Процедуры для работы со ссылками
- •33. Структурное программирование.
- •34. Нисходящее проектирование программ
19. Записи
Структура записи в Паскале.Записи являются структурированным типом данных. Они состоят из компонент, имеющих в общем случае разные типы. Компонент записи называется полем и обозначается идентификатором - именем поля. Описание записей возможно с применением типов или в разделе описания переменных: type<имя типа> = record <идентификатор поля 1>: тип 1; <идентификатор поля 2>: тип 2;.....<идентификатор поля к>: тип к; end; var <идентификатор>:<имя типа>; <идентификатор>:record <идентификатор поля 1>: тип 1; <идентификатор поля 2>: тип 2;<идентификатор поля к>: тип к; end;В секции могут перечисляться несколько имен полей одного типа. Тип поля может быть любым, кроме файлового.К каждому компоненту записи можно обратиться, используя имя переменной типа записи и имя поля, разделенные точкой: <идентификатор>. <имя поля>. При обращении к элементу массива записей, индекс указывается после имени массива: <идентификатор массива>[индекс].<имя поля>Введение в Паскале такого типа вызвано необходимостью описания реального объекта в целом. Пример 1. Описание времени и даты.type time = record hour:l.-12; minute:0..59; end;var tl,t2:time; date : record day:l..31; month:0..12; year:word end;К компонентам записи можно обратиться, например; tl.hour, t2.minute, date.month. Над компонентами записи определены операции, допустимые для соответствующего типа. Оператор присоединения Обращение к элементам записи их полным именем громоздко. Этот недостаток устраняют с помощью оператора присоединения with. Формат оператора:with R do SI; где R - имя переменной записи, a S1 - тело оператора присоединения. Внутри него выборка поля переменной R может быть обозначена просто именем этого поля.
20. Процедуры. Процедуры без параметров. Параметры- значения.
При решении сложных объемных задач часто целесообразно разбивать их на более простые. В этом случае говорят о вспомогательных алгоритмах или подпрограммах. Использование подпрограмм позволяет сделать основную программу более наглядной, понятной, уменьшить вероятность ошибок и облегчить процесс отладки программы, а в случае, когда одна и та же последовательность команд встречается в программе несколько раз, сократить объем программы.Подпрограмма - это поименованная последовательность операторов, которую можно многократно вызывать для исполне-1 ния в любом месте программы. При обращении к подпрограмме в нее передаются исходные данные, а после выполнения операто- ров подпрограммы передаются в основную программу результаты расчетов. В языке Паскаль существует два вида подпрограмм, определяемых программистом: процедуры и функции, которые отличаются способом использования в программе. Процедуры и функции, используемые в программе, должны быть соответствующим образом описаны в разделе описаний до первого их упоминания. Процедуры и функции, входящие в программу, могут содержать свои подпрограммы и вызвать процедуры и функ-ции более низкого уровня и т.д. ПроцедурыПроцедурой в Паскале называется именованная последовательность инструкций, реализующая некоторое действие. В нужное место программы процедуру вызывают с помощью оператора вызова. После выполнения процедуры программа перейдет к выполнению оператора, следующего за оператором вызова. Формат описания процедуры:Рrocedure<Имя процедуры>(<форм. параметры>); <Раздел описаний> Begin<Тело процедуры> End;Формальные параметры — перечень имен для обозначения исходных данных и результатов работы процедуры, используемых для описания процедуры, с указанием их типов.Раздел описаний может иметь такие же подразделы, как и раздел описаний основной программы. Однако все описанные здесь объекты доступны лишь в этой процедуре. Они локальны так же, как и имена формальных параметров. Объекты, описанные ранее в разделе описаний основной программы и не переопределенные в процедуре, называются глобальными для этой подпрограммы и доступны для использования. Формат оператора вызова: <имя процедуры> (<фактические параметры>) ;Фактические параметры - данные, с которыми выполняется процедура. Между формальными и фактическими параметрами должно быть соответствие по количеству, типу и порядку следования. Процедуры могут быть без параметров, например, Procedure Р11; . При описании процедур без параметров используются глобальные переменные. Процедура - это (как и функция) некоторый независимый вспомогательный алгоритм (или имеющая имя часть программы), к которому можно обращаться для выполнения указанной в нем последовательности операций. Однако, в отличие от функции, результат исполнения процедуры либо вовсе не возвращается в основной алгоритм, либо передается в него как значения нескольких его параметров. Поэтому процедура не может входить в выражение как операнд. Пример: процедуры ввода данных с клавиатуры и вывода данных на экран монитора.