ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Модулі, файли і записи
         

     

    Кибернетика

    Модулі, записи й файли.

    Введення

    Метою курсового проектування є придбання і закріплення навичок в організації обчислювальних процесів і програмування на алгоритмічній мові ПАСКАЛЬ. Основний акцент в роботі приділяється розгляду модульного програмування, використання процедур і функцій. Крім того, велика увага приділяється роботі з файлами, докладно розглядаються функції відкриття та закриття файлу. Отримані знання допоможуть у майбутньому більш ефективно підходити до процесу розробки програмного забезпечення.

    Мова програмування Pascal був розроблений в 1968-1971 рр..

    Ніклаус Віртом в Цюріхському Інституті інформатики (Швейцарія).

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

    Існують численні реалізації мови практично для всіх машинних архітектур; розроблено десятки діалектів і проблемно-орієнтованих розширень мови Pascal; навчання програмуванню та науково-технічні публікації в значній мірі базуються на цій мові.

    Характеристика та особливості мови. Існує ряд об'єктивних причин, що обумовили видатний успіх мови Pascal. Серед них у першу чергу необхідно вказати наступні:

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

    2. Завдяки своїй компактності, концептуальній цілісності та ортогональності понять, а також вдалому початкового опису, запропонованому автором мови, Pascal виявився дуже легким для вивчення та освоєння. На противагу громіздким багатотомні описи таких мов, як PL/I, Cobol, FORTRAN, достатньо повний опис мови Pascal займає близько 30 сторінок тексту, а його синтаксичні правила можна розмістити на одній сторінці.

    3. Незважаючи на відносну простоту мови, він виявився придатний для дуже широкого спектру додатків, у тому числі для розробки дуже великих і складних програм, наприклад операційних систем.

    4. Pascal дуже технологічний для реалізації практично для всіх, у тому числі і нетрадиційних, машинних архітектур.

    Стверджується, що розробка Pascal-транслятора "майже не перевищує за трудомісткістю гарну дипломну роботу випускника вузу". Завдяки цьому для багатьох ЕОМ існує декілька різних реалізації мови, що відображають ті чи інші практичні потреби програмістів.

    Мова Pascal стандартизована в багатьох країнах. У 1983 році був прийнятий міжнародний стандарт (ISO 7185:1983). Готується (відомості на

    1989 рік) стандарт РЕВ на Pascal.

    Розглянемо основні особливості мови Pascal.

    1. Pascal є традиційним алгоритмічним мовою програмування, що продовжує лінію Algol-60. Це означає, що програма на мові Pascal являє собою спеціально організовану послідовність кроків з перетворення даних, що приводить до вирішення деякої задачі. Це відрізняє Pascal від так званих непроцедурного мов типу Prolog, по суті представляють собою формалізму для запису початкових умов деякої задачі і синтезують рішення за допомогою вбудованих механізмів логічного висновку.

    2. Мова Pascal містить зручні засоби для представлення даних. Розвинена система типів дозволяє адекватно описувати дані, що підлягають обробці, та конструювати структури даних довільної складності. Pascal є універсальна мова, що означає фіксацію типів змінних при їх описі, а також строгий контроль перетворень типів і контроль доступу до даних відповідно до їх типом (як на етапі компіляції, так і при виконанні програм).

    3. Набір операторів мови Pascal відображає принципи структурного програмування і дозволяє записувати досить складні алгоритми в компактній формі та елегантною.

    Pascal є процедурним мовою з традиційною блокової структурою і статично певними частинами дії імен.

    Процедурний механізм поєднує в собі простоту реалізації та використання і гнучкі засоби параметризації.

    4. Синтаксис мови досить нескладний. Програми записуються у вільному форматі, що дозволяє зробити їх наочними і зручними для вивчення.

    Модуль

    Модуль - це автономно компільовані програмна одиниця, що включає в себе різні компоненти розділу описів (типи, константи , змінні, процедури і функції) і, можливо, деякі виконуються оператори ініціації частини. У модулях Turbo PASCAL явно виділяється деяка "видима" інтерфейсна частину, в якій сконцентровані описи глобальних типів, констант і змінних, а також приводяться заголовки глобальних процедур і функцій. Поява об'єктів в інтерфейсній частини робить їх доступними для інших модулів і основної програми. Тіла процедур і функцій розташовуються у виконуваній частині модуля, яка може бути прихована від користувача. Модулі являють собою прекрасний інструмент для розробки бібліотек прикладних програм і потужний засіб модельного програмування. Важлива особливість модуля полягає в тому, що компілятор Turbo PASCAL розміщує їх програмний код в окремому сегменті. Модуль має наступну структуру:

    UNIT;

    INTERFACE

    IMPLEMENTATION

    BEGIN

    END.

    Тут UNIT - зарезервоване слово, починає заголовок модуля;

    - ім'я модуля (повинне збігатися з ім'ям файлу, в який поміщений модуль);

    IMPLEMENTATION - зарезервоване слово (виконання ), починає виконувану частину; BEGIN - зарезервоване слово, починає ініціюючу частина (частина модуля BEGIN необов'язкова); END - зарезервоване слово, ознака кінця модуля.

    Заголовок модуля складається з зарезервованого слова UNIT і наступного за ним ім'я модуля . Для правильної роботи Turbo PASCAL і можливості підключення засобів, що полегшують розробку великих програм, це ім'я повинне збігатися з ім'ям файлу, в якому міститься вихідний текст модуля. Ім'я модуля служить для його зв'язку з іншими модулями й основною програмою. Цей зв'язок установлюється спеціальним додатком USES. Тут USES - зарезервоване слово; - список модулів, з якими встановлюється зв'язок, елементами списку є імена модулів, відокремлюються один від одного комами. Якщо оголошення USES використовується, то воно повинне відкривати розділ описів основної програми. Модулі можуть використовувати інші модулі. Пропозиція USES в модулях може випливати або відразу за зарезервованим словом

    INTERFACE, або відразу за словом IMPLEMENTATION. Інтерфейсна частина відкривається зарезервованим словом INTERFACE. У цій частині містяться оголошення всіх глобальних об'єктів модуля (типів, констант, змінних та підпрограм), які повинні стати доступними основній програмі і (або) іншим модулів. При оголошенні глобальних підпрограм в інтерфейсній частині вказується тільки їхній заголовок.

    Оголошення підпрограм в інтерфейсній частини автоматично супроводжується їхньою компіляцією з використанням далекої моделі пам'яті.

    Таким чином, забезпечується доступ до підпрограм з основної програми й інших модулів. Порядок появи різних розділів оголошень і їх кількість може бути довільним. Частина, що виконується починається зарезервованим словом IMPLEMEN-TATION і містить опису підпрограм, оголошених в інтерфейсній частини. У ній можуть оголошуватися локальні для модуля об'єкти - допоміжні типи, константи, змінні і блоки, а також мітки, якщо вони використовуються в ініціації частини. Опису підпрограми, оголошеної в інтерфейсній частині модуля, що виконується в частині повинен передувати заголовок, у якому можна опускати список формальних змінних (і тип результату для функції), так як вони вже описані в інтерфейсній частини. Але якщо заголовок програми приводиться в повному вигляді, тобто, зі списком формальних параметрів, то він повинен збігатися із заголовком, оголошеним в інтерфейсній частини. Ініціює частину завершує модуль. Вона може бути відсутнім разом з початківцем її словом BEGIN або бути порожній - тоді за BEGIN відразу слід ознака кінця модуля

    (слово END і наступна за ним точка). У ініціації частини розміщуються виконуються оператори, які містять деякий фрагмент програми. Ці оператори виконуються до передачі керування основній програмі і звичайно використовуються для підготовки її роботи. Наприклад, у них можуть ініціюватися змінні, відкриватися потрібні файли, можуть встановлюватися зв'язки з іншими ПК по комунікаційних каналах і т.п.

    Не рекомендується робити ініціюючу частину порожньою, краще її опустити: порожня частина містить порожній оператор, якому буде передане керування при запуску програми.

    У середовищі Turbo PASCAL є засоби, що управляють засобом компіляції модулів і полегшують розробку великих програмних проектів. Зокрема, визначені три режими компіляції: COMPILE,

    MAKE і BUILD. Режими відрізняються тільки способами зв'язку компіляції модуля й основної програми з іншими модулями, оголошеними в додатку USES. При компіляції модуля або основної програми в режимі COMPILE компілюється тільки файл, що знаходиться в активному вікні. За умовчанням передбачається, що використовувані модулі вже відкомпілювати і результати поміщені в однойменні файли з розширенням. TPU; файл з розширенням. TPU (від англійського Turbo

    Pаscal Unit) створюється в результаті компіляції модуля. У режимі МАКЕЄВ компілятор перевіряє наявність TPU-файлів для кожного оголошеного модуля.файл із вихідним текстом модуля. Якщо PAS-файл знайдений, то відбувається його компіляція.

    Крім того, в цьому режимі система стежить за можливими змінами вихідного тексту будь-якого використовуваного модуля. Якщо в PAS-файл

    (вихідний текст модуля) внесені які-небудь зміни, то незалежно від того, чи є вже в каталозі відповідний TPU-файл чи ні, система здійснює його компіляцію перед компіляцією основної програми. Якщо зміни внесені в інтерфейсну частину модуля, то будуть перекомпіліровать також і всі інші модулі, які звертаються до нього. Режим МАКЕЄВ істотно полегшує процес розробки великих програм з безліччю модулів. У режимі BUILD існуючі TPU-файли ігноруються, і система намагається відшукати й компілювати відповідний PAS-файл для кожного оголошеного в пропозиції USES модуля. Після компіляції в режимі BUILD програміст може бути впевнений у тому, що враховані всі зроблені ним зміни в будь-якому з модулів.

    Підключення модуля до основної програми і їхня можлива компіляція здійснюється в порядку їх оголошення в пропозиції USES.

    При переході до чергового модуля система попередньо відшукує всі модулі, на які він посилається. Посилання модулів один на одного можуть утворювати деревоподібну структуру будь-якої складності, однак забороняється явне або непряме обіг модуля до самого себе. Справа в тому, що Turbo PASCAL дозволяє посилання на частково відкомпілювалися модулі, що приблизно відповідає випереджальному опису підпрограми. Якщо інтерфейсні частини будь-яких двох модулів незалежні, Turbo PASCAL зможе ідентифікувати всі глобальні ідентифікатори в кожному з модулів, після чого відкомпілює тіла модулів звичайним способом.

    Запис

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

    Структура оголошення типу запису така:

    = RECORD END

    Тут - правельний індіфікатор;

    RECORD, END - зарезервовані слова (запис, кінець);

    - список полів; є послідовністю розділів записи, між якими ставиться крапка з запитом.

    Кожен розділ запису складається з одного або декількох індіфікаторов полів, відокремлюваних один від одного комами. За індіфікатором ставиться двокрапка і опис типу поля наприклад:

    type birthday = record day, month: byte; year: word: end; var a, b: Birthday;

    . . . . . . . .

    У цьому прикладі тип Birthday є запис з полями DAY, MONTH, і

    YEAR; змінні А і В містять записи типу Birthday.

    Як у масиві , значення змінних типу запису можна привласнювати іншим змінним того ж типу, наприклад: a: = b;

    До кожного з компонентів записи можна отримати доступ, якщо використовувати складене ім'я, тобто вказати ім'я змінної, потім крапку і ім'я поля: a.day: = 27; b.year: = 1991;

    Щоб спростити доступ до полів запису, використовується оператор приєднання WITH:

    WITH DO

    Тут WITH, DO - ключові слова (с, робити);

    - ім'я змінної типу запис, за яким, можливо, слід список вкладених полів; < p> - будь-який оператор Турбо Паскаля.

    Наприклад: with c.bd do month: = 9;

    Імена полів повинні бути унікальними в межах тієї записи, де вони оголошено, однак, якщо записи містять поля - записи, тобто вкладена одна в іншу, імена можуть повторюватися на різних рівнях вкладеності.

    Файли

    Під файлом розуміється іменована область пам'яті на магнітному носії, яка використовується для довготривалого зберігання деякої логічно пов'язаної інформації. У цю область зовнішньої пам'яті можна як помістити певні дані, так і витягти їх з неї. Ці дії мають спільну назву - ввід-висновок.

    Програмування доступу до файлу у мові Turbo Pascal починається з опису файлової змінної (змінної файлового типу). Цей опис будується за допомогою службового слова file, після якого

    (після службового слова of) може бути вказаний тип окремих елементів файла, наприклад: var

    F: file of integer;

    При необхідності можна окремо визначити деякий файловий тип, яким надалі користуватися при описі файлових змінних: type

    RecordFile = file of record

    А, В: real; end ; var

    Fl, F2: RecordFile;

    Дуже важливо розрізняти власне файл (область пам'яті на магнітному носії з деякою інформацією) і змінну файлового типу в деякій Turbo Pascal-програмі. Вважається, що файлова змінна є представником деякого дискового файлу в програмі. Для того, щоб реалізувати доступ до файлу па магнітному диску, програма повинна зв'язати його з файлової змінної. Для цього необхідно зіставити змінну з ім'ям файлу. Це ім'я представляється у вигляді рядка, що містить повне ім'я файлу і, можливо, ланцюжок осяжний каталогів та позначення дисководу. Така рядок носить назву маршруту (або колії) до файлу і формується за загальними правилами MS-DOS.

    Зв'язування маршруту та файлової змінної проводиться стандартною процедурою Assign, якій передаються два параметри: ім'я змінної файлового типу та рядок з ім'ям (маршрутом) дискового файлу, наприклад:

    Assign (F, 'з: booksbook4test3. разів');

    Крім маршруту, у другому параметрі може бути вказано умовне < p> (символічне) позначення деякого "псевдофайла" MS-DOS, тобто файлу, пов'язаного з конкретним фізичним пристроєм. Допускаються імена, в основному збігаються з прийнятими в MS-DOS позначеннями

    ( 'con' - консоль, тобто екран дисплея і/або клавіатура, 'lpti' або

    'prn' - друкуючий пристрій і т. д.).

    До тих пір, поки файлова змінна не пов'язана з яким-небудь дисковим файлом, ніякі операції з нею в програмі неможливі,

    Зауважимо, що можна пов'язати файлову змінну з ще не існуючим дисковим файлом. Це може бути виправдана для випадку подальшого створення Turbo Pascal-програмою файлу з даними ім'ям за допомогою деякої системної процедури.

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

    Rename і Erase з наступними специфікаціями:

    Rename (var f; nevname: string);

    Erase (var f);

    Основним параметром цих процедур є файлова мінлива

    (вона може ідентифікувати файл будь-якого типу, і до неї повинна була бути раніше застосована процедура Assign), а процедурою Rename додатково передається нове ім'я файлу. Дія зазначених процедур грунтується на відповідних DOS-функціях і функ?? іонально еквівалентно командам ren і del командного процесора.

    Висновок

    Отриманий мною практичний досвід стосовно до програмування на ПАСКАЛЬ дозволяє використовувати ефективне модульне програмування. Крім того, вивчивши представлений в курсовому проектуванні матеріал, я придбав практичні навички використання процедур, функцій. Поряд з цим я навчився правильно використовувати файлові функції операційної системи MS-DOS, що є одним з основних питань програмування.

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status