Интегрированная среда программирования Borland С++
Окно интегрированной среды программирования (ИСП) Borland C ++ (BC) состоит из 4-х основных частей: главного меню, окна редактирования, окна сообщений и строки состояния, в каждую из которых можно войти с помощью «мыши» (рис. 1).
| Главное
меню
Окно
редактиро-вания
Окно
сообщений
Строка
состояния
|
Рисунок 1 – Интерфейс интегрированной среды программирования Borland C ++
«Главное меню» доступно клавишей F10 или путем нажатия комбинаций клавиш ALT и первой буквы соответствующего элемента меню.
Таблица 1 – Меню File, команды работы с файлами
| New
| открыть новое окно редактирования
|
| Open... F 3
| открыть существующий файл с диска
|
| Save F 2
| сохранить программу под старым именем
|
| Save as...
| сохранить программу под новым именем
|
| Save all
| сохранить все файлы из всех окон
|
| Change dir...
| сменить каталог
|
| Print
| печать программы
|
| Print setup...
| установка параметров печати
|
| Dos shell
| временный выход в MS DOS
|
| Exit Alt + X
| выход из ИПС
|
Таблица 2 – Меню Edit, команды редактирования
| Undo Alt + BksSp
| отменить последнее действие
|
| Redo
| повторить последнее действие
|
| Cut Shift + Del
| вырезать выделенный фрагмент
|
| Copy Ctrl+Ins
| копировать выделенный фрагмент в буфер обмена
|
| Paste Shift+Ins
| вставить содержимое буфера обмена
|
| Clear Ctrl+Del
| удалить выделенный фрагмент
|
| Show clipboard
| показать окно буфера обмена
|
| Search
| команды поиска
|
| Find...
| найти фрагмент, указанный в окне
|
| Replace...
| найти фрагмент и заменить его на указанный в окне
|
| Search again
| повторить поиск
|
| Go to line number
| перейти к указанному номеру строки
|
| S how last compiler error
| показать последнюю ошибку компиляции
|
| Find error...
| найти ошибку
|
| Find procedure...
| найти процедуру, заданную в окне
|
| Previous browser
| покачать информацию предыдущего окна
|
| Objects
| показать в окне «дерево» объектных файлов
|
| Units
| показать в окне «дерево» модулей
|
| Global
| показать все глобальные переменные
|
| Symbol...
| задать идентификатор для выдачи номеров строк с ним
|
Таблица 3 – Меню Run, команды запуска расчета
| Run Ctrl+F 9
| запуск программы на исполнение
|
| Step over F 8
| пошаговое выполнение процедур
|
| Trace into F 7
| пошаговое выполнение операторов
|
| Go to cursor F 4
| выполнение фрагмента до курсора
|
| Program reset Ctrl+F 2
| завершение сеанса отладки
|
| Parameters...
| настройка параметров
|
Таблица 4 – Меню Compile, компиляция программы
| Compile Alt+F 9
| компиляция файла
|
| Make F 9
| перекомпиляция только измененных модулей
|
| Build
| перекомпиляция всех модулей
|
| Target... Real
| выбор режима-приложения
|
| Primary file...
| указание главного файла для команд Make и Build
|
| Clear primary
| отмена указания главного файла
|
| Information...
| информация о скомпилированном файле
|
Таблица 5 – Меню Debug, команды отладки
| Breakpoints
| управление точками прерывания
|
| Call stack Ctrl+F 3
| показ имен процедур до работающей процедуры
|
| Register
| информация о регистрах процессора
|
| Watch
| информация о значениях переменных и выражений
|
| Output
| отображение результатов без графики
|
| User screen Alt+F 5
| просмотр результатов программы
|
| Evaluate modify...Ctrl+F 4
| просмотр и изменение значений переменных
|
| Add watch... Ctrl+F 7
| просмотр конкретных значений переменных
|
| Add breakpoint...
| установка условных и безусловных точек прерывания
|
Таблица 6 – Меню Tools, команды работы с сообщениями ИПС и утилитами отладки
| Messages
| переход в окно сообщений
|
| Go to next Alt +F 8
| переход к следующему элементу окна
|
| Go to previous Alt+F 7
| переход к предыдущему элементу окна
|
| Grip Shift+F 2
| вызов программы Grip
|
| Turbo Assembler Shift+F 3
| вызов программы Assembler
|
| Turbo Debugger Shift+F 4
| вызов программы Debugger
|
| Turbo Profiler Shift+F 5
| вызов программы Profiler
|
Таблица 7 – Меню Options, команды установки параметров интегрированной среды
| Compiler
| параметры, определяющие работу компилятора
|
| Memory Sizes
| размеры стека, размер памяти
|
| Linker
| параметры компоновщика
|
| Directories
| задает каталоги, для помещения и извлекания файлов
|
| Browser
| опции, связанные с просмотром
|
| Tools
| местоположение программных компонентов меню
|
| Environment
| параметры работы с мышью, редактором и т. п.
|
| Open
| открывает файл конфигурации
|
| Save
| сохраняет файл конфигурации
|
| Save as…
| сохраняет файл конфигурации с запросом имени
|
Таблица 8 – Меню Window, команды управления окнами
| Tile
| показать все открытые окна редактирования
|
| Cascade
| показать в каскадном виде все открытые окна редактирования
|
| Close all
| закрыть все открытые окна
|
| Refresh display
| восстановление изображения ИПС после сбоев
|
| Save Move Ctrl+F 5
| изменение размеров окна
|
| Zoom F 5
| раскрытие окна до полного размера экрана
|
| Next F 6
| переход в следующее окно
|
| Previous Shift+F 6
| переход в предыдущее окно
|
| Close Alt+F 3
| закрытие окна
|
| List Alt+ 0
| перечисление всех окон с момента работы ИПС
|
Таблица 9 – Меню Help, вызов справочной информации
| Contents
| вывод оглавления справки
|
| Index Shift+F l
| вывод алфавитного перечня терминов
|
| Topic search Ctrl+F l
| вывод справки о термине, указанным курсором
|
| Previous topic Alt+F l
| переход к предыдущей справке
|
| Using help
| вывод инструкции по работе со справочной информацией
|
| Filet...
| добавление и удаление информационных файлов
|
| Compiler directives
| вывод списка всех директив компилятора
|
| Procedures and functions
| вывод алфавитного перечня процедур и функций
|
| Reserved words
| вывод зарезервированных слов
|
| Standards units
| вывод стандартных модулей
|
| Error messages
| вывод о сообщениях ошибок
|
| About...
| служебная информация
|
Для входа в «Окно редактирования» нажать комбинацию клавиш < Alt > и < цифра>, где < цифра> - номер окна. С окнами можно:
создавать новое – < Alt> +< F> +< N> (или File/New),
закрывать текущее – < Alt> +< F 3>.
Таблица 10 – «Горячие» клавиши
| < Insert>
| переключение режима вставки/замены символов
|
| < Delete>
| удаление символа, находящегося над курсором
|
| < Backspace>
| удаление символа, находящегося слева от курсора
|
| < End>
| перемещение курсора в конец текущей строки
|
| < Home>
| перемещение курсора и начало текущей строки
|
| < Enter>
| для перехода на новую строку и разрезания текущей строки на две
|
| < Page Up>
| «прочитывание» текста на один экран вперед
|
| < Page Down>
| «прочитывание» текста на один экран назад
|
| < Сарs Lock>
| переключение режима прописные/строчные буквы
|
| < Shift>
| временное переключение режима прописные/строчные буквы
|
| < Ctrl> + < y>
| позволяет удалить текущую строку
|
| < Ctrl> + < k > + < c > (или < Ctrl> + < Insert>)
| копирование
|
| < Ctrl> + < k > + < v > (или < Shift> + < Insert>)
| перемещение
|
| < Ctrl> + < k > + < y > (или < Ctrl> +< Delete>)
| удаление
|
| < Ctrl> + < k > + < h >
| отмена выделения блока
|
| < F2 > (или < Alt > + < F2 >)
| сохранение в файле на диске
|
| < F3 > (для существующего)
| считывание из файла на диске
|
| < Tab>
| перемещение указателя в открывшемся окне
|
| < Alt> +< F9>
| проверка программы на ошибки (компиляция)
|
| < Ctrl> +< F1 >
| справка по ошибке
|
| < Ctrl> + < F9 >
| создание файла с расширением «.ехе»
|
| < Alt > + < F5 >
| просмотр результатов отчетов
|
Для обнаружения алгоритмических ошибок можно воспользоваться следующими операциями, условно состоящими из нескольких шагов:
- установить индикацию (или просмотреть значения переменных) в процессе выполнения программы – < Ctrl> +< F7 >. В открывшемся окне ввестиимя переменной;
- провести трассировку (т. е. построчно выполнить) – нажимать на < F7 > (или < F8 > – для исключения функций);
- изменить (если требуется) значения переменной в процессе трассировки программы – < Ctrl> +< F4 >. Набрать в окне “ Expression” имя интересующей переменной, после чего в окне “ Result” высветится ее значение. Если в окне “ New Value” ввести новое значение, то дальнейшие вычисления будут выполняться уже с ним.
Во всех операциях указатель можно передвигать с помощью клавиши < Tab>.
Для входа в «Окно сообщений» можно воспользоваться командой главного меню Tools / Messages. Переход к следующему элементу сообщения < Alt > + < F8 >. Переход к предыдущему элементу сообщения < Alt > + < F7 >.
«Строка состояния» содержит пояснения о назначении пунктов выпадающего меню (см. выше).
С учетом представленной ИСП, может быть рекомендован следующий план работы при создании и отладки новой программы.
1. Открыть новое окно редактирования для ввода новой программы (File/New).
2. Набрать текст новой программы.
3. Записать текст программы на диск (File/Save или < F2 >).
4. Запустить программу на выполнение (Run/Run или < CTRL> +< F9 >).
5. Посмотреть результаты выполнения программы (< ALT> +< F5 >).
6. Сохранить отлаженную программу на диске (< F2 >).
Основы языка С++
Приступая к составлению программ, следует помнить следующее:
1) программа должна оформляться в соответствии со структурой языка программирования С ++ (табл. 11);
2) программа должна иметь начало и конец, обозначенные операторным блоком { … };
3) каждая переменная программы должна быть объявлена в начале программы с указанием её типа. Переменная может быть инициализирована некоторым значением. В имени переменной могут использоваться цифры и буквы латинского алфавита. Базовые типы данных даны в табл. 12;
4) все арифметические выражения состоят из операндов, которые должны расписываться в одну строчку. Если в формуле имеется дробь, то числитель и знаменатель указывается в круглых скобках. Основные операции, применяемые в выражениях, представлены табл. 13.
Операция % выполняется только с целыми числами, и результатом вычисления является целое число.
В языке С ++ операции инкремента (++) и декремента (––) могут появляться перед или после своего операнда. Когда операция является префиксом своего операнда, то операнд инкрементируется или декрементируется и его новое значение является результатом вычисления выражения. Когда операция является постфиксом своего операнда, то непосредственным результатом выражения является значение операнда перед его инкрементированием или декрементированием. После этого результат используется в контексте, а операнд инкрементируется или декрементируется;
5) вычисления в выражениях выполняются в соответствии с приоритетом операций, распределенных по категориям (табл. 14);
6) каждый оператор должен заканчиваться символом «;» - признаком окончания действия;
7) для ввода и вывода информации используются специальные функции (табл. 15). После вывода информации курсор устанавливается в этой же строке. Если есть необходимость переслать курсор на начало следующей строки, то используются в С ++ – специальные управляющие символы «\ n» и «endl»;
8) в составе транслятора среды программирования имеются стандартные функции, применяемые при вычислениях. Основные, наиболее часто используемые функции представлены табл. 16. Необходимо обращать внимание на подключаемые библиотечные модули, содержащие стандартные функции.
Таблица 11 – Структура программы
| Назначение
| Структура
|
| Директивы препроцессора
Раздел объявлений и соглашений
Раздел описания процедур и функций
Основная программа
| # include < Имя библиотеки>
# define Имя Макрос
label Номер метки;
const Имя константы = Значение константы;
Имя типа переменной Список имен переменных;
function Имя функции (входные и выходные данные)
{
Тело функции
}
main ()
{ Тело программы }
|
Таблица 12 – Типы данных и диапазон представления чисел
|
| Диапазон
| Тип
|
| целые числа
| 0…255
| uns char
|
| -128…127
| char
|
| -32768…32767
| int, short
|
| 0…65535
| uns short
|
| -2147483648…2147483647
| long
|
| 0…4294967295
| uns long
|
| вещественные числа
| 3, 4Е-38…3, 4Е38
| float
|
| 1, 7Е-308…1, 7Е308
| double
|
| 3, 4Е-4932…1, 1Е4932
| long double
|
Таблица 13 – Операции
|
| Назначение
| Операция
|
| аддитивные
| арифметические
| +, –
|
| мультипликативные
| *, /
|
| остаток от деления
| %
|
| отношений
| равно
| ==
|
| не равно
| ! =
|
| больше
| >
|
| меньше
| <
|
| больше или равно
| > =
|
| меньше или равно
| < =
|
| логические
| и
| & &
|
| или
| ||
|
| отрицание
| !
|
| присваивания
| простое присваивание
| =
|
| сложение с присваиванием
| +=
|
| вычитание с присваиванием
| –=
|
| умножение с присваиванием
| *=
|
| деление с присваиванием
| /=
|
| остаток от деления с присваиванием
| %=
|
| унарный инкремент
| ++
|
| унарный декремент
| – –
|
Таблица 14 – Приоритет выполнения операций
| Операция
| Приоритет
| Категория
|
| !, ++, – –
| Первый
| Унарные
|
| *, /, %, & &
| Второй
| Мультипликативные
|
| +, –, ||
| Третий
| Аддитивные
|
| ==,! =, <, >, < =, > =
| Четвертый
| Отношения
|
| =, *=, /=, %=, +=, –=
| Низший
| Простое и составное
|
Таблица 15 – Функции и процедуры ввода и вывода
|
| Спецификаторы
форматов и управляющие символы
| Функции
|
| Ввод
| Библиотека: stdio.h
% d, % i – целые
% f – вещественные
% с – символьные
% s – строковые
| scanf (“специф“, & идентификатор);
например,
scanf (“% d % f ”, & a, & b);
scanf (“% c ”, & ch);
scanf (“% s ”, st);
|
| Библиотека: iostream.h
| cin> > идентификатор;
например,
cin> > a; cin> > b> > ch; cin> > st;
|
| Вывод
| Библиотека: stdio.h
% d, % i – целые
% f – вещественные
% с – символьные
% s – строковые
\ n – перевод строки
| printf (“текст специф“, идентиф);
например,
printf (“Значение а= %d\n”, a);
printf (“а= %d\n и b= %f\n ”, a, b);
printf (“\n символ= %c \n ”, ch);
printf (“ строка: %s \n ”, st);
|
| Библиотека: iostream.h
\ n и endl – перевод строки
| cout< < текст< < идентификатор;
например,
cout< < ”Значение a=”< < a< < ”\n”;
cout< < ” a=”< < a< < ” b=”< < b< < endl;
cout< < ”символ: ”< < ch< < endl;
cout< < ”строка: ”< < st< < endl;
|
Таблица 16 – Часто используемые стандартные функции
| Назначение
| Функция
|
| абсолютное значение по модулю
| abs (int x), fabs (double x),
labs (longint x)
|
| тригонометрические функции (в радианах)
| double cos (double x)
double sin (double x)
double atan (double x)
double tan (double x)
|
| экспонента числа – expx
| double exp (double x)
|
| вычисляет остаток от числа
| double fmod (double x, double y)
|
| вычисляет целую часть от числа
| struct div (int x; int y)
|
| натуральный логарифм числа
| double log (double x)
|
| десятичный логарифм
| double log 10 (double x)
|
| квадрат числа
| double sqr (double x)
|
| квадратный корень числа
| double sqrt (double x)
|
| вычисляет число x в степени y
| double pow (double x, double y)
|
| возвращает случайное число в диапазоне 0… x;
| int rand ()
|
| округляет число до целого
| double floor (double x)
|