1   2   3   4   5   6   7   8
Ім'я файлу: Комп'ютерні мережі Курсова Робота 2021 .docx
Розширення: docx
Розмір: 693кб.
Дата: 15.02.2022
скачати
Пов'язані файли:
Аутогенне тренування. ШАБАТІН.docx
ОБД_Методичн_вказ_для_КР_2012.doc
123-kompyuterna-inzheneriya-bakalavr.pdf
Лабораторна робота 2.docx

3. Опис і обґрунтування проектних рішень
щодо розробки програмного забезпечення

3.1. Мови програмування.


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

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

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

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

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

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

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

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

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

Матір'ю програмування вважають Аду Лавлейс, що створила в 1842 році найпершу значиму програму до аналітичної механічної машини Чарльза Беббіджа. Але, звичайно, перші ключові парадигми, що діють для програмування і сьогодні, були створені в 60-70-х роках минулого століття. До теперішнього часу в школах викладаються основи програмування на уроках інформатики, а професії програміста і веб-розробника вважаються найбільш затребуваними.

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

1   2   3   4   5   6   7   8

скачати

© Усі права захищені
написати до нас