Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Использование библиотек стандартных процедур в программах. Модуль Crt. Текстовые режимы использования экрана.Содержание книги
Поиск на нашем сайте
Язык программирования Паскаль содержит ряд предопределенных процедур, разделенных по темам на несколько библиотек (модулей). Файлы с библиотеками процедур имеют расширение tpu и хранятся в папке units основной директории tp. Подключение библиотек к программе производится сразу за заголовком программы. Для этого используется служебное слово uses. За ним перечисляются через запятую имена файлов библиотек. Модуль Crt содержит процедуры и функции, испльзующиеся для работы на текстовом экране. Примером процедуры этого модуля может служить очистка экрана clrscr. Процедуры этого модуля всегда работают в активном окне. Окном считается прямоугольная область, определяемая координатами верхнего левого и нижнего правого угла. По умолчанию активным окном является экран. Размеры экрана, по умолчанию, - 80x25 знакомест. Заданный по умолчанию режим экрана можно изменить, используюя процедуру textmode (<константа режима>). Константа 0 задает черно/белый режим с размером экрана 40x25. 1 - цветной режим 40x25 2 - черно/белый режим 80x25 3 - цветной режим 80x25 7 - черно/белый режим и монохромный дисплей 256 - загружаемый шрифт - 43 строки в EGA и 50 строк в VGA.
Процедуры этого модуля могут обеспечивать работу со звуком. Частоту звука определяет процедура sound (<число герц>). Длительность звука регулируется процедурой delay (<длительность звука в мс.>) и процедурой nosound - отключение звука. Короткий звуковой сигнал можно обеспечить, используя символ #7 в списке вывода оператора write. В списке вывода также можно использовать еще 4 специальных символа: #8 - смещение курсора влево на одну позицию #10 - сдвиг курсора на одну строку вниз #13 - перемещение курсора на левую границу окна Комбинация #13#10 соответствует нажатию клавиши Enter.
Для активирования нового окна следует определить его границы. Для этого используется процедура window (x1, y1, x2, y2). Координаты x1, y1, x2, y2 - абсолютные, все остальные координаты в окне - относительные, а точкой отсчета считается верхний левый угол окна. В пределах окна курсор можно переместить на овую позицию, используя процедуру gotoxy (x, y). Если x, y выходят за пределы окна, то процедура игнорируется. Для изменения цветовой гаммы окна используются следующие процедуры: textbackground (<…>) - изменяет цвет фона; в качестве аргументов выступают числа 0..7
textcolor (<…>) - изменяет цвет текста; в качестве аргументов выступают числа 0..15. Для организации мерцающих цветов текста к константе цвета необходимо прибавить 128.
Модуль 6. Файлы
Файлы.
Файл - это последовательность однотипных компонентов. Компонентом файла может быть значение простого типа или структура, но не файл. Файл может быть компонентом другой структуры, но ни прямо, ни косвенно не может входить в состав другого файла. Файл отличается от одномерного массива: 1) размещением на внешнем носителе; 2) произвольным в пределах носителя числом компонентов; 3) доступом к одному текущему компоненту в каждый момент времени. В Паскале различают текстовые, типизированные и нетипизированные файлы. При работе с файлами ключевым понятием является понятие файловой переменной. Файловая переменная не является представлением одного конкретного файла. В зависимости от класса файла ее можно объявить одним из трех способов. var < ФП >: text; < ФП >: file of < тип компонентов >; <ФП>: file; Для сопоставления файловой переменной с именем конкретного файла используется процедура assign (<ФП>, 'путь_к_файлу\имя_файла'); Процедура assign должна быть первой среди действий работы с файлом. Если файл находится в текущей директории, то путь к нему можно не указывать. Файл, содержимое которого полностью заменяется, открывается процедурой rewrite (<ФП>). Файл, содержимое которого продолжает использоваться путем чтения, открывается процедурой reset (<ФП>). Текстовые файлы могут быть открыты на дозапись процедурой append (<ФП>). Для чтения компонентов файла используются процедуры read, readln и blockread. Первым аргументом в их списке стоит файловая перемнная, а затем обычный список вывода. Для записи компонентов в файл используются процедуры write, writeln и blockwrite. После завершения работы с файлом его необходимо закрыть процедурой close (<ФП>). Закрытый файл можно удалить erase (<ФП>) и переименовать rename (<ФП>, 'новое_имя'). Функция eof является логической и возвращает значение истина если достигнут конец файла. При работе с текстовыми файлами в конец каждой строки добавляется соответствующий знак, который можно найти, используя логическую функцию eoln. Этот символ в конец строки может быть поставлен принудительно. Для этого используется клавиша Enter.
Для набора текстовых файлов вне языка Паскаль можно использовать текстовый редактор edit.com. Наряду с функциями eof и eoln могут использоваться seekeof (<ФП>) и seekeoln (<ФП>), "предчувствующие" окончание файла или строки, т.е. они распознают признак конца, если перед ним находятся пробелы или маркеры табуляции.
Сортировка файлов.
Для сортировок файлов можно воспользоваться несколькими приемами:
Третий прием может быть реализован следующими способами: 1) просматривается весь файл. Находится максимальный элемент. Записывается в новый файл. Старый файл переписывается без найденного элемента и т.д. 2) пузырьковая сортировка. Из файла читаются два элемента. Больший записывается в новый файл, а меньший в конец старого. Просматривается весь файл до конца. Созданный вновь файл сортируется тем же способом. Сортировка останавливается когда в сортируемый файл не производится записи. 3) сортировка слиянием. Сортировка проводится в два этапа. На первом этапе сортируемый файл разделяется на два по определенному признаку. Элементы в новых файлах будут отсортированы. На втором этапе созданные файлы сливаются, создавая общий порядок сортировки. function order (x, y: integer): boolean; begin if x<y then order:=true else order:=false; end; procedure separator (s, d1, d2: file; var sort:boolean); var a, b:integer; last: boolean; dirout: 1..2; begin reset (s); rewrite (d1); rewrite (d2); sort:=true; dirout:=1; if not eof (s) then begin read (s, a); while not eof (s) do begin read (s, b); last:= not order (a, b); case dirout of 1: write (d1, a, last); 2: write (d2, a, last); end; if last then begin case dirout of 1: dirout:=2; 2: dirout:=1; end; sort:=false; end; a:=b; end; case dirout of 1: write (d1, a, true); 2: write (d2, a, true); end; end; close (s); close (d1); close (d 2); end;
|
|||||||||||||||||||||
Последнее изменение этой страницы: 2020-12-09; просмотров: 114; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.21.127 (0.011 с.) |