понедельник, 23 мая 2011 г.

Реферат "Мови програмування"


1.   Програмування
Програмування це теоретична й практична діяльність по створенню програмного забезпечення.  Теоретичні питання програмування стосуються розробки нових мов програмування, розробки способів доказів правильності програм, мінімізації складності та ін. Практика програмування займається розробкою трансляторів, зручного середовища програмування, конкретних баз даних і систем керування, проектування, навчання і т.д.
Процес програмування — це не тільки складання програми на якому те мові, але й участь у постановці завдання,розробці алгоритму, створення сценарію.  Саме програмування — ітераційний процес, складається з розуміння завдання, розробки алгоритму, модулів, налагодження модулів, рішення тестового завдання, порівняння результатів, уточнення постановки завдання й наступної ітерації.  Після того, як система запрограмована, відбувається процес тестування. Після виправлення замічених помилок і одержання готової програми програмування закінчується, але самостійне функціонування програми тільки починається, і виникає завдання виявлення помилок при експлуатації, виготовлення нових версій і т.д.
Для забезпечення якісного програмування існує технологія структурного програмування.
  
                2. Мови програмування, їх класифікація
Мова програмування — це штучна мова для написання команд, що виконуються комп'ютером. Оскільки мова програмування обчислювальній машині не зрозуміла, то має існувати спеціальна програма, що перекладала б символи цієї мови у двійкові симво­ли машинних вказівок. Така програма для перекладу символів, що називається транслятором, вперше була створена на початку 50-х років XX століття.
Зазначимо, що мови, близькі до числового коду процесора, називають мовами низького рівня, а мови, зручні для людини, —мовами високого рівня. Мова найнижчого рівня — мова машинно­го кодування. Трохи вище лежить мова Ассемблера, в якій ма­шинні команди замінюються мнемонічними скороченнями. Всі інші мови програмування є мовами більш високого рівня, ніж мова Ассемблера.   
Мови програмування поділяються також на процедурні (де­тальний опис розв'язування задачі і використання процедур) інепроцедурні (використання об'єктів і декларацій). Процедурні мови, у свою чергу, поділяються на операціональні (Ассемблер,Фортран, Бейсік, Сі та ін.) і структурні (Паскаль, Модула). Се­ред непроцедурних мов виділяють об'єктні мови (Сі++, Делфі,Смолток) і декларативні (Пролог, Лісп).
Кожна мова програмування характеризується трьома основ­ними складовими: алфавіт, синтаксис і семантика.
Алфавіт складається зазвичай з латинських букв, наприклад, у Бейсіку всі букви пишуться як великі (А, В,..., 2), а в Паскалі можливе використання як малих (а, Ь,.., z), так і великих букв. В алфавіт обов'язково входять цифри 0,1, ..., 9, знаки арифметичних операцій (+, — та ін.), знаки логічних операцій, знаки операцій порівняння (=, <, > та ін.), а також спеці­альні символи (дужки, роздільники тощо).
Словник мови програмування складається з кінцевого, фік­сованого набору, ключових слів.
Синтаксис — це система правил, за якими із символів утворюються конструкції мови про­грамування: слова, оператори, команди.
Семантика пред­ставлена системою правил однозначного тлумачення окремих мовних конструкцій. Мова програмування має у своєму розпо­рядженні набір зарезервованих слів, який можна використовува­ти тільки в значенні, визначеному самою мовою, і не можна за­стосовувати для позначення користувальницьких об'єктів (змін­них, міток тощо).                 



2.1. Лісп
Лісп (LISP) — мова програмування загального призначення з підтримкою парадигм функціонального та процедурногопрограмування. Вихідна інформація записується у вигляді списків.
Мову програмування було розроблено в кінці 1950-тих у Масачусетському Технологічному Інституті для дослідження проблем штучного інтелекту. Але, через потужність закладених принципів, мова програмування Лісп також придатна для багатьох інших застосувань.
Програма на мові програмування Лісп представляє рекурсивну функцію символьних виразів, яка будується аналогічно арифметичним функціям із елементарних з допомогою умовного оператору та операції суперпозиції. Умовний оператор має вигляд (p1  l1; …, pn  ln). Результатом його виконання буде вираз li якщо pi вірне.
Існує п'ять елементарних функцій:
§  atom — функція, яка визначає чи є досліджуваний вираз атомом — неподільною одиницею інформації;
§  eq — функція, яка визначає рівність двох атомів;
§  car, cdr — функції, які виокремлюють перший та останній елемент списків відповідно;
§  cons — з'єднує два списки в один.
Окрім елементарних функцій визначаються ряд більш складних функцій, які будуються на їхній основі.
2.2. Java
Java  об'єктно-орієнтована мова програмування, випущена компанією Sun Microsystems у1995 році як основний компонент платформи Java. Синтаксис мови багато в чому походить від C та C++.
Програми на Java утворені з визначень класів та інтерфейсів. Класи містять змінні та сталі, які утримують дані, методи, які виконують дії, та конструктори, які створюють екземпляри класів — об'єкти. Дані можуть мати простий тип (наприклад байт, ціле число, символ) або бути посиланням на об'єкт. Мова Java є статично типізованою.
Java програми записуються в Юнікоді, також надається лексичне перетворення, яке дозволяє записувати символи Юнікоду керівними кодами Unicode за допомогою лише множини символів ASCII. Мова Java представляє текст послідовностями 16-бітних кодових одиниць, використовуючи кодування UTF-16. За винятком коментарів, ідентифікаторів та вмісту символьних та рядкових літералів, всі вхідні елементи програми на Java складаються із символів ASCII або відповідних їм керівних кодів Unicode.
Java є суворо типізованою мовою, кожна змінна та вираз має тип, відомий на етапі компіляції.
         Типи мови Java належать до двох категорій: прості та вказівникові. До простих типів належить булевий(логічний) тип, числові типи та символьний тип.
Числові типи складаються із цілих типів byte, short, int, long та дійсних типів float, double. Символьний тип представлений типом char. Вказівникові типи складаються із класів, інтерфейсів, масивів. Значенням вказівникового типу є вказівник на об'єкт — екземпляр класу чи масиву. 
2.3. С++
C++  — універсальна мова програмування високого рівня з підтримкою декількох парадигм програмування: об'єктно-орієнтованої, узагальненої та процедурної. Розроблена Б'ярном Страуструпом (англ. Bjarne Stroustrup) в AT&T Bell Laboratories (Мюррей-Хілл, Нью-Джерсі) у 1979 році та названа «Сі з класами». Страуструп перейменував мову у C++ у 1983 р. Базується на мові С. У 1990-х роках С++ стала однією з найуживаніших мов програмування загального призначення.
Стандарт Сі++ не описує способи іменування об'єктів, деякі деталі обробки винятків і інші можливості, пов'язані з деталями реалізації, що робить несумісним об'єктний код, створений різними компіляторами. Проте для цього третіми особами створена безліч стандартів для конкретної архітектури і операційних систем.
3. Стилі мов програмування
Стиль в програмуванні  це прийоми та правила написання коду, тобто тексту програми. Правила хорошого стилю – це результат колективного досвіду багатьох програмістів, в певному розумінні частина програмістського ремесла. Основне правило хорошого стилю: програма повинна бути зрозумілою людям, бо саме вони використовують та супроводжують її роками.
1.     Правила написання коментарів.
Найбільш ефективним засобом полегшення розуміння програми є її коментування. Проте програмісти, особливо ті, кому не доводилося перевіряти чи модифікувати чужі (або навіть свої, але через порівняно великий проміжок часу) програми, часто уникають написання коментарів з метою економії часу.
Коментарі слід писати саме під час написання програми, бо з часом суттєві деталі програми можуть забутись. Можна вважати, що програма є добре відкоментованою, якщо при першому знайомстві з нею можна зрозуміти структуру програми, її суть і логіку роботи, лише переглядаючи керівні структури і читаючи коментарі, не аналізуючи детально оператори, які задають правила обробки даних.
Корисним є вступний коментар для програми. Він повинен містити відомості про:
-         призначення програми;
-         перелік і призначення змінних програми;
-         вказівки по вводу-виводу;
-         опис методу або літературні джерела;
-         приблизний час роботи програми;
-         необхідний об’єм пам’яті;
-         відомості про авторів;
-         дату внесення останніх змін в програму.


2. Використання пробілів та порожніх рядків.
Використання пробілів і пустих рядків в тексті програми значно покращує її сприйняття.
Правило: пробіли покращують сприйняття програми її читачеві, отже:
-            розбивайте текст на логічні фрагменти (абзаци), виділяючи їх порожніми рядками, наприклад, порожній рядок слушно використати після блоку визначення змінних у модулі;
-            за розділовими знаками, такими як ( . , ) має бути пробіл;
-            операція – це скорочення слова, отже, вона теж відокремлюється пробілами; виняток складають унарні операції та операції, що мають більш високий пріоритет у виразі.
3. Використання табуляції.
Форматування тексту програми є свого роду коментарем до неї, тому використовуйте акуратні стовпчики там, де це можливо.
 Ідентифікатори (імена змінних, констант, підпрограм, файлів), якщо вони вдало підібрані, можуть замінити або доповнити коментарі в програмі. Отже, при виборі ідентифікаторів будемо керуватись наступними правилами:
-            ідентифікатори відбивають зміст, отже, використовуйте загально прийняті або зрозумілі абревіатури, наприклад: col та row для індексів стовпчиків і рядків в двовимірному масиві; i,j для змінних циклів; min та max для позначення мінімума  та максимума; cur та temp для позначення поточної та робочої змінних;
-            при виборі імен краще не використовувати схожі ідентифікатори, наприклад: io та i0, а також кирилицю (навіть якщо це дозволяється);
-            якщо дозволяє мова програмування, використовуйте знак підкреслення, щоб візуально розділити ідентифікатор, складений з декількох слів, наприклад: max_len або file_name;
-            для ідентифікаторів підпрограм краще використовувати імена, що базуються на активній формі дієслова, наприклад: Input_Size або  Print_Matr;
-            використовуйте великі літери на початку ідентифікаторів глобальних змінних, наприклад: Max_Size;
-            використовуйте тільки великі літери для констант, наприклад: MAX_VALUE;
6. Розміщення операторів.
Хоча більшість сучасних мов програмування дозволяє розміщувати в одному рядку програми декілька операторів, приймемо за правило: кожному оператору - окремий  рядок програми. Це принаймні полегшує налагодження програми, адже інформація про помилку найчастіше вказує помилковий рядок в програмі, а не оператор в рядку.
7. Використання дужок.
Використання дужок може стати корисним засобом покращення сприйняття програми. Краще використати зайві дужки у виразі, ніж міркувати над порядком виконання операцій у ньому згідно з їх пріоритетом. Звикніть обов’язково брати в  дужки (хоча синтаксис не завжди цього вимагає) умови циклів типу WHILE-DO або REPEAT-UNTIL, а також умовного оператора IF.
8. Використання відступів.
В багатьох випадках використання відступів дозволяє прояснити структуру програми. Службові слова, якими починається і закінчується той чи інший оператор, слід записувати на одній вертикалі, а всі вкладені у нього оператори – з деяким фіксованим відступом праворуч, приблизно на 2-3 позиції (менша кількість  буде майже не помітною, а більша може ускладнити сприйняття). Корисно також помічати коментарами кінець довгого вкладеного оператора.

Комментариев нет:

Отправить комментарий