Міністерство освіти РФ
Предмет: інформатика
реферат
Тема: Історія мов програмування.
Асемблер.
Виконала: учениця 11 __ класу,
середньої школи №62
____________________
Перевірила: викладач
середньої школи №62
Кулешова Н.Г.
Прокоп'євськ 2002
зміст
лист
Вступ
|
3
|
Для чого потрібна мова програмування?
|
5
|
Машинні мови, мови асемблера і
|
12
|
мови високого рівня
|
Історія мови С
|
14
|
висновок
|
15
|
Список використаної літератури
|
16
|
Вступ
Зі збільшенням обсягу обчислень з'явився перший рахунковий переносний інструмент - "Рахівниця".
На початку 17 століття виникла необхідність в складних обчисленнях. потрібні були рахункові пристрої, здатні виконувати великий обсяг обчислень з високою точністю. У 1642 р французький математик Паскаль сконструював першу механічну лічильну машину - "паскалина".
У 1830 р англійський учений Бебідж запропонував ідею першої програмованої обчислювальної машини ( "аналітична машина"). Вона повинна була приводиться в дію силою пара, а програми кодувалися на перфокарти. Реалізувати цю ідею не вдалося, так як було неможливо зробити деякі деталі машини.
Перший реалізував ідею перфокарт Холлерит. Він винайшов машину для обробки результатів перепису населення. У своїй машині він вперше застосував електрику для розрахунків. У 1930 році американський учений Буш винайшов диференціальний аналізатор - перший в світі комп'ютер.
Великий поштовх у розвитку обчислювальної техніки дала друга світова війна. Військовим знадобився комп'ютер, яким став "Марк-1" - перший в світі цифровий комп'ютер, винайдений в 1944 р професором Айкнем. У ньому використовувалося поєднання електричних сигналів і механічних приводів. Розміри: 15 X 2,5 м., 750000 деталей. Могла перемножити два 23-х розрядних числа за 4 с.
У 1946 р групою інженерів на замовлення військового відомства США було створено перший електронний комп'ютер - "ЕНІАК". Швидкодія: 5000 операцій додавання і 300 операцій множення в секунду. Розміри: 30 м. В довжину, обсяг - 85 м3., Вага - 30 тонн. Використовувалося 18000 ел. ламп.
Перша машина з хронімой програмою - "ЕДСАК" - була створена в 1949 р, а в 1951 р створили машину "
Юнивак "- перший серійний комп'ютер з хронімой програмою. У цій машині вперше була використана магнітна стрічка для запису і зберігання інформації
Для чого потрібна мова програмування?
Комп'ютера з'явилися дуже давно в нашому світі, але тільки останнім вpемя їх почали так посилено використовувати в багатьох отpаслях людського життя. Ще десять років тому було рідкістю побачити який-небудь персональний комп'ютер - вони були, але були дуже дорогі, і навіть не кожна фірма могла мати у себе в офісі комп'ютер. А зараз? Тепер в кожному третьому будинку є комп'ютер, що уже глибоко ввійшов у життя самих мешканців будинку.
Сама ідея створення штучного інтелекту з'явилася давним давно, але тільки в 20 столітті її почали здійснювати. Спочатку з'явилися величезні комп'ютери, які були подчастей розміром з величезний будинок. Використання таких машин, як ви самі розумієте, було не дуже зручно. Але що поробиш? Але світ не стояв на одному місці еволюційного розвитку - мінялися люди, змінювалася їх Навколишнє середовище, і разом з нею мінялися і самі технології, усе більше удосконалюючись. І комп'ютери ставали все менше і менше за своїми розмірами, поки не досягли сьогоднішніх розмірів.
Але людині теж треба якось спілкуватися з машиною - адже кому потрібна некерована машина? Спочатку люди вели своє спілкування з комп'ютерів за допомогою перфокарт. Перфокарти - це невеликі картки, на які нанесені ряди цифр. У комп'ютера був "дисковод", в який вставлялися самі карти і він за допомогою маленьких голочок ставив дірочки на цифрах. Таке спілкування мало кому приємно - адже не дуже зручно тягати з собою купи перфокарт, які після одного використання доводилося викидати.
Але, як і інші технології, процес спілкування людини зі штучним інтелектом зазнав деякі зміни. Тепер людина проводить свою бесіду з комп'ютером за допомогою клавіатури і миші. Це досить зручно і іноді навіть приносить задоволення людині.
Сучасні обчислювальні машини представляють одне з найзначніших досягнень людської думки, вплив якого на розвиток науково-технічного прогресу важко переоцінити. Області застосування ЕОМ безперервно розширюються. Цьому в значній мірі сприяє поширення персональних ЕОМ, і особливо мікроЕОМ.
За час, що минув з 50-х років, цифрова ЕОМ перетворилася з "чарівного", але при цьому дорогого, унікального і перегрітого нагромадження електронних ламп, проводів і магнітних сердечників у невелику за розмірами машину - персональний комп'ютер - що складається з мільйонів крихітних напівпровідникових приладів, які упаковані в невеликі пластмасові коробочки.
В результаті цього перетворення комп'ютери стали застосовуватися всюди. Вони керують роботою касових апаратів, стежать за роботою автомобільних систем запалювання, ведуть облік сімейного бюджету, або просто використовуються в якості розважального комплексу ... Але це тільки мала частина можливостей сучасних комп'ютерів. Більш того, бурхливий прогрес напівпровідникової мікроелектроніки, що представляє собою базу обчислювальної техніки, свідчить про те, що сьогоднішній рівень як самих комп'ютерів, так і областей їх застосування є лише слабкою подобою того, що настане в майбутньому.
Комп'ютери починають зачіпати життя кожної людини. Якщо ви захворієте, і якщо вас направлять до лікарні, то потрапивши туди, в опинитеся в світі, де від комп'ютерів залежать життя людей (в частині сучасних лікарень ви навіть зустрінете комп'ютерів більше, ніж самих пацієнтів, і це співвідношення буде згодом рости, перевішуючи число хворих). Поступово вивчення комп'ютерної техніки намагаються вводити в програми шкільного навчання як обов'язковий предмет, щоб дитина змогла вже з досить раннього віку знати будову і можливості комп'ютерів. А в самих школах (в основному на заході і в Америці) уже багато років комп'ютери застосовувалися для ведення навчальної документації, а тепер вони використовуються при вивченні багатьох навчальних дисциплін, які не мають прямого відношення до обчислювальної техніки. Навіть в початковій школі комп'ютери впроваджуються для вивчення курсів елементарної математики та фізики. Самі мікропроцесори одержали не менш широке поширення ніж комп'ютери - вони вбудовуються в кухонні плити для приготування їжі, посудомийні машини і навіть у години.
Дуже широке поширення отримали ігри, побудовані на основі мікропроцесорів. Сьогодні ігрова індустрія займає дуже велику частину ринку, поступово витісняючи з нього інші розваги дітей. Але для дитячого організму дуже шкідливо сидіти годинами за монітором і відчайдушно натискати на клавіші, так як у дитини може розвинутися своєрідна хвороба - коли у нього тільки одне на умі - комп'ютер, і більше нічого. Діти з такою хворобою зазвичай стають агресивними, якщо їх починають обмежувати в доступі до ігор. У таких дітей відразу пропадає будь-яке бажання робити щось, що не відноситься до комп'ютера і що їм не цікаво - так вони починають закидати своє навчання, що веде до не дуже гарних наслідків.
Уже зараз комп'ютери можуть чітко вимовляти різні фрази, словосполучення, програвати музику і.т.д. Людина тепер може сам записати якісь слова, пропозиції і навіть музичні композиції на своєму комп'ютері для того, щоб потім комп'ютер міг їх відтворювати в будь-який призначений час.
Комп'ютери здатні також сприймати усне мовлення як сигнали, проте їм доводиться виконувати велику роботу по розшифровці почутого, якщо форма спілкування жорстко не встановлена. Адже одну і ту ж команду один і той же людина може вимовити декількома способами, і весь час ця команда буде звучати по-різному; а в цілому світі - мільярди людей, і кожен вимовляє одну і ту ж команду кількома різними способами. Тому в даний час досить складно створити комп'ютер, який буде управлятися за допомогою голосу людини. Багато фірм намагаються вирішити ці проблеми. Деякі фірми роблять невеликі кроки на шляху до цієї мети, але все одно ці кроки поки ще майже непомітні.
Але проблема розпізнавання мови є частиною більш широкої проблеми, званої розпізнаванням образів. Якщо комп'ютери зможуть добре розпізнавати образи, вони будуть здатні аналізувати рентгенограми і відбитки пальців, а також виконувати багато інших корисних функцій (сортуванням листів вони займаються вже зараз). Слід зауважити, що людський мозок прекрасно справляється з розпізнаванням образів навіть при наявності різних шумів і спотворень, і дослідження в цій області, спрямовані на наближення відповідних можливостей комп'ютера до здібностям людини, видаються вельми перспективними. Якщо комп'ютери зможуть досить якісно розпізнавати мову і відповідати на неї в словесній формі, то, очевидно, стане можливим вводити в них в цій формі програми і дані. Це дозволить в буквальному сенсі слова говорити комп'ютера, що він повинен робити, і вислуховувати його думку з цього приводу за умови, звичайно, що видаються їй вказівки чіткі, не містять протиріч і.т.д.
Усне спілкування з комп'ютерами дозволить спростити його програмування, проте залишається невирішена проблема, якою саме мовою слід з ним спілкуватися. Багато пропонують для цих цілей англійську мову, але він не володіє точністю і однозначністю, необхідними з точки зору комп'ютера і виконуваних в ньому програм. У цій області вже багато зроблено, але ще багато належить зробити.
Ми часто скаржимося, що інші люди не розуміють нас; але поки і самі персональні комп'ютери не здатні до кінця зрозуміти нас, або зрозуміти, що ми хочемо сказати з півслова. І протягом якогось періоду часу нам доведеться задовольнятися такими машинами, які просто йдуть нашим вказівкам, виконуючи їх "з точністю до міліметра".
Для спілкування з комп'ютерами, ще за часів перфокарт, тодішні програмісти використовували мову програмування, дуже схожий на сучасний Асемблер. Це така мова, де всі команди, що надходять до комп'ютера пишуться детально за допомогою спеціальних слів і значків {?}.
У наш час посилено використовуються мови програмування більш високого рівня, працювати з якими набагато легше ніж з Ассемблером, так як в них одне слово може замінювати відразу кілька команд. І до того ж більшість мов програмування високого рівня в назвах команд, використовуваних при спілкуванні з комп'ютером, використовують еквіваленти, названі на англійській мові, що, природно, полегшує програмування. Але в них є один мінус в порівнянні з мовами, подібними Асемблеру - в Асемблері все команди, що надходять з програми чітко розподіляються в пам'яті комп'ютера, займаючи вільні місця, тим самим значно виграючи у швидкості; а мови високого рівня не вміють цього, відповідно втрачаючи в швидкості виконання програми. А в нашому сьогоднішньому світі всім відомо, що: "Час - гроші".
Хоча, поки комп'ютер поступається людині з точки зору творчої діяльності, тому що машина не наділена поки такими якостями, які змогли б їй допомогти створити що-небудь нове, що не введено в її пам'ять самою людиною.
Боьшінства людей, мабуть, вважають, що терміни "обчислювальна машина" і "обчислювальна техніка" синонімами і пов'язують їх з фізичним обладнанням, як, наприклад, мікропроцесором, дисплеєм, дисками, принтерами і іншими істройствамі, що привертають увагу людей, коли людина бачить комп'ютер. Хоча ці пристрої і важливі, все-таки вони становлять лише "верхівку айсберга". На початковому етапі іспользованаія сучасного комп'ютера ми маємо справу не з самим комп'ютером, а з сукупністю правил, званих мовами программіроваанія, на яких вказуються дії, які повинен виконувати комп'ютер. Важливе значення мови програмування підкреслюється тим фактом, що сама обчислювальна машина може розглядатися як апаратний інтерпретатор якогось конкретного мови, який називається машинною мовою. Для забезпечення ефективної роботи машини розроблені машинні мови, використання яких представляє відомі трудностідля людини. Більшість користувачів не відчувають цих незручностей завдяки наявності одного або декількох мов, створених для поліпшення зв'язку людини з машиною. Гнучкість обчислювальної машини проявляється в тому, що вона може виконувати програми-транслятори (в загальному випадку ВПМ називаються компіляторами або інтерпретаторами) для перетворення програм з мов, орієнтованих на користувачів, в програми на машинній мові. (В свою чергу навіть самі програми, ігри, системні оболонки є ні чим іншим, як досить проста програма-транслятор, яка в міру роботи, або гри звертається за допомогою своїх команд до "комп'ютерним нутрощів і зовнішностями", трансліуя свої команди в машинні мови . І все це відбувається в реальному часі.)
Машинні мови, мови асемблера і
мови високого рівня
Програмісти пишуть програми на різних мовах програмування, деякі з яких безпосередньо зрозумілі комп'ютеру, а інші потребують проміжної стадії трансляції. Сотні наявних мов можуть бути поділені на три загальних типу:
1. Машинні мови
2. Асемблерні мови
3. Мови високого рівня.
Кожен комп'ютер може розуміти тільки свій машинний мову, який є природною мовою конкретного комп'ютера. Він тісно пов'язаний з його апаратною частиною. Машинні мови в загальному випадку складаються з послідовностей чисел (зазвичай нулів і одиниць), які є командами на виконання одиночних елементарних операцій. Машинні мови є машинно залежними, тобто конкретний машинний мову може бути використаний тільки з певним типом комп'ютера. Машинні мови незручні для сприйняття людиною.
У міру поширення комп'ютерів ставало очевидним, що програмування на машинних мовах гальмує розвиток комп'ютерної техніки, є дуже повільним і для більшості програмістів непосильним заняттям. Замість послідовності чисел, безпосередньо зрозумілих комп'ютера, програмісти для подання елементарних операцій стали застосовувати англомовні абревіатури, які і сформували основу мов асемблера. Для перетворення програм, написаних на таких мовах, в машинну мову були розроблені програми-транслятори, звані асемблер. Перетворення відбувалося зі швидкістю, що дорівнює швидкодії комп'ютера. З появою мов асемблера використання комп'ютерів значно розширилося, проте все ще було потрібно написання великої кількості інструкцій навіть для реалізації рішення найпростіших завдань. Для прискорення процесу програмування були розроблені мови високого рівня, в яких для виконання складних дій досить написати один оператор. Програми для перетворення послідовності операторів на мові високого рівня в машинний мову називаються компіляторами. У мовах високого рівня інструкції, написані програмістами, часто виглядають як звичайний текст англійською мовою із застосуванням загальноприйнятих математичних знаків.
Одним з мовно високого рівня є мова програмування С.
Історія мови С
Мова з бере свій початок від двох мов, BCPL і B. У 1967 році Мартін Річардс розробив BCPL як мову для написання системного програмного забезпечення та компіляторів. У 1970 році Кен Томпсон використовував В для створення ранніх версій операційної системи UNIX на комп'ютері DEC PDP-7. як в BCPL, так і в В змінні не розділялися на тіпи- кожне значення даних займало одне слово в пам'яті і відповідальність на розрізнення, наприклад, цілих і дійсних чисел цілком лягала на плечі програміста.
Мова С був розроблений (на основі В) Деннісом Річі з Bell Laboratories і вперше був реалізований в 1972 році на комп'ютері DEC PDP-11. Популярність З отримав в якості мови ОС UNIX. Сьогодні практично всі основні операційні системи були написані на С та / або С ++. Після двох десятиліть З є в наявності на більшості комп'ютерів. Він не залежить від апаратної частини.
В кінці 70-х років З перетворився в те, що ми називаємо «традиційний С». У 1983 році Американським комітетом національних стандартів в області комп'ютерів і обробці інформації був заснований єдиний стандарт цієї мови.
висновокНа підставі даного реферату можна зробити висновок, що наше життя повністю пронизана комп'ютерними технологіями. Про що трохи пройде часу і комп'ютери будуть стояти скрізь, де необхідна присутність людини. Але без певних знань спілкування з комп'ютером буде неможливо. А для того щоб змусити його працювати на себе потрібно знати його мова-мова програмування.
Список використаної літератури
1. Том Сван "Освоєння Turbo Assembler", Діалектика, Київ, 1996 г.
2. Березін Б.І., Березін С.Б. "Початковий курс програмування", Діалог МІФІ, Москва, 1996 г.
3. Лекції окоренкову Ніни Вікторівни по предмету "Мови програмування та методи трансляції"
4.Х.М.Дейтел, Як програмувати на С, Видавництво Біном, Москва, 2000 р
|