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

Реферат

ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ - сукупність програм системи обробки інформації та програмних документів, необхідні експлуатації цих програм (ГОСТ 19781-90). Також - сукупність програм, процедур та правил, а також документації, що належать до функціонування системи обробки даних (СТ ІСО 2382/1-84).

ІНСТРУМЕНТАЛЬНЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ – програмне забезпечення, призначене для використання під час проектування, розробки та супроводу програм. Зазвичай цей термін застосовується для акцентування відмінності даного класу ПЗ від прикладного та системного програмного забезпечення.

КОМПІЛЯТОР – транслятор, який виконує перетворення програми, складеної вихідною мовою, на об'єктний модуль.

ІНТЕРПРЕТАТОР – програма (іноді апаратний засіб), яка аналізує команди або оператори програми і тут же виконує їх.

ОПЕРАЦІЙНА СИСТЕМА - комплекс керуючих та обробних програм, які, з одного боку, виступають як інтерфейс між пристроями обчислювальної системи та прикладними програмами, а з іншого - призначені для управління пристроями, управління обчислювальними процесами, ефективного розподілу обчислювальних ресурсів між обчислювальними процесами та організації надійних обчислень .

ПРИКЛАДНА ПРОГРАМА - програма, призначена для виконання певних завдань користувача і розрахована на безпосередню взаємодію з користувачем.

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

VISUALBASICFORAPPLICATION - трохи спрощена реалізація мови програмування Visual Basic, вбудована в лінійку продуктів Microsoft Office(включаючи версії для Mac OS), а також багато інших програмних пакетів, таких як AutoCAD, SolidWorks, CorelDRAW, WordPerfect і ESRI ArcGIS.

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

Класифікація програмного забезпечення:

Види інструментального програмного забезпечення:

1) Текстові редактори

4) Компілятори

5) Інтерпретатори

6) Лінковщики

8) Асемблери

9) Відладчики

10) Профілювальники

11) Генератори документації

Для створення програми обраною мовою програмування потрібно мати такі компоненти:

2. Компілятор чи інтерпретатор. Вихідний текст за допомогою програми-компілятора перетворюється на проміжний об'єктний код.

Результат роботи: Розглянуто програмне забезпечення, його функції та види, зокрема інструментальне програмне забезпечення, його сутність, завдання. У третій главі розглянуто Microsoft Visual Basic як засіб розробки програмного забезпечення та його діалект - Microsoft Visual Basic forApplication. У курсової роботиреалізовано алгоритм розв'язання фінансово-економічного завдання з використанням мови програмування Pascal.

Вступ

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

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

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

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

Для наочності ми розглянемо інструментальне програмне забезпечення (об'єкт дослідження) з прикладу програмного комплексу VisualBasicforApplication (предмет дослідження), застосовуваного для програмування серед MicrosoftOffice – найпоширенішого і найпопулярнішого офісного пакета.

1. Програмне забезпечення

1.1 Поняття та сутність програмного забезпечення

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

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

До програмного забезпечення (ПЗ) відноситься також вся галузь діяльності з проектування та розробки ПЗ:

1) технологія проектування програм (наприклад, низхідне проектування, структурне та об'єктно-орієнтоване проектування);

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

3) методи доказу правильності програм;

4) аналіз якості роботи програм;

5) документування програм;

6) розробка та використання програмних засобів, що полегшують процес проектування програмного забезпечення, та багато іншого.

Існує безліч різних визначень ПЗ. Взагалі, програмне забезпечення - сукупність програм системи обробки інформації та програмних документів, необхідні експлуатації цих програм (ГОСТ 19781-90). Також - сукупність програм, процедур та правил, а також документації, що належать до функціонування системи обробки даних (СТ ІСО 2382/1-84).

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

У комп'ютерному сленгу часто використовується слово софт від англійського software, яке в цьому сенсі вперше застосував у статті в American Mathematical Monthly математик з Прінстонського університету Джон Тьюкі (англ. John W. Tukey) в 1958 році.

Інші визначення:

1) ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ - це сукупність програм, що дозволяють здійснити на комп'ютері автоматизовану обробку інформації.

2) ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ (математичне забезпечення електронної обчислювальної машини), сукупність програм системи обробки даних та програмних документів, необхідних для реалізації програм на електронній обчислювальній машині.

3) ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ - сукупність програм управління процесом роботи комп'ютера, автоматизації програмування.

4) ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ - комплекс комп'ютерних програм, що забезпечує обробку чи передачу даних.

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

1.2 Функції програмного забезпечення

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

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

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

3. Інформаційно-командні. Здійснюють перевірку відповідності програмного коду принципам системи та створення логічної структуриінформації та здійснюють його виконання.

4. Інтерфейсні. Забезпечують обробку та інтерпретацію програмного коду у формат відображення доступний для сприйняття користувачем. Створює сприятливе середовище для взаємодії "Комп'ютер-Людина, Людина-Комп'ютер".

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

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

1.3 Види програмного забезпечення

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

a) прикладні програми, які безпосередньо забезпечують виконання необхідних користувачам робіт;

b) системні програми, призначені для управління роботою обчислювальної системи, виконують різні допоміжні функції, наприклад:

1) управління ресурсами комп'ютера;

2) створення копій використовуваної інформації;

3) перевірка працездатності пристроїв комп'ютера;

4) видача довідкової інформації про комп'ютер та ін;

c) інструментальні програмні системи, що полегшує процес створення нових програм для комп'ютера.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2. Інструментальне програмне забезпечення

2.1 Сутність та поняття інструментального програмного забезпечення

Інструментальне програмне забезпечення (ІПО) - програмне забезпечення, призначене для використання в ході проектування, розробки та супроводження програм.

Застосовується інструментальне забезпечення у фазі розробки. Інструментальне програмне забезпечення - це сукупність програм, використовуваних на допомогу програмістам у роботі, на допомогу керівникам розробки програмного забезпечення у тому прагненні проконтролювати процес розробки та одержувану продукцію. Найбільш відомими представниками цієї частини програмного забезпечення є програми трансляторів із мов програмування, які допомагають програмістам писати машинні команди. Інструментальними програмами є транслятори з мов Фортран, Кобол, Джо-віал, Бейсік, АПЛ та Паскаль. Вони полегшують створення нових робочих програм. Однак транслятори з мов це лише найвідоміша частина інструментальних програм; існує ж їх безліч.

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

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

1. Текстовий редакторстворення файлу з вихідним текстом програми.

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

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

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

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

Найбільш популярні редактори (системи програмування програм із використанням візуальних засобів) візуального проектування:

1) Borland Delphi - призначений для вирішення практично будь-яких задач прикладного програмування.

2) Borland C++ Builder - це відмінний засіб розробки DOS і Windows додатків.

3) Microsoft Visual Basic – це популярний інструмент для створення Windows-програм.

4) Microsoft Visual C++ - це засіб дозволяє розробляти будь-які програми, що виконуються серед ОС типу Microsoft Windows

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

2.2 Завдання та функції інструментального програмного забезпечення

Для інструментального програмного забезпечення, як особливого різновиду програмного забезпечення, характерні спільні та приватні

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

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

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

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

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

2.3 Види інструментального програмного забезпечення

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

1) Текстові редактори

2) Інтегровані середовища розробки

4) Компілятори

5) Інтерпретатори

6) Лінковщики

7) Парсери та генератори парсерів (див. Javacc)

8) Асемблери

9) Відладчики

10) Профілювальники

11) Генератори документації

12) Засоби аналізу покриття коду

13) Засоби безперервної інтеграції

14) Кошти автоматизованого тестування

15) Системи управління версіями та ін.

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

Текстові редактори

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

Типи текстових редакторів.

Умовно виділяють два типи редакторів: потокові текстові редактори та інтерактивні.

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

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

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

Текстові редактори призначені для створення та редагування текстових документів. Найбільш поширеними є MS WORD, Лексикон. Основними функціями текстових редакторів є:

1) робота з фрагментами документа,

2) вставка об'єктів створених в інших програмах

3) розбиття тексту документа на сторінки

4) введення та редагування таблиць

5) введення та редагування формул

6) форматування абзацу

7) автоматичне створення списків

8) автоматичне створення змісту.

Відомі десятки текстових редакторів. Найбільш доступними є NOTEPAD (блокнот), WORDPAD, WORD. Робота конкретного редактора тексту визначається зазвичай функціями, призначення яких відображено у пунктах меню та довідковій системі.

Інтегроване середовище розробки

Інтегрована середовище розробки, ІСР-система програмних засобів, використовувана програмістами розробки програмного забезпечення (ПО). Зазвичай середовище розробки включає:

1) текстовий редактор

2) компілятор та/або інтерпретатор

3) засоби автоматизації збирання

4) відладчик.

Іноді містить також засоби для інтеграції із системами керування версіями та різноманітні інструменти для спрощення конструювання графічного інтерфейсу користувача. Багато сучасних середовищ розробки також включають браузер класів, інспектор об'єктів та діаграму ієрархії класів - для використання при об'єктно-орієнтованій розробці ПЗ. Хоча, і існують середовища розробки, призначені для кількох мов програмування – такі, як Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator або Microsoft Visual Studio, зазвичай середовище розробки призначається однієї певної мови програмування - як, наприклад, Visual Basic, Delphi, Dev-C++.

Частковий випадок ІСР - середовища візуальної розробки, які включають можливість візуального редагування інтерфейсу програми.

SDK.

SDK (від англ. SoftwareDevelopmentKit) або «devkit» - комплект засобів розробки, який дозволяє фахівцям з програмного забезпечення створювати програми для певного пакету програм, програмного забезпечення базових засобів розробки, апаратної платформи, комп'ютерної системи, відеоігрових консолей, операційних систем та інших платформ.

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

Постачальники SDK іноді підмінюють термін Software у словосполученні Software Development Kit на точніше слово. Наприклад, Microsoft і Apple надають Driver Development Kits (DDK) для розробки драйверів пристроїв, а PalmSource називає свій інструментарій для розробки PalmOS Development Kit (PDK).

Приклади SDK :

5) Java Development Kit

6) Opera Devices SDK

Компілятори.

Компілятор -

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

2) Машинна програма, що використовується для компіляції.

3) Транслятор, який виконує перетворення програми, складеної вихідною мовою, в об'єктний модуль.

4) Програма, що перекладає текст програми мовою високого рівня в еквівалентну програму машинною мовою.

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

Компіляція -

1) Трансляція програми на мову, близьку до машинного.

2) Трансляція програми, складеної вихідною мовою, в об'єктний модуль. Здійснюється компілятором.

Компілювати - проводити трансляцію машинної програми з проблемно-орієнтованої мови машинно-орієнтованою мовою.

Види компіляторів :

1) Векторизуючий. Транслює вихідний код машинний код комп'ютерів, оснащених векторним процесором.

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

3) Діалоговий.

4) Інкрементальний. Повторно транслює фрагменти програми та доповнення до неї без перекомпіляції всієї програми.

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

6) компілятор компіляторів. Транслятор, що сприймає формальний опис мови програмування та генерує компілятор для цієї мови.

7) Налагоджувальний. Усуває окремі види синтаксичних помилок.

8) резидентний. Постійно знаходиться в основній пам'яті і доступний для повторного використаннябагатьма завданнями.

9) Самокомпілюваний. Написаний тією ж мовою, якою здійснюється трансляція.

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

Види компіляції :

1) Пакетна. Компіляція кількох вихідних модулів у одному пункті завдання.

2) Порядкова.

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

Структура компілятора.

Процес компіляції складається з наступних етапів:

1) Лексичний аналіз. На цьому етапі послідовність символів вихідного файлу перетворюється на послідовність лексем.

2) Синтаксичний (граматичний) аналіз. Послідовність лексем перетворюється на дерево аналізу.

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

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

5) Генерація коду. З проміжного уявлення породжується код цільовою мовою.

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

Трансляція та компонування.

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

Інтерпретатори.

Інтерпретатор (мова програмування) -

1) Програма чи технічний засіб, що виконує інтерпретацію.

2) Вид транслятора, що здійснює пооператорну (покомандну) обробку та виконання вихідної програми або запиту (на відміну від компілятора, що транслює всю програму без виконання).

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

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

Типи інтерпретаторів.

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

Інтерпретатор компілюючого типу - це система з компілятора, що переводить вихідний код програми в проміжне подання, наприклад, байт-код або p-код, і власне інтерпретатора, який виконує отриманий проміжний код (так звана віртуальна машина). Перевагою таких систем є більша швидкодія виконання програм (за рахунок винесення аналізу вихідного коду в окремий, разовий прохід та мінімізації цього аналізу в інтерпретаторі). Недоліки - більша вимога до ресурсів та вимога на коректність вихідного коду. Застосовується в таких мовах, як Java, PHP, Python, Perl (використовується байт-код), REXX (зберігається результат парсингу вихідного коду), а також у різних СУБД (використовується p-код).

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

Деякі інтерпретатори (наприклад, мов Лісп, Scheme, Python, Бейсик та інших) можуть працювати в режимі діалогу або так званого циклу читання-обчислення-друку (англ. read-eval-printloop, REPL). У такому режимі інтерпретатор зчитує закінчену конструкцію мови (наприклад, s-expression у мові Лісп), виконує її, друкує результати, після чого переходить до очікування введення користувачем наступної конструкції.

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

Слід зазначити, що режими інтерпретації можна знайти у програмному, а й апаратному забезпеченні. Так, багато мікропроцесорів інтерпретують машинний код за допомогою вбудованих мікропрограм, а процесори сімейства x86, починаючи з Pentium (наприклад, на архітектурі Intel P6), під час виконання машинного коду попередньо транслюють його у внутрішній формат (послідовність мікрооперацій).

Алгоритм роботи простого інтерпретатора :

2. проаналізувати інструкцію та визначити відповідні дії;

3. виконати відповідні дії;

4. якщо не досягнуто умови завершення програми, прочитати наступну інструкцію та перейти до пункту 2.

Переваги та недоліки інтерпретаторів.

1) Велика переносимість програм, що інтерпретуються - програма буде працювати на будь-якій платформі, на якій є відповідний інтерпретатор.

2) Як правило, більш досконалі та наочні засоби діагностики помилок у вихідних кодах.

3) Спрощення налагодження вихідних кодів програм.

4) Найменші розміри коду в порівнянні з машинним кодом, отриманим після звичайних компіляторів.

1) Інтерпретована програма може виконуватися окремо без програми-інтерпретатора. Сам інтерпретатор може бути дуже компактним.

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

3) Практично відсутня оптимізація коду, що призводить до додаткових втрат у швидкості роботи програм, що інтерпретуються.

Компонувальник.

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

Для зв'язування модулів компонувальник використовує таблиці імен, створені компілятором кожному з об'єктних модулів. Такі імена можуть бути двох типів:

1) Певні або експортовані імена - функції та змінні, визначені в даному модулі та надані для використання іншим модулям.

2) Невизначені або імпортовані імена - функції та змінні, на які посилається модуль, але не визначає їх у собі.

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

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

Асемблер.

Асемблер (від англ. assembler - збирач) - комп'ютерна програма, компілятор вихідного тексту програми, написаної мовою асемблера, у програму машинною мовою.

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

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

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

Список відладчиків.

1) AQtime - комерційний налагоджувач для додатків, створених для .NET Framework версії 1.0, 1.1, 2.0, 3.0, 3.5 (включаючи ASP.NET додатки), а також для Windows 32- та 64-бітних додатків.

2) DTrace – фреймворк динамічного трасування для Solaris, OpenSolaris, FreeBSD, Mac OS X та QNX.

3) Electric Fence – відладчик пам'яті.

4) GNU Debugger (GDB) – налагоджувач програм від проекту GNU.

5) IDA - потужний дизассемблер та низькорівневий налагоджувач для операційних систем сімейства Windows та Linux.

6) Microsoft Visual Studio – середовище розробки програмного забезпечення, що включає засоби налагодження від корпорації Microsoft.

7) OllyDbg – безкоштовний низькорівневий відладчик для операційних систем сімейства Windows.

8) SoftICE – низькорівневий відладчик для операційних систем сімейства Windows.

9) Sun Studio - середовище розробки програмного забезпечення, що включає відладчик dbx для ОС Solaris та Linux від корпорації Sun Microsystems.

10) Dr. Watson - стандартний відладчик Windows, що дозволяє створювати дампи пам'яті.

11) TotalView – один із комерційних відладчиків для UNIX.

12) WinDbg – безкоштовний відладчик від корпорації Microsoft.

Генератор документації - програма або пакет програм, що дозволяє отримувати документацію, призначену для програмістів (документація на API) та/або кінцевих користувачів системи, по особливим чином коментованим вихідним кодом і, в деяких випадках, по виконуваним модулям (отриманим на виході компілятора).

Зазвичай генератор аналізує вихідний код програми, виділяючи синтаксичні конструкції, відповідні значимим об'єктам програми (типам, класам та його членам/властивостей/методам, процедурам/функціям тощо. п.). У ході аналізу також використовується мета-інформація про об'єкти програми, яка представлена ​​у вигляді документуючих коментарів. На основі всієї зібраної інформації формується готова документація, як правило, в одному із загальноприйнятих форматів – HTML, HTML Help, PDF, RTF та інших.

Документуючі коментарі.

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

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

Документуючі коментарі, як правило, оформлюються як багаторядкові коментарі у стилі мови Сі. У кожному випадку коментар повинен бути перед документованим елементом. Першим символом у коментарі (і спочатку рядків коментаря) має бути *. Блоки поділяються порожніми рядками.

3. Visual Basic for Applications

програмне забезпечення операційний системний

3.1 Сутність VisualBasic та її коротка історія

Microsoft Visual Basic (VB) - засіб розробки програмного забезпечення, що розробляється корпорацією Microsoft і включає мову програмування та середовище розробки. Мова Visual Basic успадкувала дух, стиль і синтаксис свого предка - мови Бейсік, у якого є чимало діалектів. У той же час Visual Basic поєднує процедури та елементи об'єктно-орієнтованих і компонентно-орієнтованих мов програмування. Середовище розробки VB включає інструменти для візуального конструювання інтерфейсу користувача. (Див. табл.).

Visual Basic (основні характеристики)

Visual Basic вважається хорошим засобом швидкої розробки прототипів програми, розробки додатків баз даних і взагалі компонентного способу створення програм, які працюють під управлінням операційних систем сімейства Microsoft Windows.

У процесі еволюції Visual Basic пройшов ряд послідовних етапів, що дозволили йому стати однією з найпопулярніших мов програмування на сьогоднішній день. Отже, еволюція VisualBasic йшла наступним шляхом:

1. травень1991 - випущений Visual Basic 1.0 для Microsoft Windows. За основу мови було взято синтаксис QBasic, а нововведенням, що приніс потім мови величезну популярність, з'явився принцип зв'язку мови та графічного інтерфейсу.

2. вересень 1992 - випущено Visual Basic 1.0 під DOS. Він не був повністю сумісний із Windows-версією VB, оскільки був наступною версією QuickBASIC та працював у текстовому режимі екрану.

3. Листопад 1992 - випущено Visual Basic 2.0. Середовище розробки стало простіше у використанні та працювало швидше.

4. влітку 1993 - побачив світ Visual Basic 3.0 у версіях Standard і Professional. До того ж, до складу поставки додався двигун для роботи з базами даних Access.

5. Серпень 1995 — Visual Basic 4.0 — версія, яка могла створювати як 32-х, так і 16-розрядні Windows-програми.

6. Лютий 1997 - Visual Basic 5.0 - починаючи з цієї версії, стало можливо, поряд зі звичайними програмами, розробляти COM-компоненти.

7. У 1998 - вийшла Visual Basic 6.0. Після цього Microsoft різко змінила політику щодо мов сімейства Basic. Замість розвитку Visual Basic була створена абсолютно нова мова Visual Basic .NET.

8. 2005 року вийшла нова версія Visual Basic, в комплекті Visual Studio. Потішила вона новим інтерфейсом та можливостями. Мова базується на Visual Basic.NET.

9. Наприкінці 2007 року Microsoft випустила нову версію Visual Basic - Visual Basic 2008, який також був заснований на Visual Basic.NET.

Виходячи з функціональних можливостей та специфіки застосування, можна виділити такі різновиди зазначеної програми:

1. Класичний Visual Basic (версії 5-6) Ця мова дуже прив'язана до свого середовища розробки та до операційної системи Windows, будучи виключно інструментом написання програм Windows.

2. VisualBasicforApplications (VBA) Це засіб програмування, що практично нічим не відрізняється від класичного Visual Basic, який призначений для написання макросів та інших прикладних програм для конкретних додатків. Найбільшу популярність отримав завдяки своєму використанню в пакеті Microsoft Office. Широке поширення Visual Basic for Applications у поєднанні з спочатку недостатньою увагою до питань безпеки призвело до поширення макровірусів.

3. VisualBasicScriptingEdition (VBScript) Скриптова мова, яка є дещо усіченою версією звичайного Visual Basic. Використовується в основному для автоматизації адміністрування Windows, а також для створення сторінок ASP і сценаріїв для Internet Explorer.

3.2 VisualBasicforApplication інтерфейс, основні функції та можливості

Створюючи VisualBasicforApplication, корпорація Microsoft ставила своїм основним завданням створення інструментального забезпечення, доступного користувачам, які є професійними програмістами, але водночас досить кваліфікованих розробки та проектування прикладних програм і додатків з урахуванням MicrosoftOffice. Саме вирішуючи вказану задачу, розробники створили VBA, наділивши його низкою унікальних особливостей. Однією з найбільш цінних для користувача є можливість створювати і використовувати в програмах нестандартні (настроюються) діалогові вікна, додаючи об'єкт UserForm в проект, а також зручний інтерфейс користувача.

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

1) вікно Проекту (рис.2), що відображає структуру проекту, що створюється.

2) вікно Програмного коду (рис. 3), що відображає програмний код створюваного проекту і дає можливість писати програму класичним способомза допомогою вбудованого редактора кодових слів, яких у VBA понад 16 тисяч. Також це вікно дозволяє редагувати код і перевіряти його на наявність помилок.

3) закладка Властивостей (рис. 4), що відображає встановлені до вказаного об'єкта параметри і дозволяє змінити зазначені настройки.

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

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

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

Нестандартне діалогове вікно створюється у VBA за допомогою додавання об'єкта UserForm у проект. Цей об'єкт є порожнім діалоговим вікном; воно має рядок заголовка і кнопку закриття, але в ньому відсутні будь-які інші елементи керування. Нестандартне діалогове вікно створюється шляхом додавання елементів керування в об'єкт UserForm і зазвичай називається просто формою (Мал. 5).

Кожен об'єкт UserForm має властивості, методи та події, що успадковуються від класу об'єктів UserForm.

Кожен об'єкт UserForm також містить модуль класу, який користувач додає власні методи і властивості або вписує процедури обробки подій для даної форми.

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

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

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

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

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

В інших випадках може знадобитися динамічна зміна заголовків кнопок (або інших елементів керування) діалогового вікна, динамічне оновлення напису або поля, пов'язаного з лічильником, або динамічне підтвердження введених у діалогове вікно даних.

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

VBA дозволяє програмувати табличні функції. Щоб створити окремий робочий лист для програмного модуля, передбачена закладка Insert Module із меню Visual, команда Module із меню Insert Macro. Після цього з'явиться новий робочий аркуш "Modele1". У програмному модулі слід описати функцію мовою VBA. У вікні програмного модуля можна працювати як у вікні невеликого текстового редактора.

Вбудовування функцій здійснюється командою Object Browser із меню View. Функції, визначені користувачем, розглядаються у програмі як самостійні об'єкти. VBA має значний набір вбудованих функцій, поділяючи їх на типи.

Visual Basic дозволяє резервувати змінні, із зазначенням розміру та без нього, працювати з різними типами даних, використовувати константи, працювати з математичними операторами та функціями, використовувати додаткові оператори. Передбачено використання операторів циклів For Next, Do, об'єктів типу таймер (невидимий секундомір у програмі). Точність встановлення часу у програмі становить 1 мілісекунду, або 1/1000 сек. Запущений таймер працює - тобто. виконується відповідна процедура обробки переривання через заданий інтервал часу - доки користувач не зупинить таймер або не відключить програму.

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

Якщо узагальнити всі функції програми, Visual Basic forApplication дозволяє:

1) працювати із засобами управління

Переваги :

1. Висока швидкість створення програм з графічним інтерфейсом для MS Windows.

2. Простий синтаксис, що дозволяє дуже швидко освоїти мову.

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

4. Захист від помилок, пов'язаних із застосуванням покажчиків та доступом до пам'яті. Цей аспект робить Visual Basic програми більш стабільними, але також є об'єктом критики.

5. Можливість використання більшості WinAPI функцій для розширення функціональних можливостей програми. Це питання найбільш повно досліджено Деном Епплманом, який написав книгу "Visual Basic Programmer's Guide to the Win32 API".

Критика :

1. Часто критикують такі аспекти Visual Basic, як можливість відключити засоби стеження за оголошеними змінними, можливість неявного перетворення змінних, наявність типу даних «Variant». На думку критиків, це дає можливість писати вкрай поганий код. З іншого боку, це можна як плюс, оскільки VB не нав'язує «хороший стиль», а дає більше свободи програмісту.

2. Відсутність покажчиків, низькорівневий доступ до пам'яті, ASM-вставок. Незважаючи на те, що парадигма Visual Basic дозволяє середньому VB-програмісту обходитися без цього, перелічені речі також нерідко стають об'єктами критики. І хоча, використовуючи недокументовані можливості та певні хитрощі, все це можна реалізувати і на VB (наприклад, за допомогою функцій для отримання покажчиків VarPtr(), StrPtr() та ObjPtr()); користуватися цими трюками набагато складніше, ніж, наприклад, на C++.

Однак варто відзначити, що всі недоліки мови випливають з її основної переваги – простоти розробки графічного інтерфейсу. Тому багато програмістів використовують Visual Basic для розробки інтерфейсу користувача, а функціональність програми реалізують у вигляді бібліотек (DLL), що динамічно підключаються, написаних іншою мовою (найчастіше C++).

4. Практична частина

4.1 Постановка задачі

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

pv – поточна внутрішня вартість акції

c – очікуване надходження від активу, що розглядається

r – норма доходності, очікувана інвестором для доходу з відповідним рівнем ризику

n - фактор часу (у місяцях).

Виконати аналіз ринку та впорядкувати результат щодо зростання отриманих даних.

4.2 Текст програми мовою Pascal

pv: array of real;

writeLn ('Введіть очікуване надходження від ',i,'-го активу c:');

writeLn ('Введіть норму доходності, очікувану інвестором r:');

pv:=c/exp(ln(1+r)*i);

writeLn ('поточна внутрішня вартість активу дорівнює', pv[i]: 1:3);

writeLn ('Внутрішня вартість активу дорівнює', s);

for j:=1 to 4 do

if pv[j] > pv then

writeLn ('Вартість активів, відсортована за зростанням');

for i:=1 to 5 do

writeLn (pv[i]: 1:3);

4.3 Контрольний приклад

4.4 Результат виконання програми на контрольному прикладі

Висновок

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

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

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

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

Саме з цією метою Microsoft було розроблено програмний комплекс VisualBasicforApplication, що дозволяє полегшити процес програмування і дав можливість займатися прикладним програмуванням користувачам, а не програмістам. Ця можливістьбула реалізована насамперед шляхом створення розділу програми – «Редактор сценаріїв» та можливості записувати та виконувати «Макроси», як окремий різновид графічно програмованих модулів. Реалізовано можливість створення програм з графічним інтерфейсом для MS Windows. Також перевагою даного виду інструментального програмного забезпечення є простий синтаксис, що дозволяє дуже швидко освоїти мову, та застосовувати її для програмування у всіх стандартних програмах MicrosoftOffice.

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

1. Алгоритмічні мови реального часу / Под ред. Янга С./2004 р.

2. Журнал PC Magazine Russian Edition №2 2008р. Комп'ютер сьогодні.

3. Інформатика. / За ред. Могильов А.В., Пак Н.І., Хеннер Е.К/ - М.: ACADEMIA, 2000.

4. Інформатика та інформаційні технології: Підручник / За ред. Романова Д.Ю./ ТОВ «Видавництво «Ексмо», 2007.

5. Нова енциклопедія персонального комп'ютера / Под ред. Леонтьєва У. /Москва, 1999 рік. - 271 с.

6. Нові мови програмування та тенденції їх розвитку / За ред. Ушковий В./2001 р.

7. Педагогіка / Под ред. Підкасистого П.І./ - М.: Педагогічне суспільство Росія, 2000.

8. Програмування для Microsoft Excel 2000 протягом 21 дня. / За ред. Харіса М. / - М.: Вільямс, 2000.

9. Симонович С. Інформатика: базовий курс. Навч. для ВНЗ. СПб, Пітер, 2002

10. З Excel 2000 без проблем. / За ред. Ковальскі / - М.: Біном, 2000.

11. «Ефективна робота у Windows 98» / Под ред. Стінсона К. / 2000 рік. - 247 с.

12. Мови програмування. кн.5 / Под ред. Вауліна А.С./2003 р.

13. Мови програмування: розробка та реалізація / Под ред. Терренса П./2001 р.

14. Електронний підручник з інформатики. Алексєєв Є.Г. http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\

Надіслати свою гарну роботу до бази знань просто. Використовуйте форму нижче

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

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

Завдання 1

Інструментальне програмне забезпечення, його призначення та склад

Завдання 2

Перший етап – постановка завдання

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

Третій етап – алгоритмізація

Четвертий етап – програмування

П'ятий етап - налагодження

Список використаної літератури

Завдання 1

Інструментальне програмне забезпечення, його призначення та склад

Програмне забезпечення

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

Програмне забезпечення можна умовно розділити на три категорії:

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

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

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

Системне ПЗ

Це програми загального користування не пов'язані з конкретним застосуванням ПК та виконують традиційні функції: планування та управління завданнями, управління введенням-виводом тощо.

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

До системного ПЗ належать:

операційні системи (ця програма завантажується в ОЗУ при включенні комп'ютера) метод використання прикладної програми

програми - оболонки (забезпечують більш зручний та наочний спосіб спілкування з комп'ютером, ніж за допомогою командного рядка DOS, наприклад, Norton Commander)

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

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

утиліти (допоміжні або службові програми, які представляють користувачеві ряд додаткових послуг)
До утиліт відносяться:

диспетчери файлів або файлові менеджери

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

засоби перегляду та відтворення

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

засоби комунікацій (комунікаційні програми) призначені для організації обміну інформацією між комп'ютерами

засоби забезпечення комп'ютерної безпеки ( резервне копіювання, Антивірусне ПЗ).

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

Прикладне ПЗ

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

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

До прикладного ПЗ, наприклад, відносяться:

Комплект офісних програм MS OFFICE

Бухгалтерські системи

Фінансові аналітичні системи

Інтегровані пакети діловодства

CAD – системи (системи автоматизованого проектування)

Редактори HTML або Web - редактори

Браузери - засоби перегляду Web - сторінок

Графічні редактори

Інструментальне ПЗ

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

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

1. Текстовий редактор для створення файлу із вихідним текстом програми.

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

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

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

Найбільш популярні редактори (системи програмування програм із використанням візуальних засобів) візуального проектування:

Borland Delphi - призначений для вирішення практично будь-яких задач прикладного програмування

Borland C++ Builder - це чудовий засіб для розробки DOS та Windows додатків

Microsoft Visual Basic – це популярний інструмент для створення Windows-програм

Microsoft Visual C++ - це засіб дозволяє розробляти будь-які програми, що виконуються серед ОС типу Microsoft Windows.

Завдання 2

Сформуйте та заповніть накопичувальну відомість нарахування оплати номерів готелю "Старт" за березень 2004 року. Номери в готелі 1-місні коштують для кожного клієнта 750 руб. на день, 2-місні – 650 руб. з кожного клієнта. Номер можна забронювати. Бронь у готелі може бути двох видів: групова та індивідуальна та оплачується окремо. При бронюванні на групу оплата за перший день проживання збільшується на 25% вартості номера, в тих випадках, коли броні немає або вона індивідуальна, доплати немає.

Тип броні та кількість днів проживання у кожному номері представлені у таблиці.

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

Відомість нарахування оплати номерів готелю "Старт" заберезень 2004 р.

Номер кімнати

Тип займаного номера

Тип броні

Оплата за броню (руб.)

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

1-місний

1-місний

1-місний

2-місний

2-місний

2-місний

2-місний

Разом:

Побудуйте діаграми:

· Кругову діаграму за графою "Кількість днів проживання".

· Гістограму за графою "Оплата за дні проживання".

Відомість нарахування оплати номерів готелю "Старт" за березень 2004р.

Необхідно сформувати та заповнити відомість нарахування оплати номерів готелю "Старт" за березень 2004 року.

Розглянемо етапи підготовки розв'язання задачі на ПК.

Перший етап – постановка завдання

Метою вирішення цього завдання є розрахунок оплати за броню та дні проживання постояльців готелю "Старт" за березень 2004 року.

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

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

Завдання, що розглядається, вирішується методом прямого рахунку.

Позначимо вихідні дані:

ОБ – оплата за бронь;

ТБ – тип броні;

СНЧД - вартість номера з особи на день;

КДП – кількість днів проживання;

ОДП – оплата за дні проживання;

Оплата за броню розраховується так:

ПРО = 0,25 * СНЧД,

якщо ТБ = "група", інакше 0.

Оплата за дні проживання розраховується так:

ОДП = ПРО + СНЧД * КДП.

Для вирішення цього завдання скористаємося Microsoft Excel.

Третій етап – алгоритмізація

Запустимо програму Excel. Роботу виконуватимемо на Листі 1.

У діапазон осередків A1: G1 введемо назву граф. Для надання естетичного вигляду шапці таблиці назви граф розташуємо в центрі осередку по вертикалі та по горизонталі з перенесенням слів. Для цього виділимо діапазон осередків A1: G1, викличемо контекстно-залежне меню (на виділеній області клацнімо правою кнопкоюмиші), у меню виберемо команду Формат осередків. У діалоговому вікні, що з'явилося, виберемо закладку Вирівнювання, встановимо опції: По горизонталі - по центру; По вертикалі – по центру; переносити за словами та натиснемо ОК.

У стовпці A, B, C, D та F введемо дані, вказані в завданні. Далі зробимо необхідні розрахунки з використанням формул. Нижче представлена ​​розрахункова таблиця у формульному та числовому вигляді.

Таблиця у формульному вигляді.

Номер кімнати

Тип займаного номера

Вартість номера з особи в день (руб.)

Тип броні

Оплата за броню (руб.)

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

Оплата за дні проживання (руб.)

1-місний

ЯКЩО(D2="група";0,25*C2;0)

1-місний

ЯКЩО(D3="група";0,25*C3;0)

1-місний

ЯКЩО(D4="група";0,25*C4;0)

2-місний

ЯКЩО(D5="група";0,25*C5;0)

2-місний

ЯКЩО(D6="група";0,25*C6;0)

2-місний

ЯКЩО(D7="група";0,25*C7;0)

2-місний

ЯКЩО(D8="група";0,25*C8;0)

Разом:

=СУМ(E2:E8)

= СУМ (F2: F8)

= СУМ (G2: G8)

У результаті отримаємо такі результати.

Номер кімнати

Тип займаного номера

Вартість номера з особи в день (руб.)

Тип броні

Оплата за броню (руб.)

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

Оплата за дні проживання (руб.)

1-місний

1-місний

1-місний

2-місний

2-місний

2-місний

2-місний

Разом:

537,50 грн.

18 737,50 грн.

Визначимо середню кількість днів проживання, величину максимальної та мінімальної оплати за дні проживання. Для цього скористаємося статистичними функціями СРЗНАЧ(), МАКС() та МІН() відповідно. Нижче представлена ​​таблиця з додатковими розрахунками у формульному та числовому вигляді.

Таблиця з додатковими розрахунками у формульному вигляді подана нижче.

Нижче представлені кругова діаграмаза графою «У дні проживання» і гістограма за графою «Оплата за дні проживання».

Четвертий етап – програмування

Для вирішення цього завдання програмування не потрібне.

П'ятий етап - налагодження

Для перевірки правильності роботи запроваджених формул треба розрахувати вручну контрольні значення.

Розрахуємо контрольні значення кімнати 31.

ПРО = 0,25 * 750 = 187,5, оскільки ТБ = "група".

ОДП = 187,5 + 750 * 4 = 3187,5.

Розрахуємо контрольні значення кімнати 35.

ПРО = 0, оскільки ТБ не дорівнює "група".

ОДП = 650 * 1 = 650.

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

Список використаної літератури

1. Ілюшечкін В., Костін А. Системне програмне забезпечення – М.: Вища школа, 2008. 127 с.

2. Руденко В.Д. Курс інформатики – К.: Фенікс, 2008. – 368 с.

3. Степанов А. Інформатика: Підручник для вишів. 3-тє видання. 2003. – 768 с.

Розміщено на Allbest.ru

Подібні документи

    Системне, прикладне та інструментальне програмне забезпечення. Найбільш поширені пакети прикладних програм. Призначення та структура системних програм. Заповнення таблиці та робота з підсумками в Excel, фільтрація даних та побудова діаграми.

    контрольна робота , доданий 29.01.2014

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

    реферат, доданий 01.04.2010

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

    реферат, доданий 06.11.2014

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

    контрольна робота , доданий 18.01.2011

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

    реферат, доданий 03.03.2012

    Сукупність програм, які у роботі на комп'ютері. Функціональне призначення програмного забезпечення, правові норми використання. Операційна система та сервісні програми. Розробка комп'ютерних програм мовою програмування.

    презентація , додано 10.10.2016

    Цілі та завдання програмної інженерії. Концепція програмного забезпечення. Шість принципів ефективного використання програмного забезпечення. Види програмного забезпечення: загальносистемне, мережне та прикладне. Принципи побудови програмного забезпечення.

    курсова робота , доданий 29.06.2010

    Огляд та характеристика програмного забезпечення комп'ютера як сукупності програм системи обробки інформації. Характеристика апаратного забезпечення як комплексу електричних та механічних пристроїв, що входять до складу ЕОМ. Взаємодія систем.

    презентація , доданий 23.12.2010

    Основні види програмного забезпечення. Характеристика пакетів прикладних програм. Види та групи систем числення. Переклад цілих і дробових чисел із однієї системи числення до іншої. Арифметичні операції у двійковій системі. Комп'ютерні злочини

    шпаргалка, доданий 19.01.2014

    Класифікація програмного забезпечення, його особливості, призначення. Програмне забезпечення для роботи з текстом, зображенням, прикладне, офісне для роботи в Інтернеті. Системи програмування, специфіка програмного забезпечення, що таке віруси.

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

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

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

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

Низькорівнева мова програмування- мова програмування, близька до програмування безпосередньо в машинних кодах.

Як правило, використовує особливості конкретного сімейства процесорів. Загальновідомий приклад низькорівневої мови асемблера.

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

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

Найбільш поширеними мовами такого типу є C++, Visual Basic, Java, Python, Ruby, Perl, Delphi, PHP.


Мови програмування також можна розділити на компілюваніі інтерпретовані.

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

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

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

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

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

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

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

Деякі мови, наприклад, Javaі C#, знаходяться між компілюваними та інтерпретованими. А саме, програма компілюється не в машинну мову, а в машинно-незалежний код низького рівня, байт-код. Далі байт-код виконується віртуальною машиною. Для виконання байт-коду зазвичай використовується інтерпретація, хоча окремі частини для прискорення роботи програми можуть бути трансльовані в машинний код безпосередньо під час виконання програми за технологією компіляції «на льоту» ( Just-in-time compilation). Для Javaбайт-код виконується віртуальною машиною Java (Java Virtual Machine), для C# - Common Language Runtime.

Класи мов програмування.Умовно, мови програмування можна розділити такі класи (рис. 2.).

У мовами функціонального програмуванняОсновними конструктивними елементами є функції. Тексти програм функціональними мовами програмування описують «як розв'язати завдання», але з наказують послідовність дій на вирішення.

Як основні властивості функціональних мов програмування зазвичай розглядаються такі:

· стислість і простота;

· Сувора типізація;

· Модульність;

· Функції - об'єкти обчислення;

· Чистота (відсутність побічних ефектів);

· Відкладені (ліниві) обчислення.


Мал. 2. Класи мов програмування

Приклади мов функціонального програмування: Лісп, Haskell, Clean, ML та ін.

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

Приклади процедурних мов програмування: Ада, Бейсік, Сі, Сі++, Паскаль, Visual Basic, Dilphi та ін.

Мова опису інтерфейсівабо IDL(англ. Interface Description Language) - чисто описова комп'ютерна мова, синтаксично схожа на C++.

Приклади мов опису інтерфейсів: CORBA IDL (розроблений OMGдля опису інтерфейсів розподілених об'єктів - назв методів та типів змінних-аргументів), COM IDL (аналогічна CORBA IDL розробка Microsoft, створена для опису інтерфейсів між модулями COM).

Об'єктно-орієнтована мова програмування(ОО мова) - мова, що сприяє об'єктно-орієнтованому програмуванню. У сучасних ГО мовами використовуються методи:

успадкування. Створення нового класу об'єктів шляхом додавання нових елементів (методів). На даний момент ГО мови дозволяють виконувати множинне спадкування, тобто. поєднувати в одному класі можливості кількох інших класів.

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

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

Типізація. Дозволяє усунути багато помилок на момент компіляції, операції проводяться лише над об'єктами відповідного типу.

Приклади ГО-мов програмування: Сі++, Delphi (Object Pascal), С#, Java та ін.

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

Скриптова мова(англ. scripting language, також називають мова сценаріїв) - мова програмування, розроблена для запису «сценаріїв», послідовностей операцій, які користувач може виконувати на комп'ютері. Прості скриптові мови раніше часто називали мовами пакетної обробки (batch languages). Сценарії завжди інтерпретуються, а чи не компилируются.

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

Приклади скриптових мов програмування: VBA (Visual Basic Application), AutoLISP, 3DMAX Script, JCL, JavaScript та ін.

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

Запитання для самоперевірки:

1. Програмне забезпечення.

2. Базовий рівень.

3. Системний рівень програмного забезпечення.

4. Службовий рівень програмного забезпечення.

5. Прикладний рівень програмного забезпечення.

6. Що називається драйверами пристроїв?

7. Що називається утилітами?

8. Дайте визначення мови програмування.

9. Що таке інтерпретатор?

10. Що таке компілятор?

11. Наведіть приклади мов програмування низького та високого рівнів, у чому їхня відмінність?

12. Які класи мов програмування можна назвати? Наведіть приклади кожного класу.

13. Назвіть основні властивості функціональних мов програмування

14. Назвіть якісь методи використовуються в сучасних об'єктно-орієнтованих мовах програмування.

15. Що таке сценарій (скрипт)?

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

приклад. Розглянемо інструментальне середовище – графічний редактор, що дозволяє візуалізувати графічні об'єкти двома основними способами: векторно чи растрово. Векторний підхід динамічно поступово формує на екрані (який розглядається як деякий координатний простір) об'єкт за його уявленням, що складається з графічних примітивів. Растровий підхід формує на екрані весь об'єкт цілком на основі його макета (шаблону, графічних примітивів у відеопам'яті), що складається з окремих кластерів пікселів у певній двомерній піксельній матриці (аналозі аркуша для малювання з декартовою системою координат). У цій матриці записується інформація про яскравість і колір кластера зображення (на один піксель іноді 1-2 байти і більше), а сама матриця може мати розмірність 1024x1024 пікселів і більше. Сформоване піксельної матриці зображення зберігається у відеопам'яті дисплея і виводиться на екран у режимі кадрової регенерації. Зображення у кольорі (малювання у кольорі) – це маніпуляція пікселями цієї матриці. Графічні 3D-редактори зображень дозволяють не тільки конструювати 3D-об'єкти, а й переміщати їх по траєкторії, що задається, тобто здійснювати анімацію. Однією з потужних графічних середовищ є пакет 3D-Studio Max фірми Autodesk. Крім цього пакета, широко використовуються графічні пакети:

GRAFLotus Freelance – для роботи з діловою та комп'ютерною графікою;

Splash та Fanta – для роботи в галузі дизайну та комп'ютерних фільмів;

AutoCAD – для автоматизації проектно-конструкторських робіт;

CorelDraw, PaintBrush, AdobeIllustrator – для різноманітних програм.

Транслятори детально розглядаються нижче.

Розглянемо інтерфейсні системи забезпечення дружнього інтерфейсу між користувачами та програмами).

приклад. Найбільш рання інтерфейсна система - Norton Commander (Нортон Коммандер, автор - Пітер Нортон). Системи, подібні до Norton Commander (NC), називаються операційними оболонками і їх можна віднести до інструментальних середовищ (інструментарій більш зручного, комфортного інтерфейсу з ОС, з файловою системою, минаючи стомлюючу командну мову ОС). Така система дозволяє візуально та зручно виконувати копіювання, створення, видалення, перейменування, переміщення, перегляд та пошук файлів тощо. NC використовує керуючі та функціональні клавіші, яким відповідають певні операції та відгуки системи:

Esc – скасування виконуваної функції;

Enter – виконання функції;

Тab – зміна поточної (активної) панелі іншу (раніше пасивну);

PgUp (PgDn) – перехід сторінку вперед (назад);

Home (End) – встановлення на початок (кінець) каталогу;

, , , – клавіші переміщення курсору вліво, вгору, вправо, вниз;

Ctrl-S (одночасне натискання клавіш Ctrl та S) - на символ вліво;

Ctr-D (Ctr-A, Strl-F) – на символ праворуч (на слово вліво, слово вправо);

F1 – клавіша допомоги, підказки щодо активного стану (клавіша help);

F2 – запис на диск активного файла;

F3 – перегляд вмісту активного файлу;

F4 – редагування активного файлу;

F5 – копіювання активного файлу активний каталог на іншій панелі;

F6 - перейменування (перенесення) активного файлу;

F7 - створення нового каталогу (підкаталогу);

F8 – видалення активного файлу;

F9 - активізація команд панелі (системного меню) NC;

F10 – вихід із NC.

Найрозвиненішим вітчизняним аналогом NC для Windows-систем є, наприклад, оболонка FAR-менеджер.

Проблемно-орієнтовані інструментальні системи служать на вирішення досить широкого класу завдань деякої професійної, проблемної орієнтації: САПР – системи автоматизації проектування, АСУ – автоматизовані системи управління, АРМ – автоматизовані робочі місця, СУБД – система, що забезпечує інтерфейс програм користувача даних з бази даних, ЕС – експертні системи, системи накопичення, зберігання та актуалізації досвіду, знань, умінь, навичок (експертних суджень) експертів та ін.

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

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

Пакет прикладних програм (ППП) складається з наступних обов'язкових частин:

опис, представлення класу завдань, які вирішуються за допомогою ППП;

комплекс програм, що забезпечують побудову прикладних програм ППП (технологічного ланцюжка);

комплекс прикладних програм, що забезпечують вирішення завдань із предметної галузі ППП;

вхідна мова (мова запитів) ППП;

база даних для зберігання даних, передача їх модулям ППП;

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

приклад. Простим та універсальним студентським пакетом статистичного аналізу даних є пакет SPSS. Інтерфейс користувача з SPSS для Windows реалізується за допомогою простих меню і діалогових вікон, тобто SPSS вільна від використання командної мови пакета, що спеціально вивчається. Є редактор Data Editor для візуального контролю даних, що функціонально аналогічний редакторам табличних процесорів, наприклад, Excel. По стовпцях відображаються змінні, що змінюються, а по рядках - набори їх варіації, причому з кожної зі змінних можна ознайомитися шляхом виклику її імені. Введення даних – аналогічне введення даних табличного типу (наприклад, Excel). У діалогових вікнахможна визначати (вводити або обчислювати) складні вирази, які використовуються далі в розрахунках. Є можливість застосування різних законів довільного розподілу. Найбільш потужним (але й складнішим у вивченні та використанні) є математичний пакет MathCAD.

Функціональна система інтегрованого пакета програм складається з модулів (як і ППП), та якщо з ППП.

приклад. Найпоширеніший інтегрований пакет прикладних програм – MS Office (пакет автоматизації роботи в офісі). У його ядро ​​входять такі пакети: Word – текстовий редактор, Excel – електронна таблиця, Access – СУБД, PowerPoint – система презентації та інших.

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

приклад. До такого класу можна віднести програмну систему управління кораблем "Буран".

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

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

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

Мова програмування- Це штучна мова, за допомогою якого записується алгоритм розв'язання задачі у вигляді, зрозумілому ПК.

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

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

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

Мал. 6.2. Схема процесу створення завантажувального модуля програми

Розрізняють такі види трансляторів: інтерпретатор, компілятор.

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

З універсальних мов програмування сьогодні найпопулярніші такі: Бейсік (Basic), Паскаль (Pascal), Сі++ (C++), Ява (Java).

Для кожної з цих мов програмування сьогодні є чимало систем програмування, що випускаються різними фірмами та орієнтовані на різні моделі ПК та операційні системи. Найбільш популярними є такі візуальні середовища швидкого проектування програм для Windows: Microsoft Visual Basic; Borland Delphi; Borland C++Builder; Microsoft Visual Studio (Visual Basic.net, C ++, C #, J #).

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

Особливим класом систем програмування є системи створення додатків типу клієнт-сервер. Ці системи дозволяють швидко створювати інформаційні системидля підрозділів та навіть великих підприємств. У них містяться засоби для створення інтерфейсу користувача, опису процедур обробки даних, заготівлі для виконання типових дій з обробки даних і т.д. Ці системи, як правило, дозволяють працювати з різними СУБД – Oracle, Sybase, Microsoft SQL Server та ін Серед найбільш популярних систем такого роду можна назвати PowerBuilder фірми Sybase, Delphi фірми Borland, Visual Basic фірми Microsoft. Зрозуміло, кошти на створення додатків типу клієнт-сервер є у складі СУБД типу клієнт-сервер (Oracle, Sybase та інших.), але вони спрямовані лише цю СУБД.