4783

Языки программирования и системы программирования

Реферат

Информатика, кибернетика и программирование

Языки программирования и системы программирования. 1.Языки программирования высокого уровня. 2.Краткая история развития языков программирования. 3.Основные этапы проектирования программы. 4.Технология трансляции программ. 5.Понятие о системе програм...

Русский

2012-11-27

63 KB

39 чел.

Языки программирования и системы программирования.

1.Языки программирования высокого уровня.

2.Краткая история развития языков программирования.

3.Основные этапы проектирования программы.

4.Технология трансляции программ.

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

6.Краткое описание системы Turbo Pascal v.6.0.

1.Языки программирования высокого уровня.

Языки программирования высокого уровня играют роль средства связи между программистом и машиной, а также между программистами. Это обстоятельство накладывает на язык многие обязательства:

1.Язык должен быть близок к тем фрагментам естественных языков, которые обеспечивают конкретную предметую область деятельности человека; (Язык, ориентированный на деловые сферы применений, должен содержать понятия, используемые в этом виде деятельности: документ, счет, база данных и т.п.).

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

(например, предложение “Найти документ X в базе Y“ должно породить программу в машинном языке, осуществляющую требуемый поиск).

3.Язык программирования не только поддерживает предметно-ориентированную деятельность, но и стимулирует ее развитие.  (понятие базы данных, вычислительной сети привело к революции в деловой деятельности).

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

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

2.Краткая история развития языков программирования.

Идея языка программирования появилась так же давно, как и универсальные вычислительные машины - на рубеже 40-50 годов. Уже на первых шагах их эксплуатации выяснились недостатки использования машинного кода, определились методы устранения или уменьшения этих недостатков: использование библиотек стандартных подпрограмм, имен вместо адресов, предварительного распределения памяти и т.д.

Большое влияние на последующие разработки оказал язык Fortran, созданный в IBM под руководством Дж. Бэкуса (1954-57гг.) В тоже время М.Г.Хоппер (Ramington-Rand Univac) и ее группа разработали язык обработки коммерческой информации Flow-Matic. М.Г.Хоппер принадлежит термин “компилятор”.Так называлась ее первая транслирующая программа.

Первые производственные языки программирования появились на рубеже 50-60 годов, знаменуя собой новую эпоху в развитии вычислительных машин и методов обработки информации. Эти языки высокого уровня были реализованы на первых ЭВМ 2-го поколения.

Вот некоторые даты :

1957 г. Fortran США, IBM, Дж. Бэкус : по существу первый широко применяемый язык, ориентированный на научно-инженерные и численные задачи.

1960 г. Cobol США, Объединенный комитет производителей и пользователей ЭВМ: язык для коммерческих задач.

1960 г. Algol-60 Улучшенный вариант языка Algol-58, Европа, США, международная рабочая группа: универсальный язык, прародитель Pascal-я и многих других языков европейского стиля.

1965 г. BASIC Дж. Кемени, Т.Куртц, США, Дартмутский колледж: язык для начинающих.

1969 г. Logo С.Пейперт, США, Массачусетский технологический институт: язык для детей.

1966 г. PL-1 группа IBM,США: Многоцелевой язык для систем коллективного пользования.

1968 г. Algol-68 Европа, международная рабочая группа: европейский ответ на PL-1.

1970 г. Pascal Н.Вирт, Швейцария, федеральный институт технологии, Цюрих : язык для обучения специалистов в области информатики.

1959 г. Lisp Дж.Маккарти, США, Массачусетский технологический институт: язык функционального программирования.

1972 г. Prolog А.Колмероэ и его коллеги из лаборатории Искуственного интеллекта, Марсельский университет, Франция: язык логического программирования, завоевавший широкую известность как язык для задач обработки баз знаний.

1972-75гг. С и его развитие С++ . Д. Керниган, Д. Ричи, Б. Страустрап, AT & T Bell Lab.,: языки системного программирования, получившие широкое распространение благодаря своей эффективности и поддержке ведущий программистских компаний.

1975 г. Modula-2 Н.Вирт, Развитие языков Pascal и Modula для системного программирования.

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

В результате теоретического осмысления процессов, происходивших в программировании, был выработан так называемый структурный подход к написанию программ, а для его реализации разработаны такие языки, как Pascal, Modula-2. Идеологи структурногo подхода считают, что ЭВМ предназначены для исполнения программ, а не программы - для исполнения на ЭВМ.

Перенесение акцентов с ЭВМ на программы еще более ярко выразилось в появлении принципиально новых стилей программирования - функционального программирования (Lisp), логического программирования (Prolog), алгебраического программирования (Reduce, APS).

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

Современный этап в развитии программирования характеризуется следующими чертами:

Развитие языков программирования для мультипроцессорных и мультимашинных систем;

Развитие декларативных языков программирования, ориентированных на задачи искусственного интеллекта;

Развитие объектно-ориентированных языков, в которых иерархия абстракций позволяет наращивать средства языка, одновременно меняя архитектуру ЭВМ применительно к рассматриваемому классу проблем.

3.Основные этапы проектирования программы.

Процесс проектирования программы во многом схож с процессами проектирования сложных систем. Вот его основные этапы:

Постановка задачи и выбор ее математической модели;

Разработка алгоритма решения задачи;

Выбор аппаратного оборудования и языка программирования;

Написание программы;

Отладка и редактирование;

Контрольные испытания;

Производственный счет (эксплуатация).

На самом деле проектирование программы - не линейный, а циклический процесс, на каждом шаге которого возможен возврат к любому из предыдущих шагов:

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

4.Технология трансляции программ.

Вообще ЭВМ не рассчитана на то, чтобы понимать LOGO, Pascal или другие языки программирования высокого уровня. Аппаратура распознает и исполняет только машинный язык, программа на котором представляет из себя не более чем последовательность двоичных чисел.

Появление языков программирования было связано с осознанием того факта, что перевод алгоритма, написанного на “почти” естественном языке, на машинный язык может быть автоматизирован и, следовательно, возложен на плечи машины.  Здесь важно различать язык и его реализацию. Сам язык - это система записи, регламентируемая набором правил, определяющих его лексику и синтаксис. Реализация языка - это программа, которая преобразует эту запись в последовательность машинных команд в соответствии с прагматическими и семантическими правилами, определенными в языке.

Имеются два основных способа реализации языка: компиляторы и интерпретаторы. Компиляторы транслируют весь текст программы, написанной на языке программирования, в машинный код в ходе одного непрерывного процесса. При этом создается полная программа в машинных кодах, которую затем можно исполнять без участия компилятора.

Интерпретатор в каждый момент времени распознает и выполняет по одному предложению (оператору) программы, по ходу дела превращая обрабатываемое предложение в машинную программу. Разница между компилятором и интерпретатором подобна разнице между синхронным переводом устной речи и письменным переводом текста.

В принципе любой язык может быть и компилируем, и интерпретируем, однако в большинстве случаев у каждого языка есть свой, предпочтительный способ реализации. Повидимому, такое предпочтение - нечто большее, чем дань традиции. Выбор определен самим языком. Fortran, Pascal, Modula-2 в основном компилируют.  Такие языки как Logo, Fort почти всегда интерпретируют. BASIC и Lisp широко используется в обеих формах. Каждый из этих способов имеет как свои преимущества, так и недостатки:

Основные преимущества компиляции:

1.Скорость выполнения готовой программы;

2.Независимость программы от системы реализации;

Основные недостатки компиляции:

1.Некоторые неудобства, испытываемые программистом при написании и отладке больших программ;

2.Сравнительно большой объем памяти, занимаемый компилятором в ОЗУ;

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

Рассмотрим последовательность изменений, претерпеваемую программой на пути к исполнению (в процессе компиляции).

Текст программы, написанной на языке программирования, называется исходным модулем. Достаточно сложные программы могут состоять из нескольких модулей, взаимодействующих друг с другом.  Исходный модуль - это входной поток для программы - компилятора, которая

Осуществляет лексический анализ входного потока [блок лексического анализа] ;

Осуществляет синтаксический анализ входного потока [блок синтаксического анализа];

Генерирует машинный код, являющийся переводом исходного модуля на язык ЭВМ в условных адресах [генератор кода] ;

В результате этих преобразований на выходе получается объектный модуль.

Даже если мы имеем дело с одним исходным модулем, для успешного исполнения программы необходимо “связать” ее с некоторыми другими программами (например, со стандартными процедурами ввода-вывода, реализованными в языке). Эти функции выполняет программа - редактор связей. Выходной поток этой программы называют загрузочным модулем.

Современная технология применения ЭВМ требует, чтобы исполняемую программу можно было размещать в произвольном месте ОЗУ. Поэтому и загрузочный модуль написан в условных адресах.  Размещением загрузочного модуля в памяти занимается программа - загрузчик. Как правило, программы, только что написанные, содержат множество ошибок. Ошибки бывают:

а) синтаксические и лексические (выявляются на этапах лексического и синтаксического анализа). Например, ошибка  y := sos(x)  вместо  y := cos(x) - лексическая, а  ошибка   в операторе if x < 0 then y := 0; else y := 1 - синтаксическая.

б) семантические (выявляются на этапе отладки). Например, ошибка  в  операторе  присваивания - деление на ноль: x := y;   z := 1/(x - y) .

в) логические (выявляются на этапе контрольных испытаний). К логическим мы относим такие ошибки, в результате которых программа не делает того, что мы от нее ожидаем.  Для автоматизации процесса поиска и устранения семантических и отчасти логических ошибок используются специальные программы, называемые отладчиками.

Процесс преобразования текста исходного модуля в исполняемый модуль можно изобразить схематически:

Обычно в состав системы программирования включают свой текстовый редактор, другие сервисные программы.  Для управления работой различных частей системы программирования используют управляющую программу, которую называют оболочкой.

Таким образом, для работы в языке программирования используются специальные пакеты программ, называемые системами программирования (СП). В состав СП входят:

Оболочка

Текстовый редактор

Компилятор

Редактор связей

Загрузчик

Отладчик

Библиотеки стандартных процедур и функций

Сервисные программы

6.Краткое описание системы Turbo Pascal v.6.0.

Система программирования Turbo-Pascal (TP) была создана фирмой Borland. Первая версия системы, появившаяся на рынке в 1985 году, (TP v.3.0) быстро завоевала популярность благодаря хорошо реализованной идее интеграции всех частей системы в единой среде программирования. В настоящее время как профессионалами, так и в обучении активно используется система TP v.6.0, возможности которой значительно расширены. Недавно на рынке появилась следующая - 7-ая версия системы и следует ожидать, что этот ряд будет продолжен.

Интегрированная Инструментальная Оболочка (ИИО). Вызов системы TP выполняется директивой Turbo, которая инициирует экран ИИО. Весь процесс программирования выполняется в среде ИИО.

Экран Интегрированной Инструментальной Оболочки

Зона главного меню

 

Экран ИИО TP разделен на 3 зоны: - зона главного меню, рабочая зона, строка сообщений.

Зона главного меню (верхняя строка экрана) содержит набор групп команд, используемых программистом при работе в системе TP.

=  этикетка системы, команды работы с экраном;

File  команды работы с файлами;

Edit  команды редактирования файла, обрабатывающие группы строк;

Search  команды поиска и замены;

Run  команды запуска программы на компиляцию и последующее исполнение;

Compile команды запуска программы на компиляцию;

Debug  команды отладчика программ;

Options  команды конфигурирования системы;

Window команды работы с различными окнами;

Help  справочная информация о системе.

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

Основное место на экране занимает Рабочая зона. В рабочей зоне расположено несколько окон, в которые выводятся тексты программ, вход/выход програмы, отладочная информация и т./д. Любое из окон может быть активизировано (сделано доступным для редактирования). Каждое окно можно закрыть (с помощью “мыши”, комбинацией Alt - F3 либо соответствующей командой главного меню).

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

PAGE  9


текстовый редактор

компилятор:

лексический анализатор

синтаксический анализатор

генератор кода

исходный модуль

 объектный модуль

Программист

 Библиотеки процедур

Другие объектные модули 

редактор связей

загрузчик

отладчик

загрузочный модуль

исполняемый модуль

=  File    Edit    Search   Run    Compile    Debug  Options   Window    Help

Рабочая зона

Строка сообщений

F1 Help    F2 Save    F3 Open   Alt+F9  Compile    F9 Make    F10 Menu


 

А также другие работы, которые могут Вас заинтересовать

44779. Создание и использование запросов (продолжение) 2.09 MB
  Предположим, прошел год, студенты перешли на следующий курс, изменились их личные данные, некоторые закончили колледж, пришли новые. Нужно обновить базу данных
44780. Создание отчетов 2.44 MB
  Рассмотрим ситуацию, когда стандартный отчет нас не устраивает. Например, вы хотите сконструировать стандартную справку об обучении и выдавать ее по запросу. Сначала следует создать запрос с параметром Справка (рис. 42), в котором будут только интересующие вас записи, затем следует приступить к созданию отчета
44781. Создание отчетов (продолжение) 2.07 MB
  Цели работы: закрепить навыки создания отчетов с помощью Конструктора; научиться создавать отчеты с помощью Мастера отчетов; освоить основные приемы изготовления надписей на конвертах и наклейках. Создайте с помощью Конструктора отчет Списки учеников. Порядок работы: Откройте закладку Отчеты если находитесь в другом окне. В появившемся диалоговом окне Новый отчет выберите режим Конструктор и таблицу Список в качестве источника данных.
44782. Обучающие работы по созданию и ведению баз данных 2.61 MB
  Система управления базами данных предоставляет значительные возможности по работе с хранящимися данными, их обработке и совместному использованию. Можно выбирать любые поля, форматы полей, сортировать данные, вычислять итоговые значения. Можно отбирать интересующие данные по какому-либо признаку, менять их, удалять, копировать в другие таблицы
44783. Создание базы данных, состоящей из двух таблиц 6 MB
  Воспользуемся новым способом изготовления таблиц. Таблицы будем создавать в режиме Таблицы. В таблице Список будет 7 полей (код, фамилия, имя, отчество, год рождения, курс, название группы в колледже, номер группы в компьютерной школе). Номера групп и фамилии преподавателей школы будут храниться в отдельной таблице Группы в виде двух столбцов
44784. Создание базы данных, состоящей из трех таблиц 2.07 MB
  В данном случае таблицы Группы и Список объединены связью «один-ко-многим», таблицы Список и Личные данные — связью «один-к-одному». Таблицы Группы и Личные данные прямо не связаны
44786. Эрозия и деградация земель. Техногенные пустоши. Рекультивация и мелиорация земель 18.13 KB
  Рекультивация и мелиорация земель Деградация пастбищных земель: включает в себя множество различных проявлений от низкой продуктивности кормов до ухудшения растительного состава разрушения растительного покрова транспортными средствами. Рекультивация комплекс работ по экологическому и экономическому восстановлению земель и водоёмов плодородие которых в результате человеческой деятельности существенно снизилось. Целью проведения рекультивации является улучшение условий окружающей среды восстановление продуктивности нарушенных земель и...
44787. Команды для работы с файлами и каталогами 24.62 KB
  После имени команды надо ввести пробел и имя пользователя например jim: [root] userdd jim После этого система будет знать о существовании пользователя jim говорят будет открыт счет для пользователя jim . После того как вы завершите ввод нажатием клавиши Enter система попросит ввести его повторно: Retype new UNIX pssword: Если вы не ошиблись при вводе пароль приходится вводить вслепую поскольку он не отображается на экране появится сообщение: psswd: ll uthentiction tokens updted successfully [root] mn psswd В ответ вы получите...