|
Лабораторные
|
|
Автор Administrator
|
|
24/06/2008 г. |
|
10.2. Системы счисления
Под позиционной системой
счисления понимают способ записи чисел с помощью цифр, при котором
значение цифры определяется ее порядком в записи числа. Число R в р-ичной системе счисления можно представить в развернутом виде
где – цифры, p – основание системы счисления. Количество цифр равно p. Для записи цифр в общем случае может быть использован любой набор p символов. Обычно при используются символы , для
добавляются буквы латинского алфавита A, B, C, D, E, F, которые в
десятичной системе представляют числами 10, 11, 12, 13, 14, 15.
Например,
|
|
Подробнее...
|
|
|
Лабораторные
|
|
Автор Administrator
|
|
24/06/2008 г. |
|
Тема 10. Программирование с использованием механизма обработки исключительных ситуаций
Цель лабораторной работы:
изучить средства обработки исключительных ситуаций. Написать программу
обработки данных, представленных в заданной системе счисления с
использованием механизма обработки исключительных ситуаций.
10.1. Обработка исключительных ситуаций
Под исключительной
ситуацией понимается некое ошибочное состояние, возникающее при
выполнении программы, требующее выполнения определённых действий для
продолжения работы программы или корректного ее завершения. Стандартный
обработчик, вызываемый по умолчанию, информирует пользователя о
возникновении ошибки и предпринимает определённые действия в связи с
возникшей ошибкой. Для реализации необходимой создателю программы
реакции на возникновение ошибки можно использовать такую синтаксическую
структуру, которая перехватывает исключительную ситуацию и дает
возможность разработчику обеспечить выполнение требуемых действий при
ее возникновении.
До появления C++ Builder в Borland C++ выделяли два вида управления исключительными ситуациями:
управление исключительными ситуациями, характерное для языка C++;
структурное, или структурированное (structured exception) управление, характерное для языка С.
В C++ Builder добавились
механизмы обработки исключительных ситуаций, обусловленных применением
библиотеки визуальных компонентов (VCL - Visual Component Library).
|
|
Подробнее...
|
|
|
Лабораторные
|
|
Автор Administrator
|
|
24/06/2008 г. |
|
Тема 9. Программирование с использованием подпрограмм и модулей
Цель лабораторной работы: изучить возможности C++ Builder
для написания подпрограмм и создания модулей. Составить и отладить
программу, использующую внешний модуль с подпрограммой.
9.1. Использование подпрограмм
Подпрограмма –
это именованная, определенным образом оформленная группа операторов,
которая может быть вызвана любое количество раз из любой точки основной
программы.
Подпрограммы используются
в том случае, когда одна и та же последовательность операторов в тексте
программы повторяется несколько раз. Эта последовательность заменяется
вызовом подпрограммы, содержащей необходимые операторы. Подпрограммы
применяются также для создания специализированных библиотечных модулей,
содержащих набор подпрограмм определенного назначения, для
использования их другими программистами.
|
|
Подробнее...
|
|
|
Лабораторные
|
|
Автор Administrator
|
|
24/06/2008 г. |
|
8.4. Динамическое размещение данных
Динамическое размещение данных
используется в случаях, когда число необходимых для работы объектов
заранее неизвестно и задается непосредственно во время выполнения
программы, либо когда некоторые объекты используются только в
определенном месте программы и далее становятся ненужными. При этом
достигается значительная экономия вычислительных ресурсов.
Для динамически размещаемых данных выделяется специальная область памяти –heap. Имеются следующие функции для работы с динамической памятью (находятся в файлах stdlib.h alloc.h):
void *malloc(size) – выделяет блок памяти размером size байт. Если выделение прошло удачно, то функция возвращает указатель на выделенную область, иначе – возвращается NULL.
void *calloc(n, size) – выделяет n блоков памяти, каждый размером size байт. Если выделение прошло удачно, то функция возвращает указатель на выделенную область, иначе – возвращается NULL.
void *realloc(*bl, size) – изменяет размер ранее выделенного блока памяти с адресом *bl на новый размер, равный size байт. Если изменение прошло удачно, то возвращает указатель на выделенную область, иначе – возвращается NULL. Если *bl равен NULL, то функция работает так же, как и функция malloc. Если size равен нулю, то выделенный по адресу *bl блок памяти освобождается, и функция возвращает NULL.
void free(*bl) – освобождает ранее выделенный блока памяти с адресом *bl.
|
|
Подробнее...
|
|
|
Лабораторные
|
|
Автор Administrator
|
|
24/06/2008 г. |
|
8.2. Указатели на массив
Массивы и указатели в С++ тесно
связаны и могут использоваться одинаковым образом. Имя массива является
указателем на его первый элемент. Указатель также содержит адрес
первого элемента массива. Указатели могут бить использованы при любых
операциях с массивами. Например имеется объявление:
int A[5] = [1,2,3,4,5], *pmas;
Тогда для того чтобы pmas указывал на массив, надо записать:
pmas=A; или pmas=&A[0];
Обращение, например, к третьему элементу массива можно записать:
A[2] или *(pmas+2), или *(A+2)
Указатели можно индексировать
так же, как и массивы. Все операции, которые можно проводить с
массивами, можно применить к массивам указателей. Массивы указателей,
как правило, применяются для работы с массивами данных.
|
|
Подробнее...
|
|
|
Лабораторные
|
|
Автор Administrator
|
|
24/06/2008 г. |
|
Тема 8. Программирование с использованием УКАЗАТЕЛЕЙ.
ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ
8.1. Объявление указателей
Указатель – это переменная, которая содержит адрес памяти, по которому можно найти значение другой переменной. Объявление указателя:
<тип> *<идентификатор>
При объявлении указателя
необходимо указывать тип переменной, на которую он будет указывать.
Каждая переменная, объявляемая как указатель, должна иметь перед своим
именем символ “*”. Например:
int *pA, B; // *pA - указатель на элемент целого типа;
// B – переменная целого типа
double *pC; // *C - указатель на переменную действительного типа
void *pD; // *D – указатель на любой тип данных (перед применением
// необходимо инициировать конкретным типом данных
|
|
Подробнее...
|
|
|
Лабораторные
|
|
Автор Administrator
|
|
24/06/2008 г. |
|
7.2. Компоненты TOpenDialog и TSaveDialog
Компоненты TOpenDialog и
TSaveDialog находятся на странице DIALOGS. Все компоненты этой страницы
являются невизуальными, т.е. не видны в момент работы программы.
Поэтому их можно разместить в любом удобном месте формы. Оба
рассматриваемых компонента имеют идентичные свойства и различаются
только внешним видом. После вызова компонента появляется диалоговое
окно, с помощью которого выбирается имя программы и путь к ней. В
случае успешного завершения диалога имя выбранного файла и маршрут
поиска содержaтся в свойстве FileName. Для фильтрации файлов,
отображаемых в окне просмотра, используется свойство Filter, а для
задания расширения файла, в случае, если оно не задано пользователем, – свойство DefaultExt. Если необходимо изменить заголовок диалогового окна, используется свойство Title.
|
|
Подробнее...
|
|
|