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


 

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

41911. WPF приложение с многооконным (MDI) интерфейсом 19.15 KB
  Часть 1 Необходимо перенести интерфейс редактирования свойств объектов коллекции в отдельное окно. Главное окно приложения должно содержать грид со списком объектов функции открытия сохранения файла коллекции функции удаления объектов из коллекции и вызова окон для редактирования объекта или создания объекта в отдельном окне. При выборе пользователем команды редактирования выделенного объекта в гриде должно появиться отдельное окно для редактирования свойств этого объекта. Должна быть возможность открывать одновременно несколько окон для...
41912. ВИКОРИСТАННЯ СИСТЕМИ S-KEYS ТА ЗАСТОСУВАННЯ РЕЖИМУ ІМІТОВСТАВКИ АЛГОРИТМУ ГОСТ 28147-89 349.39 KB
  Проімітуйте роботу системи S/key при одноразовому підключенні користувача. Для цього підготуйте послідовність . Використовуйте хеш-функцію , значення пароля і параметра з наступної таблиці (пароль заданий в системі числення з основою 16).
41913. СЧЕТЧИКИ И РАСХОДОМЕРЫ ВОДЫ 1.08 MB
  Изучить устройство принцип действия и применение расходомеров и счетчиков Задачи: Изучить устройство принцип действия схемы установки учет передачу данных счетчиков горячей и холодной воды с ультразвуковым преобразователем; Изучить устройство принцип действия схемы...
41914. ИЗУЧЕНИЕ СИСТЕМЫ ТЕПЛОСНАБЖЕНИЯ УЧЕБНО-НАУЧНОГО КОМПЛЕКСА «ВОЛМА» 2.78 MB
  Изучить элементов системы теплоснабжения учебно-научного комплекса Волма котла на древесной щепе. Технические характеристики котла даны в таблице 1. Технические характеристики котла PYROT 300 Тепловая мощность кВт 300 Минимальная тепловая мощность кВт 80 Коэффициент полезного действия 9092 Максимальное содержание влаги 40 Средняя температура отходящих газов при номинальной тепловой мощности 160 Максимально допустимое давление в системе бар 30...
41915. Измерение параметров электрической энергии 1.13 MB
  Задачи: изучить устройство принцип действия схемы подключения приборов для измерения напряжения силы тока мощности сопротивления цепи и др. Класс точности 25 Пределы измерений Номинальная частота Гц Способ включения 10; 30; 50; 100; 150; 250; 500 В 50; 60; 200; 400500; 800; 1000 непосредственный 175 кВ с трансформатором напряжения 1500 100 В 75 кВ с трансформатором напряжения 6000 100В 12 кВ с трансформатором напряжения 10000 100В 600; 750 В с добавочным сопротивлением Р85 Условия эксплуатации: прибор выдерживает вибрацию с...
41916. Изучить устройство, принцип действия, применение приборов измерения и регулирования температуры 660.36 KB
  Задачи: изучить устройство принцип действия применение приборов измерения температуры основанных на измерении физических размеров изучить устройство принцип действия применение приборов измерения температуры основанных на изменении электрических характеристик сопротивления изучить устройство принцип действия применение приборов измерения температуры основанных на дистанционном измерении температуры изучить устройство принцип действия применение приборов измерения температуры основанных на изменении и регулировании...
41917. Ручне встановлення драйверу монітору на ОС типу Windows® 98; Windows® 2000 809.75 KB
  Місце виконання роботи ПЕК НАУ ВЦ кабінет №145 Хід роботи: Для того щоб встановити драйвер на монітор ми повинні: Зайти на вкладку Монітори→Стандартний монітор та натиснути кнопку Оновити рис.2; У вікні що з'явилося Встановлення обладнання натиснути кнопку далі; В наступному вікні для просто встановлення драйверу вибираємо Провести пошук найбільш свіжого драйверу для пристрою для більш детального пошуку необхідно вибрати Відобразити список всіх драйверів щоб ви могли вибрати найбільш підходящий драйвер в даному випадку...
41918. Робота з Partition Magic 3.05 MB
  Необхідно завантажити програму “ Partition Magic ” з диску. Розбивка диску за допомогою програми “ Partition Magic ” Навчитися робити розбивка диску за допомогою програми “ Partition Magic ”
41919. Ручне встановлення драйвері на ОС типу Windows® 98 267.71 KB
  Місце виконання роботи ПЕК НАУ ВЦ кабінет №145 Хід роботи: Для того щоб вручну встановити драйвер необхідно зробити наступне: Заходимо в диспетчер пристроїв та вибираємо драйвер. Переходимо на вкладку драйверрис.2 та натискаємо на клавішу Обновити драйверрис.