КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Класифікація мов програмування
Класифікація мов: 3) імперативні (процедурні) – результат обчислення деякого виразу розміщується в області пам’яті, що представлена в програмі змінною (причому проміжні результати обчислення теж зберігаються в комірках пам’яті, але обробляються компілятором і для програміста високого рівня непомітні); велика програма стала сукупністю процедур-підпрограм, одна з яких була головною; 4) функціональні – відсутні змінні та оператор присвоювання; програма являє собою означення функцій та правила їх використання, а виконання програми полягає в обчисленні функцій; як правило, інтерпретатори; прообраз в імперативних – функції, які мають обмеження(повертають лише змінні скалярного типу, а не інші функції), LISP; 5) логічні (декларативні) – задаються твердження та відношення між ними, а система сама знаходить розв’язок; характеризуються самонавчанням; базуються на принципах роботи людського мозку), PROLOG. Розуміння основних закономірностей утворення структур, що містять велику кількість елементів, дозволяє перейти до цілеспрямованого створення розподілених динамічних систем. При цьому одиницею інформації вважається не елементарний двійковий стан, а цілі просторові структури. На початковому етапі масового виробництва комп’ютерів модно було називати обчислювальну машину електронним мозком. При цьому вважалося, що кожен імпульс збудження нервових клітин переносить одиницю інформації, а нейроні грають роль логічних перемикачів аналогічно до будови ЕОМ. Але це повністю помилкове уявлення – мозок не має жорсткої структури зв’язків між нейронами, яка була б подібною до електричної схеми ЕОМ. Виявляється, що надійність окремих елементів (нейронів) набагато нижче, ніж елементів сучасних комп’ютерів. Але руйнування навіть великої кількості нейронів, як правило, не впливає на ефективність обробки інформації мозком. У випадку таких масштабних пошкоджень мікросхем комп’ютер обов’язково даватиме збої. З іншого боку, швидкість передачі сигналів по нервових волокнах не перевищує 100м/с, що на 5-7 порядків нижче швидкодії комп’ютера. Чим же зумовлена така висока ефективність роботи головного мозку? Очевидно, що діяльність мозку пов’язана з паралельною обробкою інформації (відомо, наприклад, що мозок розв’язує за 100 кроків задачі, які вимагають від традиційного комп’ютера виконання декількох мільйонів операцій). Тому й виникла ідея створення принципово нових обчислювальних машин з використанням паралельних обчислень. На жаль, оптимістичні прогнози щодо створення систем штучного інтелекту, які б імітували роботу людського мозку, до середини 90-х років минулого століття не справдилися. Паралелізм використовується в комп’ютерах з матричними процесорами. Матричний процесор можна уявити як мережу примітивних процесорів з невеликим об’ємом пам’яті, кожен з яких може обмінюватися інформацією лише зі своїми найближчими сусідами. Техніка паралельних обчислень найефективніша для розв’язування задач, що задовольняють умову локальності, коли зміна стану даного малого елемента середовища за малий проміжок часу визначається лише миттєвим станом самого елемента та його найближчих сусідів. При цьому практично не існує обмежень, пов’язаних з поширенням сигналу, оскільки обмін сигналами здійснюється лише між найближчими сусідами. Робота матричного процесора стійка по відношенню до локальних пошкоджень. Якщо один з примітивних процесів вийшов з ладу, то це відобразиться на правильності обчислень у деякій невеликій області, і не приведе до зриву роботи всього комп’ютера. Більш сучасним є підхід створення обчислювальних мереж, для яких на програмному рівні виконувана задача розділяється потоки, кожен з яких виконується паралельно з іншими на окремому відносно автономному комп’ютері. При цьому при необхідності відбувається обмін інформацією між потоками.
На тенденції розробки мов програмування впливає: ü архітектура комп’ютерів (майже всі комп’ютери I – IV поколінь відповідають принципам організації ЕОМ Джона фон Неймана, який 1945 року запропонував наступні положення: 1) вся інформація представлена у вигляді сигналів, що відповідають двом станам 0 та 1 (є сигнал – немає сигналу, намагнічено – не намагнічено); 2) задана програма; 3) програма та дані зберігаються в комірках пам’яті; немає різниці між даними та програмою); ü методологія програмування o 50-і – початок 60-х: прості задачі, намагання максимальної машинної віддачі; o кінець 60-х – програмістська ефективність, читабельність, структурність; o кінець 70-х – абстракція даних; o середина 80-х – ООП.
Дата добавления: 2014-01-07; Просмотров: 390; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |