ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Моделювання. Класифікація моделей.

Модель - це спрощене уявлення про реальний об'єкт, процес чи явище

Головне призначення моделі - продемонструвати лише суттєві властивості об'єктів, процесів і явищ

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

З давніх часів людина використовує моделювання для дослідження об'єктів та явищ в різних галузях діяльності. Результати цих досліджень допомагають визначити та покращити характеристики реальних об'єктів та процесів, краще зрозуміти сутність явищ та пристосуватися до них або керувати ними, конструювати нові та модернізувати старі об'єкти. Моделювання допомагає людині приймати обґрунтовані рішення та передбачати наслідки своєї діяльності. Комп'ютерне моделювання — це використання в цьому процесі комп'ютера як потужного сучасного засобу обробки інформації. Завдяки комп'ютеру суттєво розширюються галузі застосування моделювання, а також забезпечується всебічний аналіз отриманих результатів. Що ж таке модель? Моделлю можна назвати і матеріальні макети реально існуючих об'єктів, і нематеріальні об'єкти (наприклад такі, як теорія розвитку суспільства або всім відома формула земного тяжіння Р = mgh), багато чого іншого. Як же в одному слові можна об'єднати такі різні поняття?

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

Може виникнути запитання, чому не можна дослідити сам об'єкт, навіщо створювати моделі? Для цього може існувати багато причин:

· оригінала на момент дослідження може не існувати (наприклад, у гіпотезах про загиблий материк Атлантида або про побудову Єгипетських пірамід, або про можливу «ядерну зиму», яка може початися після атомногобомбардування);

· реально цей об'єкт не можна побачити цілком (наприклад, земну кулю, усю сонячну систему або атом);

· дослідник хоче побачити об'єкт, але не має можливості потрапити намісце його знаходження (наприклад: Ейфелева вежа, єгипетські піраміди,Софіївський собор тощо);

· процес, який досліджується, небезпечний для життя (наприклад,ядерна реакція).

Таких прикладів можна навести багато. І ви також можете згадати багато моделей, що бачили у своєму житті.

Розглянемо найсуттєвіші ознаки, за якими класифікуються моделі:

· галузі використання;

· урахування в моделі фактора часу;

· спосіб представлення моделей.

Розглядаючи моделі за ознакою галузі використання,можна сказати, що вони бувають:

· навчальні—наочні посібники, тренажери, навчальні програми;

· дослідні— створюються для дослідження характеристик реального об'єкта (наприклад, модель теплоходу перевіряється на плавучість, а модель літака—на аеродинамічні характеристики);

· науково-технічні—для дослідження процесів та явищ (наприклад, ядерний реактор або синхрофазотрон);

· ігрові моделі— для вивчення можливої поведінки об'єкта в запрограмованих або непередбачених ситуаціях (наприклад: військові, економічні, спортивні ігри тощо);

· імітаційні моделі—виконується імітація дійсної ситуації, що багато повторюється для вивчення реальних обставин (наприклад: випробування лікарських препаратів на мишах або інших тваринах, політ собаки в космос).

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

За способом представленнямоделі можуть бути матеріальні та інформаційні.

Матеріальні моделі— це предметне відображення об'єкта зі збереженням геометричних та фізичних властивостей (наприклад: іграшки,

чучела тварин, географічні карти, глобус і таке інше). Це матеріальні моделі реально існуючих об'єктів. Матеріальною моделлю можна також вважати хімічний або фізичний дослід. Ці моделі реалізують матеріальний підхід до вивчення об'єкта чи явища.

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

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

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

 

Алгоритми.

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

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

В цьому визначенні використовується поняття «виконавець». Що це означає? Під виконавцем алгоритму ми розуміємо будь-яку істоту (живу чи неживу), яка спроможна виконати алгоритм. Все залежить від того, якої мети ми намагаємося досягнути. Наприклад: риття ями (виконавці— людина або екскаватор), покупка деяких товарів (один з членів родини), розв'язування математичної задачі тощо.

Поняття алгоритму в інформатиці є фундаментальним, тобто таким, яке не визначається через інші ще більш прості поняття (для порівняння: у фізиці — поняття простору і часу, в математиці—точка і т.д.).

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

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

Наприклад: мама доручила купити в магазині продукти. Виконавцем цього алгоритму може бути хтось із родини: батько, син, бабуся, донька. Ясно, що для тата достатньо сказати, які купити продукти, а далі деталізувати алгоритм не потрібно. Сину-підлітку необхідно детальніше пояснити в яких магазинах можна придбати потрібний товар, що можна купити замість відсутнього товару і таке інше.

Маленькій доньці алгоритм необхідно деталізувати ще більше: де взяти сумку, щоб принести товар, яку решту грошей необхідно принести з магазину, як дійти до магазину і як там себе поводити.

2. Визначеність (однозначність).Зрозумілий алгоритм не повиненмістити вказівок, зміст яких може сприйматися неоднозначно. Наприклад,«почисти картоплю», «посоли за смаком», «прибери в квартирі» тощо єнеоднозначними, тому що в різних випадках можуть привести до різнихрезультатів. Окрім того, в алгоритмах неприпустимі такі ситуації, колипісля виконання чергового розпорядження алгоритму виконавцю не ясно,що потрібно робити потім. Наприклад, вас послали за якимось товаром умагазин, та ще й попередили: «без хліба (цукру тощо) не повертайся». Ащо робити, коли цей товар відсутній?

Визначеність — це властивість алгоритму, яка полягає в тому, що алгоритм має бути однозначно витлумачений і на кожному кроці виконавець повинен знати, що йому робити далі.

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

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

5. Результативність.Виконання будь-якого алгоритму повиннозавершуватися одержанням кінцевих результатів. Тобто ситуації, колиможуть виникнути так звані «зациклення», повинні бути виключені щепри написанні алгоритму. Наприклад, розглянемо таку ситуацію: роботудано вказівку залишити кімнату (замкнутий простір), не виконуючируйнівних дій. У цьому випадку, якщо йому не дати команди «відкритидвері» (які, можливо, закриті), то спроби робота залишити кімнату будутьбезуспішними.

Яким чином можна подати алгоритм виконавцю. Існує кілька методів запису алгоритмів. Вибір методу залежить від виконавця та того, хто подає алгоритм.

Першій спосіб—це словесний опис алгоритму. Сьогодні на уроці ми вже розібрали кілька алгоритмів і всі вони подавалися виконавцю за допомогою словесного опису.

Другий спосіб— це подача алгоритму у вигляді таблиць, формул, схем, малюнків тощо. Наприклад, коли вас навчають правил поведінки на дорозі, то найкраще така інформація сприймається тоді, коли вона подана у вигляді схематичних малюнків. Дивлячись на них, людина відпрацьовує ту лінію поведінки, яка їй пропонується. Аналогічно можна навести приклади алгоритмів, записаних у вигляді умовних позначок на упаковці товару щодо його використання (наприклад, заварювання чаю, кави тощо). В математиці за допомогою формул можна розв'язати задачу, навіть не використовуючи слів.

Третій спосіб— запис алгоритмів за допомогою блок-схеми. Цей метод був запропонований в інформатиці для наочності представлення алгоритму за допомогою набору спеціальних блоків.

Основні з цих блоків такі:

Четвертий спосіб — навчальні алгоритмічні мови (псевдокоди). Ці мови мають чітко визначений синтаксис і максимально наближені до машинної мови (мови програмування). Але створені вони з навчальною метою, тому мають зрозумілий для людей вигляд. Таких псевдокодів зараз існує велика кількість, починаючи з графічних середовищ «Алгоритміка», «Роботландія», «Лого-світи», «Черепашка» тощо і закінчуючи текстовими «національними» реалізаціями алгоритмічних мов, подібних Паскалю. Ці псевдокоди мають програмну реалізацію і дуже широко застосовуються на етапі навчання основам програмування.

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

Запис програм.

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

Мова програмування - система позначень, за допомогою яких можна точно описати алгоритм для виконання його комп’ютером.

Машинні коди - набір двійкових кодів для роботи центрального процесора конкретного типу.

Розрізняють такі типи програм:

· текст програми, написаний мовою програмування і призначений для компіляції чи інтерпретації;

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

· машинна програма (виконуваний модуль), яка збирається із об'єктних модулів і може бути завантажена в оперативну пам'ять для виконання;

· мікропрограми, які вбудовані в пристрої (мікропрограмне керування пристроєм).

 

Першим програмістам доводилося писати команди в «машинних кодах», тобто так, як сприймає їх машина. Наприклад, додавання двох чисел виглядало так: 15 0127 2677 3656. Число 15 -це код операції, яка означає «додати два деяких числа і суму записати в пам'ять». Числа 0127, 2677 і 3656 - це номери комірок пам'яті, в яких зберігаються числа. Зміст команди такий: додати число, яке записане в комірці номер 0127, з числом, записаним в комірці з номером 2677, а результат розташувати в комірку з номером 3656.

Пізніше, щоб полегшити процес запису програм, створили систему умовних позначень (мову програмування) для запису команд і внутрішню програму, яка вже сама «перекладала» команди в машинні коди. Тепер приклад додавання двох чисел виглядає так: с = а + b. Перед виконанням команди машина кожній змінній вкаже номер комірки, де знаходяться дані. Знак «=» означає записати (або присвоїти).

Аналогічно записуються більш складні операції, які повинен виконати комп'ютер. Наприклад, перевірку умови аі > т можна записати англійською: if a[i]>m then m=а[і].

Такий підхід вимагає існування:

• чіткої системи умовних позначень для запису команд зрозумілою людині мовою (мова програмування);

• програми-посередника, яка перекладатиме команди мовою, зрозумілою машині.

Команди, записані мовою програмування називають операторами або вказівками. Послідовність таких команд називають текстом програми. Текст програми записують в текстовому файлі.

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

Всі існуючи мови програмування можна поділити на дві групи:

¨ мови низького рівня;

¨ мови високого рівня.

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

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

Програми-посередники

Програма-компілятор (сотріlе - компонувати, збирати) перетворює текст програми на машинні коди і записує його на диск у вигляді виконуваного файлу. Після цього програма виконується незалежно від тексту програми, записаного в текстовому редакторі. Програми-компілятори ще називають трансляторами (перекладачами).

Програма-інтерпретатор завжди працює спільно з первинним текстом програми. Вона інтерпретує (тлумачить) кожну вказівку програми і відразу її виконує (тобто файл на машинній мові не створюється).

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


© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти