Процедурно-ориентированные.
Процедурно-ориентированные системы в отличие от машинно-ориентированных в качестве входного языка программирования используют различные языки, не зависящие от конкретных ЭВМ. Эти языки, построенные по принципу "один к нескольким", отличаются тем, что полностью освобождают программиста от записи машинных программ.
Процедурно-ориентированные языки служат для записи алгоритмов (процедур) обработки информации, характерных для решения задач определенного класса. Эти языки характеризуются тем, что в них приходится подробно описывать все действия, необходимые для решения задачи.
Проблемно-ориентированные.
Проблемно-ориентированные системы в качестве входного языка используют язык программирования с проблемной ориентацией. Программы, составленные на основе этих язы-ков программирования, записаны в терминах решаемой проблемы и реализуются выполнением соответствующих процедур. Программисту не требуется дополнительно описывать эти процедуры и контролировать порядок их следования. Благодаря высокой степени декларативности таких языков пользователь имеет возможность решать одну и ту же проблему различными методами в зависимости от его опыта в данной специальности.
Примерами подобных систем могут служить средства генерации отчетов, сортировок, системы с применением табличных языков и другие. В задачу программиста при работе с генератором отчетов (например, на языке QBE) входит задание информации о структуре и местонахождении входного массива информации, формате и структуре требуемого отчета. При этом алгоритм получения отчета не описывается.
Среди проблемно-ориентированных систем все большее значение приобретают непроцедурные (описательные) способы, ориентированные на «нетрадиционные» применения вычислительной техники: использование естественного языка, построение банков данных и баз знаний, создание экспертных систем и т. п., которые принято относить к проблематике искусственного интеллекта.
Наиболее известными из непроцедурных языков являются SQL-подобные языки, а также язык ПРОЛОГ. Программа, написанная на них, не содержит формул, предписаний, что сделать для получения результата. Программа констатирует, какой результат желателен, однако не указывает как этого достичь, Иными, словами, программа описывает не, процедуру решения задачи, а логическую модель предметной области - некоторые факты относительно свойств предметной области и отношений между этими свойствами, а также правила вывода новых свойств и отношений из уже заданных.
Этапы обработки программы машиной.
Опишем подробно те действия, которые должен предпринять программист, написав в тетради алгоритм, чтобы получить результаты расчетов на бумаге, экране или в файле. Мы представим этапы этих действий в виде схемы и в виде словесного описания. Результатами этапов являются объекты, приведенные в блоках. На схеме в первом блоке указан смысл каждой строки в последующих блоках. Между блоками приведены номера этапов, названия и средства их выполнения.
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
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|