Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика (лекции).docx
Скачиваний:
9
Добавлен:
26.11.2018
Размер:
2.07 Mб
Скачать

Знать чем отличается функция от процедуры.

Функция, если она встречается в выражении, называется указателем функции или обращением к функции.

  1. Организовать работу нескольких программистов над одной программой с последующих отдельно отлаженных ?????????????????????????????????????????

  2. Проводить отладку отдельных блоков, и только после этого программы в целом.

  3. Значительно экономить память.

  4. Упрощается внесение изменений в программу.

Паскаль допускает 5 основных способов использования и размещение подпрограмм.

  1. Основная программа, процедуры и функции расположены в одном файле.

  2. Подпрограммы расположены в отдельных файлах и включаются в основной файл с помощью директивы компилятора.

  3. Подпрограммы организуются как оверлейные структуры и поочерёдно загружаются в одно и тоже место памяти.

  4. Подпрограммы пишутся на машинном коде и включаются в программу одним из вышеуказанных способов.

  5. Подпрограммы оформляются как внешние и вызываются из основной программы.

Процедуры пользователя:

Состоит из Proсedure, имя процедуры name_P и необязательно списка параметром

Proсedure name_P [p1, p2…,:’тип’;Var p3, p4,…:’тип’;..)];

P1 p2 - имена формальных параметров значений

P3 p4 – имена формальных параметров переменных

Имя типа формального параметра должно быть задано предварительно в разделе описания Type.

Type M=array[1..100] of real;

Procedure name_p (p:m);

Список формальных параметров может отсутствовать

Randomize;

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

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

Если не требуется передавать во внешнюю программу новое значение, то следует использовать параметр значения, а не параметр переменной. В процедуре можно использовать локальные метки, константы и переменные, описав их в разделе описание процедуры. Локальные имена не должны совпадать с ф?????????7? а их значение не передаются во внешнюю программу. Метки константы и переменные, описанные во внешней программе раньше, чем сама процедура, называются глобальными по отношению к вызываемой процедуре.

Найти разность среднеарифметический значений 2-х вещественных массивов из 10 элементов

!!!!!!!Задача!!!!!!!!

Глобальными называются переменные описанные в главной программе. Переменные которые небыли инициализированы явным образом обнуляются. ( которым не присваиваются конкретные значения)

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

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

Виды параметров подпрограмм

Список параметров содержится в её заголовке. Для каждого параметра обычно задаётся его имя, тип и способ передачи. В заголовке подпрограммы нельзя вводить имя нового типа – либо стандартные типы, либо описанные type.

  1. Значение

  2. Переменные

  3. Константы

  4. Не типизированные параметры

Особые виды параметров

  1. Открытые массивы и строки

  2. Процедурные и функциональные параметры

  3. Объекты

Параметры значения

На месте параметра передаваемого по значению может находиться выражение.

Параметры переменный. Признаком параметра переменной является ключевое слово Var перед описанием параметра.

Файл.

Файл - это поименованная область памяти на внешнем носителе, предназначенная для хранения информации.

Стандартные файлы – файлы определённые разработчиками системы.

Файлы пользователя – файлы размещённые на внешних носителях и используемые программами.

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

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

Определение файлового типа.

Файл – это структурированный тип данных, состоящий из компонентов одного типа и одной длины. Чаще всего компонентами файла являются записи. Определение типа файла начинается с словосочетания «file of».

Формат

Type<имя_типа>=file of<тип компонента>;

Var

<индификатор>:<имя типа>;

Пример.

Пример 2

Файловые типы языка бывают стандартные и определённые программистом.

Стандартными являются:

  • Текстовый файл (text)

  • Бестиповый файл (file)

Text

File

Var

Ft:text:

Fb:file;

Можно определять файлы, состоящих из элементов определённого типа, такой файл называется компонентным или типизированным. Компоненты могут быть любого типа кроме файлового.

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

Доступ к файлам может быть последовательным – когда очередной элемент можно прочитать\записать только после аналогичной операции с предыдущим элементом.

Доступ может быть прямым – при котором выполняется чтение\запись произвольного элемента по заданному адресу.

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

Для организации ввода\вывода в программе необходимо выполнить следующие действия:

  1. Объявить файловую переменную.

  2. Связать её с физическим файлом.

  3. Открыть файл для чтения и\или записи.

  4. Выполнить операции ввода\вывода.

  5. Закрыть файл.

Ввод\вывод осуществляется через буфер – специальная область оперативной памяти.

Подпрограммы для работы со всеми типами файлов.

Процедуры

Assign (var f; filename:string); - связывает логический файл F с физическим имя которого задано в строке filename.

Close (Var f) – закрывает открытый логический файл.

Erase (Var f) - Уничтожает физический файл на диске, который был связан с файловой переменной f.

Rename (Var f; NewName:string) - Переименование физического файла на диске, связанного с логическим файлом

Reset (var f) - Открывает логический файл f для последовательного чтения данных(открывает входной файл).

RewRite (var f) – Открывает логический файл f для записи данных.

Если физический файл с которым связана переменна f, существовала ранее, то он очищается – информация безвозвратно теряется. Если файл не существовал, он создаётся.

Функции

Eof (var f):booleat – функция возвращает значение истина если при чтении достигнут конец файла.

IOResult (VAR f) – возвращает целое число соответствующее коду ошибки ввода\вывода. При успешном завершении значение функции = 0.

Текстовые файлы

Append(VAR f) – процедура добавление информации в конец файла.

Read (f, cnucok)

Readln(f, cnucok)

Write(f, cnucok)

writeln(f, cnucok)