- •Центр Компьютерного Обучения
- •Подпрограммы: процедуры.
- •1. Структурное программирование и технология нисходящего программирования.
- •2. Подпрограммы в языке Pascal. Понятие «процедура».
- •3. Формальные и фактические параметры.
- •4. Параметры-значения и параметры-переменные (входные и выходные параметры) подпрограмм, механизм передачи параметров (можно перенести на Занятие 2, если не хватит времени).
- •5. Локальные и глобальные переменные, область действия переменных
- •Подпрограммы: функции
- •Функция не имеет выходных параметров, она возвращает единственное значение (результат);
- •Рекурсия
- •Строковый тип данных – String
- •6. Для обработки строковых данных можно использовать стандартные процедуры и функции, описание которых можно найти в [1] или в любом справочнике по Pascal.
- •1. Общие сведения.
- •5. Доступ к компонентам файла.
- •Дополнительно (на усмотрение преподавателя!!!) процедуры Rename и Erase.
- •Текстовые файлы
- •1. Назначение.
- •Типизированные файлы
- •Динамические структуры данных
- •1. Статическая и динамическая память.
- •Распределение памяти.
- •2. Статические и динамические переменные.
- •Статическая переменная:
- •4. Доступ к переменной по указателю.
- •5. Управление динамической памятью (процедуры New и Dispose).
- •Формирование с помощью указателей однонаправленного списка по принципу стека, поиск элемента
- •Однонаправленный список
- •Пояснения к программе
- •Формирование с помощью указателей однонаправленного списка по принципу «очереди», поиск элемента
- •Пояснения к программе
- •Удаление элемента из линейного однонаправленного списка
6. Для обработки строковых данных можно использовать стандартные процедуры и функции, описание которых можно найти в [1] или в любом справочнике по Pascal.
Задача
Проверить, является ли введенная совокупность символов именем месяца на английском языке (символы могут быть и строчными, и прописными).
Program Primer_String; Uses Crt, System; Const Nm : Array[1..12] of String[10]=(‘JANUARY’, ‘JUNE’, ‘JULY’, ‘AUGUST’, ‘SEPTEMBER’, Var Str : String[10]; i : Integer; Month : Boolean; Begin Clrscr; Writeln(‘Введите символы (строку)’); Readln(Str); Month:=False; For i:=1 to Length(Str) Do Str[i]:=Upcase(Str[i]); For i:=1 to 12 Do If Str = Nm[i] Then Month:=True; If Month Then Writeln(‘Введено имя месяца’) Else Writeln(‘Введено не имя месяца’); Readkey; End. |
{заголовок программы} {System – библиотека осн. функций Pascal} {раздел описания констант} ‘FEBRUARY’, ‘MARCH’, ‘APRIL’, ‘MAY’, ‘OСTOBER’, ‘NOVEMBER’, ‘DECEMBER’); {раздел описания переменных} {строка для ввода символов с клавиатуры} {параметр цикла For} {логическая переменная для записи рез-та} {начало программы} {очистка экрана} {ввод с клавиатуры посл-ти символов} {в строковую переменную Str} {} {преобразование всех символов строки Str} {в прописные буквы} {цикл проверки} {если Str – имя месяца} {то рез-т - истина} {если результат - истина} {то вывод «Введено имя месяца»} {иначе вывод «Введено не имя месяца»} {ожидание нажатия любой клавиши} {конец программы} |
Файлы
1. Общие сведения.
Большие объемы (например, телефонный справочник) данных удобно записывать во внешнюю память в виде последовательности символов. Любой язык программирования должен иметь средства для организации хранения информации на внешних запоминающих устройствах и доступа к этой информации. В Pascal для этих целей предусмотрены специальные объекты – файлы. Файлом называется совокупность данных, записанная во внешней памяти под определенным именем. Целесообразность применения файлов продиктована следующими причинами:
ввод больших объемов данных, подлежащих обработке, утомителен и требует большого времени; удобнее создать отдельный файл, который может быть подготовлен заранее и неоднократно использоваться;
файл данных может быть подготовлен другой программой, становясь, таким образом, связующим звеном между двумя разными задачами, а также средством связи программы с внешней средой;
программа, использующая данные из файла, не требует присутствия пользователя в момент фактического исполнения.
Файлы в языке Pascal подразделяются на текстовые файлы, файлы с объявленным типом данных (типизированные файлы), файлы с необъявленным типом данных (нетипизированные файлы). Рассмотрим теорию, относящуюся ко всем видам файлам, а на последующих двух занятиях более подробно будут рассмотрены текстовые и типизированные файлы.
2. Характеристики файла:
а) уникальное имя, что позволяет программе работать одновременно с несколькими файлами;
б) тип компонентов (любой тип данных языка Pascal, кроме файлового) – только для типизированных файлов;
в) длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти.
3. Описание файлового типа.
Для доступа к файлу в программе должна быть описана специальная файловая переменная, которая считается представителем файлов в программе на Pascal:
Var
<имя_файловой_переменной> : <тип_файла>;
где <тип_файла> - определяется назначением файла, существует три возможных описания типа файлов:
а) для текстовых файлов
Var
<имя_файловой_переменной> : Text;
б) для типизированных файлов
Var
<имя_файловой_переменной> : File of <тип_компонентов>;
в) для нетипизированных файлов
Var
<имя_файловой_переменной> : File;
Пример.
Type Stroka=Srtring[15];
Var
F1 : File of Integer; {файловая перем. для типиз. файла с целочисленными компонентами}
F2 : File of Stroka; {файловая перем. для типиз. файла со строковыми компонентами}
F3 : Text; {файловая перем. для текстового файла}
F4 : File; {файловая перем. для нетипизированного файла}
4. Действия с файлами.
При использовании файлов в Pascal возможны три способа работы с ними:
чтение файла с диска;
запись файла на диск;
редактирование файла.
Под чтением файла с диска понимается чтение (ввод) данных из файла на диске в оперативную память компьютера, в результате чего эти данные становятся доступными программе.
Под записью файла на диск понимается запись (вывод) данных из оперативной памяти компьютера на диск для хранения и дальнейшего использования этой же или другими программами.
Под редактированием файла понимается чтение файла, изменение считанных данных и запись измененных данных в файл.