Автор работы: Пользователь скрыл имя, 18 Июня 2014 в 18:11, курсовая работа
Программирование — сравнительно молодая и быстро развивающаяся отрасль науки и техники. Опыт ведения реальных разработок и совершенствования, имеющихся программных и технических средств постоянно переосмысливается, в результате чего появляются новые методы, методологии и технологии, которые, в свою очередь, служат основой более современных средств разработки программного обеспечения. Исследовать процессы создания новых технологий и определять их основные тенденции целесообразно, сопоставляя эти технологии с уровнем развития программирования и особенностями имеющихся в распоряжении программистов программных и аппаратных средств.
Объектом исследования являются технологии программирования.
Введение..................................................................................................................4
1. История возникновения и развития языков программирования...................5
1.1 Понятие и классификация языков программирования.................................5
1.2 История появления языков программирования............................................7
1.3 Языки процедурного программирования.....................................................13
1.4 Языки искусственного интеллекта................................................................19
2. Современные языки объектно-ориентированного и визуального программирования...............................................................................................................24
2.1 Объектно-ориентированный подход к программированию........................24
2.2 Компонентное программирование.................................................................25
2.3 Применение структурных и объектно-ориентированных методов программирования.......................................................................................................27
Заключение.............................................................................................................30
Список использованных источников...................................................................31
Язык программирования С (Си) был разработан в лаборатории
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.
Пролог использует подход к программированию, принципиально отличный от алгоритмического и называемый целевым или декларативным программированием. При алгоритмическом программировании мы задаем последовательность действий, которые должна выполнять программа, т.е. описываем, как она должна работать. При декларативном программировании мы описываем, что программа должна делать, а то, как будут осуществлены эти действия - дело Пролог-системы.
2. СОВРЕМЕННЫЕ ЯЗЫКИ ОБЪЕКТНО-
2.1 Объектно-ориентированный