135489 (База даних "Теорія та практика прикладного програмування"), страница 4
Описание файла
Документ из архива "База даних "Теорія та практика прикладного програмування"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "135489"
Текст 4 страницы из документа "135489"
Рисунок 2.3.35 – Форма «Количество рисунков в параграфе»
Рисунок 2.3.36 – Форма «Количество страниц в параграфе»
Рисунок 2.3.37 – Форма «Операторы и листинги в параграфах»
Рисунок 2.3.38 – Форма «Операторы в главе»
Рисунок 2.3.39 – Форма «Рисунки в главе»
Рисунок 2.3.40 – Форма «Таблицы в параграфах на И»
Форма «Краткое содержание главы» відображає зміст запиту «Содержательность главы».
Рисунок 2.3.41 – Форма «Краткое содержание главы»
Форма «Таблицы в главе» відображає таблиці, що містяться у главі, та інформацію про їх розміщення.
Рисунок 2.3.42 – Форма «Таблицы в главе»
Форми «Примечания в главе» (Рисунок 2.3.43) та «Листинги в главе» (Рисунок 2.3.44) надають аналогічну інформацію, але стосовно приміток та лістингів відповідно.
Рисунок 2.3.43 – Форма «Примечания в главе»
Рисунок 2.3.44 – Форма «Листинги в главе»
3 ІНСТРУКЦІЯ КОРИСТУВАЧА
База даних «Теорія та практика прикладного програмування» призначена для зберігання довідкової інформації, що міститься у певних главах посібника з прикладного програмування (Культин Н.Б. Основы программирования в Delphi7).
Головна кнопкова форма запускається автоматично, відразу після запуску БД.
Рисунок 3.1 – Інтерфейс кнопкової форми
де кнопка:
1 – відкриває форму «Краткое содержание главы» (Рисунок 2.3.41);
2 – відкриває форму «Операторы в главе» (Рисунок 2.3.38);
3 – відкриває фору «Таблицы в главе» (Рисунок 2.3.42);
4 – відкриває форму «Рисунки в главе» (Рисунок 2.3.39);
5 – відкриває форму «Примечания в главе» (Рисунок 2.3.43);
6 – відкриває форму «Листинги в главе» (Рисунок 2.3.44);
7 – відкриває форму «Запроси» (Рисунок 3.2),
Рисунок 3.2 – Інтерфейс кнопкової форми «Запроси»
яка містить компоненти для відображення існуючих запитів, де кнопка:
9 – відкриває форму «Использование компонент в параграфе» (Рисунок 2.3.32);
10 – відкриває форму «Таблицы в параграфах на И» (Рисунок 2.3.40);
11 – відкриває форму «Использование операторов в листингах» (Рисунок 2.3.33);
12 – відкриває форму «Использование операторов в параграфах» (Рисунок 2.3.34);
13 – відкриває форму «Количество рисунков в параграфе» (Рисунок 2.3.35);
14 – відкриває форму «Количество страниц в параграфе» (Рисунок 2.3.36);
15 – відкриває форму «Операторы и листинги в параграфах» (Рисунок 2.3.37);
16 – повертає користувача до попередньої кнопкової форми (Рисунок 3.1).
Натискання кнопки (8) призведе до закриття всієї бази даних.
ВИСНОВКИ
У процесі даної курсової роботи була спроектована та реалізована в СУБД MS Access інформаційна система «Теорія та практика прикладного програмування».
У цій базі даних зберігається довідкова інформація, що міститься у певних главах посібника з прикладного програмування (Культин Н.Б. Основы программирования в Delphi 7). База містить запити, що дозволяють здійснювати пошук необхідних даних та відображати статистичну інформацію, як то: інформацію про зміст глави; які таблиці, компоненти та лістинги містяться у параграфі; який оператор у якому лістингу знаходиться; інформація про загальну кількість сторінок.
Дана система пройшла всі три етапи проектування. На інфологічному рівні структура бази даних була відображена у вигляді ER-діаграми, яка надалі була приведена до третьої нормальної форми. На даталогічному рівні — представлена реляційною моделлю. У таблицях був усунений надлишок. Безпосередня робота з СУБД з формування таблиць і їх заповнення на комп'ютері була проведена на стадії фізичного проектування.
Таким чином, було створено 7 таблиць, 11 запитів та 14 форм. Розмір файлу БД — 8,28 Мб.
Надалі дану систему можна вдосконалювати, відповідно до потреб користувачів.
ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ
-
Кузин А.В., Левонисова С.В. Базы данных. — Академия, 2008. — 320 с.
-
ГОСТ 34.003-90. Государственный стандарт Российской Федерации: «Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Термины и определения». — М.: ИПК Издательство стандартов, 2002.
-
http://www.intuit.ru/ . — Інтернет університет інформаційних технологій.
-
Дейт Д. Введение в систему баз данных. — М., СПб.: BHV — Санкт-Петербург, 1977. — 312 с.
-
http://ru.wikipedia.org/ . — Вільна енциклопедія.
-
Гринченко Н. Н., Гусев Е. В., Макаров Н. П. Проектирование баз данных. СУБД Microsoft Access — Горячая Линия-Телеком, 2004. — 240 с.
-
Горев А., Макашарипов С., Ахаян Р. Эффективная работа с СУБД. — К.: Академія, 2003. — 344с.
-
Бекаревич Ю., Пушкина Н. Самоучитель Microsoft Access 2003. — БХВ-Петербург, 2004. — 738 с.
-
Степанов В. Скачать книгу Microsoft Access 2003 для начинающих. — Аквариум-Принт, Дом печати – Вятка, 2004. — 128 с.
-
http://www.lessons-tva.info/ . — Безкоштовне дистанційне навчання інформатиці, телекомунікаціям та основам електронного бізнесу.
Листинг
Unit Phone_u;
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
TForm1= class{TForm}
Edit1: TEdit; //поле ввода длительности разговора
Edit2: TEdit; //поле ввода номера дня недели
Button1: TButton; //кнопка Вычислить
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1:TForm1;
implementation
{SR*.dfm}
procedure Button1Click(Sender: TObject);
const
PAY=0.15; //цена одной минуты разговора 0,15 рубля
DISCOUNT=0.2; //скидка 20 процентов
var
Time: real; //длительность разговора
Day: integer; //день недели
Summa: real; //стоимость разговора
begin
//получить исходные данные
Time:=StrToFloat(Edit1.Text);
Day:=StrToInr(Edit2.Text);
//Вычислить стоимость разговора
Summa:=PAY*Time;
//Если день суббота или воскресенье, то уменьшить
//стоимость на величину скидки
if (Day=6) or (Day=7)
then Summa:=Summa*(1-DISCOUNT);
//Вывод результата вычисления
Label1.Caption:=’К оплате’+FloatToStr(Summa)+’руб.’;
end;
end.
Unit wtest_;
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;
type
TForm1= class{TForm}
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit; //поле ввода Веса
Edit2: TEdit; //поле ввода Роста
Button1: TButton; //кнопка Вычислить
Label3: TLabel; //поле вывода сообщения – результата работы программы
procedure Button1Click(Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1:TForm1;
implementation
{SR*.dfm}
procedure Button1Click(Sender: TObject);
var
w : real; //вес
h: real; //рост
opt: real; //оптимальный вес
d: real; //отклонение от оптимального веса
begin
w:=StrToFloat(Edit1.Text);
h:=StrToInt(Edit2.Text);
opt:=h-100;
if w=opt
then
Label3.Caption:=’Вы в хорошей форме!’
else
if w then begin d:=opt-w; Label3.Caption:=’Вам надо поправиться на ’ +FloatToStr(d)+’кг.’; end; else begin d:=w-opt; Label3.Caption:=’Надо немного похудеть, на ’ +FloatToStr(d)+’кг.’; end; end; end. Unit 1; Interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1= class{TForm} Label2: TLabel; Edit1: TEdit; //поле ввода веса в фунтах Button1: TButton; //кнопка Вычислить Label1: TLabel; Label3: TLabel; ListBox1: TlistBox; //список стран Label4: TLabel; //поле вывода результата – веса в килограммах procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private {Private declarations} public {Public declarations} end; var Form1:TForm1; implementation {SR*.dfm} procedure FormCreate(Sender: TObject); begin ListBox1.Items.Add(Россия); ListBox1.Items.Add(Австралия); ListBox1.Items.Add(Англия); ListBox1.Items.Add(Германия); ListBox1.Items.Add(Дания); ListBox1.Items.Add(Исландия); ListBox1.Items.Add(Италия); ListBox1.Items.Add(Нидерланды); ListBox1.ItemIndex:=0; end; procedure Button1Click(Sender: TObject); var funt: real; //вес в фунтах kg: real; //вес в килограммах k: real; //коэффициент пересчета begin case ListBox1.ItemIndex:=0 do 0: k:=0.4095; //Россия 1: k:=0.453592; //Англия 2: k:=0.56001 //Австралия 3..5,7 k:=0.5 //Германия, Дания, Исландия, Нидерланды 6: k:=0.31762 //Италия end; funt:=StrToFloat(Edit1.Text); kg:=kg*funt; Label4.Caption:=Edit1.Text +’ф. - это’ +FloatToStrF(kg,ffixed,6,3) +’кг.’; end; end. Unit rub_1; Interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1= class{TForm} Label1: TLabel; Edit1: TEdit; //поле ввода длительности разговора Label2: TLabel; Edit2: TEdit; //поле ввода номера дня недели Button1: TButton; //кнопка Вычислить Label3: TLabel; procedure Edit1KeyPress(Sender: Tobject; var Key: Char); private {Private declarations} public {Public declarations} end; var Form1:TForm1; implementation {SR*.dfm} //нажатие клавиши procedure Edit1KeyPress(Sender: Tobject; var Key: Char); var n: integer; //число r: integer; //остаток от деления n на 10 text: string[10]; //формируемый поясняющий текст begin if Key=chr(VK_RETURN) then begin n:=StrToInt(Edit1.Text); if n>100 then n:=n mod 100; if (n>=11) and (n<=14) then text:=’рублей’ else begin r:=n mod 10 case r of 1: text:=’ рубль’; 2..4: text:=’ рубля’ else text:=’ рублей’; end; end; Label2.Caption:=IntToStr(n)+text; end; end. //вычисление даты следующего дня day: integer; //день month: integer; //месяц year: integer; //год last: boolean; //если день – последний день месяца, //то last:=True r: integer; //если год не високосный, то остаток //от деления year на 4 не равен нулю begin //переменные day, month и year содержат сегодняшнюю дату 1 last:=False //пусть день – не последний день месяца case month of 4, 6, 9, 11: if day=30 then last:=True; 2: if day=28 then begin r:=year mod 4; if r<>0 then last:=True; end; else: if day=31 then last:=True end; if last then begin //последний день месяца day:=1; if month=12 then begin //последний месяц month:=1; year:=year+1; end; else month:=month+1; end; else day:=day+1; // переменные day, month и year содержат завтрашнюю дату end; Unit pi; Interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1= class{TForm} Edit1: TEdit; //точность вычисления Button1: TButton; //кнопка Вычислить Label1: TLabel; Label2: TLabel; //поле вывода результата procedure Button1Click(Sender: TObject); private {Private declarations} public {Public declarations} end; var Form1:TForm1; implementation {SR*.dfm} procedure Button1Click(Sender: TObject); var pi: real; //вычисляемое значение ПИ t: integer; //точность вычисления n: integer; // номер члена ряда elem: real; //значение члена ряда begin pi:=0; n:=1; t:=StrToFloat(Edit1.Text); elem:=1; //чтобы начать цикл while elem>=t do begin elem:=1/(2*n-1) if n mod 2 =0 then pi:=pi-elem else pi:=pi+elem; n:=n+1; end; pi:=pi*4; Label1.Caption:= ‘ПИ равно’+FloatToStr(pi)+#13 +‘Просуммировано’+IntToStr(n)+ ‘членов ряда.’; end; end. Unit simple_; Interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1= class{TForm} Button1: TButton; //кнопка Проверить Label1: TLabel; Edit1: TEdit; //поле ввода числа Label2: TLabel; //поле вывода результат procedure Button1Click(Sender: TObject); private {Private declarations} public {Public declarations} end; var Form1:TForm1; implementation {SR*.dfm} procedure Button1Click(Sender: TObject); var n: integer; //проверяемое число d: integer; //делитель r: integer; //остаток от n деления на d begin n:=StrToInt(Edit1.Text); d:=2; //сначала будем делить на два repeat r:=n mod d; if n <>0 //n не делилось нацело на d then d:=d+1; until r=o //найдено число, на которое n делилось без остатка Labe2.Caption:=Edit1.Text; if d=n then Label2.Caption:= Label2.Caption+‘- простое число’ Label2.Caption:= Label2.Caption+ ‘ - обычное число’ end; end. procedure Button1Click(Sender: TObject); label //раздел объявления меток bye; var n: integer; //проверяемое число d: integer; //делитель r: integer; //остаток от n деления на d begin n:=StrToInt(Edit1.Text); if n<=0 then begin MessageDlg(‘Число должно быть больше нуля.’, mtError,mb[OK],0); Edit1.Text:=’’; goto bye; end; //Введено положительное число d:=2; //сначала будем делить на два repeat r:=n mod d; if n <>0 //n не делилось нацело на d then d:=d+1; until r=o Labe2.Caption:=Edit1.Text; if d=n then Label2.Caption:= Label2.Caption+‘- простое число’ Label2.Caption:= Label2.Caption+ ‘ - обычное число’ end; end.