Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekzamen kozak .docx
Скачиваний:
27
Добавлен:
20.12.2018
Размер:
280.44 Кб
Скачать
  1. Основні поняття та підрозділи програмування.

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

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

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

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

• структури даних, їх подання в пам'яті комп'ютера;

• інформаційний пошук, упорядкування лінійних масивів і файлів;

• формальні мови, граматики, автомати й інші абстрактні машини;

• синтаксичний аналіз програм;

• оцінку трудомісткості і теорію складності алгоритмів;

• специфікацію завдань, доказ властивостей програм, автоматичний синтез програм;

• семантику мов програмування.

Методологія програмування, вивчає методи з точки зору основ

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

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

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

  1. Підходи щодо потрібних знань для програмування. Класи інструментальних засобів для мов програмування.

  1. Платформи програмування. Архітектури обчислювальних систем.

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

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

Апаратна платформа - тип апаратної архітектури, на якому може бути встановлений програмний продукт. Найбільш відомі апаратні платформи на сімействах процесорів Intel, HP і Power.

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

Мовна платформа - мова програмування і інтерфейс прикладного програмування (бібліотеки), на якому може бути реалізований програмний продукт. Найбільш відомі мовні платформи: C, C + +, Java.

Форма Бекуса-Наура. Призначення та приклади застосування.

Форма Бекуса-Наура (БНФ) була вперше застосована при описі Алголу-60.

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

<> - Служать для виділення нетерміналів - понять мови.

| - «Або». Розділяє альтернативні праві частини правил.

::= - «Є за визначенням». Замінює стрілку, яка використовується при записі продукції КС-граматик.

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

Ось приклад визначень на БНФ, узятий із специфікації Алголу-60 «модифікованого повідомлення»:

<простий арифметичний вираз> :: *=

<Терм> | <знак операції типу додавання> <терм> |

<Простий арифметичний вираз>

<Знак операції типу додавання> <терм>

<Знак операції типу додавання> :: = + | -

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

БНФ використана Н. Віртом при описі мови Паскаль. Хоча в нотацію були додані метадужки {і}, що позначають повторення, застосовані вони лише

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

Іншими словами, БНФ призначена формалізувати синтаксис та семантику мов програмування.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]