Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Этапы обработки программы машиной.



Опишем подробно те действия, которые должен предпринять программист, написав в тетради алгоритм, чтобы получить результаты расчетов на бумаге, экране или в файле. Мы представим этапы этих действий в виде схемы и в виде словесного описания. Результатами этапов являются объекты, приведенные в блоках. На схеме в первом блоке указан смысл каждой строки в последующих блоках. Между блоками приведены номера этапов, названия и средства их выполнения.

Yoai 1. Написание программы. Здесь происходит достаточно формальный процесс перевода алгоритма с языка, использованного при его разработке, в текст программы на алгоритмическом языке высокого уровня (у нас это Си). При написании программы учитывается разработанные ранее сценарий ее работы и интерфейс пользователя.

Yoai 2. Создание программы на диске. На этом этапе с помощью программы редактор текстов, обычно входящую в систему программирования, текст программы записывается на жесткий диск. Результатом этапа редактирования является текстовый файл программы на языке Си с именем, которое дает программист, и расширением.c или.cpp. Этот файл имеет название исходный модуль. Программа может быть записана и в нескольких исходных модулях, т.е. состоять из нескольких файлов.

Yoai 3. Компиляция программы. На этапе компиляции каждый исходный модуль переводится с языка высокого уровня в машинный код. Это действие производится с помощью программы компилятор, обязательно входящей в систему программирования. Результатом работы компилятора является файл на диске, имеющий то же имя, что и исходный модуль, а расширение.obj. Этот файл носит название объектный модуль. Побочным результатом компиляции в случае наличия синтаксических ошибок в программе являются сообщения компилятора о них на экране дисплея. В этом случае объектный модуль не формируется.

Yoai 4. Сборка (компоновка, редактирование связей). На этом этапе все объектные модули с помощью программы компоновщик (или редактор связей) компонуются (собираются) в одну исполняемую программу на машкоде. Результатом работы компоновщика является файл, который называется загрузочный модуль. Его имя совпадает с именем первого из объектных модулей, участвующих в сборке, а расширение -.exe. Вместе с объектными модулями компонуются и используемые в программе стандартные функции из специальных библиотек, входящих в систему программирования. При этом формируются так называемые перекрестные ссылки (связи), т.е. адреса расположения в памяти используемых функций.

Yoai 5. Загрузка. С помощью программы загрузчик (или интерпретатор команд операционной системы, обычно это файл command.com), программа загружается в оперативную память и управление передается на ее первую команду (принцип Фон-Неймана). Обычно в начале работы программы вводятся исходные данные либо из файла, либо пользователем с клавиатуры. В процессе выполнения программа выводит результаты на экран, принтер или в файл на диске.

Табл.3

Смысл объекта Вид представления Место хранения Язык Имя хранения Название объекта   Алгоритм Блок-схема в тетради Язык -графический Имя алгоритма блок-схема задачи   Программа текст в тетради на языке Си Имя программы текст программы
         
Программа Файл на диске на языке машкод имя.exe загрузочный модуль   Программа Файл на диске на языке машкод имя.obj объектный модуль   Программа Файл на диске на языке Си имя.cpp исходный модуль
         
Результаты Числа и текст на экране или в файле На русском языке   Исходные данные Числа и текст Ввод с клавиатуры или из файла На русском языке   Стандарт-е функции Объектный модуль на диске на языке машкод .lib, .obj Библ.станд.функций

 

2. Основные понятия языка Си++.

История создания.

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

Самым первым в ряду предшественников Си следует считать язык Алгол-60, разработанный в 1960 г. Международным комитетом. В Алголе впервые большое внимание было уделено модульной структуре программы. На базе Алгола в 1963 году возник язык CPL (Conbined Programing Language - комбинированный язык программирования) - совместная разработка Кембриджского и Лондонского университетов.

Язык BCPL, созданный Мартином Ричардом в 1967 г., был получен выделением из CPL его основных свойств. Ещё большее упрощение представлял собой язык В (1970 г Кен Томпсон, Bell Laboratories). Но экономия средств языков BCPL и В привела к тому, что они стали ограниченными, пригодными только для узкого круга задач.

Язык Си был создан в 1972 г Денисом Ритчи (Bell Laboratories) как инструментальное средство операционной системы UNIX. Достижением при разработке языка Си было восстановление потерянной общности за счёт удачной системы типов данных, но без потери простоты, что и было целью разработки языка CPL.

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

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

2.2


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-14; Просмотров: 537; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.011 с.)
Главная | Случайная страница | Обратная связь