🗊 Презентация Программирование алгоритмов обработки сложных данных

Категория: Образование
Нажмите для полного просмотра!
Программирование алгоритмов обработки сложных данных, слайд №1 Программирование алгоритмов обработки сложных данных, слайд №2 Программирование алгоритмов обработки сложных данных, слайд №3 Программирование алгоритмов обработки сложных данных, слайд №4 Программирование алгоритмов обработки сложных данных, слайд №5 Программирование алгоритмов обработки сложных данных, слайд №6 Программирование алгоритмов обработки сложных данных, слайд №7 Программирование алгоритмов обработки сложных данных, слайд №8 Программирование алгоритмов обработки сложных данных, слайд №9 Программирование алгоритмов обработки сложных данных, слайд №10 Программирование алгоритмов обработки сложных данных, слайд №11 Программирование алгоритмов обработки сложных данных, слайд №12 Программирование алгоритмов обработки сложных данных, слайд №13 Программирование алгоритмов обработки сложных данных, слайд №14 Программирование алгоритмов обработки сложных данных, слайд №15 Программирование алгоритмов обработки сложных данных, слайд №16 Программирование алгоритмов обработки сложных данных, слайд №17 Программирование алгоритмов обработки сложных данных, слайд №18 Программирование алгоритмов обработки сложных данных, слайд №19 Программирование алгоритмов обработки сложных данных, слайд №20 Программирование алгоритмов обработки сложных данных, слайд №21 Программирование алгоритмов обработки сложных данных, слайд №22 Программирование алгоритмов обработки сложных данных, слайд №23 Программирование алгоритмов обработки сложных данных, слайд №24 Программирование алгоритмов обработки сложных данных, слайд №25 Программирование алгоритмов обработки сложных данных, слайд №26 Программирование алгоритмов обработки сложных данных, слайд №27 Программирование алгоритмов обработки сложных данных, слайд №28 Программирование алгоритмов обработки сложных данных, слайд №29 Программирование алгоритмов обработки сложных данных, слайд №30 Программирование алгоритмов обработки сложных данных, слайд №31 Программирование алгоритмов обработки сложных данных, слайд №32 Программирование алгоритмов обработки сложных данных, слайд №33 Программирование алгоритмов обработки сложных данных, слайд №34 Программирование алгоритмов обработки сложных данных, слайд №35 Программирование алгоритмов обработки сложных данных, слайд №36 Программирование алгоритмов обработки сложных данных, слайд №37 Программирование алгоритмов обработки сложных данных, слайд №38 Программирование алгоритмов обработки сложных данных, слайд №39

Содержание

Вы можете ознакомиться и скачать презентацию на тему Программирование алгоритмов обработки сложных данных. Доклад-сообщение содержит 39 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Информатика и программирование Лебедева Т.Ф.
Описание слайда:
Информатика и программирование Лебедева Т.Ф.

Слайд 2


4 Программирование алгоритмов обработки сложных данных 1 Функции и процедуры: Рекурсия Рекурсия — это такой способ организации вспомогательного...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 1 Функции и процедуры: Рекурсия Рекурсия — это такой способ организации вспомогательного алгоритма (подпрограммы), при котором эта подпрограмма (процедура или функция) в ходе выполнения ее операторов обращается сама к себе. Вообще, рекурсивным называется любой объект, который частично определяется через себя. Для того чтобы такое обращение не было бесконечным, в тексте подпрограммы должно быть условие, по достижению которого дальнейшее обращение к подпрограмме не происходит. Приведём примеры рекурсивных определений. Пример 1. Классический пример, без которого не обходятся ни в одном рассказе о рекурсии, — определение факториала. С одной стороны, факториал определяется так: n! = 1 * 2 * 3 *...* n.

Слайд 3


4 Программирование алгоритмов обработки сложных данных 2
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 2

Слайд 4


4 Программирование алгоритмов обработки сложных данных 3 Пример 2. Выдать на печать в обратном порядке цифры целого положительного числа N. Составим...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 3 Пример 2. Выдать на печать в обратном порядке цифры целого положительного числа N. Составим процедуру REVERSE. PROCEDURE REVERSE (N: integer); Begin Write (N mod 10); If (N Div 10)0 Then REVERSE (N Div 10) END; Рассмотрим работу этой процедуры для числа N = 153. Оператор Write(N mod 10) выведет на экран остаток от деления 153 на 10, то есть 3. Оператор IF (N DIV 10)0 Then REVERSE (N DIV 10) проверяет целую часть частного 153/10 = 15 на ноль. Если целая часть не ноль, то с этим значением (15) идет вновь обращение к процедуре REVERSE. Оператор Write (N MOD 10) выводит на экран остаток от деления 15 на 10, т.е.5; затем со значением 15/10 = 1 идет обращение к REVERSE. После вывода цифры 1 оператором Write (N MOD 10) проба N DIV 10 на ноль передает управление на конец процедуры. На экране будет записано число 351. Таким образом, однократное обращение извне к процедуре REVERSE вызвало ее трехкратное срабатывание. Условие полного окончания должно находиться в самой процедуре, иначе произойдет зацикливание.

Слайд 5


4 Программирование алгоритмов обработки сложных данных 4 Функции и процедуры: Рекурсия Рекурсивные процедуры и функции (подпрограммы) имеют одну из...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 4 Функции и процедуры: Рекурсия Рекурсивные процедуры и функции (подпрограммы) имеют одну из двух форм: прямую рекурсию и косвенную рекурсию. В первом случае подпрограмма содержит оператор вызова этой же подпрограммы (как в примере с процедурой REVERSE). Во втором случае одна подпрограмма вызывает другую подпрограмму, которая либо сама, либо посредством других процедур или функций вызывает исходную подпрограмму. Если А,В - имена подпрограмм, то схема вызова может быть такой: А-В-А. В случае косвенной рекурсии возникает проблема: как и где описать вызываемую подпрограмму. По правилам языка Паскаль каждая подпрограмма должна быть описана до её вызова. Но если подпрограмма А вызывает В, а В вызывает А, то получается замкнутый круг. Для подобных ситуаций принято следующее правило: одна из рекурсивных подпрограмм, вызывающих друг друга, описывается предварительно следующим образом:

Слайд 6


4 Программирование алгоритмов обработки сложных данных 5 Функции и процедуры: Рекурсия PROCEDURE P(); FORWARD; Здесь P - имя процедуры, FORWARD -...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 5 Функции и процедуры: Рекурсия PROCEDURE P(); FORWARD; Здесь P - имя процедуры, FORWARD - ключевое слово. Это описание указывает транслятору, что текст процедуры Р помещен ниже. Подобным же образом описывается функция: к оператору FUNCTION добавляется слово FORWARD. Список формальных параметров и тип результата (для FUNCTION) включается только в это предварительное описание и опускается в заголовке соответствующей функции. Пример3. Пусть функция В при работе вызывает функцию А которая, в свою очередь, вызывает функцию В. Тогда эти модули можно описать так: FUNCTION B(X: INTEGER): REAL; FORWARD; FUNCTOIN A(Y: INTEGER): REAL; BEGIN :. A:=B(I)+3.5; END; FUNCTION B; BEGIN .......... B:=A(D)-1.8; END; Заголовок (FUNCTON B) перед текстом функции В содержит только имя функции, а список формальных параметров и тип функции не указываются.

Слайд 7


4 Программирование алгоритмов обработки сложных данных 6 Множества Множество — это структурированный тип данных, представляющий собой набор...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 6 Множества Множество — это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества. Все элементы множества должны принадлежать одному из порядковых типов, содержащему не более 256 значений. Этот тип называется базовым типом множества. Базовый тип задается диапазоном или перечислением. Область значений типа множество — набор всевозможных подмножеств, составленных из элементов базового типа. В выражениях на языке Паскаль значения элементов множества указываются в квадратных скобках: [1,2,3,4], ['а',‘b','с'], ['a'..'z']. Если множество не имеет элементов, оно называется пустым и обозначается как [ ]. Количество элементов множества называется его мощностью. Множество может принимать все значения базового типа. Базовый тип не должен превышать 256 возможных значений. Поэтому базовым типом множества могут быть byte, char, boolean и производные от них типы. Множество в памяти хранится как массив битов, в котором каждый бит указывает является ли элемент принадлежащим объявленному множеству или нет. Максимальное число элементов множества 256, а данные типа множество могут занимать не более 32 байт.

Слайд 8


4 Программирование алгоритмов обработки сложных данных 7 Множества Не имеет значения порядок записи элементов множества внутри конструктора....
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 7 Множества Не имеет значения порядок записи элементов множества внутри конструктора. Например, [1, 2, 3] и [3, 2, 1] — это эквивалентные множества. Каждый элемент в множестве учитывается только один раз. Поэтому множество [1, 2, 3, 4, 2, 3, 4, 5] эквивалентно [1..5]. Переменные множественного типа описываются так: Var : set of ; Например: Var A, D : Set Of Byte; B : Set Of 'a'..'z'; C : Set Of Boolean; Нельзя вводить значения во множественную переменную процедурой ввода и выводить процедурой вывода. Множественная переменная может получить конкретное значение только в результате выполнения оператора присваивания: := ; Например: A : = [50, 100, 150, 200]; B : = ['m', 'n', 'k']; C : = [True, False]; D : = A;

Слайд 9


4 Программирование алгоритмов обработки сложных данных 8 Множества Кроме того, выражения могут включать в себя операции над множествами. Операции над...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 8 Множества Кроме того, выражения могут включать в себя операции над множествами. Операции над множествами Объединением двух множеств A и B называется множество, состоящее из элементов, входящих хотя бы в одно из множеств A или B. Знак операции объединения в Паскале «+». Примеры: [1, 2, 3, 4] + [3, 4, 5, 6] => [1, 2, 3, 4, 5, 6] 2) [ ]+[‘a’..’z’]+[‘A’..’E’, ‘k’] => [‘A’..’E’, ‘a’..’z’] 3) [5 [false, true]

Слайд 10


4 Программирование алгоритмов обработки сложных данных 9 Множества Пересечением двух множеств A и B называется множество, состоящее из элементов,...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 9 Множества Пересечением двух множеств A и B называется множество, состоящее из элементов, одновременно входящих во множество A и во множество B. Знак операции пересечения в Паскале «*» Примеры: [1, 2, 3, 4] * [3, 4, 5, 6] => [3, 4] 2) [‘a’..’z’]*[‘A’..’E’, ‘k’] => [‘k’] 3) [5 [ ] Разностью двух множеств A и B называется множество, состоящее из элементов множества A, не входящих во множество B. Примеры: 1a) [1, 2, 3, 4] - [3, 4, 5, 6] => [1, 2] 1b) [3, 4, 5, 6] - [1, 2, 3, 4] => [5, 6] 2a) [‘a’..’z’]-[‘A’..’E’, ‘k’] => [‘a’..’j’, ‘i’..’z’] 2b) [‘A’..’E’, ‘k’] - [‘a’..’z’] => [‘A’..’E’] 3a) [5 [false] 3b) [true] - [5 [true]

Слайд 11


4 Программирование алгоритмов обработки сложных данных 10 Множества Операция вхождения. Это операция, устанавливающая связь между множеством и...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 10 Множества Операция вхождения. Это операция, устанавливающая связь между множеством и скалярной величиной, тип которой совпадает с базовым типом множества. Если x — такая скалярная величина, а M — множество, то операция вхождения записывается так: x in M. Результат — логическая величина true, если значение x входит в множество M, и false — в противном случае. Например, 4 in [3, 4, 7, 9] –– true, 5 in [3, 4, 7, 9] –– false. Используя данную операцию, можно не только работать с элементами множества, но и, даже если в решении задачи явно не используются множества, некоторые логические выражения можно записать более лаконично. Натуральное число n является двухзначным. Вместо выражения (n >= 10) and (n = ‘А’) and (c =‘а’) and (c=‘р’) and (c

Слайд 12


4 Программирование алгоритмов обработки сложных данных 11 Записи Запись – это структурированный тип данных, состоящий из фиксированного числа...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 11 Записи Запись – это структурированный тип данных, состоящий из фиксированного числа компонент (полей) разного типа. Запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам. Компоненты записи называются полями, каждое из которых определяется именем. Поле записи содержит имя поля, вслед за которым через двоеточие указывается тип этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа. Описание записи в языке ПАСКАЛЬ осуществляется с помощью служебного слова RECORD, вслед за которым описываются компоненты записи. Завершается описание записи служебным словом END. Формат объявления записи: Type = record : ; [: ;] end; Var [,] : ;

Слайд 13


4 Программирование алгоритмов обработки сложных данных 12 Пример1 Записная книжка содержит фамилии, инициалы и номера телефона, поэтому отдельную...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 12 Пример1 Записная книжка содержит фамилии, инициалы и номера телефона, поэтому отдельную строку в записной книжке удобно представить в виде следующей записи: type Row=Record FIO: String[20]; TEL: String[7] end; var rec : Row; Описание записей возможно и без использования имени типа, например: var rec: Record FIO: String[20]; TEL: String[7] end; Пример 2. Даты каких-либо событий можно описать следующим образом: TYPE DATE=RECORD MONTH: 1..12; DAY: 1..31; YEAR: INTEGER; END; VAR D: DATE; В этом примере описан тип DATE и переменная D, принадлежащая этому типу. Переменная D описана как запись, состоящая из трех полей: MONTH, DAY и YEAR. Каждое поле содержит соответственно данные: целое число в пределах от 1 до 12 (номер месяца), целое число от 1 до 31 (число), целое число (год). Поле DAY переменной D записывается как D.DAY. Например, чтобы заслать в D дату 12.01.2011, надо выполнить следующие операторы: D.MONTH:=1; D.DAY:=12; D.YEAR:=2011;

Слайд 14


4 Программирование алгоритмов обработки сложных данных 13 Обращение к записи в целом допускается только в операторах присваивания, где слева и справа...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 13 Обращение к записи в целом допускается только в операторах присваивания, где слева и справа от знака присваивания используются имена записей одинакового типа. Во всех остальных случаях оперируют отдельными полями записей. Чтобы обратиться к отдельной компоненте записи, необходимо задать имя записи и через точку указать имя нужного поля, например: rec.FIO, rec.TEL Такое имя называется составным. Компонентой записи может быть также запись, в таком случае составное имя будет содержать не два, а большее количество имен. Обращение к компонентам записей можно упростить, если воспользоваться оператором присоединения with. Он позволяет заменить составные имена, характеризующие каждое поле, просто на имена полей, а имя записи определить в операторе присоединения: with rec do оператор; Здесь rec - имя записи, оператор - оператор, простой или составной. Оператор представляет собой область действия оператора присоединения, в пределах которой можно не использовать составные имена. Например для нашего случая: with rec do begin FIO:='Иванов А.А.'; TEL:='2223322'; end; Такая алгоритмическая конструкция полностью идентична следующей: rec.FIO:='Иванов А.А.'; rec.TEL:='2223322';

Слайд 15


4 Программирование алгоритмов обработки сложных данных 14 Пример 3 Описание анкеты студента в Паскале будет выглядеть так: Type anketa=record fio:...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 14 Пример 3 Описание анкеты студента в Паскале будет выглядеть так: Type anketa=record fio: string[45]; pol: char; dat_r: RECORD MONTH: 1..12; DAY: 1..31; YEAR: INTEGER; END; adres: string[50]; curs: 1..5; grupp: string[3]; end; Var s: anketa; Никаких ограничений на типы полей не накладывается, поэтому компонентой записи может быть любая структура данных. Доступ к любому полю записи осуществляется путем указания имени переменной и имени поля, разделенных точкой. Пример доступа к полям структуры описания студента: Обращение к полям записи в многоуровневой структуре будет достаточно длинным, s.dat_r.year := 1992; Чтобы не писать длинные адреса доступа к полям записей в языке Паскаль используется оператор WITH:

Слайд 16


4 Программирование алгоритмов обработки сложных данных 15 Пример упрощенного обращения к полям записи: with s, dat_r do begin fio := 'Иванов И.И.';...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 15 Пример упрощенного обращения к полям записи: with s, dat_r do begin fio := 'Иванов И.И.'; year := 1993; curs:=3; writeln ( fio, curs :3, ‘год рождения –’, year); end;

Слайд 17


4 Программирование алгоритмов обработки сложных данных 16 Записи с вариантами Записи, рассмотренные выше – это записи с фиксированными частями. Они...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 16 Записи с вариантами Записи, рассмотренные выше – это записи с фиксированными частями. Они имеют в различных ситуациях строго определенную структуру. Соответственно записи с вариантами в различных ситуациях могут иметь различную структуру. Предположим, что написана программа для введения списка библиографических ссылок. Если известно, что все входы в этом списке – ссылки на книги, то можно использовать следующее описание: Const Kol = 1000; Type Entry = Record Autor, Title, Publisher, City : String; Year : 1..2011; End; Var List : Array[1..Kol] of Entry;

Слайд 18


4 Программирование алгоритмов обработки сложных данных 17 Что произойдет, если некоторые из входов не являются ссылками на книги, а содержат ссылки...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 17 Что произойдет, если некоторые из входов не являются ссылками на книги, а содержат ссылки на журнальные статьи. Если ограничиваться только записями с фиксированными частями, то следует описать различные массивы для каждого вида записей. Использование записей с вариантами позволяет образовать структуру, каждый вход которой соответствует содержанию записи. Опишем новый тип, в котором перечислены различные входы: Type EntryType = (Book, Magazine); Теперь можно привести скорректированное описание Entry Type Entry = Record Autor, Title : String; Year : 1..2000; Case TAG : EntryType of Book : (Publisher, City : String); Magazine : (MagName : String, Volume, Issue : Integer) End;

Слайд 19


4 Программирование алгоритмов обработки сложных данных 18 Это описание делится на две части: фиксированную и вариантную. Поля Autor, Title, Year...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 18 Это описание делится на две части: фиксированную и вариантную. Поля Autor, Title, Year составляют фиксированную часть. Оставшаяся часть описания Entry образует вариантную часть, структура которой, подобно хамелеону, может меняться в пределах двух альтернативных определений. Значения TAG используются в качестве имен двух альтернатив определения записи. Когда эта компонента имеет значение Book, можно обращаться к следующим полям: Autor, Title, Year, Publisher, City С другой стороны, когда она принимает значение Magazine, то можно обращаться к таким полям: Autor, Title, Year, MagName, Volume, Issue Рассмотрите последовательность операторов, где в RefList[12] помещается ссылка на книгу: RefList[12].TAG := Book; RefList[12].Autor := 'Thomas Hobbes'; RefList[12].Title := 'Leviathan'; RefList[12].Year := 1651; RefList[12].Publisher := 'Andrew Crooke'; RefList[12].City := 'London';

Слайд 20


4 Программирование алгоритмов обработки сложных данных 19 Для определения состояния записи с вариантами достаточно проверить значение поля тега....
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 19 Для определения состояния записи с вариантами достаточно проверить значение поля тега. Рассмотрим процедуру, выводящую на экран переданную ей запись. Procedure PrintRef(Citation : Entry); Begin Writeln(Citation.Autor); Writeln(Citation.Title); Writeln(Citation.Year); If Citation.TAG = Book Then Writeln(Citation.Publisher,', ',Citation.City) Else Begin Writeln(Citation.MagName); Writeln(Citation.Volume'–',Citation.Issue) End; End;

Слайд 21


4 Программирование алгоритмов обработки сложных данных 20 Файлы При обработке больших массивов информации данные хранятся не в ОП, а во внешней...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 20 Файлы При обработке больших массивов информации данные хранятся не в ОП, а во внешней памяти в виде физических файлов. Под физическим файлом понимаем поименованный набор данных на диске либо логическое устройство – потенциальный источник или приемник информации. Характеристики физического файла: Имя Содержит компоненты одного типа Размер не ограничен, определяется размером памяти на диске Для работы с файлами в программе на Паскале необходимо: Объявить переменную файлового типа в разделе VAR; Связать ее с физическим файлом на диске; Открыть файл для записи или чтения; Выполнить необходимую обработку данных из файла; Закрыть файл.

Слайд 22


4 Программирование алгоритмов обработки сложных данных 21 В Паскале можно использовать 3 типа файлов: Текстовые F: text; Типизированные F: file of <...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 21 В Паскале можно использовать 3 типа файлов: Текстовые F: text; Типизированные F: file of < тип >; Не типизированные F: file; Не типизированные файлы используются только для высокоскоростного копирования файлов из ОП во внешнюю память и обратно. Для них не указывается тип компонентов.

Слайд 23


4 Программирование алгоритмов обработки сложных данных 22 1 Объявление файлов Выполняется в разделах TYPE или VAR Примеры: Type prod = record code:...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 22 1 Объявление файлов Выполняется в разделах TYPE или VAR Примеры: Type prod = record code: word; name: string; cost: real end; text80 = file of string[80]; Var f1: file of char; f2: text; f3: file; f4: text80; f5: file of prod;

Слайд 24


4 Программирование алгоритмов обработки сложных данных 23 Логические устройства – стандартные аппаратные устройства персонального компьютера...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 23 Логические устройства – стандартные аппаратные устройства персонального компьютера (клавиатура, экран монитора, принтер, каналы ввода-вывода) определяются в Паскале специальными именами, приведенными в таблице. Стандартный модуль Printer, входящий в библиотеку Turbo.tpl , позволяет объявить имя файловой переменной LST и связать ее с устройством LPT1. это дает возможность использовать файл LST для печати результатов.

Слайд 25


4 Программирование алгоритмов обработки сложных данных 24 program zr; Uses printer; begin write(LST ,‘Привет!’); end. Все операции по связыванию...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 24 program zr; Uses printer; begin write(LST ,‘Привет!’); end. Все операции по связыванию файла LST с принтером и открытию файла выполняет модуль PRINTER. 2 Связывание файловой переменной с физическим файлом Assign (F, Str) – сопоставляет файловой переменной F файл на диске, спецификация которого задана в строковой переменной Str. Примеры: Assign (F1, ‘C:\student\pr.dat) ; Assign (F2, ‘PRN’); Assign (F3, ‘CON’); write( ‘введите имя файла’); readln(name_f); Assign (F4, name_f);

Слайд 26


4 Программирование алгоритмов обработки сложных данных 25 3 Открытие файлов После связи файловой переменной с физическим файлом файл может быть...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 25 3 Открытие файлов После связи файловой переменной с физическим файлом файл может быть открыт только для чтения, только для записи, для чтения и дозаписи (в случае типизированных файлов). Процедурами открытия или инициализации reset(f), rewrite(f), append(f) файл или логическое устройство подготавливается к выполнению нужного действия. Reset (F); – открывает существующий файл для чтения данных. Файловый курсор устанавливается на начало файла. Чтение данных из файла осуществляется процедурами read, readln. Только для типизированных файлов reset может использоваться и для дозаписи в файл, что позволяет дополнять и корректировать типизированные файлы. При попытке открыть процедурой reset несуществующий файл или инициировать чтение из логического устройства вывода данных (например, PRN) возникает ошибка периода исполнения.

Слайд 27


4 Программирование алгоритмов обработки сложных данных 26 Rewrite(f); - открывает новый файл для записи данных или инициирует логическое устройство...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 26 Rewrite(f); - открывает новый файл для записи данных или инициирует логическое устройство вывода. Новый дисковый файл подготавливается к приему данных и его файловый курсор устанавливается в начало файла. Запись данных в файл осуществляется процедурами write, writeln. При выполнении этой процедуры уничтожается старый файл с тем же именем, если он существовал. При этом никаких сообщений об ошибках не выдается. Append(f) ; - открывает ранее созданный текстовый файл для его дополнения новыми записями. При этом курсор устанавливается в конец файла. Любой программе без объявления, инициализации файловой переменной и открытия доступны два файла со стандартными файловыми переменными: INPUT - чтение со стандартного устройства ввода; OUTPUT - вывод на стандартное устройство вывода. Это текстовые файлы, используемые для выполнения элементарных операций ввода-вывода. 4 Закрытие файлов Close(f); - закрывает файл и обеспечивает сохранность записей в файле, но не разрывается связь файловой переменной и физического файла, установленную процедурой Assign (F, Str). Поэтому один файл в программе можно многократно открывать и закрывать.

Слайд 28


4 Программирование алгоритмов обработки сложных данных 27 5 Стандартные процедуры и функции обслуживания файлов. Для взаимодействия с файловой...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 27 5 Стандартные процедуры и функции обслуживания файлов. Для взаимодействия с файловой системой MS DOS в Pascal определены стандартные процедуры и функции, которые применимы к файлам любых типов. Процедура ReName(Var f; name:string) - осуществляет переименование файла, определенного файловой переменной f. Новое имя файла задается параметром name. Если в процессе работы программы требуется переименовать файл, открытый для чтения или записи, необходимо предварительно закрыть этот файл процедурой Close. При совпадении нового имени файла с каким-либо уже существующим выдается сообщение об ошибке. Процедура Erase(Var f) - осуществляет удаление созданного или находящегося в процессе формирования файла. Перед уничтожением файл должен быть закрыт, так как разрешается удалять только закрытые файлы.

Слайд 29


4 Программирование алгоритмов обработки сложных данных 28 3. Процедура Truncate(Var f) - обрезает файл, оставляя компоненты до того, на который...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 28 3. Процедура Truncate(Var f) - обрезает файл, оставляя компоненты до того, на который ссылается указатель файла (кроме текстовых файлов). 4. Процедура ChDir(path:string) - изменяет текущий каталог: назначает текущим каталог, указанный параметром path. 5. Функция GetDir(drive:word: Var dir:string) - возвращает имя текущего каталога на указанном устройстве, где устройство drive: 0 – устройство по умолчанию; 1 - диск А; 2 - диск В и т.д. 6. Процедура MkDir(dir:string) - создает новый каталог. Строка dir определяет путь и новое имя. 7. Процедура RmDir (dir: string) - удаляет каталог с указанным именем. Каталог должен быть пустым.

Слайд 30


4 Программирование алгоритмов обработки сложных данных 29 8. Функция EOF(Var f):boolean - определяет конец файла. Размер файла при его создании не...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 29 8. Функция EOF(Var f):boolean - определяет конец файла. Размер файла при его создании не фиксируется. Поэтому в процессе работы требуется проверка достижения конца файла. Функция принимает значение TRUE, если указатель стоит в конце файла (после последней записи). При этом, если производится чтение, то это означает, что файл исчерпан, а если идет запись, то новая запись дописывается в конец файла. Функция принимает значение FALSE, если конец файла еще не достигнут. Примечание, Функция EOF по-разному работает с дисковыми файлами и логическими устройствами. Для логического устройства невозможно предвидеть, каким будет результат чтения очередного символа. Поэтому при работе с логическим устройством функция EOF возвращает TRUE, если последним символом был маркер конца файла, а при чтении с диска - если следующим считываемым символом будет маркер конца файла. Физически это выражается в том, что при выполнении функции EOF запрашивается ввод информации с клавиатуры. В качестве маркера конца файла используется символ ASCII с кодом 26 (#26). При работе с клавиатурой этот код формируется при вводе комбинации CTRL-Z. Считается, что признак конца файла физически присутствует в файле, однако, как правило, такой символ в конце дискового файла отсутствует, и конец файла в системе определяется другим способом. 9. Функция IOResult(Var f): word - возвращает код правильности выполнения операций ввода/вывода. Если ошибок не зафиксировано, то функция возвращает 0. Информация об ошибках может быть получена и обработана в режиме компилятора {$I-}- отключение контроля ошибок ввода/вывода.

Слайд 31


4 Программирование алгоритмов обработки сложных данных 30 Текстовые файлы Текстовый файл - это файл, компонентами которого являются символьные строки...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 30 Текстовые файлы Текстовый файл - это файл, компонентами которого являются символьные строки переменной длины, заканчивающиеся специальным маркером конца строки Строка 1 Строка 2 Строка 3 Указатель файла Маркеры конца строки Маркер конца файла Рис. 1 - Структура текстового файла Примечание, Маркер конца строки - это последовательность из двух специальных символов по таблице ASCII «#13, #10». Символ с кодом 13 интерпретируется в компьютере как команда установки курсора в начало строки, а символ с кодом 10 - как команда перехода на следующую строку. Такая комбинация кодов вводится при нажатии клавиши ENTER.

Слайд 32


4 Программирование алгоритмов обработки сложных данных 31 Текстовый файл можно открыть для записи, чтения и добавления записей в конец. Файл,...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 31 Текстовый файл можно открыть для записи, чтения и добавления записей в конец. Файл, открытый для записи, не может использоваться для чтения и наоборот. При открытии файла для добавления процедурой Append система проверяет, не был ли файл открыт для чтения или записи, и если такое открытие имело место, то производится сначала закрытие файла, а затем уже открытие для добавления. Текстовые файлы используют для хранения и обработки текстовой информации: символов, строк, символьных массивов. Логические и числовые данные при записи в текстовые файлы должны преобразовываться в символьные строки. Следует иметь в виду, что при необходимости текстовый файл может быть создан или прочитан любым текстовым редактором, в том числе и текстовым редактором, входящим в состав среды Turbo Pascal.

Слайд 33


4 Программирование алгоритмов обработки сложных данных 32 Для работы с текстовыми файлами используют специальные процедуры и функции. 1. Функция...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 32 Для работы с текстовыми файлами используют специальные процедуры и функции. 1. Функция EOLn( [Var f]): boolean - возвращает TRUE, если во входном текстовом файле достигнут маркер конца строки; при отсутствии файловой переменной проверяется стандартный файл INPUT, который обычно связан с клавиатурой. Примечание, Функция EOLn, как и EOF, по-разному работает с дисковыми файлами и логическими устройствами. Для логического устройства невозможно предвидеть, каким будет результат чтения очередного символа. Поэтому при работе с логическим устройством функция EOLN возвращает TRUE, если последним считанным символом был символ #13. При работе с диском функция EOLN возвращает TRUE, если следующим считанным символом будет символ #13. 2. Процедура Read( [Var f:text;] vl, v2,... vn) - обеспечивает ввод символов, строк и чисел. Список ввода представляет собой последовательность из одной или более переменных типа CHAR, STRFNG, а также любого целого и вещественного типа. При отсутствии файловой переменной ввод осуществляется из стандартного файла INPUT. При вводе значений переменных типа CHAR выполняется чтение одного символа из файла, считанное значение присваивается очередной переменной из списка ввода. Символы вводятся подряд, а не через пробел, как числа. Если перед выполнением чтения указатель файла достиг конца очередной строки, то результатом чтения будет символ #13, а если был достигнут конец файла, то - символ #26.

Слайд 34


4 Программирование алгоритмов обработки сложных данных 33 При вводе переменных типа STRING количество считанных процедурой и помещенных в строку...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 33 При вводе переменных типа STRING количество считанных процедурой и помещенных в строку символов равно максимальной длине строки, если раньше не встретились маркеры конца строки или конца файла, которые в строку не включаются. Символы, выходящие за размер максимальной длины строки, отбрасываются. Новое обращение к процедуре Read вернет пустую строку. Процедура Read не в состоянии читать последовательность строк, так как первая строка будет прочитана правильно, а все последующие окажутся пустыми. При вводе числовых данных процедура Read пропускает все пробелы, знаки табуляции и маркеры до первого значащего символа и читает строку до пробела, знака табуляции или маркера. Полученная подстрока преобразуется из символьного во внутреннее представление в соответствии с типом значения и присваивается следующей переменной из списка. Если нарушен формат, то фиксируется ошибка ввода-вывода. Если достигнут маркер конца файла, то переменной присваивается значение О, причем никаких сообщений в этом случае не выдается. Ввод логических констант процедурами Read и ReadLn не предусмотрен. 3. Процедура ReadLn( [Var f;] vl,v2, ,..,vn ) - также обеспечивает ввод символов, строк и чисел. Процедура использует те же правила ввода, что и процедура Read, но после чтения последней переменной оставшаяся часть строки до маркера конца строки пропускается, так что следующее обращение к ReadLn или Read начнется с первого символа новой строки. Процедура может быть вызвана без указания списка ввода, что приведет к пропуску всех символов текущей строки до маркера конца строки. Процедуры Read и ReadLn могут использоваться без указания файловой переменной. Тогда операция чтения осуществляется из стандартного файла INPUT. Использование процедуры ReadLn без параметров после процедуры Read приведет к очистке буфера ввода. Применение этой же процедуры без предшествующей ей процедуры Read переводит программу в состояние ввода, т.е. выполнение программы приостанавливается до нажатия клавиши ENTER, что может использоваться для организации паузы на время просмотра содержимого экрана.

Слайд 35


4 Программирование алгоритмов обработки сложных данных 34
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 34

Слайд 36


4 Программирование алгоритмов обработки сложных данных 35
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 35

Слайд 37


4 Программирование алгоритмов обработки сложных данных 36 Пример2 Дан текстовый файл с программой на языке Паскаль, причем каждый оператор – в одной...
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 36 Пример2 Дан текстовый файл с программой на языке Паскаль, причем каждый оператор – в одной строке. Проверить правильность расстановки круглых скобок

Слайд 38


4 Программирование алгоритмов обработки сложных данных 37
Описание слайда:
4 Программирование алгоритмов обработки сложных данных 37

Слайд 39


Вопросы?
Описание слайда:
Вопросы?



Похожие презентации
Mypresentation.ru
Загрузить презентацию