Основи алгоритмізації та програмування Поняття програми. Мови програмування. Поняття програми. Мови програмування.
Exit Вступ Якщо ми хочемо розв'язати задачу за допомогою комп'ютера, то нам слід створити алгоритм, який здатен він виконати, а потім передати цей алгоритм комп'ютеру для виконання. Іншими словами – ми повинні мати засіб спілкування з комп'ютером. А, як відомо, засіб спілкування – це мова. Якщо ми хочемо розв'язати задачу за допомогою комп'ютера, то нам слід створити алгоритм, який здатен він виконати, а потім передати цей алгоритм комп'ютеру для виконання. Іншими словами – ми повинні мати засіб спілкування з комп'ютером. А, як відомо, засіб спілкування – це мова.
Exit Спілкування В повсякденному житті кожної людини є потреба у спілкуванні з іншими людьми – об'єктами спілкування. Спілкування є процесом обміну інформацією. Ви вже знаєте про такі види спілкування, як: монолог – однонаправлений процес передачі інформації, коли один об'єкт спілкування постійно є джерелом інформації, інший об'єкт, або інші об'єкти є споживачами інформації; діалог – двонаправлений процес, коли об'єкти спілкування обмінюються функціями – по черзі стають то джерелом, то споживачем інформації. В повсякденному житті кожної людини є потреба у спілкуванні з іншими людьми – об'єктами спілкування. Спілкування є процесом обміну інформацією. Ви вже знаєте про такі види спілкування, як: монолог – однонаправлений процес передачі інформації, коли один об'єкт спілкування постійно є джерелом інформації, інший об'єкт, або інші об'єкти є споживачами інформації; діалог – двонаправлений процес, коли об'єкти спілкування обмінюються функціями – по черзі стають то джерелом, то споживачем інформації.
Exit Об'єкти спілкування Хто або що може бути об'єктами спілкування? Зрозуміло, що об'єктами спілкування можуть бути люди. Але тільки вони, чи, можливо, є й інші об'єкти? Якщо уважно придивитися до поведінки тварин, то можна дійти висновку, що вони також спілкуються як між собою, так і з людиною, подаючи сигнали про свої бажання, а також розуміють певні сигнали людини. Об'єктом спілкування також може бути машина. Яким чином? – запитаєте ви. А пригадайте, що автомобілі, наприклад, мають панель приладів, за допомогою якої машина повідомляє водія про швидкість руху, запас палива, рівень мастила та інше. А водій, в свою чергу, наприклад, натиснувши кнопку, передає машині сигнал увімкнути кондиціонер, або зачинити вікна, замки, тощо. Хто або що може бути об'єктами спілкування? Зрозуміло, що об'єктами спілкування можуть бути люди. Але тільки вони, чи, можливо, є й інші об'єкти? Якщо уважно придивитися до поведінки тварин, то можна дійти висновку, що вони також спілкуються як між собою, так і з людиною, подаючи сигнали про свої бажання, а також розуміють певні сигнали людини. Об'єктом спілкування також може бути машина. Яким чином? – запитаєте ви. А пригадайте, що автомобілі, наприклад, мають панель приладів, за допомогою якої машина повідомляє водія про швидкість руху, запас палива, рівень мастила та інше. А водій, в свою чергу, наприклад, натиснувши кнопку, передає машині сигнал увімкнути кондиціонер, або зачинити вікна, замки, тощо.
Exit Комп'ютер як об'єкт спілкування Одним із видів машин є комп'ютери. Раніше було прийнято називати комп'ютери електронними обчислювальними машинами (ЕОМ). Чому саме обчислювальними, ми з'ясуємо пізніше. А от машиною комп'ютер називають тому, що, як інші машини, комп'ютери створюють для полегшення праці людини, або обслуговування її потреб, надання певних послуг. Ви маєте певний досвід роботи на комп'ютері і знаєте, що комп'ютер здатен сприймати інформацію, реагувати на неї та виводити інформацію у зрозумілій людині формі. Ці здатності комп'ютера постійно розвиваються і розширюються. Перші комп'ютери сприймали та виводили інформацію тільки у вигляді спеціальних кодів, зрозумілих тільки групі спеціалістів. Сучасні комп'ютери здатні вивести інформацію у різному вигляді: текстовому, графічному, звуковому. Одним із видів машин є комп'ютери. Раніше було прийнято називати комп'ютери електронними обчислювальними машинами (ЕОМ). Чому саме обчислювальними, ми з'ясуємо пізніше. А от машиною комп'ютер називають тому, що, як інші машини, комп'ютери створюють для полегшення праці людини, або обслуговування її потреб, надання певних послуг. Ви маєте певний досвід роботи на комп'ютері і знаєте, що комп'ютер здатен сприймати інформацію, реагувати на неї та виводити інформацію у зрозумілій людині формі. Ці здатності комп'ютера постійно розвиваються і розширюються. Перші комп'ютери сприймали та виводили інформацію тільки у вигляді спеціальних кодів, зрозумілих тільки групі спеціалістів. Сучасні комп'ютери здатні вивести інформацію у різному вигляді: текстовому, графічному, звуковому.
Exit Повідомлення та сигнали Спілкування – це процес обміну інформацією. Обмін інформацією відбувається через повідомлення. Повідомлення – це процес передачі інформації. Для виконання повідомлення повинні бути джерело інформації, споживач інформації та канал зв'язку, що забезпечує передачу інформації від джерела до споживача. А як же передається інформація? Інформація передається у вигляді сигналів. Сигнали можуть бути акустичними, електромагнітними, електричними, магнітними, тощо. Люди, наприклад, найчастіше спілкуються за допомогою акустичних (чуємо) та електромагнітних (бачимо) сигналів. Основними сигналами в комп'ютері є електричні та магнітні. Спілкування – це процес обміну інформацією. Обмін інформацією відбувається через повідомлення. Повідомлення – це процес передачі інформації. Для виконання повідомлення повинні бути джерело інформації, споживач інформації та канал зв'язку, що забезпечує передачу інформації від джерела до споживача. А як же передається інформація? Інформація передається у вигляді сигналів. Сигнали можуть бути акустичними, електромагнітними, електричними, магнітними, тощо. Люди, наприклад, найчастіше спілкуються за допомогою акустичних (чуємо) та електромагнітних (бачимо) сигналів. Основними сигналами в комп'ютері є електричні та магнітні.
Exit Види сигналів Існують прості та складні сигнали. Якщо, побачивши на відстані приятеля, людина робить кивок головою, то цей простий сигнал означає привітання. Коли ж, ви привітаєтеся словом добридень, то це вже є складним сигналом, який складається із групи простих звукових сигналів. Якщо ви написали слово добридень на аркуші паперу та показали його на відстані товаришу, то це також складний сигнал у вигляді тексту. Слово добридень формується групою простих буквених сигналів із 9 букв. Для формування складних сигналів з метою передавання інформації існують певні мови. Існують прості та складні сигнали. Якщо, побачивши на відстані приятеля, людина робить кивок головою, то цей простий сигнал означає привітання. Коли ж, ви привітаєтеся словом добридень, то це вже є складним сигналом, який складається із групи простих звукових сигналів. Якщо ви написали слово добридень на аркуші паперу та показали його на відстані товаришу, то це також складний сигнал у вигляді тексту. Слово добридень формується групою простих буквених сигналів із 9 букв. Для формування складних сигналів з метою передавання інформації існують певні мови.
Exit Поняття мови З раннього дитинства людина вчиться сприймати та передавати інформацію за допомогою сигналів. При цьому кажуть, що вона вивчає мову. Що ж таке мова? Мова є засобом обміну інформацією, тобто засобом спілкування. Мова є системою правил формування сигналів, що несуть певну інформацію у закодованому вигляді. Для того, щоб споживач зрозумів інформацію, джерело повинно сформулювати її на зрозумілій споживачі мові. Тобто і джерело і споживач повинні володіти спільною мовою. З раннього дитинства людина вчиться сприймати та передавати інформацію за допомогою сигналів. При цьому кажуть, що вона вивчає мову. Що ж таке мова? Мова є засобом обміну інформацією, тобто засобом спілкування. Мова є системою правил формування сигналів, що несуть певну інформацію у закодованому вигляді. Для того, щоб споживач зрозумів інформацію, джерело повинно сформулювати її на зрозумілій споживачі мові. Тобто і джерело і споживач повинні володіти спільною мовою.
Exit Види мов Існує велика кількість мов: усні мови (українська, російська, англійська…), відповідні їм письмові мови, мови жестів (до речі, у різних народів різні), мови креслення, схем, математики, жаргонні мови (нелітературні мови) тощо. З появою комп'ютерів виникла необхідність у створенні мов спілкування з комп'ютером. Таким чином виникли комп'ютерні мови. Існує велика кількість мов: усні мови (українська, російська, англійська…), відповідні їм письмові мови, мови жестів (до речі, у різних народів різні), мови креслення, схем, математики, жаргонні мови (нелітературні мови) тощо. З появою комп'ютерів виникла необхідність у створенні мов спілкування з комп'ютером. Таким чином виникли комп'ютерні мови.
Exit Комп'ютерна мова Основною метою створення комп'ютерів було створення швидкого та точного виконавця алгоритмів. Для того, щоб комп'ютер став виконавцем, він повинен отримувати команди зрозумілою йому мовою та виконувати їх. Виникла потреба у створенні комп'ютерної мови – зрозумілої як комп'ютеру, так і людині, що з ним спілкується. Основною метою створення комп'ютерів було створення швидкого та точного виконавця алгоритмів. Для того, щоб комп'ютер став виконавцем, він повинен отримувати команди зрозумілою йому мовою та виконувати їх. Виникла потреба у створенні комп'ютерної мови – зрозумілої як комп'ютеру, так і людині, що з ним спілкується.
Exit Сигнали комп'ютерної мови Природа комп'ютера полягає у тому, що він є електронною машиною і здатен сприймати лише електричні сигнали. Простий електричний сигнал здатен нести два варіанти інформації (є сигнал та сигнал відсутній). Для формування більшої кількості варіантів інформації сигнали повинні бути складними. Тобто інформація повинна кодуватися не в одному електричному сигналі, а в групі паралельних сигналів. Кожний простий електричний сигнал розміщується в певній точці пам'яті, що має назву біт. Група із восьми сусідніх бітів має назву байт. Один байт дає змогу створити 2 8 =256 варіантів коду. Так виник спосіб кодування інформації для комп'ютера, на якому базується мова машинних кодів. Природа комп'ютера полягає у тому, що він є електронною машиною і здатен сприймати лише електричні сигнали. Простий електричний сигнал здатен нести два варіанти інформації (є сигнал та сигнал відсутній). Для формування більшої кількості варіантів інформації сигнали повинні бути складними. Тобто інформація повинна кодуватися не в одному електричному сигналі, а в групі паралельних сигналів. Кожний простий електричний сигнал розміщується в певній точці пам'яті, що має назву біт. Група із восьми сусідніх бітів має назву байт. Один байт дає змогу створити 2 8 =256 варіантів коду. Так виник спосіб кодування інформації для комп'ютера, на якому базується мова машинних кодів.
Exit Дещо про мову машинних кодів Як і у звичайних літературних мов, інформаційною одиницею мови машинних кодів є слово. Тільки називається воно машинним словом. Машинне слово складається із двох сусідніх байтів. І дає можливість створити 2 16 =65536 варіантів коду. За змістом машинне слово може містити команду, значення або коментар. Як і літературні мови, мова машинних кодів має власний алфавіт. Щоправда він містить лише два символи 0 та 1. 0 означає відсутність у біті сигналу, а 1 – наявність його. Тому запис речення мовою машинних кодів матиме вигляд на зразок: Зрозуміло, що це означає? Звісно - ні. Бо, щоб розуміти мову машинних кодів, її слід спочатку вивчити. Як і у звичайних літературних мов, інформаційною одиницею мови машинних кодів є слово. Тільки називається воно машинним словом. Машинне слово складається із двох сусідніх байтів. І дає можливість створити 2 16 =65536 варіантів коду. За змістом машинне слово може містити команду, значення або коментар. Як і літературні мови, мова машинних кодів має власний алфавіт. Щоправда він містить лише два символи 0 та 1. 0 означає відсутність у біті сигналу, а 1 – наявність його. Тому запис речення мовою машинних кодів матиме вигляд на зразок: Зрозуміло, що це означає? Звісно - ні. Бо, щоб розуміти мову машинних кодів, її слід спочатку вивчити.
Exit Споживач інформації мовою машинних кодів Ми з'ясували, що комп'ютер розуміє виключно мову машинних кодів. А це означає, що в комп'ютері повинен бути пристрій, що сприймає інформацію подану цією мовою та певним чином реагує на неї. Цей пристрій називається процесором. Процесор знає певний набір елементарних команд та вміє їх виконувати. Саме ці команди і передаються йому засобами мови машинних кодів. Ми з'ясували, що комп'ютер розуміє виключно мову машинних кодів. А це означає, що в комп'ютері повинен бути пристрій, що сприймає інформацію подану цією мовою та певним чином реагує на неї. Цей пристрій називається процесором. Процесор знає певний набір елементарних команд та вміє їх виконувати. Саме ці команди і передаються йому засобами мови машинних кодів.
Exit Програма та мова програмування Програма є алгоритмом для виконавця-комп'ютера. Вона повинна бути написана мовою зрозумілою комп'ютеру. Інакше комп'ютер відмовиться її виконувати. А отже – програма створюється за допомогою мови програмування. Програма є алгоритмом для виконавця-комп'ютера. Вона повинна бути написана мовою зрозумілою комп'ютеру. Інакше комп'ютер відмовиться її виконувати. А отже – програма створюється за допомогою мови програмування.
Exit Недоліки мови машинних кодів Створювати програми мовою машинних кодів досить незручно. По-перше, вона дуже віддалена від звичних нам мов. А, якщо взяти до уваги, що людина мислить рідною мово, то зрозуміло, що мислити мовою машинних кодів важко. По-друге, набір команд, що в змозі виконати процесор, не дуже великий. А тому, для створення навіть елементарного алгоритму знадобиться записати досить велику кількість команд. Це відбирає у програміста велику кількість часу. По-третє, досить незручно налагоджувати програму – перш за все - шукати в ній помилки. Створювати програми мовою машинних кодів досить незручно. По-перше, вона дуже віддалена від звичних нам мов. А, якщо взяти до уваги, що людина мислить рідною мово, то зрозуміло, що мислити мовою машинних кодів важко. По-друге, набір команд, що в змозі виконати процесор, не дуже великий. А тому, для створення навіть елементарного алгоритму знадобиться записати досить велику кількість команд. Це відбирає у програміста велику кількість часу. По-третє, досить незручно налагоджувати програму – перш за все - шукати в ній помилки.
Exit Мова Асемблер Саме вказані недоліки мови машинних кодів на початку ери комп'ютерів створювали умови, коли програмувати мала можливість тільки обмежена група підготовлених спеціалістів. Та і їм програмувати було досить незручно. Тому згодом була створена мова програмування Асемблер, в якій команди записувалися не числами, а вже словами, запозиченими із звичайної мови. Програма (алгоритм) на Асемблері записувалася у текстовому редакторі, а потім за допомогою транслятора перекладалася на мову машинних кодів, які розміщалися у певному місці пам'яті. Асемблер є більш наближеною до звичайної мови ніж мова машинних кодів (хоча і не набагато). Транслятор Асемблера дозволяє знайти помилку та вказати на її місце. Але він, все-таки, використовує тільки обмежену кількість команд процесора, що робить текст програми досить великим. Це є основним недоліком Асемблера. Саме вказані недоліки мови машинних кодів на початку ери комп'ютерів створювали умови, коли програмувати мала можливість тільки обмежена група підготовлених спеціалістів. Та і їм програмувати було досить незручно. Тому згодом була створена мова програмування Асемблер, в якій команди записувалися не числами, а вже словами, запозиченими із звичайної мови. Програма (алгоритм) на Асемблері записувалася у текстовому редакторі, а потім за допомогою транслятора перекладалася на мову машинних кодів, які розміщалися у певному місці пам'яті. Асемблер є більш наближеною до звичайної мови ніж мова машинних кодів (хоча і не набагато). Транслятор Асемблера дозволяє знайти помилку та вказати на її місце. Але він, все-таки, використовує тільки обмежену кількість команд процесора, що робить текст програми досить великим. Це є основним недоліком Асемблера.
Exit Алгоритмічні мови високого рівня програмування Мову машинних кодів та мову Асемблеру прийнято називати мовами низького рівня програмування. Ця назва зумовлена саме тим, що в алгоритмах цих мов використовуються виключно команди процесора пов'язані безпосередньо з його механізмом роботи. Оскільки для широкого кола користувачів програмувати мовою машинних кодів або мовою Асемблера незручно, то були створені спеціальні алгоритмічні мови високого рівня програмування. Їх назвали так, бо правила написання тексту алгоритмів цими мовами максимально наближені до правил звичайної мови. Серед алгоритмічних мов високого рівня програмування на сьогодні найпоширенішими є BASIC, Pascal, C+ та їх вдосконалені нащадки VsualBasic, Delphi, С++. Мову машинних кодів та мову Асемблеру прийнято називати мовами низького рівня програмування. Ця назва зумовлена саме тим, що в алгоритмах цих мов використовуються виключно команди процесора пов'язані безпосередньо з його механізмом роботи. Оскільки для широкого кола користувачів програмувати мовою машинних кодів або мовою Асемблера незручно, то були створені спеціальні алгоритмічні мови високого рівня програмування. Їх назвали так, бо правила написання тексту алгоритмів цими мовами максимально наближені до правил звичайної мови. Серед алгоритмічних мов високого рівня програмування на сьогодні найпоширенішими є BASIC, Pascal, C+ та їх вдосконалені нащадки VsualBasic, Delphi, С++.
Exit Переваги та недоліки алгоритмічних мов високого рівня програмування Основною перевагою мови програмування високого рівня є її наближеність до звичайної літературної мови та мови математики. (Останнє дуже важливо, так як робота комп'ютера полягає в виконанні величезної кількості операцій математичних обчислень. Це пов'язано з тим, що алгоритм є реалізацією математичної моделі). Саме ця перевага зумовлює можливість долучення до програмування широкого кола користувачів. Недоліком мов високого рівня є недостатня якість їх трансляторів - програм-перекладачів на мову машинних кодів. Через що результуючий машинний код містить велику кількість непотрібних команд та даних, що уповільнюють роботу самої програми та збільшують її розмір. Основною перевагою мови програмування високого рівня є її наближеність до звичайної літературної мови та мови математики. (Останнє дуже важливо, так як робота комп'ютера полягає в виконанні величезної кількості операцій математичних обчислень. Це пов'язано з тим, що алгоритм є реалізацією математичної моделі). Саме ця перевага зумовлює можливість долучення до програмування широкого кола користувачів. Недоліком мов високого рівня є недостатня якість їх трансляторів - програм-перекладачів на мову машинних кодів. Через що результуючий машинний код містить велику кількість непотрібних команд та даних, що уповільнюють роботу самої програми та збільшують її розмір.
Exit Контрольні запитання 1. Яку назву мають засоби спілкування? 2. Що таке спілкування і які види спілкування існують? 3. Хто або що може бути об'єктами спілкування? 4. Чи здатен комп'ютер до спілкування? Поясніть. 5. Що таке повідомлення? 6. У якому вигляді передається інформація? 7. Що являє собою поняття мова? 8. Що таке комп'ютерні мови? 9. Як кодується інформація у мові машинних кодів? Що таке біт, байт, машинне слово? 10. Яку роль відіграє процесор у комп'ютері? 11. Що таке програма і за допомогою чого вона складається? 12. Мови програмування низького та високого рівнів, їх переваги та недоліки. 1. Яку назву мають засоби спілкування? 2. Що таке спілкування і які види спілкування існують? 3. Хто або що може бути об'єктами спілкування? 4. Чи здатен комп'ютер до спілкування? Поясніть. 5. Що таке повідомлення? 6. У якому вигляді передається інформація? 7. Що являє собою поняття мова? 8. Що таке комп'ютерні мови? 9. Як кодується інформація у мові машинних кодів? Що таке біт, байт, машинне слово? 10. Яку роль відіграє процесор у комп'ютері? 11. Що таке програма і за допомогою чого вона складається? 12. Мови програмування низького та високого рівнів, їх переваги та недоліки.