Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Основи програмування та алгоритмічні мови 002

Тип роботи: 
Курсова робота
К-сть сторінок: 
30
Мова: 
Українська
Оцінка: 

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

Незважаючи на появу сучасних технологій і відповідних систем програмування, таких як Visual C + +. Net, система C + + Builder буде стійко займати свою нішу. Це зумовлено меншою вимогливістю до апаратних ресурсів при розробці додатків, більшою легкістю в освоєнні і застосуванні засобів системи для розробки додатків різного ступеня складності. 
Програма на C + + складається з оголошень (змінних, констант, типів, класів, функцій) і описів функцій. Серед функцій завжди є головна - main для консольних додатків (що працюють з WIN32) або WinMain для додатків Windows. Саме ця головна функція виконується після початку роботи програми. Зазвичай в C + + Builder ця функція дуже коротка і виконує тільки деякі підготовчі операції, необхідні для початку роботи. А далі при об'єктно-орієнтованому підході робота додатка визначається подіями, що відбуваються і реакцією на них об'єктів. 
Як правило, програми будуються за модульним принципом і складаються з безлічі модулів. Принцип модульності дуже важливий для створення надійних і відносно легко модифікується і супроводжуваних додатків. Чітке дотримання принципів модульності в поєднанні з принципом приховування інформації дозволяє всередині будь-якого модуля проводити якісь модифікації, не зачіпаючи при цьому інших модулів і головний програму. 
У C + + Builder всі об'єкти компонентів розміщуються в об'єктах - формах. Для кожної форми, яку ви проектуєте у своєму додатку, C + + Builder створює окремий модуль. Саме в модулях і здійснюється програмування завдання. У обробниках подій об'єктів - форм і компонентів, ви ставите всі свої алгоритми. В основному вони зводяться до обробки інформації, що міститься у властивостях одних об'єктів, і завданні за результатами обробки властивостей інших об'єктів. При цьому ви постійно звертаєтеся до методів різних об'єктів. 
Згідно з принципами приховування інформації зазвичай текст модуля поділяють на заголовний файл інтерфейсу, який містить оголошення класів, функцій, змінних і т.п., і файл реалізації, в якому міститься опис функцій. 
Стандартне розширення файлів реалізації - срр. Стандартне розширення заголовних файлів - h. 
Після того як програма написана, на її основі повинен бути створений виконуваний файл (модуль). Цей процес здійснюється в кілька етапів. 
Спочатку працює препроцесор, який перетворює вихідний текст. Препроцесор здійснює перетворення у відповідності зі спеціальними директивами препроцесора, які розміщуються у вихідному тексті. Препроцесор може відповідно до цих директив включати тексти одних файлів в тексти інших, розгортати макроси - скорочені позначення різних виразів і виконувати безліч інших перетворень. 
Після закінчення роботи препроцесора починає працювати компілятор. Його завдання - перевести тексти модулів в машинний (об'єктний) код. У результаті для кожного вихідного файлу. Срр створюється об'єктний файл, що має розширення. Obj. 
Після закінчення роботи компілятора працює компонувальник, який об'єднує об'єктні файли в єдиний завантажувальний виконуваний модуль, що має розширення. Ехе. Цей модуль можна запускати на виконання. 
Особливості
При створенні С++ прагнули зберегти сумісність з мовою С. Більшість програм на С справно працюватимуть і з компілятором С++. С++ має синтаксис, заснований на синтаксисі С. 
 Нововведеннями С++ порівняно з С є: 
  • підтримка об'єктно-орієнтованого програмування через класи;
  • підтримка узагальненого програмування через шаблони;
  • доповнення до стандартної бібліотеки;
  • додаткові типи даних;
  • обробка винятків;
  • простори імен;
  • вбудовані функції;
  • перевантаження операторів;
  • перевантаження імен функцій;
  • посилання і оператори управління вільно розподіленою пам'яттю.
Переваги мови C++
  • Швидкодія. Швидкість роботи програм на С++ практично не поступається програмам на С, хоча програмісти отримали в свої руки нові можливості і нові засоби.
  • Масштабованість. На мові C++ розробляють програми для найрізноманітніших платформ і систем.
  • Можливість роботи на низькому рівні з пам'яттю, адресами, портами. (Що, при необережному використанні, може легко перетворитися на недолік.)
  • Можливість створення узагальнених алгоритмів для різних типів даних, їхня спеціалізація, і обчислення на етапі компіляції, з використанням шаблонів.
  • Підтримуються різні стилі та технології програмування, включаючи традиційне директивне програмування, ООП, узагальнене програмування, метапрограмування (шаблони, макроси).
Недоліки мови C++
  • Наявність безлічі можливостей, що порушують принципи типобезпеки приводить до того, що в С++ програми може легко закрастися важковловима помилка. Замість контролю з боку компілятора розробники вимушені дотримуватися вельми нетривіальних правил кодування. По суті, ці правила обмежують С++ рамками якоїсь безпечнішої підмови. Більшість проблем типобезпеки С++ успадкована від С, але важливу роль в цьому питанні грає і відмова автора мови від ідеї використовувати автоматичне управління пам'яттю (наприклад, збірку сміття). Так візитною карткою С++ стали вразливості типу «переповнювання буфера».
  • Погана підтримка модульності. Підключення інтерфейсу зовнішнього модуля через препроцесорну вставку заголовного файлу (#include) серйозно уповільнює компіляцію, при підключенні великої кількості модулів. Для усунення цього недоліку, багато компіляторів реалізують механізм прекомпіляциі заголовних файлів (англ. Precompiled Headers).
  • Недостача інформації про типи даних під час компіляції (CTTI).
  • Мова C++ є складною для вивчення і для компіляції.
  • Деякі перетворення типів неінтуїтивні. Зокрема, операція над беззнаковим і знаковим числами видає беззнаковий результат.
  • Препроцесор С++ (успадкований від C) дуже примітивний. Це приводить з одного боку до того, що з його допомогою не можна (або важко) здійснювати деякі завдання метапрограмування, а з іншою, в наслідку своєї примітивності, він часто приводить до помилок і вимагає багато дій з обходу потенційних проблем. Деякі мови програмування (наприклад, Scheme і Nemerle) мають набагато могутніші і
Фото Капча