Загрузка страницы

Для Казахстана

Курсовые

Дипломные

Отчеты по практике

Расширенный поиск
 

Предмет: Информатика

Тип: Курсовая работа

Объем: 23 стр.

Полный просмотр работы

Формальное определение языков программирования

Содержание
Введение 3
1. Языки программирования (ЯП) 5
1.1 Понятие языков программирования 5
1.2 Описание языков программирования 7
1.3 Виды языков программирования 8
2. Технологии программирования 15
2.1 Структурное программирование 15
2.2 Объектно-ориентированное программирование (ООП) 16
2.3 CASE - системы 17
2.4 Технологическая схема решения задач 19
Заключение 22
Библиографический список 23

Введение
Повышение производительности компьютеров и перемены в составе используемого ПО делают роль языков описания сценариев в создании приложении будущего все более и более важной. Эти языки отличаются от языков программирования системного уровня тем, что их основное назначение – связывать различные компоненты и приложения друг с другом, выполняя роль своего рода клея. В них находят применение безтиповые подходы к описанию данных, что позволяет вывести программирование на более высокий уровень и ускорить процесс разработки по сравнению с языками системного уровня.

1. Языки программирования (ЯП)
1.1 Понятие языков программирования
Проведем ассоциации компьютера с человеком. У компьютера есть органы восприятия информации из внешнего мира - это клавиатура, мышь, накопители на магнитных дисках. У компьютера есть органы, "переваривающие" полученную информацию, - это центральный процессор и оперативная память. И, наконец, у компьютера есть органы речи, выдающие результаты переработки. Современным компьютерам, конечно далеко до человека. Их можно сравнить с существами, взаимодействующими с внешним миром на уровне ограниченного набора безусловных рефлексов. Этот набор рефлексов образует систему машинных команд.

1.3 Виды языков программирования
Языки программирования системного уровня. Чтобы осознать различие между языками описания сценариев и системными, полезно вспомнить историю развития последних. Впервые они появились в качестве альтернативы языкам ассемблера, позволяющим использовать в программе практически все особенности конкретной аппаратной подсистемы. Каждому утверждению такого языка соответствует ровно одна машинная команда, и программисту приходиться иметь дело с такими низко уровневыми деталями, как распределение регистров и последовательности вызова процедур. В результате написание и сопровождение крупных программ на языке ассемблера оказывается чрезвычайно сложным делом.

2. Технологии программирования
2.1 Структурное программирование
В основе того или иного языка программирования лежит некоторая руководящая идея, оказывающая существенное влияние на стиль соответствующих программ.
Структурное программирование - методология программирования, базирующаяся на системном подходе к анализу, проектированию и реализации программного обеспечения. Эта методология родилась в начале 70-х годов и оказалась настолько жизнеспособной, что и до сих пор является основной в большом количестве проектов. Основу этой технологии составляют следующие положения:

2.2 Объектно-ориентированное программирование (ООП)
Идея ООП заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое - объект. ООП основано на трех важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследование и полиморфизм.
• Инкапсуляция - объединение в единое целое данных и алгоритмов обработки этих данных. В рамках ООП данные называются полями объекта, а алгоритмы - объектными методами.
• Наследование - свойство объектов порождать своих потомков. Объект - потомок автоматически наследует от родителей все поля и методы, может дополнять объекты новыми полями и заменять (перекрывать) методы родителя или дополнять их.

2.3 CASE - системы
Представление о CASE - комплексах связано в нашем сознании с чем - то, не имеющим отношения к обычному программированию.
В Америке из - за сильнейший конкуренции CASE - средства используются подавляющим большинством фирм - разработчиков программного обеспечения. Мощный толчок CASE - средства получили в пору внедрения объектно-ориентированной технологии разработки ПО, когда старого, проверенного временем метода проектирования "сверху вниз" стало явно недостаточно. К тому же появились технологии объектного моделирования Booch, OMT, UML, сами по себе весьма сложные для привязки к языкам программирования, чтобы оперировать ими вручную.

2.4 Технологическая схема решения задач
Технологическая схема, в которой пользователь, желающий решить свою задачу на ЭВМ, обращается за консультацией к специалисту по алгоритмизации (формализации), а тот, в свою очередь, к программисту, создающему программу на основе формальной модели решаемой задачи, сейчас уходит из жизни.
Она оказывается неэффективной по ряду причин. Во-первых, пользователь не всегда точно знает, чего он хочет, и алгоритмист, когда формализует задачу, поневоле упрощает ее, теряет или отбрасывает многое из того, что пользователь знает, но либо не сообщил алгоритмисту, либо опрометчиво согласился на предлагаемые упрощения. Полученная после этого модель программируется и реализуется на ЭВМ. А пользователь явно не доволен. Только теперь он понял, что ему нужно, и видит, что ему дали не то, что ему нужно. После этого начинается второй раунд взаимодействия, за ним, возможно третий, четвертый и т.д.

Заключение
Существует огромное количество атрибутов, помимо степени строгости контроля типов или уровня языка, и есть очень много интересных примеров, которые не могут быть однозначно отнесены к одной из двух рассмотренных нами категории. Например, семейство Lisp занимает некоторое промежуточное положение, обладая атрибутами языков описания сценариев и языков программирования системного уровня. В Lisp впервые были реализованы такие концепции, как интерпретация и динамический контроль типов, которые широко используются в современных языках описания сценариев, а также автоматическое управление хранением и интегрированные среды разработки, применяемые в языках обеих категории.

Библиографический список
1. Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию. М., Наука, 1988.
2. Алпсон С. Успех программного обеспечения. // Интеркомпьютер, № 1-2, 1991.
3. Журнал "Мир ПК" №4 1999г.
4. Журнал "Наука и жизнь" № 6 1987г.
5. Зуев Е.А. Программирование на языке Турбо-Паскаль 6.0,7.0. М. Радио и связь. Веста. 1993.
6. Карманный словарь "Computing & Multimedia". М: Издательство "Внешсигма", 1996г.
7. Кнут Д. Искусство программирования на ЭВМ. М.: МИР, т.1, 1976; т.2, 1977; т.3, 1978.
8. Новейший самоучитель работы на компьютере. Под ред. Симоновича С. М., 2002 г.
9. Фаронов В.В TurboPascal 7.0:начальный курс. М:Издательство "Нолидж", 1998г.
10. Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. М., Нолидж, 1997.
11. Шень А. Программирование: Теоремы и задачи. М., МЦНМО, 1995.
12. Юров В., Хорошенко С. Assembler:учебный курс. СПб:Издательство "Питер", 1999г.