Учебное пособие Для студентов технических специальностей всех форм обучения



бет3/24
Дата10.03.2016
өлшемі2.27 Mb.
#49466
түріУчебное пособие
1   2   3   4   5   6   7   8   9   ...   24

§1.3. Языки программирования


Язык – это естественная или искусственная знаковая система для общения и передачи информации.

По большому счету, при разработке и отладке программ участвует несколько языков, представленных на рис. 1.7.



Рис. 1.7. Языки, участвующие в создании программы



Основные характеристики языков программирования [2]:

  1. Уровень языка. Характеризуется сложностью задач, решаемых с помощью этого языка. Программирование представляет собой отображение программных объектов, понятий и явлений предметной области задачи. Чем более адекватно можно выполнить это отображение, тем выше уровень языка программирования. А отображение будет выполнено тем лучше, чем богаче возможности типообразования языка программирования.

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

  3. Концептуальная целостность. Характеризуется свойствами совокупности понятий, служащих для описания этого языка.

  4. Надежность языка. Должна обеспечивать минимум ошибок при написании программ. Более того, язык должен быть таким, чтобы неправильные программы было трудно писать.

  5. Удобочитаемость. Это легкость восприятия программ человеком. Особенно важна при коллективной работе.

  6. Полнота. Характеризует способность описать класс задач в некоторой предметной области.

  7. Гибкость. Характеризует легкость выражения необходимых действий.

  8. Мобильность. Независимость от аппаратных средств, обеспечивающая переносимость программного обеспечения.

  9. Эффективность реализации. Должна включать не только эффективную реализацию самого транслятора, но и генерацию им кода программ.

Некоторые характеристики конфликтуют друг с другом. Это подчеркивает сложности, с которыми приходится сталкиваться создателям новых языков.
Уровень языка связан с историей и эволюцией языков программирования:

  1. Поколение 0 (языки нулевого уровня). Это машинные языки. Они появились с появлением первых ЭВМ в середине 40-х годов ХХ века.

  2. Первое поколение – ассемблеры. Фактически это те же машинные языки, но программа составляется не в виде двоичных наборов символов, а с помощью более наглядных мнемонических обозначений. Хотя в них одна ассемблерная команда порождает одну машинную (язык типа 1:1).

  3. Второе поколение – макроассемблеры. Это языки типа 1:n. Используют дополнительные более сложные конструкции. Эти два поколения иногда объединяют. Появились в конце 50-х годов.

  4. Третье поколение – процедурные языки. Это универсальные языки высокого уровня, с помощью которых можно решать задачи из любых областей. Появились в начале 60-х годов. Это Алгол, Кобол, Фортран, позже Паскаль, Си и другие.

  5. Четвертое поколение – проблемные языки или языки поддержки сложных структур данных. Это специализированные языки описания задач типа «заполни бланк». Используя подобный язык, пользователь сообщает только, какую задачу надо решить и с какими данными. Например SQL.

  6. Пятое поколение – языки искусственного интеллекта, такие, как Prolog, Lisp.

  7. Шестое поколение – языки нейронных сетей или самообучающиеся языки.

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

Существует очень много разнообразных языков программирования, которые определенным образом классифицируются, группируются и объединяются в разнообразные семейства. Вот некоторые из них:

Семейство первых универсальных языков (прародителей):

Fortran (1954)

Algol 60 (1960)

Basic (1963)

Algol 68 (1968)

PL/1 (1968).

С-семейство языков:

C (1972)


C K&R (1978)

C++ (1983)

C++ ARM (1990)

ISO C90 (1990)

Java (1995)

Limbo (1996)

C++ Std (1998)

ISO C99 (1999)

C# (2000)

Pascal-семейство языков:

Pascal (1970)

Modula-2 (1978)

Object Pascal (1985)

Modula-3 (1988)

Oberon (1988)

Oberon-2 (1991)

Component Pascal (1997)

Но широкое распространение получили только некоторые из них. При универсальном программировании на персональных компьютерах наиболее часто используются языки Си (C++), Паскаль (Object Pascal), Бейсик (VBA).

Язык С++ используется для профессионального программирования и требует знания аппаратных средств ЭВМ. Язык Паскаль был специально разработан для обучения компьютерной грамотности и рекомендуется для начального обучения программированию, поэтому именно он в этом курсе и рассматривается.

§1.4. Паскаль и Object Pascal, Турбо-Паскаль и Delphi


В 1970 году появилось сообщение еще об одном языке программирования, названном в честь математика Блеза Паскаля, который еще в 1642 г. изобрел цифровой калькулятор. Автор – Никлаус Вирт, директор Института информатики Швейцарской высшей политехнической школы, автор многочисленных работ в области программирования, языков Эйлер, Модула, Модула-2, методики пошаговой разработки программ.

Первоначальная цель разработки языка диктовалась необходимостью инструмента «для обучения программированию как систематической дисциплине», в частности, студентов. Однако очень скоро обнаружилась чрезвычайная эффективность языка Паскаль в самых разнообразных приложениях, от решения небольших задач до разработки сложных программных систем. Но прошло много времени с момента появления Паскаля на рынке программных продуктов, прежде чем он получил всеобщее признание, были созданы многочисленные реализации языка практически для всех машинных архитектур. И только в 1983 году был принят международный стандарт языка ISO 7185:1983.


Первая версия Турбо-Паскаля была написана молодым датчанином Андерсом Хейльсбергом и продавалась как Kompass Pascal. Филипп Канн (США) приобрел ее и создал в 1983 г. компанию Borland International на концепции продажи компилятора за минимальную цену (менее 50$). Даже самый первый Турбо-Паскаль имел интегрированные редактор и компилятор, в нем впервые была реализована функция: когда обнаруживалась ошибка, загружался редактор и курсор указывал на ошибку.

В версиях 2.0 (1984 г.) и 3.0 (1985 г.) снимались некоторые ограничения на размер создаваемой программы, стали поддерживаться команды для арифметического сопроцессора и двоично-кодированной десятичной арифметики. Для IBM-совместимых компьютеров поставлялся набор графических функций, с чего и началась ориентация на эту платформу, то есть использование с операционной системой DOS.

В версии 4.0 (1987 г.) был существенно улучшен компилятор: благодаря «интеллектуальной» компоновке размер кода программы существенно уменьшился, увеличилось быстродействие программ. Появилась современная интегрированная среда разработки (Integrated Development Environment, IDE), в частности содержащая систему меню и контекстно-чувствительную систему помощи.

В версии 5.0 (1988 г.) появились два отладчика: встроенный в IDE и мощный автономный. Была обеспечена поддержка расширенной памяти, то есть стала возможна работа с памятью свыше 1 Мб, а так же улучшена реализация аппарата перекрытий (оверлеи), позволяющего работать большим программам в малых по объему областях памяти. В этой версии были улучшены библиотеки графических процедур, и обеспечивалась полная совместимость с графическими адаптерами класса VGA.

Версия 5.5 (1989 г.) явилась существенным шагом вперед: в ней была реализована концепция объектно-ориентированного программирования (ООП), то есть за основу стал принят Object Pascal. При этом были добавлены только четыре новых зарезервированных слова, взятых из объектного Паскаля и Си++. Кроме этого, наряду с внутренними улучшениями и новыми возможностями встроенной справочной системы Help, с инструментальной системой стал поставляться электронный учебник, содержащий большое количество примеров, которые можно было скопировать прямо в программу. Это существенно облегчило переход программистов к объектно-ориентированным методам программирования.

В версии 6.0 (1990 г.) появляется собственная библиотека объектов – Turbo Vision. Интегрированная среда стала полностью соответствовать стандарту и поддерживать мышь, появилась возможность редактировать несколько файлов одновременно. Существенное нововведение – встроенный ассемблер.

В 1992 г. была представлена очередная версия языка – Турбо-Паскаль 7.0, одновременно являющаяся и последней для DOS. Наряду со всеми улучшениями, унаследованными от предыдущей версии, появилась возможность выделять определенным цветом различные элементы исходного текста, позволяющая даже неопытным пользователям устранять ошибки на этапе ввода программы. Кроме этого были расширены как сам язык программирования, так и библиотека объектов, компилятор стал более эффективным.

Кроме этого в пакет входил Турбо-Паскаль для Windows (TPW), родоначальник Delphi, сначала (с 1991 г.) выпускавшийся отдельно. Это был первый компилятор с распространенного языка высокого уровня для Windows, имеющий IDE, базирующуюся на концепциях Windows. Он имел библиотеку Object Windows (OWL), обеспечивающую объектно-ориентированную среду, избавляющую программиста от необходимости прямого обращения к функциям Windows API.


В 1994 г. вышла новая версия языка, настолько сильно отличающаяся от предыдущих, что фирма Borland решила дать ей новое имя – Delphi 1.0. Здесь широко используются возможности Графического интерфейса пользователя (GUI): пиктографические меню и библиотеки объектов, перетаскивание элементов с помощью мыши и т.д. Более того, базовая часть исходного текста программы генерируется автоматически. Программирование в этой среде является визуальным, основанным на объектах и управляемое событиями.

Если Delphi 1.0 являлась 16-разрядной инструментальной системой, предназначенной для работы с операционной системой Windows 3.х, то 1996 г. выходит 32-разрядная версия для Windows 95 и NT – Delphi 2.0. Различие этих ОС обуславливает и различие версий Delphi.

Следующие версии Delphi (3, 4, 5, 6, 7) являлись следствием постепенного развития среды разработки – улучшались существующие компоненты, добавлялись новые возможности, большое внимание уделялось программированию баз данных и программ для глобальной сети Internet.

В 2004 г. вышла версия Delphi 8.0 с официальным названием Borland Delphi for the Microsoft .NET Framework, поддерживающая новую технологию разработки программного обеспечения Microsoft .NET. В этой версии расширение языка Паскаль (Object Pascal) стали называть Delphi for .NET Language.

В 2005 и следующем годах выходят соответственно Delphi 2005 и Delphi 2006. Они уже представляют из себя многоязыковую среду объектно-ориентированного программирования, так как в среде Delphi 2005 присутствует два языка: расширения Object Pascal и С#, в Delphi 2006 к ним добавляется еще С++.

Язык, оболочка и интегрированная среда разработки


После того, как программа составлена, ее необходимо ввести в компьютер. Здесь мы и сталкиваемся с инструментальным пакетом программ Турбо Паскаль. Этот пакет содержит:

  1. транслятор с языка Паскаль;

  2. редактор текста;

  3. инструментальную оболочку;

  4. отладчик;

  5. обширные библиотеки программ под DOS и Windows;

  6. драйвера видеоадаптеров и памяти;

  7. справочную систему

и многое другое, в частности примеры программ с использованием методов объектно-ориентированного программирования.

Для связи основных из этих программ в единое целое, создания удобного и наглядного интерфейса предназначена интегрированная инструментальная оболочка. Весь же набор программ называется системой программирования, инструментальной системой, средой объектно-ориентированного программирования, или интегрированной средой разработки (Integrated Development Environment, IDE).



Язык Паскаль, используемый в Турбо-среде, является расширением стандартного языка программирования Паскаль, а с версии 5.5 – объектного Паскаля (Object Pascal). Поэтому все программы, написанные на языке Паскаль, будут выполняться и в среде Турбо Паскаль, хотя обратное утверждение несправедливо. То есть соблюдается полная преемственность по принципу «сверху-вниз».

Для того чтобы отличить базовый язык программирования Паскаль от его расширения, последний называют расширением Паскаля в Турбо-среде или просто по названию среды разработки Турбо-Паскалем, а в дальнейшем Delphi.


Контрольные вопросы


  1. Перечислите этапы создания и эксплуатации программного обеспечения.

  2. Какие документы необходимы для создания алгоритма?

  3. Что включает в себя внешняя спецификация программы?

  4. Что такое тестирование?

  5. Что такое отладка?

  6. Что включает в себя сопровождение программного продукта?

  7. Что такое жизненный цикл программы?

  8. Что такое алгоритм?

  9. Какие возможности предоставляет алгоритм?

  10. Какие области исследований связаны с алгоритмами?

  11. Перечислите основные свойства алгоритма.

  12. Поясните свойство конечности алгоритма.

  13. Поясните свойство определенности алгоритма.

  14. Поясните свойство алгоритма «Ввод».

  15. Поясните свойство алгоритма «Вывод».

  16. Поясните свойство эффективности алгоритма.

  17. Перечислите дополнительные свойства алгоритма.

  18. Перечислите основные формы записи алгоритмов.

  19. Что такое словесное описание алгоритма?

  20. Что такое графическое описание алгоритма?

  21. Из каких групп символов состоит блок-схема программы?

  22. Как изображается символ «процесс» и какова его функция?

  23. Как изображается символ «линия потока» и какова его функция?

  24. Как изображается символ «решение» и какова его функция?

  25. Как изображается символ «модификация» и какова его функция?

  26. Как изображается символ «граница цикла» и какова его функция?

  27. Как изображается символ «ввод-вывод» и какова его функция?

  28. Как изображается символ «ручной ввод» и какова его функция?

  29. Как изображается символ «документ» и какова его функция?

  30. Как изображается символ «предопределенный процесс» и какова его функция?

  31. Как изображается символ «пуск-останов» и какова его функция?

  32. Как изображается символ «соединитель» и какова его функция?

  33. Как изображается символ «комментарий» и какова его функция?

  34. Каковы правила выполнения записей внутри символов?

  35. Поясните понятие «язык» в контексте информации.

  36. Перечислите характеристики языков программирования.

  37. Перечислите типы языков программирования, связанные с их историей и эволюцией.

  38. Какие языки программирования используются наиболее широко на ПК?

  39. Кто автор языка программирования Паскаль?

  40. Как называется система программирования, использующая язык Паскаль, под ОС DOS?

  41. Как называется система программирования, использующая язык Паскаль, под ОС Windows?

  42. Что такое «интегрированная среда разработки»?


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   24




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет