Редактирование текста исходного модуля
Порядок выполнения работы
1. Ознакомиться с методическими указаниями.
2. Ответить на контрольные вопросы.
3. Использовать в качестве задания программу линейного вычислительного процесса по курсу «Программирование и основы алгоритмизации».
4. Загрузить интегрированный пакет Borland С++.
5. Создать файл исходного модуля заданной программы.
6. Выполнить редактирование файла исходного модуля.
7. Закрыть откорректированный файл.
8. Оформить отчет.
9. Защитить работу.
Создание исходного модуля
Исходный модуль – программа пользователя на алгоритмическом языке, введенная в ЭВМ и оформленная в виде файла на диске.
Исходный модуль формируется пользователем вводом текста программы, созданного ранее, в память ЭВМ с помощью любого редактора текста.
Интегрированные среды разработки (IDE), ориентированные на машинную обработку прикладных программ, содержат собственный текстовый редактор. Основное достоинство встроенного редактора – поддержка синтаксиса того языка программирования, на который рассчитана среда (пакет). Поэтому создание исходных модулей собственных программ производится пользователем, как правило, с его помощью.
Методика создания файла исходного модуля:
¨ подготовить текст программы пользователя;
¨ загрузить интегрированную среду Borland C++ 5.02;
¨ открыть окно текстового редактора;
¨ ввести текст программы пользователя;
¨ сформировать его в исходный модуль в виде файла на диске.
Принцип создания пользователем исходного модуля с помощью редактора реализуется схемой:
|
Подготовка текста программы пользователя рассматривается в курсе «Программирование и основы алгоритмизации».
Загрузка IDE осуществляется по типовой методике (см. методические указания «Машинная обработка программ пользователя в интегрированной среде Borland C++ 5.02»).
Окно текстового редактора для создания нового файла исходного модуля открывается активизацией пунктов меню и подменю (Файл\Новый\Редактор текста)
File\New\Text Edit

Результат – открытие окна текстового редактора для ввода создаваемой программы пользователя.

Сформированный автоматически заголовок окна определяет предлагаемую по умолчанию спецификацию создаваемого файла. Для рассматриваемого окна: диск С (локальный системный), каталог BC5 (Borland C ++ версия 5), подкаталог BIN, имя файла NONAME (без имени), версия 00 (нулевая – начальная), расширение cpp (С ++).
Площадь самого окна предназначена для контроля формирования вводимой информации.
Ввод текста программы пользователя производится по правилам аналогичным любым текстовым редакторам (смотри соответствующие методические указания).
Для фрагмента простейшей программы пользователя:
#include
#include
#include
int main(void)
{
float a, b, x;
cout
cina;
cout
cinb;
x=a*b;
cout
getch();
return 1;
}
содержимое окна после ввода имеет вид:

Вводимый текст располагается в буфере редактора в оперативной памяти ЭВМ.
Формирование введенной программы в виде файла исходного модуля необходимо для его долговременного хранения. Хранение осуществляется на магнитных носителях. В качестве носителей рекомендуются:
— локальный жесткий диск (D);
— сетевой диск (U).
Создаваемый файл желательно располагать на сетевом диске U в личной папке пользователя.
Машинная реализация сохранения создаваемого файла исходного модуля на диске осуществляется последовательностью активизаций пунктов меню и подменю (Файл\Сохранить как)
File/Save as
Выполнение этой команды подтверждается появлением диалогового окна «Save File As»для сохранения файла с новым именем, в некоторой папке на диске:

Поле «Папка» позволяет (по типовой методике) выбрать диск и требуемую папку, поле «Имя файла» – указать желаемое имя файла, отличное от NONAME (без имени), а в раскрывающемся поле «Тип файла» выбрать «C++ source (*.cpp, *.c)». Расширение файла .срр можно не указывать, оно присвоится автоматически.
Создание файла с указанной спецификацией завершается нажатием кнопки «Сохранить».
Предлагаемые окном сохранения «Save File As» компоненты спецификации по умолчанию (папка BIN, на диске C рабочей станции в каталоге BC5, имя файла noname00.cpp) могут быть использованы для создания файла с обезличенным именем. Но это не соответствует требованиям хранения файлов в сети по следующим причинам:
¨ работа с этим файлом с другой рабочей станции требует нахождения его в ресурсах сети, что требует навыков работы в сети;
¨ доступ к файлу открыт для любого другого пользователя этой рабочей станции;
¨ периодическая очистка системного каталога приведет к ликвидации этого файла;
¨ обезличенное имя не позволяет определить назначение (принадлежность) файла, что заставляет систему дополнительно напоминать пользователю о переименовании файла при его дальнейшей обработке.
Поэтому пользователю рекомендуется задать желаемый диск, папку, имя файла и его расширение.
Диск и папка задаются в поле «Папка» как строка, определяющая рабочий диск (предпочтительно – U) и личную папку пользователя. Например, для пользователя Иванова первые два параметра:
U:\Иванов
В поле «Имя файла» указывается уникальное имя, желательно отражающее суть задачи (linie). Расширение файла (срр) задается по умолчанию и предварительно отображается в поле «Тип файла» как
C++ Source (*.cpp,*.c).
Изменение расширения, если это необходимо, осуществляется активизацией поля «Тип файла» и последующим выбором желаемого.
Активизация кнопки «Сохранить» завершает создание исходного модуля. Окно Save File Asзакрывается, и в каталоге U:\Ивановрегистрируется новый файлlinie.cpp. Полная спецификация файла принимает вид:
U:\Иванов\linie.cpp.
Редактор текста IDE предоставляет пользователю и другие альтернативные варианты сохранения файла исходного модуля на диске. Например, с помощью одной из команд:
File/Save(Файл\Сохранить)
File/Save all(Файл\Сохранить все)
File/Close (Файл\Закрыть)
Команда File/Save сохраняет содержимое одного активного окна редактирования. Она выполняется активизацией пунктов главного меню File/Save либо нажатием кнопки
на панели инструментов.
Команда File/Save all сохраняет содержимое всех открытых окон редактора, начиная с активного, в виде отдельных файлов. Используется, если задача реализуется несколькими взаимосвязанными программными модулями (головным и пользовательскими, при условии, что каждый из них создан в отдельном окне). Интегрированный пакет предусматривает одновременную обработку не более 32 окон.
Действие команды File/Save all аналогично последовательности команд File/Save. Выполнение команды приводит к оформлению в виде отдельного файла содержимого активного окна, а затем – всех остальных. Отображение начального варианта окна выполнения команды File/Save all при наличии трех открытых текстовых окон имеет вид:

Указание желаемого имени файла pr1.cpp и активизация кнопки «Сохранить» приводит к оформлению в виде файла pr1.cpp активного окна noname02.cpp и его деактивизации. Автоматически активизируется (подготавливается к сохранению) содержимое окна noname01.cpp. Указание имени файла pr2.cpp и нажатие кнопки «Сохранить» оформляет в виде файла pr2.cpp модуль noname01.cpp и активизирует окно noname00.cpp. Сохранение его содержимого требует изменения спецификации на pr3.cpp и последнего нажатия кнопки «Сохранить». В результате создается третий файл, окно сохранения Save File Asликвидируется, а в каталоге пользователя появляются спецификации трех созданных файлов: pr1.cpp, pr2.cpp, pr3.cpp.
При наличии одного окна с программным модулем команда File/Save all работает аналогично команде File/Save.
Оформление исходного модуля в виде файла может быть выполнено также активизацией пункта Fileглавного меню, а затем пункта Closeв открывшемся подменю. Сокращенный вид команды: File\Close(Файл\Закрыть) (Enter). Выполнение команды ликвидирует текстовое окно.
Внимание! Для предотвращения потери информации (созданного и находящегося в буфере модуля) ликвидация текстового окна предваряется появлением окна-запроса Borland C++ (модуль NONAME00.cpp был изменен. Сохранить изменения перед закрытием?):

Кнопки нижнего уровня предполагают ответы «Да», «Нет», «Отмена». Сохранение содержимого ликвидируемого окна в виде файла выполняется нажатием кнопки «Yes». При этом на экран выдается типовое окно File Save As, позволяя пользователю выполнить сохранение файла по стандартной методике. Активизация кнопки «No» приведет к ликвидации окна с потерей его содержимого. Нажатие кнопки «Cancel» закрывает окно-запрос, возвращая пользователя к работе с текстовым окном.
Сохранение программного модуля в виде файла позволяет в случае необходимости очистить буфер текстового редактора IDE от хранящегося в нем оригинала созданной программы.
Внимание! Попытка ликвидации текстового окна (однократным щелчком кнопки в правом верхнем углу окна редактирования) приводит к автоматическому предотвращению возможной потери информации, находящейся в буфере, появлением окна-запроса «Borland C++». Предлагаемые варианты позволяют пользователю выполнить любой из них (см. выше).
Редактирование текста исходного модуля
Созданный исходный модуль, как правило, содержит некоторое количество различных ошибок (неверные символы, повторяющиеся и отсутствующие фрагменты, неоптимальная структура). Исправление (редактирование) программного модуля – обязательный компонент машинной обработки программ пользователя.
Редактирование осуществляется средствами того же текстового редактора IDE. Начальная фаза методики определяется содержимым окна текстового редактора (буфера ОП). При этом возможно два варианта:
¨ исходный модуль продолжает оставаться в окне текстового редактора (буфере ОП);
¨ содержимое активизированного окна другое или само окно отсутствует.
В первом случае все готово для редактирования, а во втором – необходимо выполнить загрузку корректируемого исходного модуля по типовой методике, например командой File\Open…\имя файла(Файл\Открыть\имя).
Содержимое текстового окна модифицируется с помощью специальных команд (операций). Операции, по отношению к редактируемому тексту, делятся на:
¨ посимвольные;
¨ блочные.
В первом случае редактируемый фрагмент – символ, а во втором – группа символов (блок).
Посимвольное редактирование выполняется по типовым методикам работы с единичным знаком (ликвидация, ввод, замена, сдвиг).
Блочное редактирование требует предварительного оформления группы символов в активизированный фрагмент (выделения блока по типовой методике). Характерный признак блока – инвертированность площади, которую он занимает.
Средства редактирования скомпонованы в пункте Edit главного меню IDE. Активизация Edit производится типовой командой и приводит к открытию ниспадающего меню. Содержимое определяет активные и пассивные разделы. В большинстве случаев основные разделы неактивны, так как работа с ними требует предварительной подготовки исходного модуля. В этом случае вариант меню Edit имеет вид:

Выделение любого фрагмента существенно увеличивает количество возможных операций, предлагаемых меню Edit.
Быстрое выделение всего текста в окне редактирования осуществляется командой Редактирование\Выделить все
Edit\Select all
В этом варианте меню Edit приобретает вид:

Внимание! Активизация пункта Pasteсвидетельствуето наличии любого содержимого в буфере обмена.
Буфер обмена создается автоматически любым редактором текста для хранения фрагментов, подлежащих редактированию.
Методика редактирования:
¨ выделить корректируемый тестовый фрагмент;
¨ активизировать пункт Edit главного меню;
¨ выбрать необходимую операцию;
¨ дать команду на ее выполнение;
¨ оценить результат.
Первые два пункта выполняются по типовой методике. Третий реализуется следующими операциями блочного редактирования:
— вырезание;
— копирование;
— вставка;
— замена;
— ликвидация;
— отмена.
Рассмотрим каждую из операций.
Изъятие (вырезание) – перенос выделенного текстового фрагмента в буфер обмена с удалением его в окне редактирования.
Определение предписывает двухшаговую реализацию операции:
— выделение вырезаемого фрагмента в текстовом окне,
— ввод команды «вырезать».
Выделение текстового фрагмента выполняется по типовой методике.
В качестве команды «вырезать» используются:
¨ Edit\Cut(Редактирование\Вырезание) активизацией пункта Edit главного меню, а затем пункта Cut подменю;
¨ горячие клавиши Сtrl + X;
¨ комбинация клавиш – Shift + Delete;
¨ кнопка
на панели инструментов.
Выполнение команды приводит к перемещению выделенного фрагмента из окна редактирования в буфер обмена (в окне редактирования текст справа от перемещенного фрагмента автоматически смещается влево).
|
Примеры фрагментов окна редактирования до и после выполнения команды:
Копирование – размещение копии выделенного текстового фрагмента в буфер обмена.
Способы копирования:
¨ команда Edit\Copy (Редактировать\Копировать) активизацией пункта Edit главного меню, а затем пункта Copy подменю
¨ горячие клавиши (указаны справа в меню) Ctrl + C;
¨ комбинация клавиш – Ctrl + Insert;
¨ кнопка
на панели инструментов.
Выполнение команды приводит к размещению копии в буфере обмена (сам выделенный фрагмент остается в тексте).
Примеры фрагментов окна редактирования до и после выполнения команды:
|
Вставка –копирование содержимого буфера обмена в окно редактирования, начиная от курсора.
Определение вставки предписывает двухшаговую реализацию операции:
— расположение курсора в желаемой точке текстового окна,
— ввод команды.
Размещение курсора выполняется по типовой методике.
В качестве команд вставки используются:
¨ Edit\Paste (Редактирование\Вставить) – активизация пункта Edit главного меню, а затем пункта Paste подменю;
¨ горячие клавиши (указаны справа в меню) Ctrl + V;
¨ комбинация клавиш – Schift + Insert;
¨ кнопка
на панели инструментов.
Вставка приводит к размещению копии текста из буфера
