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


 

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

32245. Метод подъема этажей 243 KB
  Идея строительства многоэтажных зданий методом подъема готовых перекрытий впервые была высказана французским инженером Лафаргом однако в его время она не могла быть осуществлена изза отсутствия необходимого подъемного оборудования. в США было построено методом подъема перекрытий первое многоэтажное здание. Вскоре после проведения эксперимента по подъему перекрытий этот метод получил широкое распространение и стал применяться во многих странах Европы и Японии.
32247. Разборно-переставная опалубка состоит из отдельных элементов (щитов, коробов, элементов креплений и т. д.), которые собираются для возведения железобетонного сооружения или части его в каждом отдельном случае 27 KB
  Устойчивость щитов опалубки обеспечивается подкосами которые устанавливаются через каждые 3 4 м. Для установки верхнего яруса короба опалубки нижние доски удлиненных щитов делают несколько длиннее и опирают их на щиты опалубки нижнего яруса башмака. В верхней части опалубки делаются вырезы для примыкания прогонов или прогонов и балок. Внизу одного из щитов короба делают отверстие для прочистки опалубки от мусора перед бетонированием.
32248. Скользящая опалубка 47.5 KB
  Основными элементами скользящей опалубки являются щиты домкратные рамы рабочий пол подвесные подмости домкратные стержни устанавливаемые по оси стен домкраты.Домкратные рамы являются основными несущими элементами на них устанавливают щиты опалубки которые воспринимают давление бетонной смеси. На домкратные рамы устанавливают домкраты которые опираясь на стержни поднимают всю конструкцию опалубки. Щиты опалубки устанавливают так чтобы расстояние между ними увеличивалось книзу образуя конусность в пределах высоты щитов или 5 7 мм на...
32249. Подъемно-переставная опалубка 21 KB
  Наружные и внутренние шиты опалубки закрепляют на подъемной головке которая устанавливается и поднимается по шахтоподъемнику. На подъемной головке закрепляют также рабочую площадку подвесные леса бункера для бетонной смеси лебедку лифтов и тепляк с юбкой тепляка. Щиты соседних ярусов закрепляют с помощью поперечных накладок.
32250. Объемно-переставная опалубка 49 KB
  Опалубка состоит из пространственных секций Побразной формы которые при соединении образуют туннели опалубки на квартиру или во всю ширину здания. Секции опалубки имеют переменную ширину в зависимости от принятого шага стен и различную длину. Бетонную смесь укладывают между туннелями опалубки для образования стен и на секции при бетонировании перекрытий. При демонтаже секции опалубки как бы сжимаются для чего сдвигают внутрь забетонированного туннеля боковые щиты опалубки щиты стен перемещают вниз горизонтальный щит перекрытий.
32251. Катучая опалубка 28.5 KB
  Каждый блок катучей опалубки состоит из нескольких металлических рам смонтированных на тележках передвигаемых на рельсах. Внешний контур металлических ферм и опалубки должен строго соответствовать очертанию бетонируемых конструкций.Применение подъемнокатучей опалубки снижает стоимость железобетонных работ по устройству покрытия здания на 20.Использование катучей опалубки прямоугольного сечения вдвое ускорило производство работ и позволило снизить трудоемкость 1 м3 железобетонных работ на 046 чел.
32252. ТЕХНОЛОГИЯ МОНТАЖА БОЛЬШЕПРОЛЕТНЫХ КОНСТРУКЦИЙ ЗДАНИЙ И СООРУЖЕНИЙ Возведение зданий с каркасом рамного типа 50 KB
  В производственных зданиях вместо мостовых кранов устанавливают один или два многоопорных подвесных крана грузоподъемностью по 3050 т передвигающихся вдоль пролета по монорельсовым путям подвешенным в узлах нижнего пояса ригеля. В связи с большими постоянными и подвижными нагрузками конструктивное решение ригеля принимают аналогично тяжелым мостовым фермам с поясами и решеткой из двухступенчатых Нобразных сечений. При пролетах более 50 м масса стропильной конструкции ригеля достигает 60 т и более монтаж ее может быть выполнен либо...