22946

Інформатика як наукова дисципліна

Лекция

Информатика, кибернетика и программирование

Створення такого підгрунтя є актуальною задачею сучасної інформатики та програмології =теорії програмування Редько В. Тоді очевидно булевий тип Bool мов програмування з відповідними логічними операціями і відношенням є її точною ізоморфною моделлю I відносно функцій кодування 0=false 1=true та декодування = обернена функція до . Модель I використовується в компіляторах для реалізації множинних типів мов програмування високого рівня. Програми та програмування.

Русский

2013-08-04

347 KB

3 чел.

ЛЕКЦІЯ 1:  Вступ. Інформатика  як наукова дисципліна.  

1. Предмет інформатики. Процес самовизначення інформатики як наукової дисципліни проходить  досить суперечливо – від балансування його  між двома полюсами - "інженерним" та "математичним" аж до спроб взагалі категоричного заперечення існування інформатики як наукової дисципліни.  Кожне з цих явищ  має   своє  підгрунття. Так, інженерний підхід розглядає  інформатику як науку про комп’ютерні системи (див., наприклад,  [1]). Цей погляд  домінував в період становлення інформатики, коли проектувались та створювались перші комп’ютерні системи.  Сьогодні він охоплює  комплекс технологічних проблем, пов’язаних з проектуванням, розробкою та експулуатацією комп’ютерних систем. “Математичний” підхід виступив на передній план, коли  розпочалося тотальне проникнення інформаційних технологій в yci сфери життя суспільства, і постала  проблема різкого підвищення продуктивності праці у галузі продукування інформаційних технологій, підвищення надійності та суттєвого зниження їх вартості. Фактично мова вже іде про запровадження індустріальних методів не тільки  в масове виробництво  комп’ютерів,  а й і у виробництво програмного забезпечення для них. Подібне виробництво з його всебічною автоматизацією     вимагає грунтовного наукового забезпечення. Сьогодні інформатику обслуговує цілий ряд  розділів математики та математичної логіки, але сама  вона  тільки  на шляху до вироблення свого власного загального математичного підгрунтя. Створення такого підгрунтя  є актуальною задачею сучасної інформатики та  програмології (=теорії  програмування) ( Редько В.Н. Основания  программологии // Кибернетика и системный аналіз.-2000.-№ 1.-с.33-57.)  

То що ж є предметом вивчення інформатики? Єдиної думки що до цього серед спеціалістів поки що не має. Якщо взяти сам термін “інформатика”, то на теренах бувшого СРСР ним називали спеціальну наукову дисципліну, що вивчає структуру i загальні властивості наукової інформації, а також закономірності всіх процесів наукової комунікації -  від неформальних процесів обміну такою інформацією до  формальних процесів обміну за допомогою наукової літератури, а сьогоднішня  її проблематика відносилась до кібернетики як науки про керування  в складних  системах. Перший академік-інформатик в АН СРСР  А.П.Єршов вбачав у терміні інформатика “назву фундаментальної природничої науки, яка вивчає процеси передачі та обробки інформації”(Ершов А.П. О предмете информатики // Вестн. АН СССР. 19984. № 2). Французькі спеціалісти Б.Майер та К.Бодуен в своїй монографії “Методы программирования” (рос. переклад. -М.:Мир, 1982.) наводять два варіанти означення інформатики. Перший  -  як “Computer Science” (= комп’ютерна наука) та другий - як “тeopiї обробки інформації”. Відомі німецькі вчені Ф.Л.Бауер та Г.Гооз Бауэр в своєму  підручнику з інформатики  (рос. переклад: “Информатика” Т.1-2, -М.:Мир, 1990) посилаються на означення Французької академії:  “Інформатика: Наука про здійснювану головним чином за допомогою автоматичних засобів цілеспрямовану обробку інформації,  яка розглядається як подання знань та повідомлень в технічних,  економічних   та соціальних областях”. В багатьох  джерелах   основні напрями інформатики пов’язуються з розробкою спеціальних комп’ютерних методів розв’язання складних дослідницьких i практичних задач.  Таке різноманіття у визначеннях предмету інформатики призводить до того,  що в деяких підручниках з інформатики взагалі  уникають означення її предмета, щоб не породжувати нові проблеми. Все це актуалізує проблему самоідентифікації інформатики як наукової дисципліни. Спробуємо запропонувати для обговорення ще один –об’єднавчий підхід для відповіді  на поставлене запитання. А саме  - модельний. Будемо виходити з того, що всяка точна наука має справу з певними моделями природних чи суспільних явищ. Так,  математика вивчає математичні моделі абстрактних систем, фізика - фізичні моделі природних явищ, прикладна соціологія – соціологічні моделі і т.д. Звідси      цілком природньо виглядає  питання, а  які ж моделі цікавлять  інформатику? Оскільки всі визначення інформатики так чи інакше апелюють до обробки інформації, систем обробки інформації (= інформаційних систем) і  т.п., то одним з  варіантів відповіді на поставлене  питання може бути  наступним.

Def.  Інформатика – це наука, що вивчає   моделi інформаційних систем   на всіх етапах їх життєвого циклу.

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

Згадані в означенні інформатики моделі логічно  було б  назвати інформаційними. Найважливішими видовими  властивостями інформаційних  моделей є їх конструктивність, тобто конструктивність всіх їх елементів (об’єктів та  функцій). Таке обмеження ми вважаємо принциповим, оскільки воно  дозволяє чітко зафіксувати   границі інформатики і вберегти її предмет від  надмірного узагальнення та ототожнення з предметами інших  наук. Насамперед з кібернетикою як  наукою про загальні закони перетворення інформації в складних системах керування, та  інформологією –  “узагальнюючою наукою про інформацію в цілому, про всі її прояви  та властивості, про всі види інформаційних процесів” (Готт В.С., Семенюк Э.П., Урсул А.Д. Методологические проблемы информатики .- В кн.: Закономерности  развития современной математики, М.: Наука, 1987.-334 с. )

2. Інформаційні системи та  моделі.    Зупинимося тепер більш докладно на поняттях  інформаційної системи та  моделі. Насамперед зауважимо, що методологічно інформаційної системи ми будемо розглядати майже на граничнму рівні абстракції – в межах  традиційної теоретико-множинної семантики “чорного ящика”,  свідомо уникаючи розглядання більш складних, генетично обумовлюваних структур. Інформаційні системи ми будемо трактувати як довільну  множину  інформаційних об’єктів та певну скінчену сукупність співвідношень між ними. Інформаційні об’єкти  мають структуру упорядкованої пари  ,  де v – ім'я об'єкту з певної сукупностi імен V, а а - його значення  з певної сукупності значень  А. Так,  слово 1000   в числовій  двійковій системі  іменує число  8  натурального ряду.  Отже, маємо  справу з  інформаційним об’єктом   . 

Коли говорять, що інформаційна система моделює певну систему об’єктів  (вхідну   систему), то під цим розуміють, що її об’єкти та  відношення копіюють, імітують  об’єкти та відношення вхідної системи. Нехай  S - довільна система з множиною об’єктів  (носій системи) та   сукупністю   довільних бінарних відношень  на . Враховуючи, що будь-яке відношення  може трактуватись  як графік певної часткової багатозначної функції вигляду , домовимося у подальшому не розрізнювати там, де це можливо, подібні    відношення та відповідні їм багатозначні функції. Це дозволить нам, зокрема, користуватись при нагоді звичною  функціональною символікою. Так, якщо   для деяких   та , що читається як “ знаходиться у відношенні  з ”, то поряд з традиційним позначенням  цього  факту - , будемо допускати  і  запис . Більше того, в залежності від контексту,  записом   будемо користуватись не тільки для позначення  якогось з конкретних  значень  функції  на , а й для позначення сукупності всіх таких значень,  тобто всього  образу аргументу  при відображенні . Наприклад, для двозначної функції  запис  може означати в залежності від контексту як арифметичне його значення (2),  так  і –2, а також і  сукупність всіх коренів .  Нехай I- інша система об’єктів з носієм  та  сукупністю   бінарних відношень  на . Виберемо певні ін’єктивні функції  та  і назвемо їх відповідно функціями кодування  та декодування множини .

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

Графічно взаємозв’язок між вхідною системою  та її моделлю    проілюстровано на  Мал. 1:

                 

          

Мал.1

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

Розглянемо кілька прикладів моделей систем. При цьому n-арні операції та предикати будемо трактувати як часткові унарні функції, визначені на n-ках відповідних елементів. Якщо взяти, наприклад,  бінарну операцію додавання натуральних чисел “ +” : NNN. То  вона є  частковою унарною функцією  “+”: NNN з областю визначення - NN  та областю значень N  і  такою, що   . Кодування n-к  елементів, якщо не обумовлено щось інше, буде  зводитись  до засобу кодування  їх компонентів. Тобто, в цих випадках кодом n-ки  елементів буде виступати просто  n-ка кодів її компонентів. Розглянемо кілька прикладів.

1. Нехай  S- 2-х елементна  булева алгебра з логічними операціями відповідно  диз’юнції, кон’юнкції, заперечення, відношенням «менше», з найменшим - 0 та найбільшим - 1 елементами. Тоді, очевидно,  булевий тип  Bool мов програмування з відповідними логічними операціями   і відношенням   є її точною (ізоморфною) моделлю I відносно функцій кодування  ((0)=false,    (1)=true)  та декодування =, - обернена функція до  .

2. Десяткова S та двійкова I арифметики цілих чисел є еквівалентними відносно функцій кодування та декодування, що переводять десяткові числа в рівні їм  двійкові і навпаки.

Наприклад,  розглянемо    дію   10 + 7  в  системі   S.

                                         10 + 7 =17                                   (1),  def   Z

                                                                (2),  перехід до  Z

                                    =                                    def   

                                     =                                            def   Z 

                                     =17                                                         def  .

Як бачимо, (1)=(2). Це показує,  що відповідні обчислення в системі S та в її моделі  I  узгоджені вірно.

3. Розглянемо систему Sдодатніх дійсних чисел з операцією множення та систему Iвсіх дійсних чисел з операцією додавання. Вони є ізоморфними відносно функції кодування   та функції декодування  .  Дійсно, досить згадати тотожність:   та пропотенціювати її.

4. Нехай S   система точок 3-х вимірного цілочислового простору  з операціями по координатного додавання та віднімання точок, I- підсистема  додатніх раціональних чисел зі звичайними  операціями множення та ділення, де  . Нескладно перевірити, що ці системи є ізоморфними відносно функцій кодування  та декодування  .  При цьому додавання моделюється операцією множення, а віднімання – операцією ділення.

Наприклад,  розглянемо  дію  в системі S. Тоді

                                                (1)     def  S

                                            (2)    перехід до I

                 =()                 def  

                 =                                           def

                 =                                                           def   

Отже, (1) = (2).  Це показує,  що відповідні обчислення в системі S та в її моделі   I  узгоджені вірно. Зауважимо, що модель Iна практиці може бути не ефективною, тому що потребує “надвеликих” цілих чисел.

5. Розглянемо алгебру S всіх підмножин певної скінченої множини ,, зі звичайними множинними  операціями об’єднанням, перетином, доповненням, порожньою множиною та предикатом включенням  і систему двійкових векторів довжини  I з по координатними операціями диз’юнції, кон’юнкції та заперечення, нулевим  вектором та з бінарним предикатом, який повертає значення за правилом: . Зафіксуємо певний лінійний порядок елементів в і визначимо функції кодування  та  декодування наступним чином. Для  покладемо , де   і  .   Системи I та S є  ізоморфними. Модель I використовується  в компіляторах для реалізації множинних типів мов програмування високого рівня.

Конструктивність об’єктів та функцій інформаційної моделі означає, що вони можуть бути побудовані за скінченну кількість кроків зі своїх складових за допомогою спеціальних операцій - конструкторів. Сукупність   атомних елементів та конструкторів, що дозволяють побудувати за скінченну кількість кроків всі  об’єкти даної інформаційної моделі будемо називати системою її подання, а  елементи останньої - конструктивними. Кожен з них є або атомним,  або -  складеним, побудованим з атомних елементів за допомогою  застосувань певної скінченої кількості  конструкторів. Конструктивними є будь-які індуктивно визначені об’єкти  (натуральні та раціональні  числа, слова в певному алфавіті, скінченні множини та графи,  дерева, рекурсивні функції   i т.д.). Важливим наслідком конструктивності  об’єктів  є той факт, що всі вони можуть бути подані у вигляді певних слів - термів, що відповідають процесам їх побудови. Конструктивність об’єктів залежить від вибору системи їх подання. Так,  дійсна складна функція  отримана в результаті підстановки в операцію “” функцій  та  на місце  відповідних аргументів і як об’єкт є конструктивною відносно своїх складових - операцій , ,функцій , та конструктора - операції підстановки. Але вона  є  неконструктивним об’єктом , наприклад, в сенсі  Тези Черча. завдяки своїй континуальній природі. Більш  детально   про конструктивні об’єкти  та функції  мова буде йти далі.

3. Програми та програмування. Для опису (специфікації) інформаційних моделей використовують  спеціальні знакові системи - мови програмування.

Def. Мова програмування - це спеціальна знакова  система, призначена для  опису інформаційних об’єктів та  алгоритмів.

Def.  Данними мов програмування  називаються конструкції, які подають інформаційні об’єкти, а програмами – конструкції,  що  подають алгоритми. Функції, що обчислюються програмами,   називаються програмними.

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

Def.  Програмуванням називається процес побудови та підтримки життєвого циклу   інформаційних моделей систем.

Отже,  програмування - це не просто процес написання якоїсь окремої програми чи тієї чи іншої  сукупності програм засобами певної мови програмування, а цілеспрямований процес побудови  інформаційних  систем, що моделюють об’єкти та співвідношення вхідної системи  та подальша підтримка їх життєздатності. Зауважимо, що в епіцентрі уваги  інформатики знаходяться проблеми побудови не просто інформаційних моделей, а інформаційних моделей у вигляді, так званих, обчислювальних систем (ОбС). ОбС – це симбіоз автоматів з програмним керуванням ( наприклад, комп’ютерів) та програмного забезпечення (ПЗ) – системного та прикладного. На загальному рівні автомат з програмним керуванням (АПК)  складається з процесора, памяті та пристроїв вводу/виводу. Функціонування АПК зводиться до автоматичного виконання процесором  машинних команд  програм, що зберігаються в його памяті. Перший проект механічного універсального АПК розробив Ч.Беббідж (1791-1881) в 1830-1846 рр. Але через свою громіздкість  реалізувати його не вдалося. Тільки зубчатих коліс для цього потрібно було більше 50000, а  приводити їх в дію за проектом мала б… парова машина.  Електронно  обчислювальна машина (ЕОМ ) або комп’ютер – це технічна реалізація ідеї АПК на електронній елементній базі. Перша  ЕОМ  була побудована в проекті ”ENIAK” під керівництвом Д.Мочлі та П.Еккерта в 1946 році  в Прінстонському університеті (США). Вона використовувала 18000 е-ламп  і виконувала біля 3000 оп./сек. Принцип побудови подібних ЕОМ отримала назву неймановської за призвіщем  відомого математика Дж.Фон Неймана (1903-1957), який приймав участь у цьому проекті.  У Радянському Союзі перша ЕОМ подібного  типу “МЕСМ” була створена в 1951 р. у Києві в Інституті електротехніки АН УРСР  під керівництвом майбутнього академіка АН СРСР Сергія Олександровича Лебедєва (1902-1974). Технології обробки інформації, що базуються на сучасних ОбС, часто  називають ІТ-технологіями.  Нeвiд’ємнoю складовою процесу програмування ОбС є не тільки безпосередньо розробка необхідних системних  та прикладних програм, а й специфікація  властивостей апаратури та стандартних  системних програмних засобiв. Ці дії здійснюється на етапі аналізу системи. Розділ інформатики, що вивчає програми та програмування отримав назву теорії програмування або програмології (кафедра ТТП).

Мета курсу - засвоєння  базових  понять інформатики та  основ програмування,   набуття навичок  процедурного програмування, оволодіння мовою програмування Сі.

Існує  декілька точок  зору на програмування (мал.2).  По-перше,  це погляд на програмування як на специфічне ремесло (мистецтво) продукування ІТ-систем та технологій. По-другує, програмування з точки зору  наукової дисципліни. І третій погляд на програмування  – це погляд з боку користувача ІТ-технологіями.

Мал.2. У нашому курсі будуть превалювати перший та другий аспекти. Взаємозв’язок  з іншими  нормативними курсами подано на мал.3.  Для засвоєння данного курсу необхідні загальні знання з  основ інформатики, дискретної математики,  лінійної та загальної алгебри,  математичного аналізу. В свою чергу знання., набуті в курсі,  необхідні для засвоєння інших курсів та спецкурсів програміського спрямування, деяких розділів теоріїї алгоритмів, математитчної логіки та інших дисциплін.

Мал.3

Лiтература

  1.  Зубенко В.В. Науково-методичні матеріали. Кафедра ТТП. Факультет кібернетики KНУ  ім.Тараса Шевченка, 2006-07 н.р.     http://www.unicyb.kiev.ua /~vvz
  2.  Кнут Д. Искусство программирования.Т.1,2,3. Изд 3-е, испр. -М.СбП.К.:Вильямс, 2001.
  3.  Вирт Н. Систематическое программирование. Введение.- М.:Мир,1987.с.184.
  4.  Вирт Н. Алгоритмы и структуры данных. - М.:Мир,1989.с.263.
  5.  Керниган Б., Ричи Д.-Язык программирования  Си. Изд. 3-е, испр.-СПб.:Невский Диалект.- 2001.
  6.  Фьюэр А. Задачи по языку Си.- - М.: Финансы и статистика. -1985.
  7.  Харбисон С.П., Стил Г.Л. Язык программирования. Изд. 5-е.-М.:БИНОМ, 2004. -528с.
  8.  Проценко В.С. та ін. Техніка програмування мовою Сі.- К.: Либідь.-1993
  9.  Белов Ю.А. , Проценко В.С., Чаленко П.Й Інструментальні засоби    програмування.- К.: Либідь.-1993.
  10.  Подбельский В.В., Фомин С.С. Программировнаие на языке Си. – М.:   Финансы и статистика, 1999 , 600 с.
  11.  Глібовець М.М., та ін. Мова програмування Сі. Учбовий посібник з  лабораторного практикуму. – Київ, НаУКМА, 2002, 67с.
  12.  Иодан Э. . Структурное программирование и конструирование программ. - М.:Мир, 1979. с.378.
  13.  Майерс Г. Надежность программного обеспечения. . - М.:Мир,1980.с.360.
  14.  Ставровский А.Б.,Коваль Ю.В. Перші кроки  програмування . Київ,  ”Диалектика”, 2005, с.389.

                                           

    

   

Застосування, експлуатація інформаційних моделей та ІТ-технологій

Наукова дисципліна

Ремесло, інженерія

Програмування

Теорія алгоритмів

Алгебра

Мат. логіка

Мат. аналіз

Цикл дисциплін  програміського спрямування

Основи програмування


 

А также другие работы, которые могут Вас заинтересовать

36338. Поясните понятие устойчивости линейной САУ. Дайте классификацию методов определения устойчивости и поясните их 41.01 KB
  Дайте классификацию методов определения устойчивости и поясните их. Устойчивость СУ по начм условиям по Ляпунову это свво системы без которого она не работоспособна. устойчива то затухают все составляющее свободных движений вызванных любыми ненулми начми условиями.
36340. Функциональная схема САР развернутым способом с изображением технологического оборудования. 37.53 KB
  Развернутый способ как правило применяют для наиболее сложных объектов автоматизации. Упрощенный способ применяют в основном для несложных объектов автоматизации. Изображение приборов и средств автоматизации при этом способе производят непосредственно на изображении технологического оборудования и трубопроводах. Приборы и средства автоматизации осуществляющие сложные функции контроль регулирование сигнализацию и т.
36341. Приведите классификацию, формулировки критериев устойчивости и поясните их 46.57 KB
  Для более сложных случаев разработаны критерии устойчивости т. Алгебраические позволяют судить об устойчивости по коэффициентам Ар. Критерий Гурвица: Для асимптотической устойчивости необходимо чтобы все миноры данной матрицы были положительными.
36342. SCADA-система iFIX 71.9 KB
  Такие системы обеспечивают получение данных в реальном времени как персоналом предприятия так и прикладным программным обеспечением установленным на предприятии. Представление данных в реальном времени является ключевым для более эффективного использования ресурсов и персонала и для большей степени автоматизации . Для сбора данных системе iFIX не требуется уникальное оборудование. Основой программного обеспечения iFIX является база данных процесса.
36344. Как определяется шаг интегрирования по времени при моделировании САУ с помощью ПК 22.59 KB
  Как определяется шаг интегрирования по времени при моделировании САУ с помощью ПК. Применительно к простому интегратору он может быть представлен таким образом: В конечных приращениях то же самое можно записать в виде: где T – постоянная интегрирования звена; Xn Yn – соответственно вход и выход звена на nм шаге расчета; t – величина интервала времени в течение которого входное воздействие считается постоянным. Суммирование интегрирование выходного параметра производится через интервалы времени t=S в связи с чем этот интервал получил...
36345. Классификация САПР по уровню и комплексной автоматизации проектирования 32.83 KB
  Классификация САПР по уровню и комплексной автоматизации проектирования. Сложность объекта проектирования. Уровень и комплексность автоматизации проектирования. Первые три признака отражают особенности объекта проектирования.
36346. Микропроцессорные средства автоматического контроля и регулирования. К микропроцессорным средствам автоматического контроля и регулирования относятся локальные регуляторы и программно-логические контроллеры 14.13 KB
  К микропроцессорным средствам автоматического контроля и регулирования относятся локальные регуляторы и программнологические контроллеры. Автоматические регуляторы с типовыми законами регулирования: релейными П ПД ПИ ПИД. Эти регуляторы составляют основную группу используемых в современных системах автоматизации. Несмотря на широкое использование ПК и ПЛК автоматические регуляторы являются достаточно распространенными средствами автоматизации в составе локальных систем контроля и регуля.