Методи та технології трансляторів. Створення електронного підручника "Системне програмування"

Відомості про структуру транслятора. Схема роботи транслятора, опис вхідної мови. Формальне визначення мов програмування. Використання інформаційних технологій у навчальному процесі вищого закладу освіти. Електронний підручник "Системне програмування".

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 09.04.2014
Размер файла 697,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Міністерство освіти і науки України

Херсонський державний університет

факультет фізики, математики та інформатики

Інформатика

Випускна робота освітньо-кваліфікаційного рівня "Магістр"

Методи та технології трансляторів. Створення електронного підручника "Системне програмування".

Чепела Станіслав Владиславович

Науковий керівник

професор М.С. Львов

доцент В.І. Кузьмич

Херсон 2010

Зміст

  • Вступ
  • Розділ 1. Загальні відомості про мову, переклад та структуру транслятора
  • 1.1 Схема роботи транслятора
  • 1.2 Опис вхідної мови транслятора
  • 1.3 Формальне визначення мов програмування
  • 1.3.1 Формальні мови й граматики
  • 1.3.2 Граматика, що породжує
  • Розділ 2. Лексичний аналіз
  • 2.1 Завдання й функціонування блоку лексичного аналізу
  • 2.2 Регулярні мови, кінцеві автомати й лексичний аналіз
  • 2.3 Практикум по лексичного аналізу
  • Розділ 3. Технології реалізації
  • 3.1 Мова розмітки XML
  • 3.2 Технологія XSLT
  • 3.3 Мова математичної розмітки MathML
  • Розділ 3. Програмний засіб навчання як складова інформаційних технологій
  • 3.1 Особливості використання інформаційних технологій у навчальному процесі вищого закладу освіти
  • 3.2 Програмні засоби підтримки та їх використання у навчальному процесі
  • Розділ 4. Електронний підручник "Системне програмування". Змістовний модуль "Методи та технології трасляторів"
  • 4.1 Загальні вимоги до системи програмного засобу навчального призначення
  • 4.1.1 Дидактичні вимоги до ППЗ
  • 4.1.2 Вимоги до системи проектування педагогічних програмних середовищ
  • 4.1.3 Психолого-ергономічні вимоги
  • 4.1.4 Основні вимоги, прикладені до інтерфейсу користувача програмних засобів навчального призначення
  • 4.1.5 Використання ілюстративного матеріалу в педагогічних програмних середовищах
  • 4.2 Опис розробки електронного підручника "Системне програмування" змістовний модуль "Методи та технології трансляторів"
  • 4.2.1 Призначення програмного засобу
  • Висновки
  • Список використаних джерел

Вступ

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

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

Програма інформатизації загальноосвітніх навчальних закладів, комп'ютеризації сільських шкіл на 2001 - 2003 роки (постанова Кабінету Міністрів України № 436 від 06.05.2001

Програма розвитку системи дистанційного навчання на 2004-2006 роки (постанова Кабінету Міністрів України від 23 вересня 2003 р. № 1494).

Програма "Інформаційні та комунікаційні технології в освіті і науці" на 2006-2010 роки (постанова Кабінету Міністрів України від 7 грудня 2005 р. № 1153).

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

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

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

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

транслятор електронний підручник програмування

Мета дослідження - теоретичне обґрунтування використання інформаційних технологій у вищих закладах освіти та розробка електронного підручника "Системне програмування". Методи та технології трансляторів".

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

Предмет дослідження - методи проектування та технології реалізації електронного підручника "Системне програмування".

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

Завдання дослідження:

1. Вивчити сучасні підходи у науковій літературі про роль та місце комп'ютерних технологій в теорії та практиці навчального процесу вищих закладів освіти.

2. Обґрунтувати вимоги програмних засобів підтримки викладання навчальних дисциплін.

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

4. Охарактеризувати зміст і завдання курсу "Системне програмування" змістовний модуль "Методи та технології розробки трансляторів".

5. Спроектувати та розробити електронний підручник "Системне програмування".

У центрі уваги українських науковців знаходяться методологічні, наукові, технологічні, психолого-педагогічні проблеми, пов'язані з використанням інформаційно-комунікаційних технологій в галузі освіти, зокрема, у навчальному процесі. Вагомий внесок у розвиток теорії та практики використання інформаційних комп'ютерних технологій у галузі освіти внесли вітчизняні вчені: В.М. Глушков, Г.О. Атанов, Г.О. Балл, В.Ю. Биков, М.М. Глибовець, В.І. Гриценко, О.М. Довгялло, М.І. Жалдак, М.З. Згуровський, С.П. Кудрявцев, А.Ф. Манако, Г.Ю. Маклаков, Є.І. Машбіць, Н.В. Морзе, Н.Д. Панкратова, С.А. Раков, К.М. Синиця, О.В. Співаковський, В.А. Широков та ін.

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

Теоретичною основою дослідження стали наукові праці, в яких розкрито теорію навчально-творчої діяльності (І.Я. Лернер, М.Н. Скаткін та ін.), ідеї, які розкривають засади особистісно-діяльнісного підходу до навчання (В.В. Давидов, О.С. Падалка, О.Я. Савченко, І.С. Якиманська та ін.), методологію комп'ютеризації навчального процесу (Б.С. Гершунський, О.О. Гокунь, М.І. Жалдак, А.П. Єршов, Б.Ф. Ломов, В.Я. Ляудіс, Є.І. Машбиць, Т.А. Сергеєва, Н.Ф. Тализіна, О.К. Тихомиров та ін.).

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

Теоретичне значення дослідження полягає в тому, що визначено можливості використання інформаційних технологій у вищих закладах освіти, створено електронний підручник "Системне програмування".

Практичне значення дослідження полягає у тому, що матеріали, які в ньому містяться, можуть бути корисними в процесі опанування студентами курсу "Системне програмування", написання курсових робіт.

Апробація роботи. Результати дослідження доповідались на Всеукраїнській науково-методичній конференції "Перспективні інновації у підготовці педагогічних та інженерних кадрів: теорія, методологія, досвід" (Херсон, лютий 2010 р.). За матеріалами дослідження опубліковано статтю у збірці наукових праць "Магістерські студії" (Херсон, 2010).

Структура роботи. Робота складається зі вступу, трьох розділів, висновку, списку використаних джерел.

Розділ 1. Загальні відомості про мову, переклад та структуру транслятора

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

1.1 Схема роботи транслятора

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

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

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

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

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

Якщо як об'єктна мова використовується проміжна мова, то можливі два варіанти побудови транслятора.

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

Другий варіант побудови транслятора з використанням проміжної мови - побудувати інтерпретатор команд проміжної мови й використовувати його як останній блок транслятора.

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

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

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

Рис. 2.1 Спрощена функціональна модель транслятора.

Синтаксичний аналізатор сприймає вихід лексичного аналізатора й переводить послідовність образів лексем у форму проміжної програми. У ході побудови синтаксичного дерева виконується синтаксичний контроль - виявлення синтаксичних помилок у програмі.

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

Такі основні аспекти процесу трансляції з мов високого рівня.

1.2 Опис вхідної мови транслятора

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

Першою метасинтаксичною мовою, що використовувався на практиці для опису синтаксису мов програмування (зокрема Алгола-60), є нормальні форми Бэкуса, скорочено позначають БНФ, призначення якої складається в поданні в стислому й компактному виді строго формальних і однозначних правил написання основних конструкцій описуваної мови.

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

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

1.3 Формальне визначення мов програмування

1.3.1 Формальні мови й граматики

Під мовою розуміється всякий засіб спілкування, що складає з:

· знакової системи, тобто безлічі припустимих послідовностей знаків;

· безлічі змістів цієї системи;

· відповідності між послідовностями знаків і змістами, що робить "осмисленими" припустимі послідовності знаків.

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

Буква (або символ) - це простий неподільний знак; безліч букв утворить алфавіт. Зокрема, якщо А и В такі алфавіти, що А В, те будемо говорити, що А є підалфавитом В.

Ланцюжок - упорядкована послідовність букв алфавіту. Нехай А - алфавіт, тоді ланцюжка однакової довжини є елементами безлічі: і записуються у вигляді: , а не , як це прийнято для позначення елементів декартового добутку безлічей. Букви також є ланцюжками для випадку n = 1. Ланцюжок може й не мати букв, тоді це - порожній ланцюжок, будемо позначати цей ланцюжок символом . При цьому не є буквою, тобто .

Ланцюжка будемо називати також словами. Безліч всіх можливих ланцюжків (слів) над алфавітом А називають замиканням А и позначають А*, так що

Безліч А* називають ітерацією алфавіту А. Безліч непустих ланцюжків (слів) над алфавітом А (усічена ітерація алфавіту А) визначаться як:

Кожний ланцюжок А* має кінцеву довжину, що позначається через і дорівнює числу букв , при цьому = 0.

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

При перетворенні одних ланцюжків в інші використовується поняття підцепочки. Нехай , А - алфавіт. Ланцюжок називається подцепочкой , якщо.

Сукупність ланцюжків (або пропозицій) називається мовою. Формально мова L над алфавітом А - це безліч ланцюжків А*, тому L A*. Отже операції над ланцюжками индуцируют операції на мовах. Звідси одержуємо:

У загальному випадку існують два основних способи опису окремих класів мов:

· за допомогою процедури, що породжує;

· за допомогою процедури, що розпізнає.

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

1.3.2 Граматика, що породжує

Визначення 1.3.2.1 Формальною граматикою, що породжує, називається четвірка G = <N, T, P, S>, де

Т - кінцева непуста безліч символів, називана термінальним (основним) словником граматики G; елементи безлічі Т називають термінальними символами {терміналами);

N - кінцева непуста безліч символів, називана нетермінальним (допоміжним) словником граматики G, T N =, V = T N - об'єднаний словник граматики G; елементи безлічі N називають нетермінальними символами (або нетерміналами);

S - початковий символ (аксіома) граматики G; S N і позначає головний нетермінал (ціль) граматики G;

Р - кінцева безліч правил граматики, тобто ланцюжків виду й називаних також правилами підстановки або продукциями, при цьому - ланцюжка в словнику V=T N і (Т N) *N (T N) *, (N T) *. Кінцеве двуместное відношення інтерпретується як "замінити" на "або підставитизамість".

Безліч правил підстановки Р називають також схемою граматики. Ланцюжок, що коштує в лівій частині правила граматики, обов'язково містить хоча б один нетермінальний символ. У правій же частині правила в загальному випадку може стояти довільний ланцюжок з термінальних і нетермінальних символів, включаючи й порожній ланцюжок.

Надалі елементи з нетермінального словника N будемо позначати прописними латинськими буквами А, В, З,., елементи з Т (термінальні символи) - рядковими латинськими буквами а, Ь, з,., довільні ланцюжки - грецькими буквами .

Будемо говорити, що ланцюжок ' безпосередньо виведений з ланцюжка в граматиці G ( => '), якщо й у безлічі правил підстановки Р найдеться правило .

Будемо говорити, що ланцюжок ' виведений з ланцюжка з у граматиці G ( '), якщо найдеться послідовність ланцюжків = = ' така, що ланцюжок з безпосередньо виведена в граматиці G з ланцюжка , тобто () при i = 0, 1,. n-1, або ' = . Усюди ' - довільний ланцюжок, тобто (N T) *. Відношення => називається транзитивним замиканням, а послідовність ланцюжків - виводом ланцюжка з ланцюжка в граматиці G.

Визначення 1.3.2.2 Безліч всіх ланцюжків термінальних символів, виведених з аксіоми граматики, називається мовою, породжуваною цією граматикою, тобто L (G) = {х | S= x, х Т*}.

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

Клас 0. Правила виводу граматики мають форму без яких або обмежень на рядки й .

Клас 1. Всі елементи Р одержують із форми , де а

Клас 2. Всі правила, що породжують, граматики мають вигляд:, де А - нетермінальний символ, а - непустий ланцюжок з V, тобто V*. Заміна нетермінала А на рядок відбувається без обліку контексту, тому граматики цього класу називають контекстно-вільними (Кс-Граматиками). Якщо допустити, що V*, тобто можлива порожня підстановка замість нетермінала А, то граматика називається що укорочує Кс-Граматикою (УКС-грамматика).

Клас 3. Всі правила, що породжують, мають вигляд: А bв і А b, де А,В N, b T, тобто права частина правила є або одиничним терміналом, або одиничним терміналом, за яким треба одиничний нетермінал. Мови класу 3 називають мовами з кінцевим числом станів або автоматними (регулярними) мовами, а їхні граматики, що породжують, - автоматними граматиками (А-Граматики). А-Граматики використовуються в основному на етапі лексичного аналізу.

Розділ 2. Лексичний аналіз

Лексичний аналіз

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

2.1 Завдання й функціонування блоку лексичного аналізу

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

Виходами лексичного аналізу є потік образів лексем-дескрипторів і таблиці, в останні зберігаються значення виділених у програмі лексем.

Дескриптор - це пари виду: (<тип лексеми>, <покажчик>), де <тип лексеми> - це, як правило, числовий код класу лексеми, що означає, що лексема належить одному з кінцевої безлічі класів слів, виділених у мові програмування;

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

Найпоширенішими класами є: Q ідентифікатори; службові (ключові) слова; роздільники; константи.

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

Із цих позицій коди образів лексем (дескрипторів) з кінцевих класів завжди ті самі в різних програмах для даного компілятора. Коди ж образів лексем з нескінченних класів різні для різних програм і формуються щораз на етапі лексичного аналізу.

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

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

· метод лінійного списку;

· метод упорядкованого списку;

· метод розміщення й інші.

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

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

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

2.2 Регулярні мови, кінцеві автомати й лексичний аналіз

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

Визначення 2.2.1 Граматика, Що Породжує, G = <N, T, P, S>, правила який мають вигляд: А - > ав або З - > b, де А, В, З N; a, b T називається регулярної (автоматної).

Мова L (G), породжуваний автоматною граматикою, називається автоматним (регулярним) мовою або мовою з кінцевим числом станів.

Математичною моделлю процесу розпізнавання регулярної мови є обчислювальний пристрій, що називається кінцевим автоматом (КА). Термін "кінцевий" підкреслює те, що обчислювальний пристрій має фіксований і кінцевий обсяг пам'яті й обробляє послідовність вхідних символів, що належать деякій кінцевій безлічі. Існують різні типи КА, якщо функцією виходу КА (результатом роботи) є лише вказівка на те, припустима чи ні вхідна послідовність символів, такий КА називають кінцевим розпізнавателем. Саме цей тип КА надалі ми й будемо розглядати.

Визначення 2.2.2 Кінцевим автоматом називається наступна п'ятірка: А = <V, Q, , q0, F>, де V = {а1 а2,., am - вхідний алфавіт (кінцева безліч символів);

- алфавіт станів (кінцева безліч символів);

- функція переходів;

- початковий стан кінцевого автомата;

- безліч заключних станів.

На змістовному рівні функціонування КА можна представити в такий спосіб.

Схематично конструкція КА показана на рис. 2.2.

Рис. 2.2 Схема кінцевого автомата

Відображення (функцію переходів КА) можна представити різними способами. Основні з них:

сукупність команд;

діаграма станів;

матриця переходів.

Команда кінцевого автомата записується в такий спосіб:

Дана команда позначає, що КА перебуває в стані , читає зі стрічки символ а й переходить у стан .

Графічно команда представляється у вигляді дуги графа, що йде з вершини у вершину й позначеної символом вхідного алфавіту:

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

Якщо КА виявляється в ситуації (,), що не є лівою частиною якої-небудь команди, то він зупиняється. Якщо ж УУ вважає всі символи ланцюжка а, записаної на стрічці, і при цьому перейде в заключний стан , то говорять, що ланцюжок допускається кінцевим автоматом.

Матриця переходів КА будується в такий спосіб: стовпці матриці відповідають символам із вхідного алфавіту, рядка - символам з алфавіту станів, а елементи матриці відповідають станам, у які переходить КА для даної комбінації вхідного символу й символу стану.

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

Нехай задана регулярна граматика G = <N, Т, Р, S>, правила який мають вигляд: або , де й .

Тоді кінцевий автомат А = <V, Q, , q0, F>, що допускає та ж сама мова, що породжує регулярна граматика G, будується в такий спосіб [7]:

1) V = T;

2) Z - заключний стан КА;

3) q0 = {S};

4) F = {Z};

5) Відображення будується у вигляді:

кожному правилу підстановки в граматиці G виду ставиться у відповідність команда ;

кожному правилу підстановки виду ставиться у відповідність команда ;

Розрізняють детерміновані й недетерміновані кінцеві автомати. КА називається недетермінованим КА (НДКА), якщо в діаграмі його станів з однієї вершини виходить кілька дуг з однаковими позначками.

У загальному випадку може бути запропонований наступний порядок конструювання лексичного аналізатора:

Крок 1. Виділити у вхідній мові L (G) на підставі опису його синтаксису за допомогою Кс-Граматики G безліч класів лексем Li, l<i<k, k>l.

Крок 2. Побудувати для кожного класу лексем Li автоматну граматику Gi, що породжує мова Li, тобто Li = L (Gi).

Крок 3. Для кожної автоматної граматики Gi побудувати діаграму станів Di - неформальну модель распознавателя мови L (Gi).

Крок 4. Визначити умови виходу з ЛА (перехід ЛА в початковий стан) при досягненні кінця довільної лексеми з кожного класу лексем L (Gi).

Крок 5. Розбити символи вхідного алфавіту на непересічні класи.

Крок 6. Побудувати матрицю переходів лексичного аналізатора.

Крок 7. Вибрати формат і код образів лексем-дескрипторів виду (<тип лексем>, адреса в таблиці>).

Крок 8. Запрограмувати семантичні підпрограми і розпізнати за склеєною діаграмою переходів.

2.3 Практикум по лексичного аналізу

Процес конструювання моделі ЛА може бути досить легко автоматизований. Для цього необхідна мова, що дозволяв би виконувати опис моделі ЛА в термінах кінцевих розпізнавачів. У загальному випадку в цій мові повинні бути присутнім засобу для опису безлічі вхідних символів ЛА, його вихідних символів (дескрипторів), безлічі станів і правил переходу автоматів-розпізнавачів лексем відповідних класів з одних станів в інші.

Розробка й налагодження моделі ЛА в системі здійснюється в інтерактивному режимі в рамках віконного інтерфейсу Windows.

Мова опису лексики

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

МОЛ можна використовувати й для програмування властиво кінцевих розпізнавачів. У цьому випадку на виході інтерпретатора формуються стандартні виходи детермінованого кінцевого розпізнавача: ДОПУСТИТИ або ВІДКИНУТИ. Даний варіант використання МОЛ добре підходить для моделювання синтаксичного контролю пропозицій мови програмування.

Лексичний рівень МОЛ.

У МОЛ виділені наступні класи лексем:

· ключові слова;

· директиви;

· ідентифікатори;

· роздільники.

До ключових слів ставляться: KeyWords, EndWords, Lexema, End, Space, Any, Code, NoGen. Задавати їх можна як за допомогою прописних, так і малих літер. Ідентифікатором є будь-яка послідовність букв і цифр. Для ідентифікаторів мають розходження прописні й малі літери.

^роздільникам ставляться: кутові дужки < >; круглі дужки (); квадратні дужки []; дві крапки.; знак дорівнює =; перехід - >. До директив ставляться: %NOUPCASE, %UPCASE.

Синтаксис МОЛ у формі нотації БНФ.

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

Лексема є основний, якщо після успішного її розпізнавання на виході ЛА формується її образ - дескрипторный код. Ознакою основної лексеми є наявність у її заголовку опції соdе=<код лексеми>, тут <код лексеми> - образ лексеми у вихідному потоці - дескриптор.

Програмування моделей лексичного аналізу.

Опис распознавателя (лексеми) завжди починається із ключового слова Lexema і закінчується ключовим словом End. Після слова Lexema у кутових дужках вказується ім'я лексеми. Це ім'я можна використовувати усередині описів інших лексем. Якщо лексема основна, то в опції Code вказується буквено-цифрове кодування образа лексеми на виході ЛА.

Команди переходів распознавателя лексеми задаються у вигляді:

<Стан> - > <Умова переходу> <Стан>.

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

Імена вхідних символів є глобальними - однакові імена позначають те саме в різних лексемах. Діапазон значень символів задається у квадратних дужках і визначає початковий і кінцевий символи діапазону (відповідно до кодування ASCII), розділені двома крапками. Будь-який вхідний символ із заданого діапазону буде викликати перехід у наступний стан розпізнавача. Ім'я раніше описаної лексеми записується в кутових дужках.

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

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

Вихід з распознавателя поточної лексеми й початок розпізнавання наступної здійснюється після переходу распознавателя в заключний стан Z. Як умова виходу при переході в стан Z може використовуватися:

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

? символ, що є останнім символом лексеми; якщо після цього символу у вхідному рядку є пробіли, то вони також віддаляються із вхідного тексту;

? ім'я раніше описаної лексеми.

У МОЛ є можливість описувати ключові (зарезервовані) слова шляхом їхнього перерахування. Виконується це в секції KeyWords. EndWords у вигляді послідовностей пара <ключове слово> <код лексеми>. Секція в програмі повинна бути єдиної, і в програмі повинен бути описаний рівно один розпізнавач, у заголовку якого зазначений параметр (KeyWords). Цей параметр указує на те, що при успішному розпізнаванні лексеми даного класу буде здійснюватися перевірка приналежності його до ключових слів і у випадку успіху на вихід Л А буде передаватися код лексеми ключового слова, а не той, котрий заданий в опції Code при описі класу.

Для вхідного ланцюжка aaaa adfrt read dftg write на виході даного ЛА буде згенеровано дескрипторний код виду 101 101 51 101 52.

Моделювання поводження властиво ДКА на ЯОЛ проводиться аналогічно, відмінність лише в тім, що програма моделювання ДКА може містити безліч описів допоміжних лексем і лише один опис основної лексеми з параметром code=ДОПУСТИТИ. Нижче наведений приклад опису моделі ДКА для розпізнавання спрощеного варіанта запису оператора with мови Паскаль.

Розділ 3. Синтаксичний аналіз.

Розділ 4. Семантичний аналіз та генерація коду об'єктної програми.

Розділ 5. Системи автоматизації конструювання синтаксичних аналізаторів (на прикладі ANTLR).

Розділи мають назви та номери. Кожен з розділів містить декілька параграфів. Параграфи також мають назви та номери. Нумерація параграфів є наскрізною.

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

· Навчальний матеріал структуровано як гіпертекст.

· Система навігації реалізована у вигляді меню "Зміст".

· Контрольні питання є тестами.

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

Рис. 2.3 Інтерфейс

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

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

Функції ПМ "Підручник"

Завершення роботи з підручником

Для того, щоб завершити роботу з підручником, треба перейти на іншу закладку змісту головного вікна ПМ "Робоче місце вчителя".

Навігація

Вибираючи новий параграф підручника за змістом або ключовим словом, користувач відкриває цей параграф підручника. Для того, щоб повернутися до того параграфу, з якого він зробив цей вибір, треба виконати команду головного меню Навігація/Назад.

Коли Ви повернулися назад до деякого параграфа підручника, Ви можете знову перейти до того параграфа, з якого Ви щойно повернулися назад. Для того, щоб зробити це, треба виконати команду головного меню Навігація/Вперед.

Таким чином, користувач підручника створює шлях навігації по параграфам підручника. Кроки на цьому шляху виконуються командами Назад, Вперед.

Перевір себе

Для того, щоб приступити до відповіді на обране питання, треба натиснути на кнопку Перевір себе. В окремому вікні відкриється ПМ "Питання".

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

Команда Зміст меню Вигляд відкриває/закриває вікно змісту Підручника, Задачника, Опорних конспектів, Зошитів алгебраїчних задач та графічних побудов, у якому можна переглядати зміст Підручника, Задачника, Бібліотеки опорних конспектів, власного Зошита алгебраїчних задач та власного Зошита графічних побудов.

Команда Повний екран меню Вигляд відкриває на весь екран вікно перегляду та закриває всі відкриті панелі.

Для повернення назад до того розділу, з якого було зроблено вибір, треба виконати команду головного меню Навігація/Назад.

Після повернення назад Ви можете знову перейти до того розділу, звідки щойно повернулися назад. Для того, щоб зробити це, треба виконати команду головного меню Навігація/Вперед.

Таким чином під час роботи з ПМ "Робоче місце учня" створюється шлях навігації. Кроки на цьому шляху виконуються командами Назад, Вперед.

Команда Навігація/Оновити видаляє з пам'яті підручника старий шлях навігації і створює новий шлях, в якому ще немає жодного кроку

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

Для того щоб закінчити роботу з додатком необхідно виконати команду головного меню Файл/Вихід або натиснути комбінацію клавіш Alt+F4.

Даний підручник розроблено на основі педагогічного програмного засобу "Алгебра 8"

Розділ 3. Технології реалізації

Розглянемо основні технології, які були використані під час розробки електронного підручника "Системне програмування" змістовний модуль "Методи та технології розробки трансляторів" та дамо оцінку актуальності використання цих технологій.

3.1 Мова розмітки XML

Розширювана мова розмітки (англ. Extensible Markup Language, скорочено XML) - запропонований консорціумом World Wide Web (W3C) стандарт побудови мов розмітки ієрархічно структурованих даних для обміну між різними застосунками, зокрема, через Інтернет. [1] Є спрощеним варіантом мови розмітки SGML. XML документ складається із текстових знаків, у найпростішому випадку, - ASCII, і придатний до читання людиною [12, 75] [.

Стандарт XML (англ. Recommendation, перше видання від 10 лютого 1998, останнє, четверте видання 29 вересня 2006) визначає набір базових лексичних та синтаксичних правил для побудови мови описання інформації шляхом застосування простих тегів. Цей формат достатньо гнучкий для того, аби бути придатним для застосування в різних галузях [2] . Іншими словами, запропонований стандарт визначає метамову, на основі якої, шляхом запровадження обмежень на структуру та зміст документів визначаються специфічні, предметно-орієнтовані мови розмітки даних. Ці обмеженння описуються мовами схем (англ. Schema), таких як DTD, RELAX NG або XML Schema. Прикладами мов, основаних на XML є: RSS, MathML, GraphML, XHTML, Scalable Vector Graphics, і також XML Schema.

Коректність

Коректний документ (англ. well-formed document) відповідає всім синтаксичним правилам XML. Документ, що не є коректним, не може називатись XML-документом. Сумісний синтаксичний аналізатор (англ. Conforming parser) не повинен обробляти такі документи. Зокрема, коректний XML документ має:

§ Документ має лише один елемент в корені.

§ Непорожні елементи розмічено початковим та кінцевим тегами (наприклад, <пункт>Пункт 1</пункт>). Порожні елементи можуть помічатись "закритим" тегом, наприклад<IAmEmpty />. Така пара еквівалентна <IAmEmpty></IAmEmpty>.

§ Один елемент не може мати декілька атрибутів з однаковим іменем. Значення атрибутів знаходяться або в одинарних ('), або у подвійних (") лапках.

§ Теги можуть бути вкладені, але, не можуть перекриватись. Кожен некореневий елемент мусить повністю знаходитись в іншому елементі.

§ Фактичне та задеклароване кодування (англ. character encoding) документа мають збігатись. Кодування може бути задекларовано ззовні, як в заголовку "Content-Type" при передачі по протоколу HTTP, або в самому документі використанням явної розмітки на самому початку документа. Якщо така декларація відсутня, обирається кодування Юнікод, як вказано в перших байтах документа позначених Byte-order mark. Якщо і ця позначка відсутня, обирається кодування UTF-8.

Валідність

Документ називається валідним (англ. valid), якщо він є коректним, містить посилання на граматичні правила, та повністю відповідає обмеженням, вказаним у цих правилах (DTD або XML Schema або іншому подібному документі).

Синтаксичний аналізатор

Синтаксичним аналізатором (часто, парсер від англ. parser) називається програма або компонента, що читає XML-документ, проводить синтаксичний аналіз, та відтворює його структуру. Якщо синтаксичний аналізатор перевіряє документ на валідність, то такий аналізатор називають валідуючим (англ. validating).

Назви елементів чутливі до регістра літер. Наприклад, наступна пара елементів коректна:

<Step>. </Step>

в той час як ця, - ні:

<Step>. </step>

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

XML-документи мають як фізичну, так і логічну структуру.

Фізична структура

§ Сутності (англ. Entity). Головною сутністю є зміст документа. Інші можливі сутності вказуються із допомогою

§ Посилання на сутності (&назва; в самому документі, та, наприклад % назва; у визначені його типу) можуть слугувати в якості як позначення спеціальних символів, посилань на спеціальні символи (вказуючи коди символів &#десяткове;, або &#xшістнадцяткове;) або окремих документів чи фрагментів тексту.

§ XML декларація, в ній вказується версія XML, кодування, та інша допоміжна інформація.

...

Подобные документы

  • Розрахунок собівартості інструментальної системи створення електронних підручників. Вибір технології та мови програмування. Загальна характеристика програми і принцип роботи. Вибір мови програмування. Опис тегів, які підтримуються HTML-редактором.

    дипломная работа [112,7 K], добавлен 04.06.2010

  • Модель аналізу-синтезу компіляції. Формальний опис вхідної мови програмування. Вибір технології програмування, проектування таблиць транслятора та вибір структур даних. Опис програми реалізації лексичного аналізатора. Розробка дерев граматичного розбору.

    курсовая работа [75,8 K], добавлен 26.12.2009

  • Основи використання інформаційних технологій у галузі освіти. Створення електронного щоденника мовою програмування. Вибір середовища розробки. Установка, налаштування та проектування шаблону програми. Наповнення сайту інформацією та створення бази даних.

    магистерская работа [3,9 M], добавлен 25.02.2014

  • Вибір засобів створення електронної системи. Загальні відомості про електронний підручник. Технології розробки та структурна організація проекту. Метод підготовки тестування при розробці курсу дистанційного навчання. Етапи написання тестової програми.

    курсовая работа [51,9 K], добавлен 20.02.2012

  • Комп'ютерні телекомунікації - перспективна технологічна основа дистанційної освіти. Загальні відомості про електронні підручники. Традиційнні алгоритмічні мови. Створювання мультимедійного комплексу, основні етапи. Гіпертекстові і гіпермедіа засоби.

    дипломная работа [1,3 M], добавлен 08.03.2013

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

    курсовая работа [1,4 M], добавлен 26.02.2013

  • Методика розробки компілятору з вхідної мови програмування Pascal, оболонка, якого розроблена в середовищі програмування Borland C під операційну систему Windows. Блок-схема програми. Розробка оптимізатора та генератора коду. Тестування компілятора.

    курсовая работа [218,6 K], добавлен 04.06.2011

  • Характеристика мов програмування. Опис логічної структури. Створення головної сторінки електронного журналу за допомогою гіпертекстової розмітки, бази даних для роботи журналу. Розробка таблиць, форм та скрипту. Тестування програмного забезпечення.

    курсовая работа [659,7 K], добавлен 01.04.2016

  • Розгляд поняття електронного освітнього ресурсу. Дослідження особливостей написання макросів засобами Visual Basic for Аpplications для використання у розробці розкладу студентів. Створення програми, яка демонструє використання офісного програмування.

    курсовая работа [687,2 K], добавлен 18.03.2015

  • Створення шаблону засобами CSS для електронного підручника. Структура електронного підручника та схема навігації. Сценарії та основні модулі: головна сторінка, шаблон web-інтрфейсу, сторінка з питаннями для самоконтролю, опис інтерактивних елементів.

    курсовая работа [2,9 M], добавлен 20.04.2015

  • Створення баз даних для автоматизування роботи торгового представника в середовищі програмування Delрhі. Опис вхідної та результуючої інформації, формалізований опис задачі. Розробка технічного та робочого проекту, опис та обґрунтування вибору структури.

    курсовая работа [135,8 K], добавлен 11.10.2010

  • Основні відомості про історію розвитку мови Object Pascal, середовища Delphi, їх основні технології та застосування для роботи з файлами. Опис основних особливостей мови, основних елементів програмної мови. Принципи об'єктно-орієнтованого програмування.

    курсовая работа [471,5 K], добавлен 12.04.2010

  • Відомості про мови програмування та методи програмування. Системні вимоги програми. Керівництво програміста та керівництво користувача. Використання консольного додатку візуального середовища Visual Studio 2010. Запуск програми "Толковый словарь".

    курсовая работа [791,1 K], добавлен 18.01.2015

  • Методика та порядок програмування алгоритмів циклічної структури із заданим числом повторень за допомогою мови програмування VAB. Алгоритм роботи з одновимірними масивами. Програмування алгоритмів із структурою вкладених циклів, обробка матриць.

    курсовая работа [27,7 K], добавлен 03.04.2009

  • Об’єктно-орієнтоване програмування мовою С++. Основні принципи об’єктно-орієнтованого програмування. Розробка класів з використанням технології візуального програмування. Розробка класу classProgressBar. Базовий клас font. Методи тестування програми.

    курсовая работа [211,3 K], добавлен 19.08.2010

  • Електронні підручники як засіб впровадження інформаційних технологій у навчальний процес: основні поняття, вимоги. Створення електронного підручника: особливості мови HTML, текст, гіперпосилання; практичні заняття з теорії числових і функціональних рядів.

    дипломная работа [1,8 M], добавлен 23.08.2012

  • Дослідження середовища візуального програмування Delphi. Вивчення процесу створення навчальної програми "Електронний словник". Опис графічного інтерфейсу. Характеристика структури та основних процедур даної програми. Аналіз роботи з програмним кодом.

    курсовая работа [831,2 K], добавлен 01.03.2014

  • Розгляд особливостей мови програмування С++: основні можливості, характеристика функцій. Аналіз файлів з вхідними даними. Використання похідних класів як ефективний засіб об’єктно-орієнтованого програмування. Способи роздруківки графічного вирішення.

    курсовая работа [510,9 K], добавлен 14.03.2013

  • Характеристика мов програмування. Історія виникнення мови C#, її особливості, версії та нові можливості. Приклад програм виведення на екран, виведення поточної дати та часу та програми музичного програвача. Програмний код та результат виконання програм.

    контрольная работа [321,3 K], добавлен 13.06.2012

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

    дипломная работа [1,3 M], добавлен 12.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.