Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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




Наприкінці XVIII сторіччя (1795) французькій математик М.Проні, якому уряд доручив організувати розв’язування комплексу завдань, пов’язаних із переходом на метричну систему мір, уперше у світі розробив технологію обчислень, що передбачала поділ праці математиків [19]. Він поділив увесь колектив, який мав виконувати зазначений комплекс завдань, на три групи. Перша, що складалася з висококваліфікованих математиків, розробляла відповідні методи обчислень. Головна вимога до цих методів полягала в тому, щоб за їх допомогою будь-які обчислювальні операції можна було звести до виконання чотирьох арифметичних дій: додавання, віднімання, множення і ділення. Друга група математиків визначала послідовність арифметичних дій і вихідні дані, необхідні для їх виконання. Виконувати цю послідовність арифметичних дій поручалось третій групі. Такий поділ праці дав змогу істотно прискорити здобуття результатів і підвищити їх надійність.

Англійський учений Чарльз Беббідж побачив у технології обчислень, запропонованій М. Проні, головні складові аналітичної (обчислювальної) машини, проект якої він розробив упродовж 1836 – 1848 років [36]. Саме ця машина стала механічним прототипом електро-обчислювальної машини (ЕОМ), яка з’явилася сторіччям пізніше. В аналітичній машині було передбачено п’ять тих самих, що й у сучасній ЕОМ, типів пристроїв: процесор, пам'ять, пристрій керування, пристрій вводу та пристрій виводу. Програма виконання обчислень так само, як вихідні дані й результати обчислень, записувалась на перфокартах. Автоматичне виконання програми обчислень забезпечувалось пристроєм керування. Механічний принцип побудови пристроїв, а також застосування десяткової системи числення, що перешкоджало створенню простої елементної бази, не дали змоги Ч. Беббіджу повністю реалізувати машину. У 1842 році італієць Л.Менабреа (згодом – професор прикладної математики, генерал, прем’єр міністр Італії) опублікував опис аналітичної машини Беббіджа італійською мовою, а англійський математик Ада Лавлейс, дочка поета Дж. Байрона, переклала цей опис із власними примітками та написала програми обчислень на машині Беббіджа [19,36]. Аду вважають першим програмістом світу. На її честь названо одну з найпотужніших мов програмування – Ada.

Дж. Буль розбив алгебру логіки (алгебра Буля, або бульова алгебра), яка знайшла застосування у проектуванні схем, з яких складається ЕОМ. Схеми використовують двійкову систему числення. Американський учений К.Шеннон в 1936 році поєднав математичну логіку з двійковою системою числення та теорією електричних кіл, заклавши основи апаратної складової обчислювальних засобів.

Через 63 роки після смерті Ч. Беббіджа в 1937 році К. Цузе (Німеччина) створив механічну машину, подібну до машини Беббіджа, яка використовувала двійкову систему числення [9].

У 1944 році вчений Гарвардського університету Г. Айкен створив першу у США (тоді вважалось першу у світі) релейно-механічну цифрову обчислювальну машину МАРК-1 [19,22]. За своїми структурними характеристиками вона поступалась машині К. Цузе, істотно відрізняючись від неї за розмірами (довжина 17м., а висота 2,5м.; маса – 5т.), і складалась майже з 500 тис. механічних деталей. Машина К. Цузе займала площу 2м2.

Наприкінці 1945 року в Пенсільванському університеті (США) було закінчено створення обчислювальної машини, названої ЕНIAK, продуктивність якої в 1000 раз перевищувала продуктивність машини МАРК-1. Керівниками роботи були Дж. Маучлі, Дж. Еккерт.

У червні 1946 року Дж. Нейман, Г. Голдстайн і А. Беркс у Прінстонському інституті перспективних досліджень (США) склали звіт „Попереднє обговорення логічного конструювання електронного обчислювального пристрою”, який містив розгорнутий і докладний опис принципів побудови ЕОМ. Того самого року звіт було поширено на літній сесії Пенсільванського університету. Викладені у звіті принципи, як склалося з часом були фундаментальними і зводилися до наступного:

– машини на електронних елементах мають працювати у двійниковій системі числення;

– програма, так само як і дані має розміщуватися в запам’ятовувальному пристрої, що має достатню місткість та відповідні швидкості вибірки й запису команд програми;

– програма, так само як і дані, з якими оперує машина, записується в двійниковому коді.

– проміжні результати обчислень та вихідні дані можуть розміщуватись у тому самому запам’ятовувальному пристрої, що й програма;

– числова форма запису програми дає змогу машині виконувати операції з величинами, якими закодовано команди програми;

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

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

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

Рис. 1.1. Архітектура комп’ютера за Нейманом

Отже, як нейманівська архітектура, так і архітектура сучасних ЕОМ ґрунтується на таких трьох загальних принципах:

1) програмного керування (Ч. Беббідж) – ЕОМ працює під керуванням програми, утвореної із команд, які, у свою чергу, складаються з операційної (зазначає, що робити) та адресної (зазначає, із чим робити) частин;

2) послідовного виконання команд програми (Ч. Беббідж) – команди програми виконуються одна за одною починаючи з тієї, котру зазначено як першу, і до останньої команди програми або команди „зупинитися”; команди можуть виконуватись паралельно на машинах паралельного типу;

3) збережуваної в пам’яті програми (Дж. Нейман) – програма, так само як і дані, зберігається в пам’яті ЕОМ.

Реалізація третього принципу дає змогу будувати універсальні (незалежні від виконуваних програм) ЕОМ.

В 1947 році М. Уїлкс (Англія) створив першу ЕОМ, яка мала нейманівську архітектуру і базувалася на вказаних трьох принципах [19]. В 1950 році С.О. Лебедев (СРСР) створив подібну ЕОМ.

Розділ 1. Комп’ютерні програми та програмування

Справжній початок робіт у галузі електронної обчислювальної техніки в континентальній Європі датується 1946 роком, коли в Києві академік АН УРСР С.О.Лебедєв розпочав дослідження зі створення ЕОМ і програм для них. Роботи проводились у Феофаніі, що під Києвом, у лабораторії обчислювальної техніки Інституту електротехніки АН УРСР, очолю вальної С.О. Лебедєвим. Наприкінці 1950 року запрацювала перша в СРСР і континентальній Європі ЕОМ, яка дістала назву Малая Электронная Счетная Машина (МЭСМ). У її будові було реалізовано загальні принципи і архітектуру Неймана. Мову високого рівня і програми для цієї ЕОМ розробляла К.Л.Ющенко, яка вважається першим програмістом у колишньому СРСР.

Перші експерименти на МЭСМ показали, що підготовка задачі до розв’язування на ЕОМ становить самостійну проблему, яка стала предметом систематичного вивчення на семінарі з програмування, організованому в 1950 році під керівництвом члена-кореспондента АН СРСР Л.А.Люстерника.

У 1952 році в колишньому СРСР з’явилася відома праця М. Уїлкса, Д. Уїлера та С. Гілла, яка містила перший опис інтегрованої системи програмного забезпечення та метод бібліотечних підпрограм, що були встановлені на побудованої в 1947 році М.Уїлксом першої в Європі ЕОМ [68].

У 1951 році С.О. Лебедевим було виготовлено другу машину - Большая Электронная Счетная Машина (БЭСМ), а з 1952-го року почалась її дослідна експлуатація [55].

 
 
ВЕСМ


У 1953 році було організовано перший у колишньому СРСР відділ програмування, який упродовж першого року очолював О.А. Ляпунов.

Роком раніше у Московському державному університеті кафедру обчислювальної математики було реорганізовано з метою підготовки прикладних математиків для роботи з ЕОМ. Завідувачем кафедри став академік С.Л. Соболев. Випускники кафедри 1953-54 навчального року стали першим поколінням фахівців, які називали себе програмістами.

У 1955 році було створено Обчислювальний центр АН СРСР, директором якого став академік А.О. Дородніцин.

Після переїзду С.О. Лебедєва з Києва до Москви директор Інституту математики АН УРСР Б.В. Гнєденко створив обчислювальну лабораторію, куди було переведено групу працівників цього Інституту. Через кілька років зазначену лабораторію очолив В.М. Глушков. На її базі в 1957 році було створено Обчислювальний центр АН УРСР, що перетворився згодом на Інститут кібернетики АН УРСР (зараз Інститут кібернетики на ім’я В.М.Глушкова НАНУ).

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

Методологію, яку А.І.Китов назвав операторним методом програмування, описав О.А. Ляпунов у першому в колишньому СРСР навчальному курсі програмування, прочитаному в Московському державному університеті на ім’я М.Ломоносова під назвою „Принципи програмування” [8]. Зазначений метод дав поштовх до створення теорії схем програми та забезпечив появу в колишньому СРСР перших трансляторів.





Дата публикования: 2014-11-26; Прочитано: 589 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...