Разработка программного продукта "Обучающая программа по ОАП: Операции со стеком"
Характеристика программных средств: операционной системы, систем программирования. Описание программы для построения программ с использованием "Стека": ее компоненты, интерфейс, процедуры и функции, вызов и загрузка. Руководство пользователя к программе.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.01.2017 |
Размер файла | 671,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Постановка задачи
1.1 Описание предметной области
1.2 Входная информация
1.3 Постоянная информация
1.4 Выходная информация
1.5 Описание алгоритма
2. Вычислительная система
2.1 Основные характеристики выбранного ПК
2.2 Характеристика программных средств
2.2.1 Операционная система
2.2.2 Система программирования
3. Описание программы
3.1 Описание компонентов
3.2 Интерфейс программы
3.3 Описание процедур и функций
3.4 Вызов и загрузка программы
4. Руководство пользователя
Заключение
Список используемых источников
Приложение
Введение
Целью данного курсового проекта, является разработка программного продукта
«Обучающая программа по ОАП: Операции со стеком»
Стек является простейшей динамической структурой данных. Его можно рассматривать как частный случай однонаправленного списка, добавление элементов в который и выборка из которого выполняются только с одного конца, называемого вершиной стека. Данный программный продукт позволяет научиться построить программу с использованием стека, при котором при каждом входе в программу ее локальные переменные размещенные в организованной особым образом области памяти, называемым программным стеком. Разрабатываемое программное обеспечение имеет цель наглядно продемонстрировать применение стека для вычисления арифметических выражений. Данную программу можно использовать в колледжах и других учебных заведениях для изучения «Стека». Для написания данного программного продукта я использовал визуальную среду разработки Borland Delphi Enterprise 7, так как данный язык наиболее подходит для разработки программного продукта.
программный операционный стек интерфейс
1. Постановка задачи
1.1 Описание предметной области
Задание данной курсовой работы требует разработать программу, которая должна помочь научиться строить программы с использованием стека. Программа может быть использована в колледжа и других учебных заведениях для изучения программ с использования «Стека».
1.2 Входная информация
В данной курсовой работе пользователь будет изучать и учится строить программы с использование стека. Так же нужно будет пройти тест для закрепления изученной информации.
1.3 Постоянная информация
Постоянной информацией будет являться меню, которое будет содержать кнопки «Начать обучение» и операцию «Не хочу учиться».
1.4 Выходная информация
Выходной информацией будет являться модульные окна , информирующие о сохранении информации перед выходом из программы.
1.5 Описание алгоритма
Обобщенный алгоритм программы представлен в графической части курсового проекта в виде блок-схем, которые содержат ниже перечисленные блоки.
2. Вычислительная система
2.1 Основные характеристики выбранного ПК
Благодаря довольно простому и удобному интерфейсу программа не должна препятствовать работе опытных пользователей, имеющих большой опыт работы с подобными программами, но и должна быть понятна для новичков.
Для нормальной работы приложения необходимы следующие минимальные требования к аппаратным и программным средствам оснащенным клавиатурой, мышью, монитором и устройством для хранения данных. Программа работает на операционной системе Windows 7 (32bit). Перечисленные аппаратурные средства являются минимально необходимыми для работы программы. Для выполнения программы требуется не менее 100 Mb памяти на жёстком диске.
Минимальные требования:
-RAM - 60 MB;
-CPU - 1000 MHz;
-HDD - не менее 100 MB.
- видеоадаптер: поддерживающий более 65535 цветов
- монитор;
- клавиатура;
- мышь.
2.2 Характеристика программных средств
2.2.1 Операционная система
Операционная система является необходимым компонентом любого компьютера и представляет собой набор программ, предназначенных для управления компьютером, хранения информации и организации работы всех подключенных к нему устройств. Windows 7 -- пользовательская операционная система семейства Windows NT, следующая по времени выхода за Windows Vista и предшествующая Windows 8. В линейке Windows NT система имеет номер версии 6.1 (Windows 2000 -- 5.0, Windows XP -- 5.1, Windows Server 2003 -- 5.2, Windows Vista и Windows Server 2008 -- 6.0). Серверной операционной системой того же семейства выступает Windows Server 2008 R2, интегрируемой операционной системой этого семейства (облегченной версией, встраиваемой в устройства) -- Windows Embedded Standard 2011(Quebec), мобильной -- Windows Embedded Compact 2011 (Chelan, Windows CE 7.0).
Программа может функционировать практически на любой операционной системе (ОС) Windows, однако оптимальной ОС будет Windows 7(32 bit), поскольку она содержит обновленные и наиболее стабильные компоненты доступа к данным.
2.2.2 Система программирования
Среди большого разнообразия продуктов для разработки приложений Delphi занимает одно из ведущих мест. Delphi отдают предпочтение разработчики с разным стажем, привычками, профессиональными интересами. С помощью Delphi написано колоссальное количество приложений, десятки фирм и тысячи программистов-одиночек разрабатывают для Delphi дополнительные компоненты.
В основе такой общепризнанной популярности лежит тот факт, что Delphi, как никакая другая система программирования, удовлетворяет изложенным выше требованиям. Действительно, приложения с помощью Delphi разрабатываются быстро, причем взаимодействие разработчика с интерактивной средой Delphi не вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает определенные правила (и часто - если не соблюдает). Эти приложения надежны и при эксплуатации обладают предсказуемым поведением. В основе Delphi-среды лежит язык программирования Паскаль. Delphi имеет возможность использования множества баз данных. Примерами могут быть локальные базы данных - Paradox, Dbase, сетевые серверные базы данных. Delphi разработан на основе высокоуровнего языка программирования. Delphi предназначен для программистов, которые занимаются созданием новых комплексных программных продуктов для сложных приложений.
3. Описание программы
3.1 Описание компонентов
В данном разделе приводиться описание компонентов, которые используется в программе.
В таблице 3.1.1 приведено описание компонентов Form1
Таблица 3.1.1 -Компоненты Form1
BitBtn1 |
Используется для перехода на Form2 |
|
BitBtn2 |
Используется для закрытия программы |
|
BitBtn3 |
Используется для открытия help.chm |
|
Image1 |
Используется для отображения изображения |
|
Label1 |
Используется для отображения надписи «Добро пожаловать в обучающую программу работы со стеком» |
В таблице 3.1.2 приведено описание компонентов Form2
Таблица 3.1.2 - Компоненты формы Form2
BitBtn1 |
Используется для перехода на Form3 |
|
Image1 |
Используется для отображения изображения |
|
Label1 |
Используется для отображения надписи «Немного теории "Важно знать"» |
|
Memo1 |
Используется для отображения текста |
В таблице 3.1.3 приведено описание компонентов Form3
Таблица 3.1.3 - Компоненты формы Form3
Bitbtn1 |
Используется для перехода на Form2 |
|
Button1 |
Используется чтобы создать стек элементов |
|
Button2 |
Используется для внесения в стек значений |
|
Button3 |
Используется для удаления элемента из стека |
|
Button4 |
Используется для удаления стека |
|
Button5 |
Используется для выведения стека в строку |
|
Button6 |
Используется для перехода на Form4 |
|
Edit1 |
Используется для внесения значений в стек |
|
Label1 |
Используется для отображения надписи «Создать стек элементов» |
|
Label2 |
Используется для отображения надписи «Первым делом необходимо» |
|
Label3 |
Используется для отображения надписи «для работы с ним необходимо внести в нее элементы» |
|
Label4 |
Используется для отображения надписи «Результат заполнения стека приведен ниже» |
|
Label5 |
Используется для отображения надписи «Стек можно создавать бесконечно» |
|
ListBox1 |
Используется для просмотра результатов значения стека |
|
Memo1 |
Используется для отображения текста |
|
Memo2 |
Используется для отображения текста |
|
Memo3 |
Используется для вывода стека в строку |
В таблице 3.1.4 приведено описание компонентов Form4
Таблица 3.1.4 - Компоненты формы Form4
Button1 |
Используется для выбора варианта ответа |
|
Button2 |
Используется для завершения теста |
|
Button3 |
Используется для повторного прохождения теста |
|
Label1 |
Используется для отображения вопросов |
|
RadioGroup1 |
Используется для отображения вариантов ответов на вопрос |
3.2 Интерфейс программы
Рисунок 3.2.1-- Форма «Главное меню»
Рисунок 3.2.2 -- Форма «Знакомство со стеком»
Рисунок 3.2.3 -- Форма «Практика»
Рисунок 3.2.3 -- Форма «Тест знаний»
3.3 Описание процедур и функций
В данном разделе описываются процедуры и функции, используемые при написании программы.
В таблице 3.3.1 приведено описание процедур, которые входят в состав Unit1
Таблица 3.3.1 - Unit1
Процедуры или функции |
Описание |
|
procedure BitBtn1Click(Sender: TObject); |
Процедура применяется для отображения Form2 |
|
procedure BitBtn2Click(Sender: TObject); |
Процедура применяется для закрытия программы |
|
procedure BitBtn3Click(Sender: TObject); |
Процедура применяется для открытия документа |
В таблице 3.3.2 приведено описание процедур, которые входят в состав Unit2
Таблица 3.3.2 - Unit2
Процедуры или функции |
Описание |
|
procedure BitBtn1Click(Sender: TObject); |
Процедура применяется для отображения Form3 и закрытия Form2 |
В таблице 3.3.3 приведено описание процедур, которые входят в состав Unit3
Таблица 3.3.3 - Unit3
Процедуры или функции |
Описание |
|
procedure BitBtn1Click(Sender: TObject); |
Процедура применяется для отображения Form2 и закрытия Form3 |
|
procedure Button1Click(Sender: TObject); |
Процедура применяется для создания стека |
|
procedure Button2Click(Sender: TObject); |
Процедура применяется для внесения значений в стек |
|
procedure Edit1KeyPress(Sender: TObject; var Key: Char); |
Процедура применяется для выбора значений |
|
procedure Button3Click(Sender: TObject); |
Процедура применяется для удаления элементов из стека |
|
procedure Button4Click(Sender: TObject); |
Процедура применяется для удаления стека |
|
procedure Button5Click(Sender: TObject); |
Процедура применяется для выведения значений стека в строку |
|
procedure Button6Click(Sender: TObject); |
Процедура применяется для отображения Form4 и закрытия Form3 и Form2 |
В таблице 3.3.4 приведено описание процедур, которые входят в состав Unit4
Таблица 3.3.4 - Unit4
Процедуры или функции |
Описание |
|
procedure Button1Click(Sender: TObject); |
Процедура применяется для выбора вариантов ответов на вопросы теста |
|
procedure FormCreate(Sender: TObject); |
Процедура применяется для вывода текста вопросов |
|
procedure Button2Click(Sender: TObject); |
Процедура применяется для завершения работы с тестом |
|
procedure FormClose(Sender: TObject; var Action: TCloseAction); |
Процедура применяется для вывода оценки после прохождения теста |
|
procedure Button3Click(Sender: TObject); |
Процедура применяется для повторного прохождения теста |
3.4 Вызов и загрузка программы
Для вызова программы необходимо запустить файл Обучение стеку на Pasсal.exe, после чего откроется окно главного меню.
4. Руководство пользователя
Обучение стеку Delphi.
Обучение проходит в 3 этапа.
Первый этап знакомство пользователя с теорией, т.е что такое стек, зачем он нужен, что он из себя представляет, как его реализовать и пример изображения как стек формируется в памяти ПК.
Далее идет практическая часть изучение стека в практике где приведены возможные действия со стеком такие как удаление элемента , удаление стека создание стека, вывод его на экран, добавление нового элемента в стек. И так же описан код который это выполняет и пояснение как и что происходит в системе.
Знакомство пользователя с интерфейсом приложения
При входе в программу вы увидите окно приветствия в котором будет поясняться что тут непосредственно будет изучаться и каким образом. Далее вы делаете выбор нужно это вам или нет, если нужно то жмете на кнопку начать обучение и по-подаете сразу к изучению основ и теории. Если нет то можно закрыть окно на крестик в верху приложения или нажать кнопку не хочу учится и приложение автоматически закроется. Форма приветсвия изображена ниже на рисунке 5.1.
Рисунок - 5.1
После того как пользователь ознакомился с теорией он может выйти из программы или же продолжить обучение перейти к практике. Форма изучения теории представлена ниже на рисунке 5.2.
Рисунок - 5.2
Изучение практики представляет собой обучению возможностям стека и его использование , как в программе так и в коде программы это представлено на рисунке 5.3.
Рисунок - 5.3
После того как вы изучили теорию и практику вы должны проверить свои знания и умения, для этого сформирована специальная система тестирования, в приложении изображена на рисунке 5.4 и 5.5.
Рисунок - 5.4 Прохождение теста
Рисунок - 5.5 Результат теста.
Если вас не устроил результат теста то не растраивайтесть прочтите еще раз теорию по-пробуйте написать несколько не сложных задач по решению стеков и пройдите еще раз тест.
Заключение
Программа является законченным программным продуктом, несмотря на то, что возможна ее доработка. Программа имеет удобный пользовательский интерфейс, она написана для использования в операционной системе Windows XP/7/8/8.1. Пользование программой не составит труда для всех пользователей ПК. Для дальнейшей доработки этой программы необходимо сначала в течение некоторого времени применять её для оценки эффективности, а потом добавлять или исправлять все недочеты, которые пропустил либо посчитал не нужным реализовывать разработчик.
Список используемых источников
1. Фаронов В.В. «Delphi Программирование на языке высокого уровня»
2. Методические рекомендации по курсовому проекту.
3. http://www.delphiplus.org/fundamentalnie-algoritmy-i-struktury-dannih/steki.html
4. http://www.delphiplus.org/fundamentalnie-algoritmy-i-struktury-dannih/steki-na-osnove-odnosvyaznih-spiskov.html
5. http://www.delphiplus.org/fundamentalnie-algoritmy-i-struktury-dannih/steki-na-osnove-massivov.html
6. http://www.delphiplus.org/fundamentalnie-algoritmy-i-struktury-dannih/primer-ispolzovaniya-steka.html
7. ГОСТ 2.104-2006.
8. ГОСТ 2.304-81.
9. ГОСТ 2.316-2008.
Листинг программы
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons,
Vcl.Imaging.pngimage, Vcl.ExtCtrls,ShellApi;
type
TForm1 = class(TForm)
Image1: TImage;
Label1: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Unit2;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
ShellExecute(Application.Handle,'Open','help.chm',0,0,SW_SHOW);
end;
end.
unit Unit2;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Imaging.pngimage,
Vcl.ExtCtrls, Vcl.Buttons;
type
TForm2 = class(TForm)
Label1: TLabel;
Memo1: TMemo;
Image1: TImage;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
uses Unit1, Unit3;
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
Form3.Show;
Form2.close;
end;
end.
unit Unit3;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons;
type
TForm3 = class(TForm)
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Label3: TLabel;
Edit1: TEdit;
Button2: TButton;
ListBox1: TListBox;
Label4: TLabel;
Label5: TLabel;
Memo1: TMemo;
Memo2: TMemo;
Button3: TButton;
Button4: TButton;
Memo3: TMemo;
Button5: TButton;
Button6: TButton;
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
//Тип основных данных.
TData = String;
//Указатель на элемент списка (в данном случае - стека).
TPElem = ^TElem;
//Элемент списка.
TElem = record
Data : TData;
PNext : TPElem; //Указатель на следующий элемент списка.
end;
var
Form3: TForm3;
PElem,PSt1 : TPElem;
implementation
{$R *.dfm}
uses Unit2, Unit4;
procedure StackInit(var aPStack : TPElem);
begin
aPStack := nil;
end;
procedure StackPush(var aPStack, aPElem : TPElem);
begin
if aPElem = nil then Exit;
aPElem^.PNext := aPStack;
aPStack := aPElem
end;
function StackPop(var aPStack, aPElem : TPElem) : Boolean;
begin
Result := False;
if aPStack = nil then Exit;
aPElem := aPStack;
aPStack := aPElem^.PNext;
Result := True;
end;
function StackToStr(var aPStack : TPElem) : String;
var
PSt, PElem : TPElem;
i : Integer;
begin
if aPStack = nil then begin
Result := 'Стек пуст.';
Exit;
end;
//Начальная инициализация вспомогательного стека.
StackInit(PSt);
//Переливаем элементы стека aPStack в стек PSt и выполняем распечатку.
Result := '';
i := 0;
while StackPop(aPStack, PElem) do begin
StackPush(PSt, PElem);
Inc(i);
if i > 1 then Result := Result;
Result := Result + PElem^.Data + ' . ';
end;
//Возвращаем элементы обратно - из PSt в aPStack.
while StackPop(PSt, PElem) do StackPush(aPStack, PElem);
end;
//Удаление стека из памяти (очистка стека).
procedure StackFree(var aPStack : TPElem);
var
PElem : TPElem;
begin
while StackPop(aPStack, PElem) do Dispose(PElem);
end;
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
Form2.Show;
Form3.Close;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Form3.Button2.Visible:=true;
Form3.Label3.Visible:=true;
Form3.Edit1.Visible:=true;
Form3.Button1.Enabled:=false;
Form3.Label5.Visible:=true;
Form3.Memo1.Visible:=true;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
if(Form3.Edit1.Text<>'') then begin
StackInit(PElem);
New(PElem);
PElem^.Data := Form3.Edit1.Text;
StackPush(PSt1, PElem);
Form3.ListBox1.Items.Insert(0, PSt1.Data);
Form3.Edit1.Clear;
Form3.ListBox1.Visible:=true;
Form3.Label4.Visible:=true;
Form3.Button3.Visible:=true;
Form3.Button4.Visible:=true;
Form3.Memo2.Visible:=true;
Form3.Button5.Visible:=true;
Form3.Button6.Visible:=true;
end
else
ShowMessage('Вы не ввели значение !!!');
end;
procedure TForm3.Button3Click(Sender: TObject);
var
n:TPElem;
begin
if PSt1<>nil then begin
n :=PSt1;
PSt1:=PSt1^.PNext;
dispose(n);
Form3.ListBox1.Items.Delete(0);
end
else
ShowMessage('Стек пуст');
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
if PSt1<>nil then begin
StackFree(PSt1);
Form3.ListBox1.Clear;
end
else
ShowMessage('Стек пуст');
end;
procedure TForm3.Button5Click(Sender: TObject);
begin
Form3.Memo3.Clear;
Form3.Memo3.Lines.Add(StackToStr(PSt1));
Form3.Memo3.Visible:=true;
end;
procedure TForm3.Button6Click(Sender: TObject);
begin
Form4.show;
Form2.Close;
Form3.Close;
end;
procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', #8]) then
Key := #0;
end;
end.
unit Unit4;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;
type
TForm4 = class(TForm)
RadioGroup1: TRadioGroup;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
nomer_test:integer;
cout:integer;
ocenka:integer;
implementation
{$R *.dfm}
uses Unit3;
procedure TForm4.Button1Click(Sender: TObject);
begin
case nomer_test of
1 : cout:=2;
2 : cout:=0;
3 : cout:=0;
4 : cout:=1;
5 : cout:=0;
6 : cout:=2;
7 : cout:=2;
8 : cout:=1;
9 : cout:=0;
10 : cout:=1;
end;
if (Form4.RadioGroup1.ItemIndex>=0) then
begin
if(Form4.RadioGroup1.ItemIndex=cout) then
inc(ocenka);
inc(nomer_test);
if(nomer_test>=10) then
begin
Form4.label1.caption:='Ваша оценка = '+IntToStr(ocenka)+' из 10, Количество вопросов пройдено = '+IntToStr(nomer_test);
Form4.Label1.Visible:=true;
Form4.RadioGroup1.Visible:=false;
Form4.Button1.Visible:=false;
Form4.Button2.Visible:=false;
Form4.Button3.Visible:=true;
ocenka:=0;
nomer_test:=1;
Form4.RadioGroup1.Caption:='С какого места можно удалить элемент стека ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('В начала стека');
Form4.RadioGroup1.Items.Add('С середины стека');
Form4.RadioGroup1.Items.Add('С вершины стека');
end;
end
else
ShowMessage('Вы не выбрали ответ');
case nomer_test of
2 : begin
Form4.RadioGroup1.Caption:='Какой командой очистить память элемента стека ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('dispose(переменная)');
Form4.RadioGroup1.Items.Add('free(переменная)');
Form4.RadioGroup1.Items.Add('clear(переменная)');
end;
3 : begin
Form4.RadioGroup1.Caption:='Что не может являться стеком ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('Список кольцо');
Form4.RadioGroup1.Items.Add('Линейный список с указателем');
Form4.RadioGroup1.Items.Add('Одномерный массив с указателем');
end;
4 : begin
Form4.RadioGroup1.Caption:='Какая команда выделяет память под элемент стека ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('now(переменная)');
Form4.RadioGroup1.Items.Add('new(переменная)');
Form4.RadioGroup1.Items.Add('memory(переменная)');
end;
5 : begin
Form4.RadioGroup1.Caption:='Верный указатель на элемент списка ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('TPElem = ^ TElem');
Form4.RadioGroup1.Items.Add('TPElem = * TElem');
Form4.RadioGroup1.Items.Add('TPElem -> TElem');
end;
6 : begin
Form4.RadioGroup1.Caption:='Символьным стеком будет являться ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('TData = Booble; ');
Form4.RadioGroup1.Items.Add('TData = Integer; ');
Form4.RadioGroup1.Items.Add('TData = String; ');
end;
7 : begin
Form4.RadioGroup1.Caption:='Как перейти к следующему элементу списка';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('aPElem *.PNext := aPStack;');
Form4.RadioGroup1.Items.Add('aPElem -> PNext := aPStack;');
Form4.RadioGroup1.Items.Add('aPElem ^.PNext := aPStack;');
end;
8 : begin
Form4.RadioGroup1.Caption:='Какое значение означает что стек пуст ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('Null');
Form4.RadioGroup1.Items.Add('Nil');
Form4.RadioGroup1.Items.Add('Not');
end;
9 : begin
Form4.RadioGroup1.Caption:='Какое действие нельзя производить со стеком ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('Удалять елементы не с вершины стека');
Form4.RadioGroup1.Items.Add('Вставлять елементы на вершину стека');
Form4.RadioGroup1.Items.Add('Удалять стек');
end;
10 : begin
Form4.RadioGroup1.Caption:='Какая расшифровываеться обозначение LIFO';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('Первый зашел первый вышел');
Form4.RadioGroup1.Items.Add('Последний зашел последний вышел');
Form4.RadioGroup1.Items.Add('Последний зашел первый вышел');
end;
end;
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
Form4.label1.caption:='Ваша оценка = '+IntToStr(ocenka)+'из 10, Количество вопросов пройдено = '+IntToStr(nomer_test);
Form4.Label1.Visible:=true;
Form4.RadioGroup1.Visible:=false;
Form4.Button1.Visible:=false;
Form4.Button2.Visible:=false;
Form4.Button3.Visible:=true;
ocenka:=0;
nomer_test:=1;
Form4.RadioGroup1.Caption:='С какого места можно удалить элемент стека ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('В начала стека');
Form4.RadioGroup1.Items.Add('С середины стека');
Form4.RadioGroup1.Items.Add('С вершины стека');
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
ocenka:=0;
nomer_test:=1;
Form4.RadioGroup1.Caption:='С какого места можно удалить элемент стека ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('В начала стека');
Form4.RadioGroup1.Items.Add('С середины стека');
Form4.RadioGroup1.Items.Add('С вершины стека');
Form4.Label1.Visible:=false;
Form4.RadioGroup1.Visible:=true;
Form4.Button1.Visible:=true;
Form4.Button2.Visible:=true;
Form4.Button3.Visible:=false;
end;
procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ocenka:=0;
nomer_test:=1;
Form4.RadioGroup1.Caption:='С какого места можно удалить элемент стека ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('В начала стека');
Form4.RadioGroup1.Items.Add('С середины стека');
Form4.RadioGroup1.Items.Add('С вершины стека');
Form4.Label1.Visible:=false;
Form4.RadioGroup1.Visible:=true;
Form4.Button1.Visible:=true;
Form4.Button2.Visible:=true;
Form4.Button3.Visible:=false;
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
nomer_test:=1;
ocenka:=0;
Form4.RadioGroup1.Caption:='С какого места можно удалить элемент стека ?';
Form4.RadioGroup1.Items.Clear;
Form4.RadioGroup1.Items.Add('В начала стека');
Form4.RadioGroup1.Items.Add('С середины стека');
Form4.RadioGroup1.Items.Add('С вершины стека');
Form4.Label1.Visible:=false;
Form4.RadioGroup1.Visible:=true;
Form4.Button1.Visible:=true;
Form4.Button2.Visible:=true;
Form4.Button3.Visible:=false;
end;
end.
Размещено на Allbest.ru
...Подобные документы
Описание предметной области. Характеристика программных средств. Описание компонентов, интерфейс программы. Описание процедур и функций. Вызов и загрузка программы. Испытание методом белого и черного ящика на ошибки кода программного приложения.
курсовая работа [2,2 M], добавлен 26.04.2015Требования к программе, составу и параметрам технических средств. Основные элементы языка программирования. Инструкция на выполнение программы учета клиентов: вызов и загрузка, входные и выходные данные. Расчет себестоимости программного продукта.
дипломная работа [3,9 M], добавлен 29.06.2012Анализ и описание алгоритма. Основные характеристики выбранного компьютера, программных сред (операционная система и среда программирования). Описание компонентов и интерфейса программы, а также модулей, процедур и функций. Вызов и загрузка программы.
курсовая работа [1,3 M], добавлен 26.04.2015Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке Delphi. Тип операционной системы. Внутренняя структура программного продукта. Руководство пользователя и программиста, расчет себестоимости и цены программы.
дипломная работа [1,5 M], добавлен 12.06.2009Функциональное назначение и область применения программы "Локальный сетевой чат"; логическая структура, технические и программные средства. Требования к программе; характеристика, вызов и загрузка, входные и выходные данные, настройка, интерфейс.
дипломная работа [1,3 M], добавлен 18.10.2013Вычислительная система: программные и технические средства. Алгоритм задачи: вызов и загрузка, интерфейс пользователя, система помощи, логическая и физическая структуры. Описание программы и ее элементов, сферы ее применения, тестирование и отладка.
курсовая работа [5,4 M], добавлен 24.07.2012Разработка программного обеспечения для работы с информацией и ее обработкой на языке программирования Delphi. Описание алгоритмов процедуры работы со стеком - добавление, удаление элементов, редактирование записи. Инструкция по использованию программы.
курсовая работа [2,9 M], добавлен 06.02.2013Изучение возможностей среды создания анимированного приложения при помощи Macromedia Flash 8. Разработка автоматизированной системы обучения - программного продукта "Обучающая программа" для быстрого усвоения учащимися принципа сборки системного блока.
дипломная работа [58,5 M], добавлен 21.11.2010Технико-математическое описание задачи. Требования к программе учета книг и читателей библиотеки. Описание языка программирования. Алгоритмы обработки информации. Текст программы. Инструкция на выполнение: вызов и загрузка, входные и выходные данные.
дипломная работа [1,2 M], добавлен 29.06.2012Разработка программы для нахождения минимального и максимального элемента массива, вычисления среднего арифметического строк и столбцов транспортирования матриц. Характеристика основных программных средств. Описание программы, руководство пользователя.
курсовая работа [2,4 M], добавлен 26.04.2015Обзор существующих решений и обоснование выбора языка программирования. Разработка структурной схемы, интерфейса программного продукта. Технические требования к оборудованию, тест программного продукта, руководство системного программиста и оператора.
дипломная работа [2,0 M], добавлен 10.07.2012Разработка полноценной правильно функционирующей игровой программы "Парные картинки", изучение процедур и функций. Использование масштабируемых средств для построения баз данных. Компоненты Delphi в программе. Описание пользовательского интерфейса.
курсовая работа [1,3 M], добавлен 13.07.2012Функции планировщика процессов: добровольный вызов, переключение между процессами, анализ нажатия клавиш Ctrl-D. Составление алгоритма работы программы, разработка процедуры планировщик и процедуры анализа клавиш. Организация интерфейса пользователя.
курсовая работа [480,2 K], добавлен 20.01.2015Создание класса прямоугольников со сторонами, параллельными осям координат. Основные требования к программе. Описание классов и диаграмма их взаимодействия. Интерфейс пользователя и руководство по эксплуатации программы. Блок-схемы разработанных методов.
курсовая работа [622,8 K], добавлен 18.03.2011Обзор программных средств разработки приложений и обоснование выбора языка программирования. Классификация приложений для работы с базами данных. Функциональная структура базы данных с указанием назначения программных модулей, руководство пользователя.
дипломная работа [645,3 K], добавлен 21.11.2010Требования к пользовательскому интерфейсу программного продукта. Выбор инструментальных средств разработки программы. Описание функциональной схемы, модульной структуры, структурной схемы. Технология разработки справочной системы программного продукта.
дипломная работа [2,7 M], добавлен 12.05.2016Использование и создание компьютерных средств обучения. Содержание и реализация электронной обучающей программы. Методы защиты программ от несанкционированного доступа. Разработка эскизного, технического и рабочего проектов программы, ее интерфейса.
курсовая работа [462,8 K], добавлен 05.04.2014Требования к интерфейсу программного продукта, характеристика операционной системы Windows XP и языка программирования разветвляющихся и циклических процессов Pascal. Структура условного оператора. Описание алгоритма работы с помощью блок-схемы, листинг.
курсовая работа [268,0 K], добавлен 25.12.2010Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.
контрольная работа [989,9 K], добавлен 29.03.2011Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Отладка программных модулей с использованием специализированных программных средств. Тестирование программного обеспечения. Оптимизация программного кода.
курсовая работа [974,0 K], добавлен 21.12.2016