Основні теоретичні відомості
Системи числення
Алгоритми переведення чисел з однієї системи в іншу
Методичні матеріали
до розрахунково-графічної роботи з курсу:
“Основи інформаційних технологій”
для студентів базових напрямків 6.050101 “Комп’ютерні науки”
Львів 2014
Мета роботи. Ознайомитись з основними поняттями інформатики як науки, з основними напрямками застосування обчислювальної техніки, способами представлення чисел в різних системах числення та алгоритмами переведення чисел з однієї системи в іншу.
Основні теоретичні відомості
Інформатика – це комплексна, технічна наука, що систематизує прийоми створення, збереження, відтворення, обробки та передачі даних засобами обчислювальної техніки, а також принципи функціонування цих засобів та методи керування ними. Термін “інформатика” походить від французького слова Informatique і утворене з двох слів: інформація та автоматика. Запроваджено цей термін у Франції в середині 60-х років XX ст., коли розпочалося широке використання обчислювальної техніки. Тоді в англомовних країнах увійшов до вжитку термін “Computer Science” для позначення науки про перетворення інформації, що грунтується на використанні обчислювальної техніки. Тепер ці терміни є синонімами.
Поява інформатики зумовлена виникненням і поширенням нової технології збирання,оброблення і передачі інформації, пов’язаної з фіксацією даних на машинних носіях.
Предмет інформатики як науки складають:
ü апаратне забезпечення засобів обчислювальної техніки;
ü програмне забезпечення засобів обчислювальної техніки;
ü засоби взаємодії апаратного та програмного забезпечення;
ü засоби взаємодії людини з апаратними та програмними засобами.
Засоби взаємодії в інформатиці прийнято називати інтерфейсом. Тому засоби взаємодії апаратного та програмного забезпечення інколи називають також програмно-апаратним інтерфейсом, а засоби взаємодії людини з апаратними та програмними засобами – інтерфейсом користувача.
Основною задачею інформатики як науки є систематизація прийомів та методів роботи з апаратними та програмними засобами обчислювальної техніки. Мета систематизації полягає у тому, щоб виділити, впровадити та розвинути передові, найбільш ефективні технології автоматизації етапів роботи з даними, а також методично забезпечити нові технологічні дослідження.
Інформатика – практична наука. Її досягнення повинні проходити перевірку на практиці і прийматися в тих випадках, коли вони відповідають критерію підвищення ефективності. У складі основної задачі сьогодні можна виділити такі основними напрямками інформатики для практичного застосування :
ü архітектура обчислювальних систем (прийоми та методи побудови систем, призначених для автоматичної обробки даних);
ü інтерфейси обчислювальних систем (прийоми та методи керування апаратним та програмним забезпеченням);
ü програмування (прийоми, методи та засоби розробки комплексних задач);
ü перетворення даних (прийоми та методи перетворення структур даних);
ü захист інформації (узагальнення прийомів, розробка методів і засобів захисту даних);
ü автоматизація (функціонування програмно-апаратних засобів без участі людини);
ü стандартизація (забезпечення сумісності між апаратними та програмними засобами, між форматами представлення даних, що відносяться до різних типів обчислювальних систем).
На всіх етапах технічного забезпечення інформаційних процесів для інформатики ключовим питанням є ефективність. Для апаратних засобів під ефективністю розуміють співвідношення продуктивності обладнання до його вартості. Для програмного забезпечення під ефективністю прийнято розуміти продуктивність користувачів, які з ним працюють. У програмуванні під ефективністю розуміють обсяг програмного коду, створеного програмістами за одиницю часу. В інформатиці все жорстко орієнтоване на ефективність. Питання як здійснити ту чи іншу операцію, для інформатики є важливим, але не основним. Основним є питання як здійснити дану операцію ефективно.
В межах інформатики, як технічної науки можна сформулювати поняття інформації, інформаційної системи та інформаційної технології.
Інформація – це сукупність відомостей (даних), які сприймають із навколишнього середовища (вхідна інформація), видають у навколишнє середовище (вихідна інформація) або зберігають всередині певної системи.
Інформація існує у вигляді документів, креслень, рисунків, текстів, звуковиз в світлових сигналів, електричних та нервових імпульсів тощо. Саме слово ‘інформатика’ походить від латинського information, що означає виклад, роз’яснення факту, події.
Найбільш важливими властивостями інформації є:
· об’єктивність та суб’єктивність;
· повнота;
· достовірність;
· адекватність;
· доступність;
· актуальність.
Дані є складовою частиною інформації, що являють собою зареєстровані сигнали.
Під час інформаційного процесу дані перетворюються з одного виду в інший за допомогою методів. Обробка даних містить в собі множину різних операцій. Основними операціями є:
· збір даних – накопичення інформації з метою забезпечення достатньої повноти для прийняття рішення;
· формалізація даних – приведення даних, що надходять із різних джерел до однакової форми;
· фільтрація даних – усунення зайвих даних, які не потрібні для прийняття рішень;
· сортування даних – впорядкування даних за заданою ознакою з метою зручності використання;
· архівація даних – збереження даних у зручній та доступній формі;
· захист даних – комплекс дій, що скеровані на запобігання втрат, відтворення та модифікації даних;
· транспортування даних – прийом та передача даних між віддаленими користувачами інформаційного процесу. Джерело даних прийнято називати сервером, а споживача – клієнтом;
· перетворення даних – перетворення даних з однієї форми в іншу, або з однієї структури в іншу, або зміна типу носія.
Інформаційна система
В інформатиці поняття “система” найчастіше використовують стосовно набору технічних засобів і програм. Системою називають також апаратну частину комп’ютера. Доповнення поняття “система” словом “інформаційна” відображає мету її створення і функціонування.
Інформаційна система – взаємозв’язана сукупність засобів, методів і персоналу, використовувана для зберігання, оброблення та видачі інформації з метою вирішення конкретного завдання.
Сучасне розуміння інформаційної системи передбачає використання комп’ютера як основного технічного засобу обробки інформації. Комп’ютери, оснащені спеціалізованими програмними засобами, є технічної базою та інструментом інформаційної системи.
У роботі інформаційної системи можна виділити такі етапи:
1. Зародження даних – формування первинних повідомлень, що фіксують результати певних операцій, властивості об’єктів і суб’єктів управління, параметри процесів, зміст нормативних та юридичних актів тощо.
2. Накопичення і систематизація даних – організація такого їх розміщення, яке б забезпечувало б швидкий пошук і відбір потрібних відомостей, методичне оновлення даних, захист їх від спотворень, втрати, деформування цілісності та ін.
3. Обробка даних – процеси, внаслідок яких на підставі раніше накопичених даних формуються нові види даних: узагалюючі, аналітичні, рекомендаційні, прогнозні. Похідні дані також можуть зазнавати подальшого оброблення, даючи відомості глибшої узагальненості і т.д.
4. Відображення даних – подання їх у формі, придатній для сприйняття людиною. Передусім – це виведення на друк, тобто виготовлення документів на так званих твердих (паперових) носіях. Широко використовують побудову графічних ілюстративних матеріалів (графіків, діаграм) і формування звукових сигналів.
Повідомлення, що формуються на першому етапі, можуть бути звичайним паперовим документом, повідомленням у “машинному вигляді” або тим й іншим одночасно. В сучасних інформаційних системах повідомлення масового характеру здебільшого мають “машинний вигляд”. Апаратура, що використовується при цьому, має назву засоби реєстрації первинної інформації.
Потреби другого і третього етапів задовольняються в сучасних інформаційних системах в основному засобами обчислювальної техніки. Засоби, що забезпечують доступність інформації для людини, тобто засоби відображення даних, є компонентами обчислювальної техніки.
Переважна більшість інформаційних систем працює в режимі діалогу з користувачем. Типові програмні компоненти інформаційних систем включають: діалогову підсистему введення-виведення, підсистему, яка реалізує логіку діалогу, підсистему прикладної логіки обробки даних, підсистему логіки управління даними. Для мережевих інформаційних систем важливим елементом є комунікаційний сервіс, який забезпечує взаємодію вузлів мережі при спільному вирішенні задачі. Значна частина функціональних можливостей інформаційних систем закладається в системному програмному забезпеченні: операційних системах, системних бібліотеках та конструкціях інструментальних засобів розробки. Крім програмної складової інформаційних систем важливу роль відіграє інформаційна складова, яка задає структуру, атрибутику та типи даних, а також тісно пов’язана з логікою управління даними.
Інформаційні технології
В широкому сенсі слово технологія – це спосіб освоєння людиною матеріального світу за допомогою соціально організованої діяльності, що включає три компоненти: інформаційну(наукові принципи та обгрунтування), матеріальну(знаряддя праці) та соціальну(фахівці, які мають професійні навики). Ця тріада становить сутність сучасного розуміння поняття технологія.
Поняття інформаційної технології з’явилося з виникненням інформаційного суспільства, основою соціальної динаміки в якому є не традиційні матеріальні, а інформаційні ресурси: знання, наука, організаційні чинники, інтелектуальні здібності, ініціатива, творчість і т.д. На жаль, це поняття є настільки загальним та всеохоплюючим, що до сих пір фахівці не прийшли до чіткого, формалізованого формулювання. На думку авторів, найбільш вдалим є визначення поняття інформаційної технології дане академіком Глушковим В.М., який трактував її як людино-машинну технологію збирання, обробки та передачі інформації, що грунтується на використанні обчислювальної техніки. Ця технологія швидко розвивається, охоплюючи всі види суспільної діяльності: виробництво, управління, науку, освіту, фінансово-банківські операції, медицину, побут та ін.
Кодування даних. |
Для автоматизації роботи з даними, що відносяться до різних типів, важливо уніфікувати їх форму представлення. Для цього, як правило, використовується прийом кодування, тобто представлення даних одного типу через дані іншого типу. Звичайні людські мови можна розглядати яксистеми кодування ідей та понять для вираження думок за допомогою мовлення.Іншим прикладом загальновживаних систем кодування може бути азбука, як система кодування компонентів мови за допомогою графічних символів. Універсальні засоби кодування успішно втілюються в різноманітних галузях техніки, науки та культури – математичні вирази, телеграфна азбука, морська азбука, азбука для сліпих тощо. Своя система кодування існує й в інформатиці, і називається вона двійковим кодом. Грунтується вона на представленні даних послідовністю двох знаків: 0 та 1. Ці знаки називають двійковими цифрами або бітами (від скорочення англійських слів binary digit). Слід зауважити, що вся інформація, що зберігається та обробляється засобами обчислювальної техніки, незалежно від її типу (числа, текст, графіка, звук, відео), представлена у двійковому коді.
Одним бітом можна виразити два поняття: 0 або 1 (ні або так, хибне або істинне). Якщо кількість бітів збільшити до двох, то тоді можна вже закодувати чотири поняття : 00, 01, 10, 11. Трьома бітами кодують вісім понять: 000, 001, 010, 011, 100, 101, 110, 111. Збільшуючи на одиницю кількість розрядів в системі двійкового кодування, ми збільшуємо в два рази кількість значень, які можуть бути виражені в цій системі кодування, тобто кількість значень вираховується за формулою:
,
де – кількість незалежних значень, що кодуються, – розрядність двійкового кодування.
Найменшою одиницею об’єму даних прийнято вважати байт – групу з 8 бітів. Байтом можна закодувати, наприклад, один символ текстової інформації. Наступним одиницями кодування є:
· кілобайт (скорочено Кбайт): 1 Кбайт = 210 байт = 1024 байт;
· мегабайт (Мбайт): 1 Мбайт = 210 Кбайт = 1024 Кбайт;
· гігабайт (Гбайт): 1 Гбайт = 210 Мбайт = 1024 Мбайт;
· терабайт (Тбайт): 1 Тбайт = 210 Гбайт = 1024 Гбайт.
Саме в таких одиницях вимірюється ємність даних в інформатиці.
Системи числення
Сукупність прийомів та правил найменування й позначення чисел називається системою числення. Звичайною для нас і загальноприйнятою є позиційна десяткова система числення. Як умовні знаки для запису чисел вживаються цифри.
Система числення, в якій значення кожної цифри в довільному місці послідовності цифр, яка означає запис числа, не змінюється, називається непозиційною. Система числення, в якій значення кожної цифри залежить від місця в послідовності цифр у записі числа, називається позиційною.
Щоб визначити число, недостатньо знати тип і алфавіт системи числення. Для цього необхідно ще додати правила, які дають змогу за значеннями цифр встановити значення числа. Найпростішим способом запису натурального числа є зображення його за допомогою відповідної кількості паличок або рисочок. Таким способом можна користуватися для невеликих чисел. Наступним кроком було винайдення спеціальних символів (цифр). У непозиційній системі кожен знак у запису незалежно від місця означає одне й те саме число. Добре відомим прикладом непозиційної системи числення є римська система, в якій роль цифр відіграють букви алфавіту: І - один, V – п’ять, Х - десять, С - сто, Z – п’ятдесят, D –п’ятсот, М - тисяча. Наприклад, 324 = СССХХІV. У непозиційній системі числення незручно й складно виконувати арифметичні операції.
Позиційні системи числення
Загальноприйнятою в сучасному світі є десяткова позиційна система числення, яка з Індії через арабські країни прийшла в Європу. Основою цієї системи є число десять. Основою системи числення називається число, яке означає, у скільки разів одиниця наступного розрядку більше за одиницю попереднього.
Загальновживана форма запису числа є насправді не що інше, як скорочена форма запису розкладу за степенями основи системи числення, наприклад
.
Тут 10 є основою системи числення, а показник степеня – це номер позиції цифри в записі числа (нумерація ведеться зліва на право, починаючи з нуля). Арифметичні операції у цій системі виконують за правилами, запропонованими ще в середньовіччі. Наприклад, додаючи два багатозначних числа, застосовуємо правило додавання стовпчиком. При цьому все зводиться до додавання однозначних чисел, для яких необхідним є знання таблиці додавання.
Проблема вибору системи числення для подання чисел у пам’яті комп’ютера має велике практичне значення. В разі її вибору звичайно враховуються такі вимоги, як надійність подання чисел при використанні фізичних елементів, економічність (використання таких систем числення, в яких кількість елементів для подання чисел із деякого діапазону була б мінімальною). Для зображення цілих чисел від 1 до 999 у десятковій системі достатньо трьох розрядів, тобто трьох елементів. Оскільки кожен елемент може перебувати в десятьох станах, то загальна кількість станів - 30, у двійковій системі числення: , необхідна кількість станів - 20 (індекс знизу зображення числа - основа системи числення). У такому розумінні є ще більш економічна позиційна система числення - трійкова. Так, для запису цілих чисел від 1 до у десятковій системі числення потрібно 90 станів, у двійковій – 60, у трійковій - 57. Але трійкова система числення не дістала поширення внаслідок труднощів фізичної реалізації.
Тому найпоширенішою для подання чисел у пам’яті комп’ютера є двійкова система числення. Для зображення чисел у цій системі необхідно дві цифри: 0 і 1, тобто достатньо двох стійких станів фізичних елементів. Ця система є близькою до оптимальної за економічністю, і крім того, таблички додавання й множення в цій системі елементарні:
+ | * | |||||
Оскільки , а , то кожних три двійкових розряди зображення числа утворюють один вісімковий, а кожних чотири двійкових розряди - один шістнадцятковий. Тому для скорочення запису адрес та вмісту оперативної пам’яті комп’ютера використовують шістнадцяткову й вісімкову системи числення. Нижче в таблиці 1 наведені перших 16 натуральних чисел записаних в десятковій, двійковій, вісімковій та шістнадцятковій системах числення.
Таблиця 1 | |||
A | |||
B | |||
C | |||
D | |||
E | |||
F |
В процесі налагодження програм та в деяких інших ситуаціях у програмуванні актуальною є проблема переведення чисел з однієї позиційної системи числення в іншу. Якщо основа нової системи числення дорівнює деякому степеню старої системи числення, то алгоритм переводу дуже простий: потрібно згрупувати справа наліво розряди в кількості, що дорівнює показнику степеня і замінити цю групу розрядів відповідним символом нової системи числення. Цим алгоритмом зручно користуватися коли потрібно перевести число з двійкової системи числення у вісімкову або шістнадцяткову. Наприклад, , . Переведення чисел з вісімкової або шістнадцяткової систем числення у двійковому відбувається за зворотнім правилом: один символ старої системи числення заміняється групою розрядів нової системи числення, в кількості рівній показнику степеня нової системи числення. Наприклад, , .
Як бачимо, якщо основа однієї системи числення дорівнює деякому степеню іншої, то перевід тривіальний. У протилежному випадкові користуються правилами переведення числа з однієї позиційної системи числення в іншу (найчастіше для переведення із двійкової, вісімкової та шістнадцяткової систем числення у десяткову, і навпаки).