
- •6.Апаратна складова іс. Основні складові апаратного забезпечення комп системи та їх функціональне призначення.
- •Системи числення, що використовуються в комп'ютерах
- •10. Логічні основи комп'ютерної техніки
- •11. Подання даних у памяті пк. Структура вн памяті пк. Біт, байт, машинне слово. Кодування символьних, графічних, звукових, числових даних.Поняття про архівацію, Методи архівації.
- •Кодування текстових даних
- •1.2.3. Кодування звукових даних
- •14. Системи опрацювання текстів. Текстові редактори.
- •15. Комп’ютерна графіка. Системи опрацювання графічної інформації. Робота в графічному редакторі.
- •Системи управління базами даних. Етапи проектування бази даних. Приклади систем управління базами даних.
- •Бази даних. Моделі даних. Поняття бази даних. Моделі бази даних (ієрархічна, мережева та реляційна). Проектування баз даних. Модель “об’єкт-атрибут-зв’язок”. Опрацювання відношень.
- •18. Системи управління базами даних. Етапи проектування бази даних. Приклади систем управління базами даних.
- •1.Визначення мети створення бази даних, які її функції і яку інформацію вона має містити.
- •2.Визначення таблиць, що входять до бази даних
- •3.Задання структури таблиць
- •4. Задання ключа і визначення зв'язків між таблицями
- •5. Введення даних і аналіз бази даних
- •Прикладне програмне забезпечення спеціального призначення. Інструментальні програмні засоби для розв’язування прикладних задач з предметних галузей.
- •Internet, загальні принципи рганізації, апаратні засоби і протоколи обміну даними.
- •Internet, загальні принципи орг-ії, апаратні засоби і протоколи обміну даними.
- •28. Реалізація структур даних процедурною мовою програмування. Типи даних і засоби їх опису. Структури даних та їх опис. Динамічні структури даних та їх реалізація.
- •1. Прості неструктуровані типи:
- •Var глобальні_змінні;
- •Var локальні_змінні;
- •4. За організаційною формою:
- •35.Використання інформаційних технологій у фін обчисленнях.
- •2.Правило суми років
- •36. Автоматизація розвязування задач оптимального вибору в процесах управління
Internet, загальні принципи орг-ії, апаратні засоби і протоколи обміну даними.
Для обєднання всіх ПК віддалених один від од-ного і з різним принципом орг-ції локальних ме-реж викор. спец. пристрої (мости,шлюзи, мар-шрутизатори) та єдину систему адрес для всіх ПК підєднаних до Int.
Мости і шлюзи викон. ф-ії маршрутизаторів.
Міст-компют.обладнання і відповідне програм-не забезпечення, що викор-ся для забезпечення звязку між мережами,що працюють за однако-вими принципами.
Шлюз-компютер,викор-ся для забезпечення звязку між 2-а чи кількома мережами, що побудовані за різними принципами на базі відмінного апаратного та програмного забезпечення з викор. різних мов для подання повідомлень.
Протоколи-визначають правила передавання та одержання даних( протоколи для ел.пошти та ін.)
Найбільшою глоб.мережею є мережа Інтернет.
Глобальна мережа-зєднання локальних мереж і окремих ПК,розташованих далеко один від 1-ого, здійсн. через виділені лінії або через спец. ка-нали звязку.Щоб користуватися глоб.мережею, у ПК необх. мати модем і спец.прогр. забезпеч.
Складові мережі:
-апаратна складова-периферійні пристрої , що здійснюють перетвор. сигналів, вико-ристовуваних у ПК, на сигнали,що передаються через лінії звязку,і навпаки (телефонна лінія, мережевий адаптер).
-програмна-набір програм, що забезпечують роботу мережевого обладнання і обмін інф-цією між ПК у мережі(програми управління мереже-вим обладнанням, мережеві ОС, програми роз-пізнавання та опрацювання повідомлень залежно від їх хар-ру та способу організації).
-інформаційна-док-ти, що зберіг. на ПК, підєд-наних до Int.,залежно від власності можуть бути відкриті або закриті(для доступу потрібен логін і пароль).
Лінія звязку-обладнання,за допомогою якого здійснюється обєднання компютерів у мережу.
Мережевий адаптер-спец.апаратний засіб для ефективної взаємодії ПК у мережі.
Модем-пристрій, що зєднує компютер з телефонною мережею через звичайну телефонну розетку,він здійснює перетворення цифрових сигналів,з якими працює компютер, на сигнали аналогові,при їх передаванні через телефонні лінії,і навпаки.
Ресурс мережі-пристрої,що входять до апаратної частини деяких із ПК мережі,доступні і можуть використ-тися будь-яким користувачем мережі.
Сервер-ПК,ресурси якого призначені для спіль-
ного використання, його призначення доставляти програми з мережі до робочих станцій.
Робочі станції-ПК,що викор-ють ресурси мережі, їх призначення викон. програми одерж.з мережі.
Апаратні засоби(забезпечення):
-постійне зєднання (виділений доступ)-мережевий адаптер, лінія звич. проводів, однак сигнали через них передаються не в аналоговому вигляді, як у звич. телеф.мережі, а в циф-ровому(ISDN лінія-цифрова мережа інтеграль-ного обслуговування)
-тимчасове зєднання(віддалений доступ)-модем, лінія звязку(звич. або виділена телефонна лінія).
22.Дані. Структури даних (статичні, динамічні). Основні операції над структурами даних.
Структури даних (статичні, динамічні).
Структурні об’єкти (складені об’єкти або просто структури) – це об’єкти, які складаються з кількох компонент. Ці компоненти, в свою чергу, можуть бути структурами.
Використані в програмі дані можна поділити на дві великі групи: дані статичної структури та дані динамічної структури.
Дані статичної структури – це такі дані, взаєморозташування і взаємозв’язки елементів яких завжди залишаються постійними.
Можуть бути простими (арифметичні, символьні, булевські та вказівні типи) та складеними (масиви, рядки, множини).
Дані динамічної структури – це дані, внутрішній стан яких формується за якимось законом, але кількість елементів, їх взаємороз-ташування і взаємозв’язки можуть динамічно змінюватися під час виконання програми згідно закону формування.
Сюди відносять файли, незв’язані (проста змінна, масив, запис) та зв’язані динамічні дані (список, черга, стек).
Основні операції над структурами даних.
Є чотири структуровані типи: масиви, записи, множини і рядки. Будь – який з них характеризується множиною утворюючих цей тип елементів тобто змінна і константа структурованого типу завжди має декілька компонентів. Кожен компонент. В свою чергу, може належати структурованому типу, що дозволяє говорити про можливість вкладеності типів.
Масиви. Особливість масивів полягає в тому, що всі їх компоненти суть дані одного типу. Ці компоненти можна легко впорядкувати і забезпечити доступ до будь – якого з них простою вказівкою його порядкового номера.
Опис типу масива задаються наступним чином:
<имя типа> = ARRAY [<сп. инд. типов>] OF <тип>.
Записи. Запис – це структура даних, що складається з фіксованого числа компонентів, які називаються полями запису.Навідміну від масивів, компоненти (поля) запису можуть бути різного типу. Щоб можна було посилатись на той чи інший компонент запису, полям даються імена. Структура оголошення типу запису така:
<имя типа> = RECORD <сп. полей> END. Як і в масиві, значення змінних типу запису можна надавати іншим змінним того ж типу. Імена полів повинні бути унікальними в межах того запису, де вони оголошені, однак, якщо записи містять поля – записи, тобто вкладені одна в одну, імена можуть повторюватись на різних рівнях вкладеності.
Множини. Це набори однотипних логічно пов’язаних один з одним об’єктів. Кількість елементів, що входять в множину, може змінюватись в межах від 0 до 256. Саме непостійністю кількості своїх елементів множини відрізняються від масивів і записів.
Опис типу множина має вигляд:
<имя типа> = SET OF <баз. тип>. Для задання множини використовується так званий конструктор множини: список специфікацій елементів множини, які відокремлюються один від одного комами. Специфікаціями елементів можуть бути константи або вирази базового типу, а також – тип – діапазон того ж базового типу.
Операції над множинами:
перетин множин;
об’єднання;
різниця;
перевірка еквівалентності;
перевірка включення однієї множини в іншу.
Рядки. Тип STRING в Турбо Паскалі широко використовується для обробки текстів. Цей тип подібний до одновимірного масиву символів ARRAY [0…N] OF CHAR, одак, кількість символів в рядку – змінній може змінюватись від 0 до N. Де N – максимальна кількість символів в рядку. Значення N визначається оголошенням типу STRING[N] і може бути будь – якою константою порядкового типу, але не більше 255. Рядок в Турбо Паскалі трактується як ланцюг символів. До будь – якого символа в рядку можна звернутись так само, як до елемента одновимірного масиву ARRAY [0…N] OF CHAR.
Процедури і функції, за допомогою яких реалізуються дії над рядками: copy, delete, insert (вставляє підрядок в рядок), length (повертає довжину рядка), str (перетворює число X будь – якого цілого типу в рядок символів ST), val (обернена до str).
Операції відношення =, <>, >, <, >=, <= виконуються надрядками посимвольно, зліва направо з урахуванням внутрішнього кодування символів.
23. Інформаційне моделювання. Поняття про моделі та моделювання. Класифікація моделей. Поняття про інформаційні моделі. Способи подання інформаційних моделей.
Поняття про моделі та моделювання.
Одним із важливих методів добування нової інформації людиною, пізнання нею довколишнього світу є моделювання.
Моделювання — це процес дослідження властивостей об'єкта на основі побудови відповідної моделі.
Поняття «об'єкт» тут і надалі вживається у загальнонауковому значенні — як деяка частина довколишнього світу, яку можна розглядати як єдине ціле. Предмет, процес, явище — все це об'єкти.
Модель — це матеріальний або уявний об'єкт, який у процесі вивчення (навчання) замінює об'єкт-оригінал, зберігаючи певні, важливі для даного дослідження, типові характеристики і властивості оригіналу.
Моделі лежать в основі навчання і поширення знань. Моделювання є одним із найважливіших методів наукового дослідження.
Моделювання дозволяє:
зрозуміти, як побудований даний об'єкт (модель більш доступна, ніж реальний об'єкт);
навчитися управляти об'єктом (процесом);
3) прогнозувати безпосередні та непрямі наслідки реалізації заданих способів і форм дії на об'єкт.
Усе розмаїття моделей, з якими має справу людина, можна класифікувати за різними ознаками (основами): за способом подання, за формою подання, за фактором часу та іншими. Таку класифікацію представлено на рис.
За способом подання всі моделі поділяються на два великі класи: матеріальні {предметні) та інформаційні.
Матеріальна модель — це модель, яка відтворює геометричні та фізичні властивості об'єкта-оригінала. Вона завжди має реальне втілення.
Приклади матеріальних моделей: макети різноманітних споруд, технічних конструкцій, іграшки, географічні карти і т. п.
Інформаційна модель (у широкому розумінні) — це інформація, що характеризує властивості та стани об'єкта, його взаємозв'язок із зовнішнім світом.
Така інформація може бути подана у словесно-мислительній чи знаковій формі, тому за формою подання розрізняють вербальні та знакові інформаційні моделі.
Вербальна інформаційна модель (від лат. «verbalis» — усний) — це модель, яку одержують у результаті роздумів, логічних умовисновків. Такі моделі можуть залишатися у мозку людини в мислительній формі або подаватися за допомогою слів усНої мови.
Знакова інформаційна модель — це модель, в якій властивості та характеристики об'єкта описуються за допомогою певної системи знаків: математичних виразів та рівнянь, фізичних чи хімічних формул, нотних записів, графіків, схем, рисунків, креслень тощо.
Знакове інформаційне моделювання — це моделювання на основі побудови та дослідження знакових інформаційних моделей; воно включає сукупність правил, за якими можна оперувати обраними знаковими системами, підсистемами та їхніми елементами. Знакове інформаційне моделювання, зокрема математичне, є прогностичним, дозволяє відкривати нові властивості досліджуваного об'єкта.
За способом реалізації знакові інформаційні моделі Поділяються на комп 'ютерні і некомп 'ютерні.
Комп 'ютерна — це така модель, яка реалізується засобами комп'ютерного середовища.
Будь-який реальний об'єкт завжди знаходиться у просторі та часі. Отже, моделі доцільно класифікувати за фактором часу. За фактором часу всі моделі, як матеріальні, так і інформаційні, поділяються на статичні та динамічні.
Матеріальні статичні моделі відображають просторові характеристики реального об'єкта, а інформаційні — його будову і параметри. Матеріальні динамічні моделі виражають особливості функціонування об'єкта (проходження електричного струму в певному колі, продування літака в аеродинамічній трубі), а інформаційні — процес зміни та функціонування об'єкта, який задано набором його параметрів. До динамічних, зокрема, належать алгоритмічні моделі, що описують функціонування тієї чи іншої системи.
Поняття про інформаційні моделі та способи їх подання
дано визначення інформаційної моделі в широкому розумінні. У більш вузькому розумінні інформаційна модель — Це опис властивостей і характеристик об'єкта однією з мов кодування: розмовною, науковою, графічною і т. П.
Як і будь-яка інша, інформаційна модель містить не всю інформацію про об'єкт (процес), що моделюється, а тільки ту ЇЇ частину, яка необхідна для розв'язування розглядуваних задач.
Більшість знань, одержаних у школі, мають характер інформаційних моделей (модель атома, періодична система елементів Менделєєва, опис Сонячної системи, схема кровоносної системи людини і т. д.)
Першою інформаційною моделлю реального об'єкта було слово. Інформаційні моделі можна описувати звичайною та формальною мовами, подавати у вигляді таблиць та за допомогою графів.
Найчастіше інформаційні моделі подають у вигляді таблиць, ієрархічних та мережевих структур. Такі подання використовуються, зокрема, для організації даних у пам'я ті комп'ютера. Подання інформаційних моделей у вигляді таблиць описує відношення «один до одного». Прикладом табличного подання інформаційних моделей є розклад руху автобусів, графік чемпіонату з футболу, журнал академічної групи, залікова книжка студента. Подання інформаційних моделей у вигляді різних схем з ієрархічною (підпорядкованою) структурою описує відношення «один до багатьох». Прикладом такого опису є опис структури університету (рис. 48), обласної державної адміністрації тощо.
24. Математичне моделювання. Основні етапи розв’язування прикладної задачі з використанням комп’ютера. Поняття математичної моделі. Класифікація математичних моделей. Комп’ютерне моделювання. Обчислювальний експеримент.
Етапи розв´язання реальної прикладної задачі за допомогою комп´ютера:
1) Формулювання задачі в термінах певної предметної галузі знань (математика, фізика, економіка тощо)-постановка задачі.
Слід чітко з´ясувати , що дано і що потрібно знайти. Якщо задача конкретна, то під постано вкою задачі розуміють відповідь на 2 запитання: які початкові дані відомі і що потрібно визначити. Якщо задача узагальнена, то при постановці задачі знадобиться ще третє питання- які дані допустимі.
2) Формалізація задачі, побудова інформаційної (зокрема математичної) моделі.
Модель- ідеальний (абстрактний) чи матеріа льний образ (замінник) тих об´єктів та відно- шень між ними, з яими доведеться діяти. Найчастіше для опису та дослідження моделі використовуються поняття і методи математики. В залежності від складності задачі та важливості рішень, що приймаються, ступінь повноти розробки та дослідження моделі варіюється в досить широких межах.
Для переведення задачі на математичну мову, тобто одержання математичної моделі задачі, необхідно з´ясувати , що в об´єкті, який вивчається , суттєво для даної задачі, а чим можна нехтувати. При цьому суттєві властивості об´єкта для розв´зування конкретної задачі повинні бути сформульовані так, щоб їх можна було описати математичною мовою у вигляді формул, рівнянь, нерівностей тощо.
Необхідно мати впевненість, що модель коректно описує реальний об´єкт. Таку впев- неність можна одержати тільки в результаті експериментального дослідження моделі. Вибір тієї чи іншої моделі залежить від точності, з якою необхідно досліджувати модельовані процеси чи явища. Для збільшення точності досліджень модель доводиться ускладнювати, враховуючи все нові особливості досліджува- ного об´єкту.
Створюючи математичну модель, необхідно:
-Виділити припущення, на яких буде базуватися мат. модель.
-Визначити вхідні дані та шукані результати.
-Записати математичні співвідношення (формули, рівняння, нерівності тощо), які зв´язують шукані результати з вхідними даними.
Математична модель будується на основі спрощень і ідеалізацій об´єкта. Важливо вміти оцінити точність розв´язку задачі, яку ми здебільшого дістаємо з похибками. Похибки результатів зумовлюються такими причинами:
Математична модель лише наближено відображає реальні явища; вхідні дані –це як правило числа неточні; метод розв´язування задачі є наближеним; -округлення при обчисленнях.
Моделювання-це процес створення та використання моделей для розв´язування задач. Кожна наука при описуванні фактів і явищ користується своєю мовою (для математики-це мова цифр та математичних формул) тому при створенні моделей, як правило, використовують мову, знаки, методи тієї чи іншої науки. В сучасному світі розв´язування складних науко- вих та виробничих задач неможливе без викори стання моделей та моделювання. Серед різних видів моделей важливе місце займають Мат. моделі,тому що вони дозволяють враховувати кількісні та просторові параметри явищ та використовувати точні математичні методи. Матем. моделювання сьогодні є суттєвим фактором в різних сферах людської діяльності- у плануванні, прогнозуванні, управлінні, при проектуванні машин, механізмів та систем.
3) Вибір методу розв´язування формалізованої задачі.
4) Розробка плану розв´язування або алгоритму.
Це етап алгоритмізації і програмування. Для простих задач ці два етапа можуть бути об´єд нані. Цьому сприяють сучасні системи програ мування, які включають текстові редактори, налагоджувачі та інші допоміжні засоби, які полегшують процес уведення, виконання і коригування програм.
Для складних задач потрібен етап проекту вання, який включає формулювання завдання, опис структури даних і основних процесів їх опрацювання, поділ вихідної задачі на окремі підзадачі.
Розробка складних програм здійснюється проектуванням зверху вниз- спочатку визна -чення задачі в загальних рисах, а потім поступове уточнення цілей, структури даних, обмежень, шляхом врахування дрібніших деталей задачі.
Перш ніж розробляти алгоритм, слід обрати метод розв´язання задачі, після чого скориста тися графічною схемою алгоритму або певним псевдокодом, напр. навч. алг. мовою.
5) Добір або складання програми мовою програмування.
Власне програмування певною мовою в певній системі програмування.
6) Тестування та налагодження програми.
Налагодження –процес випробування прог рами і виправлення виявлених помилок. Вияви- ти помилки, пов´язані з порушенням правил запису програми мовою прогр. ( синтаксичні, семантичні помилки) , допомагає система прогр., що використовується. Користувач отри- мує повідомлення про помилку, виправляє її і знову повторює спробу.
Перевірка на комп´ютері правильності алгоритму проводиться за допомогою тестів. Тест- це конкретний варіант значень початко- вих даних, для якого наперед відомий очікуваний результат.
7) Застосування програми до дослідження моделі задачі.
Це використання програми для одержання шуканих результатів. Іноді в процесі експлуа- тації програми виправляються, доопрацьову- ються.
8) Аналіз одержаних результатів.
Переклад розв´язання на мову характеристик об´єктів, про дослідження яких йшлося в початковій постановці задачі. Такий переклад наз. інтерпретацією математичного розв´язку задачі.
Приклад: скільки комп´ютерів необхідно комп. клубу щоб обслуговувати всіх членів клубу без черги?
Побудуємо мат. модель:
1) Визначаємо аргументи
T –час роботи клубу;
t-час роботи одного члена клубу (для всіх однаковий);
n- кількість членів (однакова кожного дня)
2) Визначаємо результати:
k- кількість ПК.
3) Встановлюємо зв´язок між аргументами і результатами.
T/t-кількість членів, які обслуговуються одним ПК.
(T/t)k=n →k=nt/T→k≥nt/T.
Отже, для обслуговування членів клубу необх. мати не менше ніж (nt/T) комп´ютерів.
Поняття математичної моделі. Класифікація математичних моделей.
Математична модель — це наближений опис об'єкта за допомогою математичної символіки. Математична модель — це функціональна залежність між характеристиками досліджуваного об'єкта, виражена у вигляді формули чи алгоритму.
Їх можна систематизувати (класифікувати) за різними ознаками.
Класифікація за галузями наук: математичні моделі у фізиці, біології, соціології і т. п.
Класифікація за математичним апаратом: моделі, засновані на застосуванні звичайних диференціальних рівнянь, диференціальних рівнянь у часткових похідних, стохастичних методів, дискретних алгебраїчних перетворень і т. д. Це — класифікація математика, що займається апаратом математичного моделювання.
Класифікація за метою (цілями) моделювання.
3.1. Дескриптивні моделі (від лат. «descriptivus» — опис) — це моделі для опису різних процесів, об'єктів. Наприклад, закони класичної фізики Ньютона.
3.2. Оптимізаційні моделі. Це моделі для керування об'єктами та прийняття рішень.
Наприклад, змінюючи тепловий режим у зерносховищі, ми можемо підібрати його таким чином, щоб досягнути максимального збереження зерна, тобто оптимізувати процес.
3.3. Багатокритеріальні моделі. Це моделі для розв'язування задач,в яких є не одна, а декілька цільових функцій.
Наприклад, знаючи ціни на продукти і потребу людини в їжі, треба організувати харчування великих груп людей (в армії, будинку відпочинку і т. д.) найкорисніше і найдешевше. Зрозуміло, що такі цілі не співпадають, тобто при моделюванні буде декілька
3.4. Ігрові моделі. Це моделі для опису і дослідження так званих конфліктних ситуацій, в яких різні учасники мають інтереси, що не співпадають.Наприклад, два воєначальники перед боєм в умовах наявності непевної
інформації про супротивника повинні розробити план: в якому порядку вводити в бій ті чи інші частини і т. д., враховуючи і можливу реакцію ворога.
3.5. Імітаційні моделі. Це моделі для дослідження складних систем. Тутпроцес функціонування складної системи подається у вигляді певного алгоритму, який реалізується комп'ютером.
Імітаційні моделі широко використовуються в сучасній фізиці, зокрема, для дослідження термоядерних процесів.
Властивості математичних моделей:
математична модель повинна бути адекватною (відповідною) досліджуваному об'єкту з точки зору тих властивостей (характеристик), які цікавлять дослідника;
математична модель не визначається однозначно досліджуваним об'єктом;
математична модель лише наближено описує досліджуваний об'єкт; для одного і того ж об'єкта можна побудувати різні математичні моделі з різним ступенем наближення;
математична модель універсальна в тому плані, що одну і ту ж математичну модель можна використовувати для досліджень у різних галузях людської діяльності.
Комп’ютерне моделювання. Обчислювальний експеримент.
Найважливішою функцією комп'ютера є моделювання. Комп'ютерне моделювання — це реалізація на машині комп'ютерної моделі. Комп 'ютерна модель досліджуваного об'єкта чи процесу створюється апаратно-програмним способом — подається на екрані відеодисплею за допомгою відповідної програми, заснованої на математичній (інформаційній) моделі.
Є різні комп'ютерні моделі: цифрові, графічні, текстові, змішані.
Процес комп'ютерного моделювання пов'язаний з відтворенням (імітацією) поведінки об'єкта, яка цікавить дослідника.
Комп'ютерна модель дає відповідь на запитання: А що буде, якщо...?
Ще раз підкреслимо, що комп'ютерна модель будується на основі математичної моделі.
Комп'ютерний напрям моделювання в науці отримав назву обчислювального експерименту.
Обчислювальний експеримент — це методологія дослідження, засновані на вивченні математичної (інформаційної) моделі за допомогою логіко-мате матичних алгоритмів на комп'ютері.
Комп'ютерне моделювання (обчислювальний експеримент) має істотні переваги перед натурним експериментом.
По-перше, непотрібно проводити експеримент на реальних фізичних, економічних чи інших об'єктах, тому затрати на різні комп'ютерні експерименти набагато менші, ніж на натурні експерименти. Масштаби експериментів можна вибрати на свій розсуд, при цьому є можливість проведення багатократних дослідів із поступовими змінами вхідних даних задачі.
По-друге, проведення реальних експериментів у деяких галузях науки небезпечне (екологія, ядерна фізика) або неможливе (астрофізика). Тут абсолютно незамінним є обчислювальний експеримент.
По-третє, у процесі побудови математичних моделей для проведення обчислювального експерименту і під час її дослідження можна проаналізувати і зрозуміти характеристики досліджуваного об'єкта.
Проведення обчислювального експерименту здійснюється за такими етапами:
побудова математичної моделі;
обрання методу реалізації математичної моделі та побудова відповідного алгоритму;
запис алгоритму (кодування) однією з мов програмування високого рівня (побудова інформаційної моделі у вузькому розумінні);
тестування програми виявленням та усуненням логічних і синтаксичних помилок;
проведення обчислювального експерименту на комп'ютері за складеною і налагодженою програмою.
25Алгоритмізація. Поняття алгоритму. Властивості алгоритму. Способи опису алгоритмів. Навчальна алгоритмічна мова. Базові структури алгоритмів. Технологія побудови алгоритму “згори до низу” та структурний підхід до розробки алгоритмів. Технологія структурного програмування.
Поняття алгоритму.
Алгоритм – це чітко визначена для конкр.виконавця послідовність дій, які спрямовані на досягн.поставленої мети або розв’яз.задачі певного типу (описове означення, оскільки поняття алг.відноситься до первісних, неозначуваних). Сам термін “алгоритм” утворився в результаті перекладу на європейські мови імені арабського математика Аль-Хорезмі, який описав правила (алгоритми) виконання основних арифметичних операцій в десятковій системі числення.
Пр.алг.: приготування кулінар-ної страви згідно з рецептом, пошук слова у словнику, розв-ня квадр. рівн.
Властивості алгоритму
Власт. алг.:
1.Скінченність. Виконання кожного алг. повинно завершуватись за скінчене число кроків.
2.Результативність. Виконання алг.завжди повинно приводити до певного результату.
3.Формальність. Виконавець відповідно до алгоритму повинен одержати результат, не вникаючи в його суть.
4.Визначеність. Будь-який алг.повинен бути описаний так, щоб при його розшифруванні у виконавця не виникало двозначних вказівок. Тобто різні виконавці згідно з алг. повинні діяти однаково та прийти до одного й того ж результату.
5.Масовість. За допомогою складеного алг. повинен розв’язуватись цілий клас задач.
6.Зрозумілість. В алг.повинні бути лише операції, які знайомі виконавцеві. При цьому виконавцем алгоритму може бути: людина, комп’ютер, робот тощо.
Способи опису алгоритмів.
Способи опису алг.:
1.Словесно-формульний (опис здійснюється в словесній формі з використанням математичних чи інших формул);
2.Графічний (за допомогою блок-схем );
3.З використанням спеціальних алгоритмічних мов (таких як навчальна алгоритмічна мова);
4.У вигляді програм, написаних певною мовою програмування.
Навчальна алгоритмічна мова.
Навчальна алгоритмічна мова
Мета вивч.: показати ідею ручного перекладання алг., записаних н.а.м., на одну з мов програмування.
Близька до природної мови; містить правила опису лише чотирьох вказівок: надання значення, розгалуження, повторення і вказівку про вико-ня алг.; дає можливість перевірити правильність написання алг.людиною; має свої службові слова і описи вказівок.
Базові структури алгоритмів.
При конструюванні викор.такі базові алгор-ні структури:
1.Слідування. Команда с.подається у вигляді послідовності двох (або більше) простих команд, що виконуються одна за одною. Якщо алгоритм можна подати у вигляді послідовності команд, то його називають лінійним алгоритмом.
Пр.: Скласти алг.обч-ня значення виразу y=(Ax+B)(Cx+D).
2
.
Розгалуження
(вибір).
Команда розг. – це вказівка виконати
одну з двох команд: команду
1
або 2
залежно від іст. чи хибності деякого
твердж.Р.
На цьому виконання команди розгалуження
закінчується.
– +
Пр. Скласти алг. розв’яз.квадр. рівн.
3.Повторення(цикл). Розрізняють два типи циклів – поки і до.
Поки
До
+
Порівняняльна характеристика
Поки |
До |
Перевірка умови |
|
до |
після |
К-ть повторень команд в циклі |
|
Може не повтор. жодного разу |
Повтор. хоч один раз |
Умова виходу з циклу |
|
Якщо умова є хибною |
Якщо умова є істинною |
Пр.Скла.алг.обч.суми цілих чисел від 1 до 100.
структурне програмування є технологією програмування, яка об’єднує способи складання добре структурованих надійних програм, зручних для читання і розуміння їх людиною, слідкування за логікою їх роботи, внесення до них виправлень та інших змін. Згідно з думкою Н.Вірта “структурізація є принциповим інструментом, яке допомагає програмісту систематично синтезувати складні програми, зберігаючи про них повне уявлення” [1].
Реалізація цих ідей заснована на таких принципах:
1) аналітичне (згори донизу) програмування;
2) структурне кодування , тобто використання лише базових елементів програми;
3) принцип модульності.
З точки зору структурного програмування, правильна програма – це програма, структура якої включає тільки базові елементи, і жоден з цих базових елементів не є недоступним і не допускає зациклювання. Правильна програма має тільки один вхід і тільки один вихід. В правильній програмі не повинно бути таких частин, які ніколи не виконуються.
Технологія побудови алгоритму “згори до низу” та структурний підхід до розробки алгоритмів.
Метод побудови алг.“зверху вниз”:
На кожному етапі розв’яз.в разі необхідності задачу поділяють на простіші задачі – підзадачі, кожну підзадачу можна поділ.на ще прост. і так доти, поки не будуть одержані такі підзадачі, які легко програмуються. При цьому на кожному кроці побудови алг. розв’яз.задачі якщо треба, уточнюється (покрокова деталізація). Поділ кожної вказівки на простіші здійснюється за допомогою тільки трьох базових алг-их структур: слідування, розгалуження, повторення.
Важливою особливістю цих структур є те, що кожна з них має єдиний вхід і єдиний вихід. При конструюванні алгоритмів вихід кожної базової структури приєднується до входу іншої. При цьому весь алгоритм матиме вигляд лінійної послідовності базових алг-их структур. Така послідовність може складатися з єдиної базової алг-ої структури. В одні базові алгоритмічні структури можуть вкладатися інші. Таким чином, у процесі побудови алгоритмів їх можна розвивати як “у ширину” так і в “глибину”.
Кожний алг. можна подати у вигляді комбінації 3 базових алг-их структур, що є їх основною власт. Викор-ня цього принц. лежить в основі структурного підходу до побудови алгоритмів.
Технологія структурного програмування.
Технологія структурного програмування:
У процесі низхідного поділу задачі на підзадачі зберігається строга дисципліна програмування, оскільки поділ на підзадачі здійснюється з використанням лише розглянутих типів структур, чим і забезпечується добре структурована програма, яку можна читати зверху донизу без перерви.
26.Програмування. Основні методології (стилі, парадигми) програмування. Поняття програми. Класифікація мов програмування. Системи програмування, основні функції і компоненти. Інтегровані середовища програмування. Поняття про інтерпретацію та компіляцію. Поняття редактора, транслятора, налагоджувача.
Структурна методологія і об’єктно-орієнтована методологія розробки програм.
За означенням визнаного автора в галузі об’єктно-орієнтованих методів розробки програм Граді Буча “О’єктно-орієнтоване програмування (ООП) – це методологія програмування, яка заснована на представленні програми у вигляді сукупності об’єктів, кожен з яких являється реалізацією певного класу (типу особливого виду), а класи утворюють ієрархію на принципах слідування.”
Об’єктно-орієнтована методологія (ОО-методологія) так само, як і структурна методологія, була створена з метою дисциплінувати процес розробки великих програмних комплексів і тим самим знизити їх складність та вартість.
ОО-методологія переслідує ті ж цілі, що й структурна (забезпечувати дисциплінованість програми, покращити читабельність, підвищувати ефективність та надійність, зменшувати час і вартість програмної розробки), але вирішує їх з іншої відправної точки і в більшості випадків дозволяє керувати більш складними проектами, ніж структурна методологія.
І структурна, і ОО-методологія переслідують мету побудови ієрархічного дерева взаємозв’язків між об’єктами (підзадачами). Але якщо структурна ієрархія будується по простому принципу розподілу цілого на складові частини,
то при створенні об’єктно-орієнтованої ієрархії (ОО-ієрархії) приймається інший погляд на той же вихідний об’єкт і в ієрархії обов’язково відображається наслідування властивостей батьківських (вище лежачих) типів об’єктів дочірніми (нижче лежачими) типами об’єктів.
Поняття програми. Класифікації мов програмування. Системи програмування, основні функції і компоненти. Інтегровані середовища програмування.
Алгоритмічні мови, які призначені для побудови описів алгоритмів, що орієнтовані на їх виконання комп’ютером, називають мовами програмування. Описи алгоритмів мовою програмування називають програмами.
Існуючі мови програмування можна поділити на дві групи: мови низького рівня і мови високого рівня. Мова найнижчого рівня – це мова машинного кодування. Машинна мова – набір двійкових кодів для роботи центрального процесора конкретного типу. Працювати з такою мовою важко через велику кількість команд у двійковій формі і різноманітність процесорів. Машинні коди були основним засобом програмування від моменту створення комп’ютерів. Трохи вище лежить мова Ассемблера (від англ. складати, компонувати). У мові ассемблера використовуються символьні позначення вказівок, які легко зрозуміти і запам’ятати. Замість послідовностей двійкових кодів вказівок записують їх символьні позначення, а замість двійкових адрес даних, які використовуються під час виконання вказівки – символьні імена цих даних, які добирає програміст. Іноді мову ассемблера називають мнемокодом, або автокодом. Всі інші мови програмування є більш високого рівня, ніж мова Ассемблера. Мова програмування високого рівня (МВР) – мова, що складається з операторів, схожих на звичайні слова. Програми такими мовами дозволяють формулювати завдання для комп’ютера в звичайних для людини категоріях. МВР зробили використання комп’ютерів доступним широкому колу людей, які не фахівцями в галузі програмування. Мови програмування високого рівня поділяються на процедурні (детальний опис розв’язування задачі, тобто точно вказує дії щодо реалізації алгоритму шляхом переліку необхідних процедур) і непроцедурні (використання об’єктів і декларацій). Процедурні мови, у свою чергу поділяються на операціональні (Fortran, Basic, C) і структурні (Pascal, Модула). Серед непроцедурних виділяють об’єктні мови (C++, Delphi, Visual Basic) і декларативні (мови логічного програмування – Prolog, SmallTalk; мови функціонального програмування – Lisp). Програма, написана декларативною мовою, являє собою опис моделі предметної галузі засобами математичної логіки (логічне програмування) або ієрархії функцій (функціональне програмування). На відміну від процедурних мов програма декларативною мовою описує не способи (алгоритми) розв’язання задач, а логічний або функціональний взаємозв’язок понять предметної галузі, яка являє собою базу знань програми. Робота з програмою декларативною мовою полягає у задаванні програмі запитів, відповіді на які формулюються програмою на підставі її бази знань.
Середовище програмування запускається на виконання, як і звичайна програма. Після його завантаження екран поділяється на три частини: головне меню, робоче (основне вікно), рядок з описом призначення основних функціональних клавіш.
Поняття про інтерпретацію та компiляцiю. Інтегровані середовища програмування. Поняття редактора, транслятора, налагоджувача.
Для того, щоб комп’ютер міг виконувати програму, її потрібно перекласти на машинну мову. Для цього використовують спеціальні програми-транслятори. Транслятор – це програма, призначена для перекладу тексту програми з однієї мови програмування на іншу. Процес перекладання називається трансляцією. Розрізняють два типи трансляторів – компілятори та інтерпретатори. Компілятор – це програма, що призначена для перекладу та наступного запам’ятовування повністю всієї програми, яка написана деякою мовою, у програму в машинних кодах. Процес такого перекладання називається компіляцією. Компілятор створює програму в машинних кодах, яка потім виконується. Скомпільований варіант програми можна зберігати на дискові. Для повторного виконання програми компілятор вже не потрібен. Досить завантажити з диска в пам’ять комп’ютера скомпільований раніше варіант і виконати його. Існує інший спосіб поєднання процесів трансляції та виконання програми. Він називається інтерпретацією. Інтерпретатор – це програма, яка призначена для повказівкових трансляцій та виконання вихідної програми. Такий процес називається інтерпретацією.
У процесі трансляції відбувається перевірка опису програми на відповідність до правил використовуваної для її описування мови. Якщо в програмі знайдено помилки, транслятор виводить повідомлення про них на пристрій виведення (як правило, на екран дисплея). Інтерпретатор повідомляє про знайдені помилки після трансляції кожної вказівки програми. Це значною мірою полегшує процес пошуку та виправлення помилок, але суттєво збільшує час трансляції. Компілятор транслює програму набагато швидше, ніж інтерпретатор, але повідомляє про знайдені помилки лише після завершення компіляції всієї програми. Знайти та виправити помилки в цьому випадку важче. Через це інтерпретатори розраховані, в основному, на мови, що призначені для навчання програмування. Більшість сучасних мов програмування призначені для розробки складних пакетів програм і розраховані на компіляцію.
Як правило, програми компілятори і інтерпретатори називаються так само, як і мови, для перекладу з яких вони призначені. Слова Бейсік, Паскаль, Ада, Сі можна сприймати і як назви мов, і як назви відповідних програм-трансляторів.
Інтегроване середовище програмування – це система програмування, що поєднує редактор для зручного введення і редагування програми, транслятор і налагоджувач помилок.
27. Процедурні мови програмування. Характеристика процедурних мов програмування. Алфавіт. Основні поняття мови: числа, рядки, ідентифікатори, описи, оператори. Структура програми. Основні розділи програми і правила їх опису
Характеристика процедурних мов програмування. Алфавіт. Основні поняття мови: оператори, ідентифікатори, числа, рядки, описи.
Програма, написана процедурною мовою, описує спосіб (алгоритм) розв’язування задачі, тобто точно вказує дії щодо реалізації алгоритму шляхом переліку необхідних процедур.
Кожна мова програмування має свій алфавіт, фіксований словник, синтаксис і семантику. Для описування алгоритму такою мовою використовується певний набір символів – алфавіт мови. Алфавіт складається зазвичай з літер латинської абетки, цифр, спеціальних символів (дужки, роздільники), знаків логічних операцій (not, and, or та ін.), знаків операцій порівняння (=, <, > та ін.). З цих символів складаються і так звані ключові слова мови. Кожне з ключових слів має певне призначення. Ключові слова зв’язуються одне з одним за певними синтаксичними правилами мови. Кожне речення визначає певну послідовність дій, які повинен виконати комп’ютер. Словник мови програмування складається з кінцевого фіксованого набору ключових слів, наприклад, integer, while, var тощо. Сукупність правил побудови описів програм деякою мовою програмування називають синтаксисом мови програмування. Правила семантики пояснюють, яке смислове значення має опис кожної з вказівок програми і які дії повинен виконати комп’ютер під час виконання кожної з таких вказівок. У будь-якій мові програмування можна виділити чотири типи елементів, що використовуються при побудові описів програм: символи, слова, виразі і вказівки (оператори). Символи мови – це основні неподільні знаки, за допомогою яких описують програми і дані. Слова мови – структури, утворені із символів і які є мінімальними одиницями, що мають деякий смисл. Слова – це імена (позначення, ідентифікатори) змінних величин, числа, службові слова, які використовуються в описах вказівок. Правила запису ідентифікаторів: 1) Усі ідентифікатори складаються з літер латинської абетки, цифр, починаються з літери або знака підкреслення "_"; 2) Великі і малі літери на розрізняються; 3) Ідентифікатори можуть мати різну довжину, але використовуються тільки перші 63 символи. Вираз – це текст, який задає правило обчислення одного значення того чи іншого типу. Якщо одержуване значення числове, о вираз називають арифметичним. Якщо одержуване значення логічне, то вираз називають логічним, чи булівським. Якщо одержуване значення – текст, то вираз називають літерним. Вказівка – це вказівка про виконання певної дії. У мовах програмування застосовуються вказівки трьох типів: 1) вказівки про безумовне виконання деякої дії чи набору дій: надання значень, уведення, виведення, виконання алгоритму; 2) Вказівки розгалуження; 3) Вказівки повторення.
Основні поняття мови: числа, рядки, ідентифікатори, описи, оператори.
Операнди - це спеціальні символи або послідовності символів, які виконують над даними певні операції (математичні, логічні і т.д.). Прикладом операндів можуть бути операнди математичних операцій: “+” - додавання даних), “-” - віднімання даних, “*” -множення даних, “/” - ділення даних, “=” - рівність даних і т.д.
Оператори - це деякі неподільні елементи програми, що дозволяють виконувати певні алгоритмічні дії у програмі, тобто виконувати в програмі певні команди. фактично, оператор - це окрема команда в алгоритмі програми, тобто окремий крок виконання програми.
В Turbo Pascal оператори поділяються на прості та структурні. До простих операторів відносяться:
- оператор присвоєння (:=);
- оператор безумовного переходу (goto);
- оператор звертання до процедури (функції).
Структурними операторами називаються такі, що складаються з інших операторів. До них відносяться:
- складний оператор - представляє собою набір операторів, що поміщені в операторні дужки (begin - end);
- умовний оператор (if);
- оператор вибору (case);
- оператори циклу (repeat, while, for);
оператор приєднання (with).
Структура програми. Основні розділи програми і правила їх опису
Структура опису програми мовою Паскаль.
1. Заголовок програми: Службове слово program та ім’я програми
program <ім’я програми>
2. Розділ описів: описуються всі ідентифікатори об’єктів, що використовуються в даній програмі. Описати ідентифікатор – значить указати його ім’я і тип
uses <опис модулів>;
label <мітки>;
const <оголошення констант>;
type <визначення типів даних>;
var <оголошення змінних>;
<опис процедур і функцій>
3. Розділ операторів (тіло програми): зазначається послідовність дій, які необхідно виконати над описаними об’єктами. Починається службовим словом begin, закінчується – end.
begin
оператор 1;
оператор 2;
.............
оператор n;
end.
Поняття |
Опис |
Приклад |
Алфавіт мови |
Літери латинського алфавіту, цифри, спеціальні символи, зарезервовані слова. |
A...Z, a...z, 0...9,
+ - * / = < >[ ]{ }$ ^ & # |
Ідентифікатори |
Імена об'єктів (констант, типів даних, змінних, функцій, програм). Правила запису ідентифікаторів:
· всі ідентифікатори складаються з літер латинського алфавіту, цифр, починаються з літери або знака,«_»;
· Великі і малі літери не розрізняються. |
А, В
begin
Write
Test
My_First_Program |
Елементи даних |
Константа - комірка пам'яті, значення якої протягом виконання програми залишається постійним. Змінна - комірка пам'яті, значення якої протягом виконання програми може змінюватися. |
45,
a, b, c Pi |
Коментар |
Призначений для внесення до тексту програми пояснень. Обмежується символами { } або (* *) |
|