- •Ознакомление с Интегрированной Средой Разработки (иср)
- •(I)Основное окно иср
- •Библиографический список
- •Лабораторная работа 1
- •Тестирование и использование приложения.
- •Контрольные вопросы
- •Тестирование и использование приложения.
- •Контрольные вопросы
- •Лабораторная работа 3
- •Задание
- •Проектирование приложения. Выбор, размещение и задание свойств компонентов. Коды классов, функций и обработчиков событий.
- •Тестирование и использование приложения.
- •Заголовочный файл
- •Файл реализации
- •Контрольные вопросы
- •Лабораторная работа 4
- •Введение
- •Алгоритмы шифрования и дешифрования
- •Проектирование приложения. Выбор, размещение и задание свойств компонентов. Коды классов, функций и обработчиков событий.
- •Тестирование и использование приложения.
- •Контрольные вопросы
- •Лабораторная работа 5
- •Введение
- •Алгоритмы
- •Проектирование приложения. Выбор, размещение и задание свойств компонентов. Коды классов, функций и обработчиков событий.
- •Тестирование и использование приложения.
- •Контрольные вопросы
- •Лабораторная работа 6
- •Введение
- •Проектирование приложения. Выбор, размещение и задание свойств компонентов. Коды классов, функций и обработчиков событий.
- •Тестирование и использование приложения.
- •Контрольные вопросы
- •Библиографический список
Тестирование и использование приложения.
Запустите приложение на выполнение, нажав быстрые кнопки Сохранить все и Запуск.
Для тестирования приложения с параметрами массива, заданными по умолчанию (рис.3.5), щелкните на кнопке НАЧАТЬ, а затем – в главном меню на разделе сортировки и подразделе рекурсивными функциями. Проанализируйте полученные результаты, выведенные на страницы массивы, таблицы, графики многостраничной панели. Убедитесь в выполнении команд файл/сохранить все графики и файл/открыть все графики.
По коду обработчика щелчка на кнопке НАЧАТЬ установите исключительные ситуации, обрабатываемые приложением. Смоделируйте эти ситуации.
Убедитесь в действенности контекстных всплывающих меню.
Увеличивая размер исходного массива, получите сообщение о переполнении стека: ……‘Stack overflow’…… . Для выхода из режима выполнения введите команду Запуск/Сброс программы. Затем увеличьте размер стека до максимально возможного последовательностью действий Проект/Опции/Компоновщик/Макс.размер_стека. После указания максимально возможного размера стека в поле Макс. размер стека можно будет сортировать всеми методами массивы размерами до 1000. Убедитесь в этом. Проанализируйте полученные результаты.
Разработайте алгоритмы сортировок с помощью циклов (кроме быстрой сортировки) и напишите код для подраздела циклами с последующей отладкой и получением графически представляемых зависимостей, увеличив не менее чем на порядок размер сортируемых массивов и диапазон значений элементов массивов. Объясните полученные результаты.
Для завершения работы щелкните на разделе меню выход и выйдите из среды Builder.
Заголовочный файл
//---------------------------------------------------------------------------
#ifndef LR_3H
#define LR_3H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "CSPIN.h"
#include <ComCtrls.hpp>
#include <Menus.hpp>
#include <Buttons.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
#include <Chart.hpp>
#include <TeEngine.hpp>
#include <TeeProcs.hpp>
#include <Series.hpp>
#include <Dialogs.hpp>
#include <ExtDlgs.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1;
TMenuItem *file;
TMenuItem *N2;
TMenuItem *N3;
TMenuItem *sort;
TMenuItem *rec;
TMenuItem *rep;
TMenuItem *help;
TMenuItem *exit;
TGroupBox *GroupBox1;
TGroupBox *GroupBox2;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TPageControl *PageControl1;
TTabSheet *TabSheet1;
TTabSheet *TabSheet2;
TCSpinEdit *CSpinEdit1;
TCSpinEdit *CSpinEdit2;
TCSpinEdit *CSpinEdit3;
TCSpinEdit *CSpinEdit4;
TCSpinEdit *CSpinEdit5;
TLabel *Label4;
TLabel *Label5;
TLabel *Label6;
TCSpinEdit *CSpinEdit6;
TPanel *Panel1;
TBitBtn *BitBtn1;
TMemo *Memo1;
TStringGrid *StringGrid1;
TStringGrid *StringGrid2;
TProgressBar *ProgressBar1;
TCSpinEdit *CSpinEdit7;
TTabSheet *TabSheet3;
TTabSheet *TabSheet4;
TTabSheet *TabSheet5;
TTabSheet *TabSheet6;
TTabSheet *TabSheet7;
TChart *Chart5;
TLineSeries *Series9;
TLineSeries *Series10;
TChart *Chart4;
TLineSeries *Series7;
TLineSeries *Series8;
TChart *Chart3;
TLineSeries *Series5;
TLineSeries *Series6;
TChart *Chart1;
TLineSeries *Series1;
TLineSeries *Series2;
TChart *Chart2;
TLineSeries *Series3;
TLineSeries *Series4;
TImage *Image1;
TImage *Image2;
TImage *Image3;
TImage *Image4;
TImage *Image5;
TPopupMenu *PopupMenu1;
TPopupMenu *PopupMenu2;
TPopupMenu *PopupMenu3;
TPopupMenu *PopupMenu4;
TPopupMenu *PopupMenu5;
TMenuItem *N1;
TMenuItem *N4;
TMenuItem *N5;
TMenuItem *N6;
TMenuItem *N7;
TMenuItem *N8;
TMenuItem *N9;
TMenuItem *N10;
TMenuItem *N11;
TMenuItem *N12;
TLabel *Label7;
TLabel *Label8;
TLabel *Label9;
TGroupBox *GroupBox3;
void __fastcall exitClick(TObject *Sender);
void __fastcall BitBtn1Click(TObject *Sender);
void __fastcall recClick(TObject *Sender);
void __fastcall N2Click(TObject *Sender);
void __fastcall N3Click(TObject *Sender);
void __fastcall N1Click(TObject *Sender);
void __fastcall N4Click(TObject *Sender);
void __fastcall N5Click(TObject *Sender);
void __fastcall N6Click(TObject *Sender);
void __fastcall N7Click(TObject *Sender);
void __fastcall N8Click(TObject *Sender);
void __fastcall N9Click(TObject *Sender);
void __fastcall N10Click(TObject *Sender);
void __fastcall N11Click(TObject *Sender);
void __fastcall N12Click(TObject *Sender);
void __fastcall helpClick(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
class array{
public:
array(int); //конструктор 1 (с параметром)
array(array&); //конструктор 2 (копии)
void swap(int&,int&); //обмен элементов в сортируемом массиве
void SwapSort(int,int,int); //сортировка обменами
void SelectSort(int,int,int,int); //сортировка выбором
void InsertSort(int,int,int,array&); //сортировка вставками
void BubbleSort(int,int,int,int); //сортировка пузырьком
void QuickSort(int,int,int); //быстрая сортировка
void out_mass_a()const; //вывод исходного и отсортированного массивов
int get_sr()const{return sr;} //получить сравнения
int get_obm()const{return obm;}//получить обмены
~array(){delete[]a;} //деструктор
private:
int*a, //указатель для исходного сортируемого массива
sr, //сравнения
obm, //обмены
n; //размер исходного сортируемого массива
};
#endif