Этапы обработки текста программы включение текстов из заголовочных файлов
Цель работы: Выполнение простой программы в системе программирования VC++6.0. Приобретение навыков в записи выражений на языке C++ и использование стандартных функций.
Теоретические сведения.
1.1. Структура программы на С++
Программа на языке Си имеет следующую структуру:
void main ( ) //функция, с которой начинается выполнение программы
Директивы препроцессора управляют преобразованием текста программы до ее компиляции. Исходная программа, подготовленная на С++ в виде текстового файла, проходит 3 этапа обработки:
1) препроцессорное преобразование текста;
3) компоновка (редактирование связей или сборка).
Рис. 2. Обработка С++ программы
После выполнения препроцессорной обработки в тексте программы не остается ни одной препроцессорной директивы.
Программа представляет собой набор описаний и определений, и состоит из набора функций. Среди этих функций всегда должна быть функция с именем main. Без нее программа не может быть выполнена. Перед именем функции помещаются сведения о типе возвращаемого функцией значения (тип результата). Если функция ничего не возвращает, то указывается тип void: void main(). Каждая функция, в том числе и main, должна иметь список параметров. Список может быть пустым, тогда он указывается как(void) (слово void может быть опущено: ()).
За заголовком функции размещается тело функции. Тело функции – это последовательность определений, описаний и исполняемых операторов, заключенных в фигурные скобки. Каждое определение, описание или оператор заканчивается точкой с запятой.
Определения – вводят объекты (объект – это именованная область памяти, частный случай объекта – переменная), необходимые для представления в программе обрабатываемых данных. Примерами являются
const int y = 10 ; //именованная константа
float x ; //переменная
Описания – уведомляют компилятор о свойствах и именах объектов и функций, описанных в других частях программы.
Операторы – определяют действия программы на каждом шаге ее исполнения.
1.2. Элементы языка C/C++
1) Алфавит языка который включает
· прописные и строчные латинские буквы и знак подчеркивания;
· арабские цифры от 0 до 9;
· пробельные символы (пробел, символ табуляции, символы перехода на новую строку).
2) Из символов формируются лексемы языка:
· Идентификаторы – имена объектов C/C++-программ. В идентификаторе могут быть использованы латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются, например, PROG1, prog1 и Prog1 – три различных идентификатора. Первым символом должна быть буква или знак подчеркивания (но не цифра). Пробелы в идентификаторах не допускаются.
· Ключевые (зарезервированные) слова – это слова, которые имеют специальное значение для компилятора. Их нельзя использовать в качестве идентификаторов.
· Знаки операций – это один или несколько символов, определяющих действие над операндами. Операции делятся на унарные, бинарные и тернарную по количеству участвующих в этой операции операндов.
· Константы – это неизменяемые величины. Существуют целые, вещественные, символьные и строковые константы. Компилятор выделяет константу в качестве лексемы (элементарной конструкции) и относит ее к одному из типов по ее внешнему виду.
· Разделители – скобки, точка, запятая пробельные символы.
1.3. Константы в C/C++
Константа – это лексема, представляющая изображение фиксированного числового, строкового или символьного значения. Константы делятся на 5 групп:
· вещественные (с плавающей точкой);
Компилятор выделяет лексему и относит ее к той или другой группе, а затем внутри группы к определенному типу по ее форме записи в тексте программы и по числовому значению.
Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными.
Название | Определение | Примеры |
Десятичная константа | Последовательность десятичных цифр, начинающаяся не с 0, если это число не 0 | 8, 0, 192345 |
Восьмеричная константа | Последовательность восьмеричных цифр, которым предшествует 0. | 026, 034, 017 |
Шестнадцатеричная константа | Последовательность шестнадцатеричных цифр, которым предшествуют символы 0х или 0Х | 0хА, 0Х00F, 0х123 |
Вещественные константы могут иметь две формы представления: с фиксированной точкой и с плавающей точкой.
Название | Вид | Примеры |
Константы с фиксированной точкой | [цифры].[цифры] | 5.7, .0001, 41. |
Константа с плавающей точкой | [цифры][.][цифры]E|e[+|-] [цифры] | 0.5е5, .11е-5, 5Е3 |
Перечислимые константы вводятся с помощью ключевого слова enum. Это обычные целые константы, которым приписаны уникальные и удобные для использования обозначения.
Символьные константы – это один или два символа, заключенные в апострофы. Символьные константы, состоящие из одного символа, имеют тип char и занимают в памяти один байт, символьные константы, состоящие из двух символов, имеют тип int и занимают два байта. Последовательности, начинающиеся со знака \, называются управляющими, они используются:
· для представления символов, не имеющих графического отображения, например:
\a – звуковой сигнал,
\b – возврат на один шаг,
\n – перевод строки,
\t – горизонтальная табуляция;
· для представления символов с помощью шестнадцатеричных или восьмеричных кодов (\073, \0хF5);
Строковая константа – это последовательность символов, заключенная в кавычки. Внутри строк также могут использоваться управляющие символы. Например:
”\n\”Алгоритмические языки программирования\””.
1.4. Типы данных в C++
Типы C++ можно разделить на простые и составные. К простым типам относят типы, которые характеризуются одним значением. В языке C++ определено 6 простых типов данных:
wchar_t (расширенный символьный) (C++)
bool (логический) (C++)
double (вещественный с двойной точностью)
Существует 4 спецификатора типа, уточняющих внутреннее представление и диапазон стандартных типов
Цель работы:ознакомиться с последовательностью обработки программы от исходного кода к исполняемому в операционных системах на примере языка С++.
Индивидуальное задание
Провести анализ этапов обработки программы от исходного кода к исполняемому в операционных системах.
Оборудование:ПК с операционной системой Windows XP/7/8.
Теоретические сведения
Объединенная единым алгоритмом совокупность описаний и операторов образует программу на алгоритмическом языке. Для того чтобы выполнить программу, требуется перевести ее на язык, понятный процессору — в машинные коды. Этот процесс состоит из нескольких этапов. Рисунок ниже иллюстрирует эти этапы для языка С++.
Сначала программа передается препроцессору, который выполняет директивы, содержащиеся в ее тексте (например, включение в текст так называемых заголовочных файлов — текстовых файлов, в которых содержатся описания используемых в программе элементов).
Получившийся полный текст программы поступает на вход компилятора, который выделяет лексемы, а затем на основе грамматики языка распознает выражения и операторы, построенные из этих лексем. При этом компилятор выявляет синтаксические ошибки и в случае их отсутствия строит объектный модуль.
Компоновщик, или редактор связей, формирует исполняемый модуль программы, подключая к объектному модулю другие объектные модули, в том числе содержащие функции библиотек, обращение к которым содержится в любой программе (например, для осуществления вывода на экран). Если программа состоит из нескольких исходных файлов, они компилируются по отдельности и объединяются на этапе компоновки. Исполняемый модуль имеет расширение .ехе и запускается на выполнение обычным образом.
Таким образом создаются исполняемые программы на C++. Конечно это очень общее описание этого сложного процесса, но четко передает смысл всех этапов работы компилятора и компоновщика.
оздание исполняемого файла издавна производилось в три этапа: (1) обработка исходного кода препроцессором, (2) компиляция в объектный код и (3) компоновка объектных модулей, включая модули из объектных библиотек, в исполняемый файл. Это классическая схема для компилируемых языков. (Сейчас уже используются и другие схемы.)
Часто компиляцией программы называют весь процесс преобразования исходного кода в исполняемы модуль. Что неправильно. Обратите внимание, что в IDE этот процесс называется построение (build) проекта.
IDE обычно скрывают три отдельных этапа создания исполняемого модуля. Они проявляются только в тех случаях, когда на этапе препроцессинга или компоновки обнаруживаются ошибки.
Итак, допустим, у нас есть программа на C++ «Hello, World!»:
Затем результат работы препроцессора передаётся компилятору. Компилятор производит весь положенный комплекс работ: от синтаксического разбора и поиска ошибок до создания объектного файла (понятно, что если имеются синтаксические ошибки, то объектный файл не создаётся). В объектном файле обычно имеется таблица внешних ссылок — некая таблица, в которой, в частности, перечислены имена подпрограмм, которые используются в объектном модуле, но код которых отсутствует в данном объектном модуле. Эти подпрограммы внешние по отношению к модулю.
Исходный код, который может быть откомпилирован, называется единицей компиляции. Наша программа содержит одну единицу компиляции.
Что бы получить нормальный исполняемый модуль, необходимо «разрешить» внешние ссылки. Т.е. добавить в исполняемый модуль код отсутствующих подпрограмм и настроить соответствующим образом все ссылки на этот код. Этим занимается компоновщик. Он анализирует таблицу внешних ссылок объектного модуля, ищет в объектных библиотеках недостающие модули, копирует их в исполняемый модуль и настраивает ссылки. После этого исполняемый модуль готов.
Библиотека (объектная библиотека) — это набор откомпилированных подпрограмм, собранных в единый файл определённой структуры. Подключение библиотеки происходит на этапе компоновки исполняемого файла из объектных файлов (т.е. из тех файлов, которые получаются в результате компиляции исходного текста программы).
Необходимые объектные библиотеки входят в комплект поставки компилятора. В комплект поставки библиотек (любых) входит набор заголовочных файлов, которые содержат объявления, необходимые компилятору.
Если исходный код программы разделён на несколько файлов, то процесс компиляции и сборки происходит аналогично. Сначала все единицы компиляции по отдельности компилируются, а затем компоновщик собирает полученные объектные модули (с подключением библиотек) в исполняемый файл. Собственно, этот процесс и называется раздельной компиляцией.
Ход работы:
1. Ознакомиться с теоретическими сведениями.
2. Законспектировать тезисы.
3. Провести анализ этапов обработки программы от исходного кода к исполняемому в операционных системах на примере языка С++.
Содержание отчета
Отчет по практической работе должен содержать следующие пункты:
- название практической работы;
- краткие теоретические сведения;
- индивидуальное задание для выполнения практической работы;
- краткое описание хода выполнения работы;
- результаты выполнения работы;
Практическая работа №18
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой.
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.
© cyberpedia.su 2017-2020 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!
Технология обработки текстовой информации с помощью современных текстовых редакторов может быть рассмотрена как ряд следующих этапов (см. рис.7.3):
1) создание файла для хранения текстовой информации;
2) занесение текстовой информации в компьютер. Известно несколько способов занесения текстовой информации в компьютер:
- набор текста на клавиатуре;
- сканирование текста с его источника (документа, книги, журнала и т.д.);
- "надиктовывание" нужного текста компьютеру и последующее распознавание речи специальными мультимедийными программными средствами.
Выбор того или иного способа зависит от вида и формы представления информации, а также от технических и программных возможностей, имеющихся в распоряжении пользователя.
3) сохранение текста, представленного в электронной форме. Этот этап реализуется с целью предоставления пользователю возможности многократного обращения к электронной версии текста;
4) открытие файла, хранящего текстовую информацию. Как правило, этот этап используется с целью обращения пользователя к хранящемуся и созданному ранее тексту, представленному в электронной форме. Открытие текстового файла позволит пользователю прочесть хранящийся текст, распечатать его на принтере, отредактировать его содержание и т.д.;
5) редактирование текстовой информации, представленной в электронной форме. Необходимость этого этапа обусловлена тем, что как при вводе текста с клавиатуры, при сканировании текста из печатных источников или распознавании речевого ввода возможны различного вида ошибки. Кроме того, может возникнуть необходимость изменить хранящийся текст в результате произошедших со временем различных изменений, касающихся содержательной стороны хранящегося текста. Существует несколько способов редактирования текстовой информации:
- удаление (или замена) неверно набранного символа:
- вставка правильного (или пропущенного) символа;
- удаление (или замена) ненужного слова;
- удаление ненужной строки;
- перемещение строки в нужное место;
- удаление или вставка части (фрагмента) текста;
- перемещение фрагментов текста в нужное место;
- поиск и замена фрагментов текста;
- соединение в одном документе фрагментов текста из разных источников.
6) форматирование текста, хранящегося в электронной форме. Этот этап обеспечивает пользователю возможность "приукрашивать" хранящийся в электронной форме текст, т.е. текст может быть оформлен по специальным, устанавливаемым пользователем, правилам. Основными способами форматирования текста, хранящегося в электронной форме, являются следующие:
- выравнивание строк текста - по правой, левой границам текста, по обеим границам или по центру;
- изменение границ абзацев (величины отступа);
- размещение текста на странице в несколько столбцов;
- изменение шрифтового оформления (начертание шрифта, величина символа, выделение жирным шрифтом или курсивом и т.п.);
- автоматическое создание маркированных и нумерованных списков;
- изменение межстрочных расстояний в абзацах текста;
- обрамление и заливка цветовым фоном фрагмента текста;
- установка размеров полей (правого, левого, верхнего и нижнего) страницы;
- вставка номеров в выбранном месте страницы (вверху, внизу, у края или по центру листа);
- оформление при необходимости верхнего и нижнего колонтитулов страницы;
- введение при необходимости разрывов страницы.
7) автоматическое формирование оглавления к тексту;
8) создание текстовых файлов на основе встроенных в текстовый редактор стилей оформления;
9) автоматическая проверка орфографии и грамматики. Это один из самых важных этапов работы пользователя с текстом, т.к. именно на этом этапе возможна проверка правописания отдельных слов, выполнения правил синтаксиса, а также внесения стилистических уточнений изложения содержания текста;
10) встраивание в текст различных элементов (таблиц, графиков, диаграмм, иллюстраций и т.д.);
11) печать текста.
Рис. 7.3. Этапы обработки текстовой информации
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни.
© cyberpedia.su 2017-2020 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!
Данный вид программ представляет собой наиболее развитую в плане реализуемых функций и многочисленную по количеству созданных пакетов часть прикладного программного обеспечения и включает следующие классы:
- программы оптического распознавания символов (ОРС). Основное назначение — автоматизация процесса ввода в компьютер типографских, машинописных (даже рукописных) текстов. Пакеты данного класса обычно содержат разнообразные средства, облегчающие работу пользователя и повышающие вероятность правильного распознавания. Используются, как правило, совместно со сканерами. К пакетам данного типа относятся: FineReader, ConieForm, Tiger, OmniPage. - системы машинного перевода текстов. К ним относятся, например, пакеты петербургской фирмы ПРОМТ: PROMT, STYLUS;
- программное обеспечение для создания, редактирования и печати текстовых документов. Удобство и эффективность применения ПК для подготовки текстов привело к созданию большого количества программ. В зависимости от того, какие функции они выполняют, их можно подразделить на текстовые редакторы, текстовые процессоры, настольные издательские системы.
Основная функция текстовых редакторов — возможность свободного создания и редактирования текста. Программы данного типа реализуют основной стандарт редактирования, который предусматривает: набор алфавитно-цифровой информации, перемещение по тексту, удаление и вставку символов, удаление и вставку строк. К текстовым редакторам относятся: редакторы, встроенные в системы программирования или системы управления базами данных, MS Editor, Multi-Edit. Кроме этого, данный тип программ может включать и редакторы научных документов: ChiWriter, TEX.
Основная функция текстовых процессоров — оформление и форматирование текста. Текстовые процессоры реализуют следующий набора операций: форматирование символов и абзацев, оформление страниц (номер страницы, сноски, колонтитулы), оформление документа (содержание, указатели), работа с таблицами, проверка правописания, работа с графическими объектами. Признанными лидерами в данном виде являются MS Word, WordPerfect, AmiPro.
Настольные издательские системы — программы, предназначенные для профессиональной издательской деятельности и позволяющие осуществлять электронную верстку широкого спектра основных типов документов. Предусмотренные в пакетах этого вида средства позволяют: использовать всевозможные шрифты и полиграфические изображения, осуществлять редактирование текста на уровне лучших текстовых процессоров, обрабатывать графические изображения, обеспечивать вывод документа высокого качества, работать в сетях на различных платформах. Наилучшими пакетами в данном виде для ПК являются: CorelVentura, PageMaker, FrameMaker, Microsoft Publisher, PagePlus, QuarkXPress.
Основные возможности Word:
Microsoft Word -текстовый процессор, предназначенный для создания, просмотра и редактирования текстовых документов, с локальным применением простейших форм таблично-матричных алгоритмов.
Основные функции процессора выражены в главном меню, в котором можно выделить следующие разделы: Файл (File); Главная, Вставка (Edit); Разметка страницы, Ссылки, Вид (View); Вставка (Insert); Рецензирование, Разработчик
Раздел работы с текстом, как с целым документом (Файл) включает следующие основные функции:
1)Чтение файла с диска; 2)Создание нового файла; 3)Сохранение файла; 5)Просмотр готового документа; 6)Вывод на принтер.
Два раздела представления документа и инструментов для работы на экране монитора (Разметка страницы) включает следующие основные функции:
-Задание вида рабочего поля, например, "разметка страницы", "линейка" и др.
-Определение необходимых панелей ("стандартная", "форматирование" и др.).
-Выбор размера окна и масштаба текста.
Раздел форматирования текста (Главная) включает следующие основные функции:
-Задание типа и размера шрифта.
-Задание начертания шрифта (полужирный, курсив, подчеркнутый и т.д.).
-Расположение абзацев на странице (отступы слева, справа, красная строка, выравнивание текста по одной или по обеим сторонам, межстрочный интервал).
-Расположение абзаца в виде нумерованного, многоуровневого или маркированного списка.
-Размещение текста в колонки.
-Оформление рамок вокруг абзаца и т.д.
Раздел вставки объектов или служебной информации (Вставка) включает следующие основные функции:
-Вставка объектов (графика, звук, диаграммы и т.д.).
-Вставка специальных символов и сносок.
-Вставка разрывов для создания новых разделов.
-Вставка закладок и гиперссылок.
-Нумерация страниц и др.
Рецензирование: создание примечаний, использование справочного материала, тезаруса, проверка правописания….
Вид: режим чтения, разметка страницы, структура, масштаб, расположение страниц…
Разработчик: макросы, использование возможностей VBA.
Среди приемов работы следует выделить два понятия:
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни.
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой.
© cyberpedia.su 2017-2020 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!
Директивы препроцессора управляют преобразованием текста программы до ее компиляции. Исходная программа, подготовленная на Си в виде текстового файла, проходит 3 этапа обработки:
1) препроцессорное преобразование текста;
3) компоновка (редактирование связей или сборка).
После выполнения препроцессорной обработки в тексте программы не остается ни одной препроцессорной директивы.
Некоторые заголовочные файлы:
· ALLOC.H – функции для работы с памятью
· CONIO.H – функции консольного ввода-вывода
· DIR.H – работа с файлами и каталогами
· IO.H – функции для работы с файлами
· IOSTREAM.H – библиотека Си++ потоков ввода/вывода
· COMPLEX.H, MATH.H – математические функции
· STDIO.H – стандартная библиотека ввода-вывода
· STDLIB.H – библиотека стандартных функций
· STRING.H – функции для работы со строками
· TIME.H – функции для работы с датой и временем
Программа представляет собой набор описаний и определений и состоит из набора функций. Функции – это строительные блоки языка, самостоятельные единицы программы, спроектированные для решения конкретных задач. Обычно функции в программе повторяются несколько раз. Среди функций всегда должна быть функция с именем main. Без нее программа не может быть выполнена.
Особенностью стандарта языка Си является то, что для создания правильного машинного кода функции ему необходимо сообщить до ее первого вызова тип возвращаемого результата, а также количество и типы аргументов. Для этой цели используется понятие прототипа функции, который задается следующим образом:
тип (список параметров);
Перед именем функции помещаются сведения о типе возвращаемого функцией значения (тип результата). Если функция ничего не возвращает, то указывается тип void. Вы не обязаны объявлять функцию типа void, это не будет препятствием для компиляции, однако объявление типа возвращаемого значения функции является хорошим правилом. Каждая функция, в том числе и main, должна иметь набор параметров, он может быть пустым, тогда в скобках указывается (void).
После определения прототипа размещаются заголовок и тело функции. Чаще всего заголовок функции совпадает с ее прототипом. Тело функции – это последовательность определений, описаний и исполняемых операторов, заключенных в фигурные скобки. Определения, описания и операторы заканчиваются точкой с запятой. После фигурных скобок точка с запятой не ставится.
Определения вводят объекты (объект – это именованная область памяти, частный случай объекта – переменная), необходимые для представления в программе обрабатываемых данных. Примерами являются:
Читайте также: