3. Мови та середовища програмування

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

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

Мови програмування поділяються на:

  • алгоритмічні (процедурні) - мови, які описують алгоритм вирішення задачі за допомогою переліку процедур, наприклад, Basic, Pascal, C, Logo та інші;
  • функціональні - опис моделі предметної області засобами ієрархії функцій, наприклад, мова Lisp;
  • логічні - опис моделі предметної області засобами математичної логіки, наприклад, мови Prolog, SmallTalk.

Програмування умовно можна поділити на:

  • візуальне програмування - засоби, за допомогою яких можна швидко створити додаток шляхом візуального проектування його макета в графічному вигляді, наприклад, Visual C, Visual Basic, Delphi.
  • мови високого рівня - складається з операторів, схожих на звичайні слова;
  • мови низького рівня (асемблер) - переводить зрозумілі людині символи (мнемоніку) в машинні коди.

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

Можливі два варіанти трансляції:

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

Мова Сі та її середовища

Мова Сі була створена в 1972 р Денісом Рітчі для розробки операційної системи UNIX. Після публікації в 1978 книжки «Мова програмування Сі» мова Сі становиться популярною мовою для прикладного і системного програмування, оскільки володіє компактним способом запису виразів та широким набором операторів. На мові Сі розроблена графічна система AutoCAD, операційна оболонка Windows тощо.

Переваги мови Сі:

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

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

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

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

Щоб програма запрацювала на ПК її слід перевести в машинний код. В мові Сі цей процес виконується в декілька етапів: вихідний текст -текстовий редактор -*.с -компіляція -*.obj -компоновка-*.exe. Компілятор переглядає програму рядок за рядком, перевіряє правильність запису інструкцій. Якщо є синтаксичні помилки, він вказує вигляд помилки та її місце знаходження. Після виправлення всіх помилок в результаті компіляції отримаємо файл *.obj - об’єктний (проміжний) код програми.

Знаходження помилок (відлагодження) є невід’ємною частиною програмування. Для цього в середовищі Turbo C є Debug. Задачі компоновщика з’єднати всі коди в один виконуваний *.exe файл.

Структурний підхід до програмування

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

Вихідний текст програми потрібно чітко розділити на блоки: 1) коротке пояснення призначення модуля, спосіб його виклику, вихідні дані і результат його роботи, дата створення тощо; 2) опис всіх змінних, які використовуються в даному модулі; 3) алгоритм вирішення задачі; 4) обробка результатів вирішення задачі.

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

Тестування - процес знаходження помилок:

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

Об’єктно-орієнтоване програмування

ООП - метод програмування, який дозволяє розглядати концептуальну модель як набір об’єктів. ООП реалізовано в Visual C++, Delphi та в інших середовищах.

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

З ООП пов’язано ряд базових термінів:

  • Інкапсуляція (encapsulation) - це спосіб об’єднання даних і функцій (методів) в єдину структуру. В класах С++ для управління функціональними елементами об’єкту використовуються дескриптори private, public, protected.
  • Ієрархія класів. Об’єкти, які створені на основі опису класу, називаються екземплярами (instance) класу. Можна побудувати ієрархію класів, які складаються із базового класу батьків (parent) і декількох класів потомків (child). Батьківські класи представляють загальні задачі, а похідні класи реалізують більш конкретні задачі.
  • Наслідування (inheritance) - здібність класу наслідувати особливості інших класів. Батьківський клас використовується для похідного класу зразком, який можна змінювати різними способами.
  • Поліморфізм (polimorphism) - концепція ООП при якій одні і ті ж повідомлення можна посилати батьківському класу і об’єктам похідних класів. Кожний об’єкт підкласу реагує деяким образом на формат повідомлення, відповідно його опису.
Доступність

Шрифти Шрифти

Розмір шрифта Розмір шрифта

1

Колір тексту Колір тексту

Колір тла Колір тла

Кернінг шрифтів Кернінг шрифтів

Видимість картинок Видимість картинок

Інтервал між літерами Інтервал між літерами

0

Висота рядка Висота рядка

1.2

Виділити посилання Виділити посилання