Коротка історія розвитку мов програмування. Історія деяких мов програмування

💖 Подобається?Поділися з друзями посиланням

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

Лише у 50-ті роки, для особистих потреб фірми IBM було розроблено першу алгоритмічну мову. Його назвали FORTRAN. Зрозуміло, на той час вже було кілька напрацювань мов, що перетворюють на машинний код арифметичні вирази, але саме створення FORTRAN"а вважається відліком нової ери - переходом на парадигму алгоритмічних мов. Що він міг? Він дозволяв проводити розрахунки лише за допомогою запису алгоритму із застосуванням Спочатку мова створювалася спеціально для обчислювальної системи IBM 407. Але популярність FORTRAN"а призвела до того, що навіть виробники інших архітектур стали випускати власні транслятори. Внаслідок цього, у 1966 році було випущено загальний стандарт FORTRAN 66.

Вже наприкінці 50-х років. з'явилася хороша альтернатива FORTRAN"у. Пітер Наур розробив алгоритмічну мову, незалежну від архітектури. Його назвали ALGOL. У даному випадку, розробники також постаралися розширити можливості мови, максимально наблизивши систему позначень до математичної.

На початку 60-х років. виробники IBM представили не дуже популярну мову PL/I. Він працював з архітектурою IBM 360 і служив своєрідним розширенням FORTRAN"а за допомогою деяких засобів мови COBOL.
Перша мова, в якій було введено поняття класу – Simula-67. Його створили Дал та Найард наприкінці 60-х.
70-ті роки. зробили світ Pascal. Він швидко завоював масову популярність. Трохи пізніше міноборона США розпочала розробку мови високого рівня. Проект розробляли 4 незалежні групи, причому вироблення вимог та специфікацій проводилося на основі мови Pascal. Продукт, що вийшов, був випущений вже на початку 80-х, він отримав назву Ada.

70-ті роки. також подарували нам універсальну мову C. Його авторами були Кен Томпсон та Денис Рітчі. Мова користувалася підвищеною популярністю у системних програмістівПерше ядро ​​ОС UNIX було розроблено саме на ньому. У 1982 році стандарт C надійшов у розробку в ANSI, варіант, що вийшов, був прийнятий в 1990 році. На основі цієї мови було розроблено сучасні мови Java та C++.

Окрім мов, що працюють з алгоритмами, свій розвиток отримали й мови іншої спрямованості. Для обробки ділової інформації було розроблено COBOL, мовами штучного інтелекту вважаються Prolog та LISP. Крім того, останній широко застосовується і в теорії ігор.

З переходом на персональні комп'ютери мови програмування перетворилися на окрему частину середовищ розробки. Зараз існують навіть мови, які застосовуються в офісних програмах- Наприклад, VBA.

Історія мов програмування

3. Класифікація мов програмування

1. Поняття програмного забезпечення

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

Завдання– це проблема, що підлягає вирішенню за допомогою технічних засобів, а додаток (синонім програма) – реалізоване комп'ютері рішення цієї задачи.

Програмування– це сфера дій, спрямовану створення програм.

Програма– це послідовність команд комп'ютера, що веде до вирішення завдання.

додаток– це програмна реалізаціяна комп'ютері розв'язання задачі.

Програмне забезпечення(ПЗ) - це програмні продукти та технічна документаціядо них.

Програмний продукт (ПП)- Це комплекс взаємозалежних програм, призначений для реалізації певного завдання масового попиту.

Однією з найреволюційніших ідей, що призвели до створення автоматичних цифрових обчислювальних машин, була висловлена ​​в 20-х роках 19 століття Чарльзом БебіджемІдея про попередній запис порядку дії машини для подальшої автоматичної реалізації обчислень – програмі. І, хоча використана Бебіджемзапис програми на перфокартах, придуманий для управління такими верстатами французьким винахідником Жозефом Марі Жаккаром, технічно немає нічого спільного з сучасними прийомами зберігання програм у ПК, принцип тут сутнісно один. З цього моменту розпочинається історія програмування.

Аду Левлейс, сучасницю Бебіджа, називають першим у світі програмістом Вона теоретично розробила деякі прийоми управління послідовністю обчислень, що використовуються у програмуванні і зараз. Нею була описана і одна з найважливіших конструкцій практично будь-якої сучасної мови програмування – цикл.

Революційним моментом історії мов програмування стала поява системи кодування машинних команд з допомогою спеціальних символів, запропонованої Джоном Моучлі. Система кодування, запропонована ним, надихнула одну з його співробітниць Грейс Мюррей Хопер. Працюючи на комп'ютері «Марк-1», їй та її групі довелося зіткнутися з багатьма проблемами і все, що ними придумано, було вперше. Зокрема, вони вигадали підпрограми. І ще одне фундаментальне поняття техніки програмування вперше запровадили Хопер та її група – «налагодження».

Наприкінці 40-х років Дж. Моучлістворив систему під назвою « Short Code», яка була примітивною мовою програмування високого рівня. У ній програміст записував розв'язуване завдання у вигляді математичних формул, а потім, використовуючи спеціальну таблицю, переводив символ за символом, перетворював ці формули на дволітерні коди. Надалі спеціальна програма комп'ютера перетворювала ці коди на двійковий машинний код. Система, розроблена Дж. Моучлівважається одним з перших примітивних інтерпретаторів.

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

1954 року група під керівництвом Г. Хопперрозробила систему, що включає мову програмування та компілятор, яка надалі отримала назву Math-Matic. Після успішного завершення робіт зі створення Math-Matic Хоперта її група взялися за розробку нової мови та компілятора, який дозволив би користувачами програмувати мовою, близькою до звичайної англійської. У 1958 р. з'явився компілятор Flow-Matic. Компілятор Flow-Maticбула першою мовою для завдань обробки комерційних даних.

Розробки у цьому напрямку призвели до створення мови Кобол(COBOL - Common Business Oriented Language). Він був створений у 1960 році. У цій мові в порівнянні з Фортраномі Алголом, слабше розвинені математичні засоби, проте добре розвинені засоби обробки текстів, організація виведення даних у формі необхідного документа. Він замислювався як основна мова для масової обробки даних у сферах управління та бізнесу.

Середина 50-х характеризується стрімким прогресом у сфері програмування. Роль програмування у машинних командах стала зменшуватися. Стали з'являтися мови програмування нового типу, які у ролі посередника між машинами і програмістами. Першим і одним із найпоширеніших був Фортран(FORTRAN, від FORmula TRANslator – перекладач формул), розроблений групою програмістів фірми IBM 1954 року (перша версія). Ця мова була орієнтована на науково-технічні розрахунки математичного характеру і є класичною мовою програмування при вирішенні на ПК математичних та інженерних завдань.

Для перших мов програмування високого рівня предметна орієнтація була характерною рисою.

Особливе місце серед мов програмування посідає Алгол, Перша версія якого з'явилася 1958 року. Одним із розробників Алголабув «батько» Фортрана Джон Бекус. Назва мови ALGOrithmic Language підкреслює те, що він призначений для запису алгоритмів. Завдяки чіткій логічній структурі Алголстав стандартним засобомзаписи алгоритмів у науковій та технічній літературі.

У середині 60-х років Томас Курц та Джон Камені(співробітники математичного факультету Дартмунтського коледжу) створили спеціалізовану мову програмування, яка складалася з простих сліванглійської мови. Нова мованазвали "універсальним символічним кодом для початківців" (Beginner All-Purpose Symbolic Instruction Code, або, скорочено, BASIC). Роком народження нової мови можна вважати 1964 . Сьогодні універсальна мова Бейсік(який має безліч версій) набув великої популярності і набув широкого поширення серед користувачів ПК різних категорій у всьому світі. Значно цьому сприяло те, що Бейсікпочали використовувати як вбудовану мову персональних комп'ютерів, поширення яких почалося наприкінці 70-х років. Однак Бейсікнеструктурна мова, і тому вона погано підходить для навчання якісному програмуванню. Заради справедливості слід зауважити, що останні версії Бейсікадля ПК (наприклад, QBasic) стали більш структурними і за своїми образотворчими можливостями наближаються до таких мов, як Паскаль.

Розробники орієнтували мови на різні класи завдань, тією чи іншою мірою прив'язували їх до конкретної архітектури ПК, реалізовували особисті уподобання та ідеї. У 60-ті роки було зроблено спроби подолати цю «різноголоску» шляхом створення універсальної мови програмування. Першим дітищем цього напряму став PL/1 (Programm Language One), розроблений фірмою IBM у 1967 році. Ця мова претендувала на можливість вирішувати будь-які завдання: обчислювальні, обробки текстів, накопичення та пошуку інформації. Однак він виявився занадто складним, транслятор з нього недостатньо оптимальним і містив низку невиявлених помилок.

Проте лінію на універсалізацію мов було підтримано. Старі мови модернізували в універсальні варіанти: Алгол-68 (1968 р.), Фортран-77. Передбачалося, що подібні мови розвиватимуться і вдосконалюватимуться, витіснятимуть усі інші. Однак жодна з цих спроб не мала успіху.

Мова ЛИСПнародився 1965 року. Основним у ньому є поняття рекурсивно певних функцій. Оскільки доведено, що будь-який алгоритм можна описати за допомогою деякого набору рекурсивних функцій, то ЛИСПнасправді є універсальною мовою. З його допомогою ПК може моделювати складні процеси, зокрема – інтелектуальну діяльність людей.

Прологрозроблено у Франції 1972 року для вирішення проблем «штучного інтелекту». Прологдозволяє у формальному вигляді описувати різні твердження, логіку міркувань та змушує ПК давати відповіді на задані питання.

Значною подією в історії мов програмування стало створення у 1971 році мови Паскаль. Його автор – швейцарський вчений Ніклаус Вірт. Віртназвав його на честь великого французького математика та релігійного філософа XVII століття Блеза Паскаля, Який винайшов перший підсумовуючий пристрій, саме тому нової мови було присвоєно його ім'я. Ця мова спочатку розроблялася як навчальна мова структурного програмування, і, справді, зараз вона є однією з основних мов навчання програмуванню у школах та вишах.

У 1975 році дві події стали віхами в історії програмування. Білл Гейтсі Пол Аллензаявили про себе, розробивши свою версію Бейсіка, а Вірті Єнсенвипустили класичний опис мови Pascal User Manual and Report.

Не менш вражаючої, у тому числі й фінансової, удачі добився Філіп Кан, француз, який розробив у 1983 році систему Турбо-Паскаль. Суть його ідеї полягала у поєднанні послідовних етапів обробки програми – компіляції, редагування зв'язків, налагодження та діагностики помилок – в єдиному інтерфейсі. Турбо-Паскаль- це не тільки мова та транслятор з нього, але ще й операційна оболонка, що дозволяє користувачу зручно працювати на Паскале. Ця мова вийшла за рамки навчального призначення та стала мовою професійного програмування з універсальними можливостями. В силу названих переваг Паскальстав джерелом багатьох сучасних мовпрограмування. З того часу з'явилося кілька версій Турбо-Паскаля, остання – сьома.

Фірма Borland/Inpriseзавершила лінію продуктів Турбо-Паскальта перейшла до випуску системи візуальної розробки для Windows – Delphi.

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

p align="justify"> Період з кінця 60-х до початку 80-х років характеризується бурхливим зростанням числа різних мов програмування, що супроводжував кризу програмного забезпечення. У січні 1975 року Пентагон вирішив навести лад у хаосі трансляторів і заснував комітет, якому було наказано розробити одну універсальну мову. У травні 1979 року був оголошений переможець – група вчених на чолі з Жаном Іхбіа. Переможну мову охрестили Пекла, в честь Огасти Ади Левлейс. Ця мова призначена для створення і тривалого (багаторічного) супроводу великих програмних систем, Допускає можливість паралельної обробки, управління процесами в реальному часі.

Зауваження 1

Для перших програм потрібно було встановлювати ключові перемикачі на передній панелі обчислювального пристрою. Природно, за допомогою такого способу можна було складати лише невеликі програми. Однією з перших спроб створення повноцінної мови програмування було здійснено німецьким вченим Конрадом Цузе, який за період 1943–1945 років. розробив мову Plankalkul. Plankalkul був дуже перспективною мовою, який фактично був мовою високого рівня, проте за часів війни він не отримав належної практичної реалізації, яке опис було опубліковано лише у 1972г.

Машинний код Асемблер

Історія мов програмування починається з розробки машинної мови: мови логічного нуля та одиниці. Запис за допомогою цієї мови був дуже складним і стомлюючим.

Для полегшення роботи програмістів наприкінці 1940-х років. було розроблено мову асемблер. Замість двійкових цифр, які означали будь-яку команду, записувалися короткі слова або абревіатури. Програмісти вважають асемблер мовою програмування низького рівняоскільки він близький до мови найнижчого рівня – машинного. Програми, написані на асемблері, безпосередньо залежить від характеристик конкретного процесора, тому його називають машинно-орієнтованою мовою.

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

Алгоритмічні мови

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

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

  • Компіляція (Compilation) – метод виконання програм, у якому інструкції програми виконуються лише тому випадку, коли зібрано переклад всього тексту програми.
  • Інтерпретація (Interpretation) – метод виконання програм, у якому інструкції програми перекладаються і одночасно виконуються.

Примітка 2

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

Структурне програмування

У 1954 р. було розпочато розробку першого компілятора мови високого рівня. Через два роки з'явилася мова Fortran (FORmula TRANslator – перекладач формул). Мова містила кошти, які значно спрощували розробку, проте програмування на Fortran не було простим завданням: якщо в коротких програмах він був легко розуміти, то коли справа стосувалася великих програм мова ставала нечитаною. Незважаючи на це, мова була досить успішною і було випущено багато її версій.

Проблеми було вирішено після розробки мов структурного програмування: у них з'явилася можливість створення програмних блоків, незалежних підпрограм, підтримки рекурсії та локальних змінних, відсутність оператора безумовного переходу (GoTo). Таким чином, такі мови стали підтримувати можливість розбиття програми на елементи.

Протягом десяти років було створено досить велику кількість нових мов:

  1. Algol (1958) призначався для запису алгоритмів, які складені з відокремлених блоків;
  2. Cobol (1959 р.) використовувався для масової обробки даних у сферах управління та бізнесу;
  3. Basic (1965 р.) дозволяв писати прості програми, Використовувався для навчання основ програмування.

Зовсім небагато із створених мов були структурованими. Також було створено спеціалізовані мови: Lisp, Prolog, Forth тощо. Особливої ​​уваги заслуговує мова Pascal(1970), названий на честь вченого Блеза Паскаля, який використовувався як для навчання, так і для вирішення завдань різної складності. Програми на Pascal легко читаються, що дозволяє швидко знаходити та виправляти помилки, також він був добре структурованим. Все вищеперелічене призвело до його широкої поширеності, і навіть зараз його активно використовують у навчальних закладах.

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

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

Об'єктно-орієнтоване програмування (ООП)

З 1970-х років. було закладено основи об'єктно-орієнтованого програмування (ООП), яке виникло як посада розвитку процедурного програмування, у якому дані та підпрограми їх обробки формально були пов'язані.

ООП включає такі основні поняття:

  • Клас- Модель ще не існуючого об'єкта. Фактично він є схемою об'єкта, описуючи його пристрій.
  • Об'єкт– екземпляр класу, сутність в адресному просторі обчислювальної системи, що з'являється під час створення екземпляра класу.
  • Абстракція– присвоєння об'єкту характеристик, що чітко визначають його межі, які відрізняють його від усіх інших об'єктів. Основною ідеєю є відокремлення способу використання складових об'єктів даних від деталей їх реалізації у вигляді більш простих об'єктів.
  • Інкапсуляція– об'єднання властивостей (даних) та методів (підпрограм) у класі для того, щоб приховати дані об'єкта від решти програми та забезпечити цілісність та незалежність об'єкта (зміна властивостей об'єкта можлива лише через спеціальні методи класу).
  • успадкування– механізм мови, що дозволяє описати новий клас на основі вже існуючого класу (або класів) з додаванням нових властивостей та методів.
  • Поліморфізм– властивість системи використовувати об'єкти з однаковим інтерфейсом без отримання інформації про його тип та внутрішню структуру.

Примітка 3

У 1967 р. з'явилася мова Симула – перша мова програмування, у якому було запропоновано принципи об'єктної орієнтованості. Він підтримував роботу з об'єктами, класами, віртуальними методами тощо, але ці можливості не отримали гідної оцінки сучасників. Тим не менш, більшість цих концепцій були закладені Аланом Кеєм і Деном Інгаллсом в мову Smalltalk, яка стала першою широко поширеною об'єктно-орієнтованою мовою програмування.

В даний час число прикладних мов програмування, які реалізують об'єктно-орієнтовану парадигму, є найбільшим по відношенню до інших парадигм. Основні мови, що підтримують концепцію ООП: C++, C#, Object Pascal (Delphi), Java тощо.

Розвиток Інтернету

З розвитком технології WWW (World Wide Web) Інтернет став дуже популярним. Було створено велику кількість допоміжних мов для забезпечення роботи з Інтернетом, оформлення сайтів, доступу до ресурсів тощо.

Стає поширеною інтерпретована мова Perl, яка відрізняється своєю простотою та легкою переносимістю на інші платформи. Він призначений для написання додатків та CGI-скриптів різної складності. Також широко використовується і відіграє значну роль у розвитку та функціонуванні Інтернету мова Java.

У 1970-х роках. з'явилася мова SQL – мова структурованих запитів, яка була створена для доступу та роботи з базами даних.

Для написання кодів сторінок веб-сайтів розроблено мову розмітки гіпертекстів HTML, яка містить команди для розмітки та оформлення тексту та графіки. Для надання більшої привабливості та функціональності сайту використовуються:

  • Скрипти JavaScript, які виконуються у веб-браузері користувача та використовуються в основному для покращення зовнішнього виглядусайту та вирішення дрібних завдань.
  • Скрипти PHP, які виконуються на стороні сервера та надсилають у браузер користувача вже оброблену інформацію. Застосовуються для створення динамічних HTML-сторінок, гостьових книг, ведення форумів та опитувань.
  • CGI-сценарії, написані переважно на Perl, C/C++, виконуються за сервера і залежить від конкретних дій користувача. Застосовуються, як і сценарії PHP, для створення динамічних HTML-сторінок, гостьових книг, ведення форумів та опитувань.

Надіслати свою гарну роботу до бази знань просто. Використовуйте форму нижче

гарну роботуна сайт">

Студенти, аспіранти, молоді вчені, які використовують базу знань у своєму навчанні та роботі, будуть вам дуже вдячні.

Розміщено на http://www.allbest.ru/

Вступ

1. Теоретична частина

2. Практична частина

2.2 Створення бази даних

2.3 Запуск програми

Висновок

Список літератури

Додаток А. Код форми заставка

Додаток B. Код головної форми

Додаток C. Код модуля даних

Додаток D. Код форми редактора

ВСТУП

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

Об'єктом дослідження є технології програмування.

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

Метою даної курсової роботиє вивчення історії виникнення програмування та основних принципів та підходів при створенні мови програмування.

Для досягнення поставленої мети необхідно вирішити такі завдання:

1. Проаналізувати інформаційні джерела з технологій програмування;

2. Розглянути історію розвитку технологій програмування;

3. Виявити етапи розвитку технологій програмування.

4. Створити базу для зберігання інформації про співробітників.

5. Спроектувати програму.

1. ТЕОРЕТИЧНА ЧАСТИНА

1.1 Поняття та класифікація мов програмування

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

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

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

Як показала надалі практика спілкування з комп'ютером, така мова громіздка і незручна. При користуванні ним легко припуститися помилки, записавши не в тій послідовності 1 або 0. Програму дуже важко контролювати. Крім того, при програмуванні в машинних кодах треба добре знати внутрішню структуру ЕОМ, принцип роботи кожного блоку. І найгірше в такій мові, що програмування в машинних кодах вимагає від програміста багато часу, праці, підвищеної уваги.

Це призвело до необхідності знайти такий засіб, який дозволить просто налагодити спілкування людини і комп'ютера. І такий засіб було знайдено: різні символічні мови та відповідні їм транслятори (системи програмування).

Мова програмування - формалізована мова для опису алгоритму розв'язання задачі на комп'ютері.

Для автоматизації програмування розроблявся кожної ЕОМ свій автокод (чи Ассемблер). Ця мова повною мірою повторює набір команд машинної мови і з'явився лише спрощення програмування на машинному коді.

Подальший розвиток мовних засобів йшло шляхом створення машинно-незалежних мов, що дозволяють писати програми на будь-якій доступній ЕОМ з передбаченою можливістю перенесення на більш досконалу архітектуру.

У світі налічується кілька сотень символічних мов програмування різних структур та можливостей, які можуть бути класифіковані за різними ознаками.

Якщо як ознака класифікації взяти синтаксис освіти конструкцій мов програмування, їх можна умовно розділити на такі классы:

машинні мови (computer language) - мови програмування, що сприймаються апаратною частиною комп'ютера (машинні коди);

машинно-орієнтовані мови (computer oriented language) - мови програмування, які відображають структуру конкретного типу комп'ютера (Ассемблери);

алгоритмічні мови (algorithmic language) - не залежать від архітектури комп'ютера мови програмування для відображення структури алгоритму (Паскаль, Фортран, Бейсік та ін);

процедурно-орієнтовані мови (procedure oriented language) - мови програмування, де є можливість опису програми як сукупності процедур (підпрограм);

проблемно-орієнтовані мови (universal programming language) - мови програмування, призначені для вирішення завдань певного класу (Лісп, РПГ, Сімула та ін);

ѕ інтегровані системи програмування.

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

процедурні;

ѕ функціональні;

ѕ логічні;

ѕ об'єктно-орієнтовані.

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

1.2 Історія появи мов програмування

З давніх-давен відомі спроби створити пристрої, що прискорюють і полегшують процес обчислень. Ще древні греки та римляни застосовували пристосування, подібне до рахунків, абак. Такі пристрої були відомі у країнах Стародавнього Сходу. У XV ст. німецькі вчені В. Шиккард (1623), Г. Лейбніц (1673) та французький вчений Б. Паскаль (1642) створили механічні обчислювальні пристрої – попередники всім відомого арифмометра. Обчислювальні машини вдосконалювалися протягом кількох століть. Але при цьому не застосовувалося поняття «програма та програмування».

На початку ХІХ ст. (1830) англійський вчений, професор математики Кембриджського університету Чарльз Беббідж, аналізуючи результати обробки перепису населення у Франції, теоретично досліджував процес виконання обчислень та обґрунтував основи архітектури обчислювальної машини. Працюючи над проектом аналітичної машини - «Машини для обчислення різниць», Ч. Беббідж передбачив багато ідеї та принципи організації та роботи сучасних ЕОМ, зокрема принцип програмного управління та програми, що запам'ятовується. Загальна захопленість наукою дала вченому та Аді Лавлейс (1815-1852) довгі роки плідної співпраці. У 1843 р. вона переклала статтю Менабреа з лекцій Ч. Беббіджа, де у вигляді докладних коментарів (за обсягом вони перевершували основний текст) сформулювала основні засади програмування аналітичної машини. Вона розробила першу програму (1843) для машини Беббіджа, переконала його у необхідності використання у винаході двійкової системичислення замість десяткової, розробила принципи програмування, що передбачають повторення однієї й тієї ж послідовності команд за певних умов. Саме вона запропонувала терміни «робочий осередок» та «цикл».

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

У 1854 р. англійський математик Джордж Буль опублікував книгу "Закони мислення", в якій розвинув алгебру висловлювань - Булеву алгебру. На її основі на початку 80-х років. ХІХ ст. побудовано теорію релейно-контактних схем та конструювання складних дискретних автоматів. Алгебра логіки багатогранно вплинула на розвиток обчислювальної техніки, будучи інструментом розробки та аналізу складних схем, інструментом оптимізації великої кількості логічних елементів, з тисяч яких складається сучасна ЕОМ.

Ідеї ​​Ч. Беббіджа реалізував американський вчений Г. Холлеріт, який за допомогою побудованої лічильно-аналітичної машини та перфокарт за три роки опрацював результати перепису населення в США станом на 1890р. У машині вперше було використано електрику. У 1896 р. Холлерітом була заснована фірма з випуску обчислювальних перфораційних машин та перфокарт.

У 1936 р. англійський математик А. Тюрінг ввів поняття машини Тьюринга як формального уточнення інтуїтивного поняття алгоритму. Вчений показав, що будь-який алгоритм у певному сенсі може бути реалізований машиною Тьюринга, отже, доводив можливість побудови універсальної ЕОМ. І та, і інша машини аналогічно можуть бути забезпечені вихідними даними розв'язуваної задачі та програмою її вирішення. Машину Тьюринга вважатимуться, як ідеалізованою моделлю універсальної ЕОМ.

У 40-х роках. XX ст. механічна елементна база обчислювальних машин стала замінюватись електричними та електронними пристроями. Перші електромеханічні машини було створено Німеччині К. Цузе (Ц-3, 1941г.) й у США під керівництвом професора Гарвардського університету Р. Айкена (МАРК-1, 1944 р.). Перша електронна машина створена в США групою інженерів під керівництвом доктора Пенсільванського університету Дж. Мочлі та аспіранта Дж. Ексрта (ЕНІАК - електронний числовий інтегратор і калькулятор, 1946 р.). У 1949 р. в Англії була побудована EDSAC - перша машина, що володіє автоматичним. програмним управлінням, внутрішнім пристроєм та іншими необхідними компонентами сучасних ЕОМ.

Логічні схеми обчислювальних машин розробили наприкінці 1940-х гг. Дж. фон Нейманом, Г. Гольдстайн і А. В. Беркс. Особливий внесок у цю роботу зробив американський математик Джон фон Нейман, який брав участь у створенні ЕНІАК. Він запропонував ідею зберігання команд управління та даних у машинній пам'яті та сформулював основні принципи побудови сучасних ЕОМ. ЕОМ з програмою, що зберігається, виявилися більш швидкодіючими і гнучкими, ніж раніше створені.

У 1951 р. США було налагоджено перше серійне виробництво електронних машин УНИВАК (універсальна автоматична обчислювальна машина). У цей час фірма IBM розпочала серійний випуск машини IBM/701.

У СРСР першими авторами ЕОМ, винайденої у грудні 1948 р., є І. С. Брук та Б. І. Рамєєв. А перша радянська ЕОМ з програмою, що зберігається, створена в 1951 р. під керівництвом С. А Лебедєва (МЕСМ - мала електронна рахункова машина). У 1953 р. у Радянському Союзі розпочався серійний випуск машин, першими з яких були БЭСМ-1, «Стріла».

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

До кінця 1950-х років. ЕОМ основним елементом конструкції були електронні лампи (перше покоління). У цей період розвиток ідеології та техніки програмування йшло за рахунок досягнень американських учених Дж. фон Неймана, який сформулював основні принципи побудови ЕОМ, та Дж. Бекуса, під керівництвом якого в 1954 р. був створений Fortran (Formula Translation) – перша мова програмування високого рівня використовується до теперішнього часу в різних модифікаціях. Так було в 1965 р. у Дартмутському коледжі Д. Кемені і Т. Куртцем розробили спрощену версію Фортрана -Basic. У 1966 р. комісія при Американській асоціації стандартів (ASA) розробила два стандарти мови: Фортран та Базисний Фортран. Використовуються також подальші модифікації мови (наприклад, 1970, 1990).

Досягнення галузі електроніки і мікроелектроніки дозволили замінити елементну базу ЕОМ більш досконалу. Наприкінці 1950-х років. громіздкі електронні лампи замінюють напівпровідниками (мініатюрними транзисторами). З'являються ЕОМ ІІ покоління; потім через 10 років - ЕОМ III покоління на інтегральних схемах; Ще через 10 років - ЕОМ IV покоління на високих інтегральних схемах (ВІС). У Японії в 1990-х роках. реалізовано проекти ЕОМ V покоління, у яких використано досягнення у галузі штучного інтелекту та біоелектроніки. Якщо обсяг оперативного запам'ятовуючого пристрою (ОЗП) однієї з найкращих вітчизняних машин 1960-х років. М-20, створеної під керівництвом С.А.Лебедєва в 1958 р., мав 4096 слів (8 Кбайт) та швидкодію 20 тис. операцій на секунду, то сучасні персональні комп'ютери характеризуються ОЗУ в десятки Мбайт та швидкодією у сотні мільйонів операцій на секунду що дозволяє вирішувати найскладніші завдання.

У 1953 р. А.А.Ляпуновим був запропонований операторний метод програмування, який полягав у автоматизації програмування, а алгоритм розв'язання задачі представлявся у вигляді сукупності операторів, що утворюють логічну схему задачі. Схеми дозволяли розчленувати громіздкий процес складання програми, частини якої складалися за формальними правилами, а потім поєднувалися в ціле. Для перевірки ідей операторного методу у СРСР 1954 р. було розроблено перша програмуюча програма ПП-1, а 1955 р. досконаліша - ПП-2. У 1956 р. розроблено ПП БЭСМ, 1957 р. - ППСВ, 1958 р. - для машини «Стріла».

У 1954 р. став застосовуватися алгебраїчний підхід, що збігається, по суті, з операторним методом. У 1956 р. корпорацією IBM розроблено універсальну ПП Фортран для автоматичного програмування на ЕОМ IBM/704.

У цей час у міру накопичення досвіду і теоретичного осмислення вдосконалювалися мови програмування. У 1958 -1960 рр. у Європі було створено ALGOL, який породив цілу серію алголоподібних мов: Algol W, (1967), Algol 68, Pascal (Н. Вірт, 1970 р.), С (Д. Рітчі та Б. Керніган, 1972 р.), Ada (Під керівництвом Ж. Ішбіа, 1979 р.), C++ (1983).

У 1961-1962 pp. Дж. Маккарті в Массачусетському технологічному інституті було створено мову функціонального програмування Lisp, який відкрив у програмуванні одне з альтернативних напрямів, запропонованих Дж. фон Нейманом.

На початок 1970-х років. існувало понад 700 мов високого рівня та близько 300 трансляторів для автоматизації програмування.

1.3 Мови процедурного програмування

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

Однією з перших процедурних мов програмування високого рівня став Фортран, створений на початку 50-х років. США фірмою IBM. Перша публікація про неї з'явилася 1954 р. Основне призначення мови - програмування науково-технічних завдань. Об'єктами мови є цілі та речові числата числові змінні. Вирази у ньому формуються за допомогою чотирьох арифметичних дій: зведення у ступінь, логічних операційІ, АБО, НЕ, операцій відносини та круглих дужок. Основні оператори Фортрана - введення, виведення, присвоєння, умовний та безумовний перехід, цикл, виклик підпрограм.

Довгі роки він був однією з найпоширеніших мов у світі. За цей час накопичено величезну бібліотеку програм, написаних на Фортрані. І зараз тривають роботи над черговим стандартом Фортрана. У 2000 р. була реалізована версія Fortran F2k, є стандартна версія HPF (HighPerformanceFortran) для паралельних суперкомп'ютерів. Багато засобів Фортрану використані в мовах PL-1 та Бейсік.

Кобол (O Ommon Zfusiness Oriented language - загальноприйнята ділова мова) - мова програмування, орієнтована рішення завдань обробки даних. Широко використовується для вирішення обліково-економічних та управлінських завдань. Розроблено в США в 1958-1960 рр.. Програма на Коболі має вигляд ряду пропозицій на англійськоюта нагадує звичайний текст. Групи послідовно записаних операторів об'єднуються у пропозиції, пропозиції - у параграфи, параграфи - у секції. Програміст надає параграфам та секціям імена (мітки), що полегшує безпосереднє звернення до потрібної ділянки програми. У був прийнятий російський варіант мови. У Коболі було реалізовано потужні засоби роботи з великими обсягами даних, що зберігаються на різних зовнішніх носіях. Цією мовою створено багато програм, деякі з них активно експлуатуються і зараз.

Досить сказати, що однією із високооплачуваних категорією громадян у США є програмісти на Коболі.

Алгол розроблений групою зарубіжних спеціалістів у 1960 р., став результатом міжнародного співробітництва кінця 50-х років. (Алгол-60). Алгол призначався для запису алгоритмів, побудованих як послідовності процедур, застосовуваних під час вирішення поставлених завдань. Фахівці-практики сприймали цю мову неоднозначно, проте вона як визнана міжнародна мова відіграла велику роль у становленні основних понять програмування і для навчання програмістів. У ньому вперше запроваджено поняття «блочна структура програми», «динамічний розподіл пам'яті». Усередині блоку в Алголі можна вводити локальні позначення, які залежить від решти програми. Незважаючи на своє міжнародне походження, Алгол-60 набув меншого поширення, ніж

Фортран. Наприклад, не всіх зарубіжних ЕОМ були транслятори з Алгола-60. У 1968 р. у результаті подальшого розвиткута удосконалення Алгола-60 була створена версія Алгол-68. Це багатоцільова універсальна розширена мова програмування.

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

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

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

На початку 60-х років. кожен із існуючих мов програмування був спрямований різні класи завдань, але у тому мірою прив'язаний до конкретної архітектурі ЕОМ. Були зроблені спроби подолати цей недолік шляхом створення універсальної мови програмування. ПЛ/1 (PL/1 - Programming language One) - перша багатоцільова універсальна мова, розроблена в США фірмою IBM в 1963-1966 гг. Це одна з найбільш поширених універсальних мов, вона добре пристосована для вирішення завдань у галузі обчислювальної техніки: дослідження та планування обчислювальних процесів, моделювання, вирішення логічних задач та дослідження логічних схем, розробки систем математичного забезпечення. p align="justify"> При розробці PL/1 були широко використані основні поняття та засоби мов Фортран, Алгол-60, Кобол. PL/1 - багата і гнучка мова, дає можливість робити вставки, виправляти текст програми в процесі її налагодження. Мова набула широкого поширення, транслятори з нього є для багатьох типів комп'ютерів. Компанія IBM і сьогодні продовжує підтримувати цю мову.

Паскаль є однією з найбільш популярних процедурних мов програмування, особливо для персональних комп'ютерів. Створена як навчальна мова програмування в 1968-1971 рр. Ніклаусом Віртом у Вищій технічній школі (ЕТН) у Цюріху (Швейцарія), він був названий на честь французького математика та філософа Блеза Паскаля (1623-1662). Завданням Н. Вірта було створення мови, що базується на простому синтаксисі та невеликій кількості базових конструкцій, що переводиться в машинний код простим компілятором.

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

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

ѕ Програмування зверху вниз, коли завдання ділиться на прості підзавдання, що самостійно вирішуються. Потім на основі вирішених підзавдань вибудовується рішення вихідного завдання повністю зверху вниз.

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

Період з кінця 60-х до початку 80-х. характеризується бурхливим зростанням кількості різних мов програмування, що супроводжувало, хоч як це парадоксально, криза програмного забезпечення. Ця криза особливо гостро переживала військове відомство США. У січні 1975 р. Пентагон вирішив навести лад серед незліченної безлічі трансляторів і створив комітет для розробки однієї універсальної мови. На конкурсній основі комітет розглянув сотні проектів і з'ясував, що жодна з існуючих мов не може задовольнити їхні вимоги, для остаточного розгляду було залишено два проекти. У травні 1979 р. було оголошено переможця - група вчених на чолі з Жаном Іхбіа. Перемогли мову назвали АДА, на честь Ади Лавлейс, дочки великого поета Байрона. Вона в юності була захоплена ідеями Чарльза Беббіджа і допомагала йому складати опис машини, а на початку 40-х років. ХІХ ст. розробила першу у світі програму для обчислювальної машини. Мова АДА - прямий спадкоємець Паскаля. Він призначений для створення та тривалого супроводу великих програмних систем, управління процесами у реальному масштабі часу. У мові чітко виражена модульність його конструкцій, причому забезпечується зручність організації різноманітних зв'язків між модулями. Важливою його перевагою є можливість паралельного програмування гілок програми, які можуть реалізуватися на багатопроцесорних комп'ютерах. Мова АДА складна для вивчення.

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

1.4 Мови штучного інтелекту

Саме поняття "штучний інтелект" виникло на зорі обчислювальної техніки. Незважаючи на поважний вік, цей термін не має точного визначення і завжди розумівся в інтуїтивному сенсі. Зазвичай кажуть, що до галузі штучного інтелекту належать ті завдання, які досі людина вирішує краще за комп'ютер. Таким чином, коло вирішуваних у рамках штучного інтелекту проблем постійно динамічно змінюється. Наприклад, ще кілька років тому навчання ЕОМ грі в шахи було прерогативою AI (від англійської Artifical Intelligence – штучний інтелект), але сьогодні все більше фахівців вважає, що гра в шахи вже не є проблемою штучного інтелекту. Сьогодні головними проблемами, розв'язуваними у межах AI, є приблизно такі: побудова експертних систем, вирішення завдань пошуку, у яких повний перебір варіантів теоретично неможливий (зокрема - програмування ігор), моделювання біологічних форм, розпізнавання образів. Фундаментальні принципи вирішення всіх цих завдань були закладені ще на початку сімдесятих, але у зв'язку з тим, що завдання AI дуже ресурсомісткі, даний розвиток вони отримали тільки в наші дні.

Для вирішення завдань AI ще на початку сімдесятих років було створено дві специфічні мови програмування - Пролог (Prolog) та Лісп (LISP). Сучасний розробник штучного інтелекту має вільно володіти кожним із них. Далі зупинимося на характерних їх особливостях.

Історично Лісп більше стара мова. Концепція, що він представляє, називається функціональним програмуванням, є прямим продовженням звичайного алгоритмічного підходу. Лісп-програма є функцією, результат обчислення якої - це результат роботи програми, а аргументи, найчастіше - інші виклики функцій. У зв'язку з об'єктивними причинами в Лиспе прийнято безскобочная запис під час виклику функцій, виклик будь-який функції здійснюється з допомогою списку, першим елементом якого є назва функції, проте інші елементи представляють аргументи. Наприклад, додавання двох чисел A і B може виглядати так: (add A B), додавання трьох чисел - так: (add A (add B C)). Найважливішою особливістю Лиспа є те, що запис виду (add A B) може являти собою не тільки список, як виклик функції, але і список, як елемент даних, що містить в собі три компоненти - add, A і B. Рішення про те, чи слід використовувати список як дані, чи його необхідно інтерпретувати, чи в рамках Ліспа може прийматися самою програмою. Таким чином, програма отримує можливість модифікувати власний код, що є надзвичайно важливим для додатків AI.

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

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

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

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

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

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

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

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

ѕ Одна або кілька динамічних структур даних, які можуть аналізуватися та модифікуватися активізованим модулем.

ѕ Інтерпретатор, який циклічно керує вибором та активізацією модулів.

Дослідження у цій галузі останніми роками концентруються навколо наступних завдань:

ѕ пошук ефективних методівреалізації інтерпретаторів;

ѕ створення на основі "чистих формалізмів" програмних засобів, придатних для практичного застосування;

ѕ проведення експериментів зі "змішаними" формалізмами, що поєднують різні парадигми.

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

1.5 Об'єктно-орієнтований підхід до програмування

На зміну структурному програмуванню на початку 1990-х років. прийшло об'єктно-орієнтоване програмування – ООП. Його можна розглядати як модульне програмування нового рівня, коли натомість багато в чому випадкового, механічного об'єднання процедур і даних головним стає їх смисловий зв'язок. Об'єкт розглядається як логічна одиниця, яка містить дані та правила (методи) їх обробки. Об'єктно-орієнтована мова створює "програмне оточення" у вигляді безлічі незалежних об'єктів, кожен з яких відрізняється своїми властивостями та способами взаємодії з іншими об'єктами. Програміст визначає сукупність операцій, описуючи структуру обміну повідомленнями між об'єктами. Зазвичай, він «не заглядає» всередину об'єктів, але за необхідності може змінювати елементи всередині об'єктів чи формувати нові.

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

ѕ Інкапсуляція - об'єднання в єдине ціле даних та алгоритмів їх обробки. Дані тут – поля об'єкта, а алгоритми – об'єктні методи.

ѕ Спадкування - властивість об'єктів породжувати своїх нащадків. Об'єкт-нащадок автоматично успадковує всі поля та методи, може доповнювати об'єкти новими полями, замінювати та доповнювати методи.

ѕ Поліморфізм - властивість споріднених об'єктів вирішувати схожі за змістом проблеми у різний спосіб.

Ідея використання програмних об'єктів досліджувалася протягом кількох років різними вченими. Однією з перших мов цього вважають Simula-67. А 1972 р. з'явився мову Smoltalk, розроблений Аланом Кеєм, який затвердив статус ООП.

На етапі розвиваються інструментальні середовища та системи візуального програмування до створення програм мовами високого рівня: (Turbo Pascal, Delphi, VisualBasic, C++Builder та інших.).

1.6 Компонентне програмування

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

У КП компонент розглядається як сховище (у вигляді DLL або ЕХЕ файлів) для одного або декількох класів. Класи поширюються у бінарному вигляді, а не у вигляді вихідного коду. Надання доступу до методів класу здійснюється через певні інтерфейси по протоколу. Це знімає проблему несумісності компіляторів, забезпечуючи без перекомпіляції зміну версій класів у різних додатках. Інтерфейси задають зміст сервісу та є посередником між клієнтом та сервером.

Фірма Microsoft створила технології розподіленої розробки розподілених систем, такі як COM (Component Object Model), COM+, .NET. Розроблено й інші технології: CORBA (консорціуму OMG), JAVA (компанії Sun Microsystem) та ін. Ідея перекласти на ЕОМ функції упорядників алгоритмів та програмістів дала нові можливості розвитку сфери штучного інтелекту, яка мала створювати методи автоматичного вирішення інтелектуальних завдань. Формалізація знань, які у професіоналів у різних галузях, накопичення в базах знань, реалізованих на ЕОМ, стали основою створення експертних систем. На основі баз знань працюють і ЕОМ V покоління, і інтелектуальні роботи, експертні системи. Ці системи можуть як знайти рішення тієї чи іншої завдання, а й пояснити, як його отримано.

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

Наприкінці 1980-х років. у Японії та США з'явилися проекти ЕОМ V покоління, реалізовані наприкінці 1990-х років. Прогрес у програмуванні пов'язаний із прогресом в архітектурі обчислювальних систем, відходом від фон-нейманівської концепції, з досягненнями у галузі штучного інтелекту. Революційні зміни у елементної основі ЕОМ пов'язуються з дослідженнями з біоелектроніці.

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

1. (Внутрішній) програми для апаратури;

2. ядро ​​ОС;

3. програми сполучення;

4. частина ОС, орієнтована користувача;

5. системи програмування;

6. (Зовнішній) програми користувача.

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

1.7 Застосування структурних та об'єктно-орієнтованих методів програмування

Широке застосування структурних та об'єктно-орієнтованих методів програмування з використанням графічних моделей поєднувалося відсутністю інструментальних засобів. Це породило потребу у програмно-технологічних засобах спеціального класу -CASE (Computer Aided Software Engineering), що реалізують технологію створення та супроводу програмного забезпечення різних систем. Передумови появи CASE-технологій з'явилися наприкінці 1980-х гг. Спочатку термін CASE застосовувався тільки до питань автоматизації розробки ПЗ, тепер програмна інженерія має ширше значення для розробки систем в цілому. У CASE-технології входить розробка та впровадження мов високого рівня, методів структурного та модульного програмування, мов проектування та засобів їх підтримки, формальних та неформальних мов опису системних вимог.

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

На початку цього століття текстові процесори стали досконалішими. Поряд з простішими (наприклад, Professional Write та ін.) з'явилися такі потужні, як MS WinWord, Word Perfect Word Star 2000 та ін. З вітчизняних широкого поширення набув текстовий процесор Лексикон.

З початку 1980-х років. для підготовки та обробки числової інформації стали використовуватися табличні процесори. У 1979 р. Д. Брікклін запропонував першу програму для роботи з електронними таблицями VisiCalc. У 1981 р. було розроблено систему Super Calc фірми «Computer Associates», в 1982 р. - Multiplan фірми «Microsoft», далі - пакет IBM PC Lotus -2-3 фірми «Lotus Development», русифіковані пакети АБАК, ДРАКОН і ін У 1985 р. з'явився табличний процесор Excel фірми «Microsoft» спочатку для персонального комп'ютера Macintosh, а потім для сумісних із IBM PC. Цей процесор розроблявся паралельно з ОС Windows, його версії увібрали всі риси графічного інтерфейсу, аж до версій Excel 5.0 як програми Windows 3.1, Excel 7.0 як додатки Windows 95 і т. д. Останніми роками створено чимало систем підготовки табличних документів, т. е. електронних таблиць, табличних процесорів (наприклад, Corel Quattro 6.0 фірми «Corel Co», Lotus 5.0 фірми «Lotus Development Co», Office Proftessional for Windows фірми"Microsoft") - але найбільш широко використовують електронні таблиці Excel.

Розроблено велику кількість стандартних реляційних систем управління базами даних – СУБД (наприклад, MS Access, paradox та ін.), на основі яких будують реляційні бази даних у різних предметних галузях.

Для багатьох організацій (особливо управлінських) розроблено так звані офісні пакети, в яких на основі єдиної ОС функціонують додатки, що включають системи для роботи з різними видами інформації. Наприклад, створено пакети додатків до ОС Windows (MS Office, Word Perfect Office фірми "Corel", Star Office фірми "Sun Microsystems" та ін), які включають програмні засоби для виконання функцій обробки всіх видів інформації. Наприклад, MS Office включає вдосконалюються рік у рік (залежно від останньої версіїОС Windows) засоби обробки тексту (MS Word), графіки (PhotoDraw) та презентацій (PowerPoint), таблиць (Excel), баз даних (Access), електронної пошти(Outlook), роботи у Всесвітньому павутинні (FrontPage), створення звукових кліпів (MS Sound Recorder).

2. ПРАКТИЧНА ЧАСТИНА

2.1 Обґрунтування програмного забезпечення

Delphi - це середовище розробки програм, орієнтованих працювати в операційних системах сімейства Windows. Програми Delphi створюються на основі сучасної технології візуального проектування, яка, в свою чергу, базується на ідеях об'єктно-орієнтованого програмування. Програми Delphi пишуться мовою ObjectPascal, яка є наступниками розвитком мови TurboPascal. Як випливає з його назви, ця мова також втілила концепцію об'єктно-орієнтованого програмування.

За допомогою Delphi можна створювати різні типи програм - і консольні програми, і віконні програми, і програми для роботи з базами даних та Internet. У консольних додатках для введення та виведення даних використовуються процедури Read, Readln, Write, Writeln. Для виконання консольної програми емулюється режим операційної системи MS DOS.

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

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

Основні компоненти MS Access:

· Побудовник таблиць;

· Побудовник екранних форм;

· Будівник SQL-запитів (мова SQL в MS Access не відповідає стандарту ANSI);

· Будівник звітів, що виводяться на друк.

Вони можуть викликати скрипти мовою VBA, тому MS Access дозволяє розробляти програми та БД практично «з нуля» або написати оболонку для зовнішньої БД.

Microsoft Jet Database Engine (англ.), яка використовується як двигун бази даних MS Access є файл-серверною СУБД і тому застосовна лише до додатків, що працюють з невеликими обсягами даних і при невеликій кількості користувачів, що одночасно працюють з цими даними. Безпосередньо в Access відсутня ряд механізмів, необхідних у розрахованих на багато користувачів базах даних, таких, наприклад, як тригери.

Access при роботі з базою даних інакше взаємодіє з жорстким (або гнучким) диском, ніж інші програми.

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

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

Цілісність даних у Access забезпечується також рахунок механізму транзакцій.

Кнопка «Зберегти» в Access теж є, але в Access у режимі перегляду даних вона потрібна, в першу чергу, для збереження зміненого режиму показу таблиці або іншого об'єкта - тобто для збереження таких змін, як:

· Зміна ширини стовпців і висоти рядків,

· Перестановка стовпців у режимі перегляду даних, «закріплення» стовпців та звільнення закріплених стовпців,

· Зміна сортування,

· Застосування нового фільтра,

· Зміна шрифту; кольори тексту, сітки та фону,

Крім того, в Access ця кнопка потрібна в режимі "Конструктор" для збереження змін структури об'єкта бази даних, зроблених у цьому режимі.

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

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

Щоб відновити файлу бази даних нормальний (мінімальний) обсяг (тобто щоб видалити з файлу порожнечу), в Access є кнопка «Стиснути і відновити базу даних» -- цю кнопку необхідно іноді натискати (при натисканні цієї кнопки ніяка інформація, ніякі дані з файлу бази даних не видаляються). Також базу даних можна запустити з параметром compact, що виконає стиснення автоматично і закриє базу після закінчення процесу.

мова програмування розробка програма

2.2 Створення бази даних

У базі даних було створено чотири таблиці: Адреса, Особисті дані, Посада, Телефони.

У таблиці «Адреса» зберігається інформація про місце проживання співробітників. У ній були створені такі поля: Співробітник, Країна, Місто, Дом_Адреса.

На малюнку 1 представлено таблицю Адреса в режимі конструктора.

Малюнок 1. - Таблиця «Адреса»

У таблиці «Посада» зберігатиметься інформація про посаду, яку займає співробітник. У ній було створено такі поля: Співробітник, Відділ, Посада.

Малюнок 2. - Таблиця «Посада»

У таблиці "Особисті дані" зберігається інформація про співробітників. У ній були створені такі поля: Ключ, Прізвище, Ім'я, По батькові, Стать, Сімейний стан, Діти, Дата народження, Дата вступу, Стаж, Освіта, Військовообов'язок (чоловік).

Малюнок 3. - Таблиця «Особисті дані»

У таблиці "Телефони" зберігається інформація про засоби зв'язку зі співробітником. У ній було створено такі поля: Співробітник, Телефон, Примітка.

Малюнок 4. - Таблиця «Телефони»

2.3 Запуск програми

Під час запуску програми вас вітає форма заставки.

Дана форма містить у собі компоненти Timer, Label та Image

Малюнок 5. - Форма заставки

· Компонент Timer має лише чотири властивості та одну подію, і працювати з компонентом Delphi Timer дуже просто.

...

Подібні документи

    Основні відомості про мови програмування та їх склад. Програма комп'ютера. Використання компілятора та оператори. Мови програмування високого рівня. Концепція об'єктно-орієнтованого програмування. Мови штучного інтелекту.

    презентація , додано 14.08.2013

    Машинні коди та асемблер. Перші мови програмування найвищого рівня. Мова програмування FORTRAN. Переваги та недоліки ALGOL. Наукові та бухгалтерські програми. Основні принципи, які дотримувалися під час створення мови програмування Basic.

    курсова робота , доданий 21.06.2014

    Використання об'єктно-орієнтованого програмування - хороше рішеннярозробки великих програмних проектів. Об'єкт та клас як основа об'єктно-орієнтованої мови. Поняття об'єктно-орієнтованих мов. Мови та програмне оточення.

    контрольна робота , доданий 17.01.2011

    Історія розвитку мов програмування; створення та поширення мови С++; новий підхід до розробки об'єктно-орієнтованого програмного забезпечення Застосування моделювання предметних областей для структуризації інформаційних відбитків.

    реферат, доданий 06.12.2010

    Опис сучасних мов програмування (Паскаль, Асемблер, С++, Бейсік, Лого, Форт, Пролог, Рефал та Лекс). Поняття, призначення та складові елементи систем програмування (машинно-орієнтованих та машинно-незалежних систем програмування).

    курсова робота , доданий 18.08.2010

    Семантика мов програмування. Процедурні та об'єктно-орієнтовані мови програмування. Стандартні бібліотеки шаблонів. Незалежність байт-коду від операційної системи та обладнання та можливість виконання Java-програми на будь-якому пристрої.

    реферат, доданий 24.11.2009

    Характеристики та властивості мов програмування. Дослідження еволюції об'єктно-орієнтованих мов програмування. Побудова еволюційної картки механізмів ОВП. Розробка концептуальної моделі функціонування інтерфейсу користувача.

    курсова робота , доданий 17.11.2014

    Поняття об'єктно-орієнтованого програмування, характеристика мов, що використовуються. Практична розробка засобів об'єктно-орієнтованого програмування завдання захисту інформації: програмна реалізація мовою С++, і навіть Turbo Pascal.

    курсова робота , доданий 22.12.2011

    Історія походження мов Веб-програмування. Історичні факти появи найпершого їх. Сутність сучасного, актуального нині, мови HTML, історія появи мови PHP, застосування мови Java Script та його використання.

    реферат, доданий 23.02.2013

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

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ

КРИМСЬКИЙ ЕКОНОМІЧНИЙ ІНСТИТУТ

ВВНЗ «КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ ім. В. Гетьмана»

КАФЕДРА ІНФОРМАЦІЙНИХ СИСТЕМ І ТЕХНОЛОГІЙ

ЗВІТ З ПРАКТИКИ

з дисципліни: «Економічна інформатика»

У першому розділі я розглядаю питання «Історії мов програмування». З розвитком обчислювальної техніки виникали різні методики програмування. На кожному етапі створювався новий підхід, який допомагав програмістам із зростаючим ускладненням програм. Перші програми полягали у встановленні ключових перемикачів на передній панелі обчислювального пристрою. Очевидно, у такий спосіб можна було скласти лише невеликі програми.

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

У другому розділі я розглядаю створення та використання формул у Excel. Формули в Excel допомагають вирішувати економічні завдання, не докладаючи великих зусиль і не вимагаючи великих знань у галузі математики та економіки. Формули служать до виконання розрахунків з використанням значень, які у інших осередках. Формули Excel здатні виконувати найпростіші арифметичні дії, складні обчислення та логічні перевірки. Більше того, вони дозволяють перетворювати числа або створювати альтернативні сценарії з негайним обчисленням результатів без необхідності введення додаткових даних.

У третьому розділі я описую створення сайту на тему: «Сайт будинку відпочинку». В даний час це дуже актуально і безпосередньо пов'язано з моєю майбутньою професією.


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

Як показала надалі практика спілкування з комп'ютером, така мова громіздка і незручна. При користуванні ним легко припуститися помилки, записавши не в тій послідовності 1 або 0. Програму дуже важко контролювати. Крім того, при програмуванні в машинних кодах треба добре знати внутрішню структуру ЕОМ, принцип роботи кожного блоку. І найгірше в такій мові, що програмування в машинних кодах вимагає від програміста багато часу, праці, підвищеної уваги.

Це призвело до необхідності знайти такий засіб, який дозволить просто налагодити спілкування людини і комп'ютера. І такий засіб було знайдено: різні символічні мови та відповідні їм транслятори (системи програмування).

Характеристика мов програмування

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

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

Мова високого рівня – це мова програмування, призначена для задоволення вимог програміста; він залежить від внутрішніх машинних кодів комп'ютера будь-якого типу. Мови високого рівня використовують для вирішення проблем і тому часто називають проблемно-орієнтованими мовами. Кожна команда мови високого рівня еквівалентна декільком командам у машинних кодах, тому програми, написані мовами високого рівня, компактніші, ніж аналогічні програми в машинних кодах.

Коротка історія мов програмування. Хронологія

Всю історію комп'ютерної промисловості та комп'ютерних наук з певної точки зору можна представити як історію розвитку мов програмування. Змінюються часи, ускладнюються завдання, те, що раніше вимагало людино-років, нині ентузіасти роблять на коліні за кілька тижнів; накопичена величезна маса типових рішень, типових бібліотек та типових програмістів. А створення, розвиток та зміна мов програмування йде повним ходом.

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

Зараз я запропоную Вам коротку історіюмов програмування:

1801 – Йосип Марія Жаккард за допомогою перфокарт вишиває «hello world» на тканині. Хабровчани тих часів незадоволені відсутністю хвостової рекурсії, багатопоточності та великих букв.

1842 – Ада Лавлейс пише першу програму. Її успіхам перешкоджає маленька проблемка - комп'ютера виконання цієї програми ще винайшли. Через півтора століття архітектори корпоративних додатків переймуть техніку Ади з написання програм, що не виконуються, і назвуть цей метод UML.

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

1936 – Алонзо Черч теж винаходить усі можливі мови, тільки краще. Його лямбда-числення непопулярна, тому що несхоже на С. Критиков не бентежить, що мову С ще не винайшли.

1940-ті - Різні «комп'ютери» «програмують», паяючи дроти та замикаючи контакти.

1957 - Джон Бакус та IBM винаходять Фортран. З приводу IBM та Фортрана не жартують. Компілятор Фортрана видає помилку, якщо програміст немає краватки.

1958 - Джон МакКарті та Пол Грем вигадують ЛИСП. Популярності ЛІСПу заважає виснаження світових запасів круглих дужок, на щастя, запаси фігурних та кутових дужок практично невичерпні. Тим не менш, ЛІСП (у наш час відомий як Лісп, іноді Arc) - загальновизнаний стандарт у галузі «фундаментальних концепцій інформаційних технологій, таких як рекурсія та поблажливість»

1964 - Джон Кемні і Томас Курц пишуть БЕЙСІК, неструктуровану мову для людей, які не знаються на програмуванні.

1970 - Гай Стіл та Джеральд Зюсман створюють Схему. В результаті їх зусиль з'являється "Всемогутня Лямбда", а потім "Всемогутня Лямбда, Універсальна Мультиварка".

1970 - Ніклас Вірт створює процедурну мову Паскаль. Багато хто незадоволений відмінним від С синтаксисом оператора присвоєння. Критиків не бентежить, що мову С ще не винайшли.

1972 - Денніс Річі винаходить пістолет, який стріляє в обидва боки одночасно. Чи не задоволений числом смертей і каліцтв, що приносяться цим пристроєм, він створює мову С і Юнікс.

1972 - Ален Колмеро винаходить логічну мову Пролог. Завдання-максимум вченого – наділити комп'ютер інтелектом дворічної дитини. Він блискуче справляється із завданням, написавши програму, що відповідає «Ні!» на будь-який запит.

1973 - Робін Мілнер пише МЛ, мову на основі теорії типів M&M. МЛ породжує СМЛ, що має формально описану семантику. До мов сімейства МЛ входять OCaml, F# і Visual Basic.

1980 – Алан Кей пише Smalltalk і вигадує термін «об'єктно-орієнтований». На прохання пояснити він відповідає "Програми в ОВП - просто об'єкти". На питання, з чого складаються об'єкти, він відповідає «з об'єктів» і пояснює «все складається з об'єктів, у тому числі об'єктів. І стоїть на чотирьох слонах.

1983 - Бйорн Страуструп бере мову С, ліпить поверх нього все, що спадає на думку, і називає це С++. Щоб програми скомпілювалися за розумний час, їх доводиться відправляти до майбутнього штучного інтелекту Скайнет. Навіщо це потрібно Скайнету, незрозуміло.

1986 - Бред Кокс та Том Лав вигадують Objective-C. За їхніми словами, він «поєднує безпеку С із неймовірною швидкістю Smalltalk».

1987 – Ларрі Волл засинає на клавіатурі. Прокинувшись, він приймає рядок на моніторі за програму мовою, яку Господь написав написати своєму пророку Ларрі. Так утворюється Перл.

1990 - Комісія у складі Саймона Пейтон-Джонса, Пола Худака, Філіпа Водлера, Ештона Катчера та Товариства захисту прав тварин проектує Хаскелл - суто функціональна мова з лінивими обчисленнями.

1991 - Голландський програміст Гвідо ван Россум вирушає до Аргентини. Перенісши загадкову операцію, він повертається зі шрамом на черепі, пише Пітон, натовпи шанувальників проголошують його довічним диктатором, і він заявляє, що «є тільки один спосіб».

1995 - Брендан Ейк збирає помилки всіх відомих мов, додає кілька нових та об'єднує все у Livescript. Через деякий час мову перейменовують на Javascript, щоб скористатися популярністю мови Java. Через деякий час мову перейменовують на ECMAscript.

1996 - Джеймс Гослінг вигадує Яву. Ява - досить багатослівна статично типізована об'єктно-орієнтована мова на основі класів, зі складанням сміття, одиночною диспетчеризацією викликів, одиночним успадкуванням реалізації та множинним успадкуванням інтерфейсів. Sun голосно проголошує Java найінноваційнішою мовою.

2001 - Андерс Хейлсберг вигадує C1. C1 - досить багатослівна статично типізована об'єктно-орієнтована мова на основі класів, зі складанням сміття, одиночною диспетчеризацією викликів, одиночним успадкуванням реалізації та множинним успадкуванням інтерфейсів. Microsoft голосно проголошує C1 інноваційною мовою.

Мова Основне використання Опис
Пекла В обороні Високого рівня
Асемблер Роботи, що вимагають детального контролю за апаратним забезпеченням, швидкого виконання та програм малого розміру Швидкий та ефективний, але потребує певних зусиль та навичок
Бейсік В освіті, бізнесі, будинки Простий у вивченні
З Системне програмування, універсальне програмування Швидкий та ефективний, широко використовується як універсальна мова
С++ В об'єктно-орієнтованому програмуванні Заснований мовою С
Кобол Програмування у бізнесі Жорстко орієнтований на комерційні завдання, легко навчитися, але багато операторів
Форт Управління програмами Використовує інверсний польський запис
Фортран Наукова робота та обчислення Заснований на математичних формулах
Лісп Штучний інтелект Мова символів з репутацією важко вивчається
Модула-2 Системне програмування та програмування в режимі реального часу, універсальне програмування Високо структурований, призначений замінити Паскаль для додатків "реального світу"
Оберон Універсальне програмування Невелика, компактна мова, що поєднує багато рис Паскаля та Модула-2
Паскаль Універсальна мова Високо структурований
Пролог Штучний інтелект Символьно-логическая система програмування, спочатку призначена на вирішення теорем, але нині використовується найчастіше на вирішення завдань, що з штучним інтелектом

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

Використання формул Excel є однією з головних функцій роботи. До формули може входити до 1024 символів. Формула може включати такі елементи: функції, посилання, оператори, константи. У формулах можна використовувати посилання на комірки. У комірці на екрані може відображатися формула, або результат обчислень за цією формулою залежно від значення перемикача формули.

2.1 Створення та використання формул в Excel

Формули - це вираз, що починається зі знака рівності і складається з числових величин, адрес осередків, функцій, імен, які з'єднані знаками арифметичних операцій. До знаків арифметичних операцій, що використовуються в Excel належать: додавання; віднімання; множення; розподіл; зведення в ступінь.

Деякі операції у формулі мають вищий пріоритет і виконуються в такій послідовності:

зведення у ступінь та вирази в дужках;

множення та розподіл;

додавання та віднімання.

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

Формула є основним засобом аналізу даних. За допомогою формул можна складати, множити та порівнювати дані, а також поєднувати значення. Формули підпорядковуються певному синтаксису, куди входить знак рівності (=), обчислювані елементи (операнди) і оператори. Операнди можуть бути: константи, посилання або діапазони посилань, заголовки, імена або функції. Координати осередків можна вводити, вказуючи курсором на потрібну комірку.

Як створити формулу за допомогою миші:

Помістити курсор у комірку, в яку хочемо ввести формулу.

Введіть знак =.

Помістити курсор у комірку, координати якої повинні стояти на початку формули, і натиснути на ній.

Введіть оператор дії (+ або -) або інший символ.

Перемістити курсор у комірку, координати якої хочете використовувати та клацнути.

Формули використовуються для обчислень значень на основі комбінації інших значень (цифри, координати осередків, арифметичні оператори(+, -, *,/), а також інші формули; імена інших областей робочої таблиці координати осередків інших таблиць.

Як запровадити формулу.

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

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

У комірці з формулою відображається результат

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

Операторами позначаються операції, які потрібно виконати над операндами формули. У Microsoft Excelвключено чотири види операторів - арифметичні, текстові, а також оператори порівняння та адресні оператори.

Арифметичні оператори використовують для виконання основних математичних обчислень над числами. Результатом виконання арифметичної операції є число. Позначаються такими символами:

Додавання

- віднімання або унарний мінус

* множення

/ поділ

% відсоток

^ зведення в ступінь

Оператори порівняння використовують для позначення операцій порівняння двох чисел. Результатом виконання операції порівняння є логічне значення ІСТИНА або БРЕХНЯ. Позначаються такими символами:

> більше

< меньше

>= більше чи одно

<= меньше или равно

<>не дорівнює

Текстовий оператор & використовується для позначення операції поєднання послідовностей символів у єдину послідовність. Наприклад, результатом виконання виразу "Північний" & "вітер" буде: "Північний вітер".

Адресні оператори об'єднують діапазони осередків здійснення обчислень. Позначаються символами:

: - оператор діапазону, який посилається на всі осередки між межами діапазону включно;

Оператор об'єднання, який посилається на об'єднання осередків діапазонів;

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

Порядок виконання дій у формулах

Якщо формула складається з кількох операторів, дії виконуються у такому порядку:

: (двокрапка), (кома) (пробіл)

оператори посилань

-Унарний мінус (наприклад, -1)

^зведення в ступінь

* та /множення та розподіл

І – додавання та віднімання

Текстовий оператор

= < > <= >= <>оператори порівняння

Щоб змінити порядок обробки операторів, розставте круглі дужки.

мова програмування асемблер бейсик

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

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

Якщо функція з'являється на початку формули, їй повинен передувати знак рівності, як і в будь-якій іншій формулі.

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

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

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

Для зручності роботи функції в Excel розбиті за категоріями: функції управління базами даних та списками, функції дати та часу, DDE/Зовнішні функції, інженерні функції, фінансові, інформаційні, логічні, функції перегляду та посилань. Крім того, присутні такі категорії функцій: статистичні, текстові та математичні.

За допомогою текстових функцій можна обробляти текст: отримувати символи, знаходити потрібні, записувати символи в строго певне місце тексту і багато іншого.

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

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


Темою цього сайту є Сайт будинку відпочинку, який я назвала «WHITE STAR». Метою створення мого сайту є залучення максимальної кількості туристів, які могли б відпочити, оздоровитися, отримати масу задоволення в пансіонаті «WHITE STAR», а також точний опис та надання повної інформації про будинок відпочинку, ціни, послуги, які там надаються та якість обслуговування.

Мій сайт складається з 7 сторінок, перша сторінка, яка головна називається «***WHITE STAR***», решта 6 додаткових, в яких використовувалися наступні теги:

теги для створення фону сторінки: ;

теги блокової структури:

,
;

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

, і також можемо всередині цього тегу встановити товщину рамки , колір рамки фон таблиці і т.д. Задаємо заголовок таблиці , стовпці
, рядки
, заголовки стовпців . У роботі також використано багато інших тегів: форматування тексту: розмір , тип шрифту , колір тексту , вирівнювання по правому краю

По центру

Ліворуч

Курсив , жирний шрифт , підкреслений та ін Вставка зображення та альтернативний текстцього зображення. Розрив рядка
, вставка лінії


. Також я використала маркований список