Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Процедура

Читайте также:
  1. III. Процедура защиты выпускной квалификационной работы в Государственной аттестационной комиссии
  2. ВОПРОС 24. НАБЛЮДЕНИЕ КАК ПРОЦЕДУРА БАНКРОТСТВА.
  3. ВОПРОС 25- ФИНАНСОВОЕ ОЗДОРОВЛЕНИЕ КАК ПРОЦЕДУРА БАНКРОТСТВА
  4. ВОПРОС 27. КОНКУРСНОЕ ПРОИЗВОДСТВО КАК ПРОЦЕДУРА БАНКРОТСТВА
  5. ВОПРОС 29. МИРОВОЕ СОГЛАШЕНИЕ КАК ПРОЦЕДУРА БАНКРОТСТВА.
  6. ВОПРОС 32. ВНЕШНЕЕ УПРАВЛЕНИЕ КАК ПРОЦЕДУРА БАНКРОТСТВА
  7. Глава 4 Процедура и основные характеристики психологического
  8. Организация и процедура проведения социально-психологической диагностики
  9. Основная процедура поиска и устранения неполадок сетей
  10. Основные подходы и процедура присвоения марочного названия

PackTime (VAR T: DateTime; VAR Time: LONGINT);

перетворює запис типу DateTime в подвійне слово, яке використовується процедурою

SetFTime (VAR F; Time: LONGINT);

Ця процедура встановлює дату створення файла.

ПРОЦЕДУРИ І ФУНКЦІЇ ПЕРЕВІРКИ СТАНУ ДИСКУ

Модуль DOS містить ряд функцій і процедур для роботи з диском. З їх допомогою можна здійснювати контроль за наявності вільного простору на диску, контроль правильності запису на диск, а також визначати загальний об’єм диску.

Функція

DiskFree (Drive: BYTE): LONGINT;

повертає кількість вільних байтів на вказаному диску, деDrive – задає номер диску: 0 – поточний диск, тобто той диск, з якого запущена програма; 1 – дисковод А, 2 – дисковод В, 3 – диск С, 4 – диск D і так далі.

Якщо номер диску заданий некоректно, то функція повертає значення 1. таким чином, завжди є можливість проконтролювати правильність виклику функції.

Функція

DiskSize (Drive: BYTE): LONGINT;

повертає загальну кількість байтів на вказаному диску, де Drive задає номер диску. Номер диску задається так само, як і для функціїDiskFree.

Процедура GetVerify використовується для отримання значення прапора перевірки DOS, який має назву Verify. Цей прапор слугує для визначення методу запису даних на диск. Якщо Verify знаходиться у включеному стані, тобто дорівнює ON (істинна), то після того, як інформація записана на диск, вона знову читається і порівнюється з оригіналом (звідси його назва Verify – перевіряти). Якщо ж прапор знаходиться у вимкнутому стані, тобто OFF (обман), то інформація записується на диск без перевірки. Існують різні погляди з приводу того, чи варто вмикати даний прапор під час роботи, але практика показує, що вінчестер – досить надійний пристрій і інформація на нього або записується добре, або не записується зовсім. До того ж дана перевірка правильності запису сильно зношує вінчестер і дисководи (адже потрібно записувати, а потім ще і читати) і значно збільшує час запису. Тому вмикати цей прапор необхідно, коли цінна інформація записується з вінчестера на гнучкі диски. Формат процедури наступний:

GetVerify (VAR Verify: BOOLEAN);

Процедура ставить в параметр Verify значення ON, проходить перевірка правильності запису інформації на всі диски, якщо OFF – інформація записується без перевірки.

Як вже було сказано, якщо виникає необхідність переконатися в правильності запису важливої інформації на диск, необхідно включити прапор перевірки. Для цього призначена процедура

SetVerify (Verify: BOOLEAN);

яка встановлює чи відмінює прапор перевірки в залежності від параметру Verify.

ПРОЦЕДУРИ І ФУНКЦІЇ РОБОТИ З ФАЙЛАМИ

Для роботи з файлами в модулі DOS визначенні наступні процедури і функції

Назва Тип Призначення
FExpand FUNCTION доповнення імені файлу до повного значення (поточний шлях, ім'я, розширення)
FSearch FUNCTION пошук файлу в списку каталогів
FindFirst PROCEDURE пошук першого файлу з заданим ім'ям і атрибутами
FindNext PROCEDURE пошук наступного файлу з заданим ім'ям і атрибутами
FSplit PROCEDURE розбиття повного імені файлу на складові частини (шлях, ім'я, розширення)
GetFAttr PROCEDURE отримання атрибутів файлу
SetFAttr PROCEDURE задання атрибутів файлу

Робота з файлами Турбо Паскаль призводить до необхідності використання термінології і засобів MS-DOS. Іноді виникає необхідність пошуку файлів з однаковим ім'ям, пошуку по шаблону, виділення потрібного файлу із знайденої групи файлів. Процедури FSplit, FExpand, FSearch, FindFirst, FindNext спрощують розв’язання цих задач.

Припустимо, необхідно визначити імена всіх файлів з розширенням.PAS, які знаходяться в визначеному каталозі. Для цього використовують наступні процедури:

FindFirst (Path: STRING; Attr: WORD; VAR S: SearchRec);

FindNext (VAR S: SearchRec);

де Path – шлях і ім'я дляпошуку; Attr – задані атрибути файлу; S – змінна типу SearchRec.

Процедура FindFirst шукає перший файл з заданим ім'ям і набором атрибутів у вказаному каталозі. Процедура FindNext шукає наступний файл з атрибутами, заданими при виклику FindFirst, якщо ім'я було задане шаблоном. Обидві ці процедури використовують змінну типу SearchRec для перегляду каталогу. Інформація про кожний файл, знайдена FindFirst чи FindNext, повертається в змінну цього типу. Тип SearchRec описаний в модулі Dos.

Якщо виникає необхідність пошуку в різних каталогах, то використовується FSearch. Функція має формат:

FSearch (Path: PathStr; DirList: STRING): PathStr;

де Path – шлях і ім'я файлу, який необхідно знайти. Тип PathStr описаний в модулі Dos, як рядковий тип. DirList – це список каталогів, в яких буде проводитися пошук. Каталоги в списку повинні бути розділені крапкою з комою аналогічно тому, як це робиться в команді MS-DOS PATH. Пошук завжди починається з поточного каталогу поточного диску. У випадку вдалого пошуку функція повертає рядок, в якому міститься повне ім'я файлу. У випадку невдачі повертається пустий рядок.

Для роботи з іменами файлів використовується також процедура FSplit і функція FExpand. Процедура FSplit дозволяє розбити повний шлях до файлу на три компоненти. Процедура описується наступним чином:

FSplit (Path: PathStr; VAR Dir: DirStr; VAR Name: NameStr; VAR Ext: ExtStr);

В параметрі Path вказується повний шлях до файлу. В змінній Dir повертається шлях без імені файлу.

В змінній Name повертається ім'я файлу без розширення. В змінній Ext буде поміщено розширення.

Функція FExpand виконує дії, протилежні процедурі FSplit. FExpand доповнює ім'я файлу до повного імені. Синтаксис функції наступний:

FExpand (Path: PathStr): PathStr;

Для зміни атрибутів файлу призначенні дві процедури – GetFAttr і SetFAttr. Процедура

GetFAttr (VAR F; VAR Attr: WORD);

повертає атрибути файлу, зв’язаного зі змінною F. Атрибути повертаються в змінну типу WORD. Процедура

SetFAttr (VAR F; Attr: WORD);

встановлює атрибути.

ІНШІ ПРОЦЕДУРИ І ФУНКЦІЇ

В модулі Dos є іще декілька процедур і функцій, не розглянутих нами. Це функція DosVersion і процедури GetCBreak i SetCBreak.

Функція

DosVersion: WORD;

повертає номер версії Dos.

Процедури GetCBreak i SetCBreak призначенні для роботи з змінною MS-DOS BREAK. Ця змінна відповідає за реакцію системи на натискання комбінації клавіш [Ctrl+Break]. Якщо BREAK рівна OFF, тобто вимкнена, то переривання програми здійснюється тільки під час операцій вводу-виводу і виконання програм проходить трохи швидше. Якщо ж BREAK рівна ON, то переривання проходить при будь-яких системних викликах.

Тема: Об'єктно-орієнтоване програмування.

Тема: Поняття об’єкта.

При побудові складних програм саме складність і була основною проблемою для забезпечення коректності, тому в таких випадках застосовували так звану структуру декомпозиції задач на під задачі, алгоритмів на під алгоритми. Такий поділ дозволяв легко підлагоджувати окремі компоненти, при цьому поділ здійснювався так, щоб окрема частина програми мала якомога повнішу структуру, а для взаємодії з частинами використовувалося мінімуму параметрів. Такий спосіб декомпозиції називається алгоритмічною декомпозицією, тоді всю програму можна представити у вигляді команд вигляду: „візьми дані”, „зроби дію”, „віддай дані”.

З розвитком мов програмування був введений особливий тип даних, який виражав собою дію, тобто поведінку – це процедурний або функціональний тип. Розширивши сферу застосування комбінованих типів (запис) на процедури і функції, отримали новий тип даних, що називається об’єктами. Об’єкти поєднують у собі дві частини: стан, що визначається деяким набором полів даних та поведінку, що визначається набором підпрограм. Таке представлення даних дозволяє будувати програми не як послідовність команд, а як набір дійових осіб (об’єктів). Об’єкти можуть сприймати вплив зовні, певним чином реагувати, тобто проявляти поведінку. Звичайно поведінка залежить від стану об’єкта. Застосування об’єктів становить основу об’єктної декомпозиції і об’єктно-орієнтованого програмування.

Наприклад. Об’єкт-студент (вік, зріст, стать), а поведінка залежить від віку (до 8р. – не курить). Жінки не служать у армії, а чоловіки переважно не носять спідниць, якщо зріст менший 1.50 м в армію не беруть, а при зрості більше 2 м запрошують грати в баскетбол.

Так само як і у звичайному житті, об’єкти програми в залежності від свого початкового стану можуть змінювати свій поточний стан і виливатися на інші об’єкти. Це є теж елемент поведінки.

ООП базується на декількох визначальних принципах: інкапсуляція, наслідування, поліморфізм.

Інкапсуляція – це і є об'єднання в єдину цілу структуру стану об’єкта, полів даних та поведінки (полів підпрограм), сама інкапсуляція реалізується при оголошенні об’єктних типів, які називаються класами об’єктів.

Тема: Оголошення класів об’єктів.

Об’єктові типи (класи) оголошуються в розділі оголошення типів type, при допомозі службового слова object. Сама структура об’єкта подібна до структури даних, тобто слово object замінює слово record, завершується словом end.

Під оголошенням структури розуміється описання в наявних у об’єктів полів даних із заданням їх типу підпрограм, що реалізують поведінку об’єктів. Поля підпрограм в ООП називають методами, при цьому вимагається дотримання наступних правил:

Поля даних оголошуються на початку, а методи після них.

При оголошенні методів у структурі задаються лише заголовок відповідної підпрограми (подібно до інтерфейсу в модулях).

Окремі методи можуть використовувати інші методи цього ж об’єкта, тому вони повинні бути оголошенні в певному порядку.

Реалізація кожного із методів описується нижче оголошення структури класу об’єктів, при цьому як і в модулях в розділі implementation заголовок відповідної підпрограми може бути у скороченій формі без списку формальних параметрів, але ім'я методу матиме складний ідентифікатор <ім'я класу>.<ім'я методу>. Оголошення реалізації методів повинно бути в тому ж розділі описання типів, що й оголошення структури класу..

При оголошенні методів будуть доступними всі поля даних свого класу об’єктів. Це реалізується при допомозі узагальнюючої частини ідентифікаторів методів.

Наприклад. В якості прикладу розглянемо клас об’єктів точка на екрані.

Точка може мати стан, що визначається наступними параметрами:

Координати в графічному режимі.

Колір.

Прапорець активності.

Реалізує наступну поведінку:

Ініціалізація (задання координат та кольору).




Дата добавления: 2015-09-11; просмотров: 14 | Поможем написать вашу работу | Нарушение авторских прав

Readln(a); | New(q); | USES CRT; | Заголовок. | Xx: real; | Rewrite (Output); | Процедура | Процедура | Процедура | Процедури обслуговування переривань. |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.011 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав