|
Реферат: Курсовая работа по базе данных СУБД (Компьютеры)
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ Кабардино-Балкарский Государственный Университет им. Бербекова Х.М.
[pic]
Выполнил: студент
Факультета Информатики и Управления
Проверил:
Нальчик 2003г.
Содержание. 1. Введение. 2 База данных и способы ее представление. 3. Свойства полей базы данных. 4. Цели и задачи. 5. Разработка системного меню. 6. Описание программы. 6.1 Инструкция по использованию программы.
6.2 Описание процедур. 7. Результаты. 8. Вывод. 9. Листинг программы.
1.Введение.
На сегодняшний день в мире работают сотни миллионов персональных компьютеров. Ученые, экономисты, политики считают, что к началу треть- го тысячелетия: - количество компьютеров в мире сровняется с числом жителей развитых стран. - большинство этих компьютеров будет включено в мировые информацион- ные сети. - вся накопленная человечеством к началу третьего тысячелетия информация будет переведена в компьютерную (двоичную) форму, а вся информация будет готовиться при помощи (или при участии) компьютеров; вся информация будет бессрочно храниться в компьютерных сетях; - полноценный член общества третьего тысячелетия должен будет каждоднев но взаимодействовать с локальными, региональными или мировыми сетями с помощью компьютеров. При такой компьютеризации практически всех отраслей жизнедеятельно сти человека возникает вопрос о создании программ позволяющих создавать подобные базы данных. Поэтому и была разработана данная программа ,кото рая позволяет создать базу данных, хранящую в себе информацию об успеваемости школьников..
2.База данных и способы ее представления.
База Данных (БД) - это информация, представленная в виде двумерных таблиц. БД содержит множество строк, каждая из которых соответствует объекту. Для каждого объекта используются определенные независимые позиции, которые называются полями. Представим себе такую БД, содержащую строки и столбцы (простейший случай). Каждая строка, называемая так же записью, соответствует определенному объекту. Каждый столбец содержит значения соответствующих данных об объекте. БД может состоять не из одной таблицы, а из двух, трех и более. Дополнительную информацию об объекте можно хранить в дополнительных таблицах. Одно из мощных средств БД состоит в том, что информацию можно упорядочивать по тому критерию, который задает пользователь. В Pascal БД предоставляется в виде списка термов вида: имя_предиката_базы (поля_записи). Имена БД описываются в разделе . Доступ к записям БД осуществляется с помощью предиката базы. pascal предоставляет довольно много средств по работе с такими БД: загрузка, запись, добавление и т.д. База данных – это организованная структура, предназначенная для хранения информации. В современных базах данных хранятся не только данные, но и информация. Это утверждение легко пояснить, если, например, рассмотреть базу данных крупного банка. В ней есть все необходимые сведения о клиентах, об их адресах, кредитной истории, состояние расчетных счетов, финансовых операциях и т.д. Доступ к этой базе данных имеется у достаточно большого количества сотрудников банка, но среди них вряд ли найдется такое лицо, которое имеет доступ ко всей базе полностью и при этом способно единолично вносить в нее произвольные изменения. Кроме данных, база содержит методы и средства, позволяющие каждому из сотрудников оперировать только с теми данными, которые входят в его компетенцию. В результате взаимодействия данных, содержащихся в базе, с методами, доступными конкретным сотрудникам, образуется информация, которую они потребляют и на основании которой в пределах собственной компетенции производят ввод и редактирование данных. С понятием базы данных тесно связано понятие системы управления базой данных. Это комплекс программных средств, предназначенных для создания структуры новой базы, наполнение ее содержимым, редактирование содержимого и визуализации информации. Под визуализацией информации базы понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройства вывода или передачи по каналам связи. В мире существует множество систем управления базами данных. Несмотря на то что они могут по-разному работать с разными объектами и предоставляют пользователю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий. Это дает нам возможность рассмотреть одну систему и обобщить ее понятия, приемы и методы на весь класс СУБД. В качестве такого учебного объекта мы выберем СУБД Pascal 7.0, входящую в пакет Pascal 7.0.
3.Свойства полей базы данных.
Поля базы данных не просто определяют структуру базы – они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Ниже перечислены основные свойства полей таблиц баз данных на примере СУБД Pascal 7.0 .. o Имя поля – определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц). o Тип поля – определяет тип данных, которые могут содержаться в данном поле. o Размер поля – определяет предельную длину (в символах) данных, которые могут размещаться в данном поле. o Формат поля – определяет способ форматирования данных в ячейках, принадлежащих полю. o Маска ввода – определяет форму, в которой вводятся данные а поле (средство автоматизации ввода данных). o Подпись – определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля). o Значение по умолчанию – то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных). o Условие на значение – ограничение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты). o Сообщение об ошибке – текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных. o Обязательное поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы. o Пустые строки – свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым). o Индексированное поле – если поле обладает этим свойством, все операции, связанные с поиском или сортировкой записей по значению, хранящемуся в данном поле, существенно ускоряются. Кроме того, для индексированных полей можно сделать так, что значение в записях будут проверяться по этому полю на наличие повторов, что позволяет автоматически исключить дублирование данных. Поскольку в разных полях могут содержаться данные разного типа, то и свойства у полей могут различаться в зависимости от типа данных. Так, например, список вышеуказанных свойств полей относится в основном к полям текстового типа. Поля других типов могут иметь или не иметь эти свойства, но могут добавлять к ним и свои. Например, для данных, представляющих действительные числа, важным свойством является количество знаков после десятичной запятой. С другой стороны, для полей, используемых для хранения рисунков, звукозаписей, видео клипов и других объектов OLE, большинство вышеуказанных свойств не имеют смысла.
4.Цели и задачи.
При создании этой программы стояли следующие цели: . Написать программу, которая позволила бы обрабатывать, сортировать и изменять информацию о автостоянки. Так же при создании этой программы стояли следующие задачи: . Данная программа должна иметь простой и удобный пользовательский интерфейс. . Данная программа должна иметь малую ресурсоёмкость.
5.Разработка системного меню.
Системное меню или основное меню должно обеспечивать удобное взаимодействие пользователя с программой. В меню должны войти пункты сохранения, просмотра, ввода новых данных и.т.д. Пользователю нужно всего лишь нажать кнопку ‘enter’. В меню данной программы присутствует шесть пунктов: 1 -Создание файла 2 -Добавления запеси 3 -Корректировка запеси 4 -Просмотр запеси из файла 5 -Удаление запеси 6 -Выход 1 - Создание нового файла – Создается новый файл с именем задаваемым пoльзователем программы 2 - Просмотр содержимого файла – на экран поочередно выдаются раннее созданные записи в виде: Фамилия хозяина: Имя хозяина: марка машины: модель маштны: тип кузова: номер машины: регион: год выпуска: цвет: 3 – Добавление записи – Создание новой записи и файле добавляя его в конец записи. 4 – Поиск по номеру палаты – Позволяет находить данные о отдыхающем по номеру палаты , в котором зарегистрирован отдыхающий. 5 - Выход из программы - выход из программы
6.Описание программы. 6.1Инструкция по использованию программы.
Для запуска этой программы необходимо перейти на диск 3.5“A” прилагаемый к данной работе и войти в директорию «KYRSOVAI». Создания базы данных. Для того чтобы создать базу данных пользователю необходимо нажать пункт «СОЗДАНИЕ ФАЙЛА» в главном меню с помощью «ENTER».После этого появится следующая строка: «ЗАДАЙТЕ ИМЯ ФАЙЛА КОТОРЫЙ БУДЕТ СОЗДОВАТЬСЯ». Далее через «ENTER» вводятся данные. Дополнение данных. Для дополнения данных необходимо нажать кнопку «ENTER» . После этого появиться следующая строка: «ЗАДАЙТЕ ИМЯ ФАЙЛА В КОТОРЫЙ БУДЕТ ДОБОВЛЯТЬСЯ ЗАПИСЬ»
Выыход. Возврощает в главную програму.
2. Описание процедур.
Creatfile-создание файла; Addrecord-добавление запеси; Inputfile-ввод данных; Redzap-корректировка; Openfile-просмотр; Clearfile-удаление.
Вывод. Проделанная работа позволяет любому пользователю с легкостью создавать большие объемы информации, обрабатывать их, сортировать, делать выборки по определенным критериям. Использование такой программы в современном мире значительно облегчает деятельность человека.
Program kursovay; uses Crt,Dos; type prokat=record Sname_Hozaina,Name_Hozaina:string[15]; markauto:string[20]; model_auto:string[20]; tip_kyzova:string[20]; nomer_auto:string[20]; region:integer; god_vipyska:integer; color:string[20]; end; var f:file of prokat; zn,filename:string; k:integer; label 11;
{-----------------------------------------------------------}
procedure Creatfile; begin writeln('Задайте имя файла,который будет создаваться'); readln(filename); assign(f,filename); rewrite(f); end;
{-----------------------------------------------------------}
procedure Addrecord; var rez:integer; ch:char; begin while rez0 do begin writeln('Задайте имя файла,в который будет добавляться запись'); readln(filename); assign(f,filename); reset(f); rez:=IOResult; if rez0 then begin writeln('Проверьте правильность имени файла!'); writeln('Будет ли повторное задание имени файла?(Y/N)'); readln(ch); if (ch='n') or (ch='N') then halt (0); end; end; seek(f,filesize(f)); end;
{==========================================================}
procedure Inputfile; var st:prokat; k:char; begin repeat writeln('Введите данные о новом клиенте : '); write('Фамилия Хозяина : '); readln(st.Sname_Hozaina); write('Имя Хозяина:' ); readln(st.Name_Hozaina); write('марка машины:'); readln(st.markauto); write('модель машины:'); readln(st.model_auto); write('тип кузова:'); readln(st.tip_kyzova); write('номер машины: '); readln(st.Nomer_auto); write('регион:'); readln(st.region); write('год выпуска: '); readln(st.God_vipyska); write('цвет: '); readln(st.color); write(f,st); write('Надо ли вводить данные о новом клиенте ? (Y/N)>');readln(k); writeln; until(k='n') or (k='N'); close(f); end;
{=========================================================}
procedure redzap; var st:prokat; filename,str:string; Sname_Hozaina2,Name_Hozaina2:string[15]; markauto2:string[20]; model_auto2:string[20]; tip_kyzova2:string[20]; nomer_auto2:string[20]; region2:integer; god_vipyska2:integer; color2:string[20]; x:integer; begin writeln('Задайте имя файла'); readln(filename); assign(f,filename); reset(f); with st do begin write('Введите фамилию клиента: ');readln(str); x:=0; while not eof(f) do begin read(f,st); if st.Sname_Hozaina=str then begin writeln('Введите новые данные о клиенте: '); write('Фамилия хозяина: '); readln(st.Sname_Hozaina); write('Имя хозяина: '); readln(st.Name_Hozaina); write('марка машины:'); readln(st.markauto); write('модель машины:'); readln(st.model_auto); write('тип кузова:'); readln(st.tip_kyzova); write('номер машины:'); readln(st.nomer_auto); write('регион:'); readln(st.region); write('год выпуска:'); readln(st.god_vipyska); write('цвет: '); readln(st.color); Sname_Hozaina2:=Sname_Hozaina; markauto2:=markauto; Name_Hozaina2:=Name_Hozaina; color2:=color; Nomer_auto2:=Nomer_auto; model_auto2:=model_auto; God_vipyska2:=God_vipyska; tip_kyzova2:=tip_kyzova; region2:=region; seek(f,filepos(f)-1); write(f,st); x:=1; end; end; close(f); end; if x=0 then begin writeln('Записи с такой фамилией нет!');readln end; end;
{==============================================================}
procedure Openfile; var rez:integer;ch:char; begin while rez0 do begin writeln('Задайте имя файла'); readln(filename); assign(f,filename); reset(f); rez:=IOResult; if rez0 then begin writeln('Проверьте правильность имени файла!'); writeln('Будет ли повторное задание имени файла ? (Y/N)'); readln(ch); if (ch='n') or (ch='N') then halt (0); end; end; end;
{============================================================}
procedure Outputfile; var st:prokat;k:char; begin writeln('Хотите посмотреть данные о клиентах ? (Y/N)'); readln(k); if (k='y') or (k='Y') then while not eof(f) do begin read(f,st); clrscr; writeln('Фамилия хозяина:',st.Sname_Hozaina); writeln('Имя хозяина:',st.Name_Hozaina); writeln('марка машины:',st.markauto); writeln('модель машины:',st.model_auto); writeln('тип кузова:',st.tip_kyzova); writeln('номер машины:',st.nomer_auto); writeln('регион;',st.region); writeln('год выпуска:',st.god_vipyska); writeln('цвет:',st.color); writeln('Для продолжения нажмите (enter)'); readln; end; close(f); end;
{========================================================}
procedure Clearfile; var st:prokat; studtoout:string[20]; fo:file of prokat; begin writeln('Задайте имя файла,из которого удаляются элементы'); readln(filename); assign(f,filename);reset(f); assign(fo,'newfile.dat');rewrite(fo); writeln('Задайте фамилию клиента, запись о котором удаляется'); readln(studtoout); while not eof(f) do begin read(f,st); if st.sname_Hozainastudtoout then write(fo,st); end; close(f);close(fo); erase(f); rename(fo,filename); end;
{ОСНОВНАЯ ЧАСТЬ ПРОГРАММЫ}
Begin 11:clrscr; writeln(' МЕНЮ:'); writeln('1:Создание файла'); writeln('2:Добавление записи в файл'); writeln('3:Корректировка записи'); writeln('4:Просмотр файла'); writeln('5:Удаление записи из файла'); writeln('6:Выход из программы'); readln(k); case k of 1: begin Creatfile; Inputfile end; 2: begin Addrecord; Inputfile end; 3: redzap; 4: begin Openfile; Outputfile end; 5: Clearfile; 6: Halt; else writeln('Ошибка.Повторите номер режима.') end; goto 11; End.
Реферат на тему: Курсовая работа по основам программирования. Игра "Паровоз"
Государственный комитет Российской Федерации по высшему образованию
Казанский государственный технический университет имени А.Н. Туполева -------------------------------------------------------------- Кафедра АСОИУ
КУРСОВАЯ РАБОТА
по основам программирования
ИГРА «Parovoz»
ИСПОЛНИТЕЛЬ: студентка группы 4221 Петрова Е.Г. РУКОВОДИТЕЛЬ: Вафин Р.Р.
Оценка____________________________
Подпись___________________________
"____"________________________2001г.
КАЗАНЬ 2001г.
СОДЕРЖАНИЕ
1.Описание применения . 3
1.1. Запуск программы. 3
1.2. Правила игры. 3
2. Описание программы . 4
2.1. Метод решения задачи . 4
2.2. Описание используемых классов, структур и функций. 4 2.2.1. CApp - класс приложения . 4 2.2.2. CМainWnd- класс главного окна . 4 2.2.3. Карта сообщений. 5
2.3. Образ главного окна. 6
Приложение 7
Листинг файла main.cpp 7
Листинг файла main.h 12
Листинг файла menu1.h 13
Листинг файла menu1.rc 13
1.Описание применения .
1.1. Запуск программы.
Запуск программы необходимо производить , находясь в среде Windows 95 : запускаемый файл – parovoz.exe .
1.2. Правила игры.
После запуска игры, на экране появляется окно с надписью «выберите пункт старт». Окно имеет меню, состоящее из нескольких пунктов. С помощью пунктов меню можно: изменять цвет движущегося объекта (паровозика в красный, синий, зелёный), начать (перезапустить), осуществить выход из игры. После выбора пункта меню «старт», в левом нижнем углу окна появляется паровоз, представляющий собой совокупность геометрических фигур – эллипсов (колёса) и прямоугольников (кабина, трубы). Паровоз движется слева направо и останавливается перед светофором, расположенным приблизительно в середине окна над паровозом. Пользователь имеет возможность регулировать цветом светофора нажатием клавишь ‘к’, ‘з’, ‘ж’, соответствующим цветам светофора – красному, зеленому, жёлтому. Если паровоз подъезжает к светофору, а у светофора активным является зелёный цвет, он продолжает своё движение. В противном случае, паровоз останавливается. При достижении правой стенки, паровоз появляется у левой стенки, а активным цветом светофора становится жёлтый цвет. Из верхней части паровоза постоянно поднимаются в верхнюю часть окна окружности, представляющие собой клубни дыма, которые увеличиваются при подъёме.
2. Описание программы .
2.1. Метод решения задачи .
Программа выполнена в стиле объектно-ориентированного программирования, использованна библиотека MFC. Сама программа - приложение Windows. Для вывода графических объектов используются функции: Elliplse, Rectangle. Программой обрабатываются события от таймера, нажатия клавишь на клавиатуре, выбра соответствующих пунктов меню, а также событие WM_PAINT для перерисовки рабочей области.
2.2. Описание используемых классов, структур и функций.
2.2.1. CApp - класс приложения .
CApp - класс приложения, порождается классом CWinApp библиотеки MFC обеспечивает инициализацию , выполнение и завершение Windows программы : регистрирует , создаёт и отображает основное окно приложения . Член- функции класса CApp : InitInstance – виртуальная функция, переопределяется в классе CApp
2.2.2. CМainWnd- класс главного окна .
CMainWnd - класс главного окна приложения , наследуется из класса CFrameWnd библиотеки MFC .)
Член - данные класса СMainWnd : CRect wnd; /*размер окна*/ CRect kol1,kol2,korp,kr,temp; /*прямоугольники*/ CRect svet,ball1,ball2,ball3;/*прямоугольники*/ CBrush br1[3],br2; /*кисти*/ CBrush sv[4]; /*цвета светофора*/ CRect noga; /*нога светофора*/ CRect balls[5]; /*шарики дыма*/ CRect kr2; //кабина int numball; //номер дыма int live[5]; //признак жизни дыма bool game; /*признак игры или вне игры*/ int color; /*номер цвета паровоза*/ int ns; /*номер увета светофора*/ int move; /*флаг движения паровоза* /Член - функции класса СMainWnd : CmainWnd(); - конструктор класса окна afx_msg void OnBegin();обработчик события на выбор пункта меню «старт» afx_msg void OnRed(); - обработчик события на выбор пункта меню «Red» afx_msg void OnGreen(); - обработчик события на выбор пункта меню «Green» afx_msg void OnBlue(); - обработчик события на выбор пункта меню «Blue» afx_msg void OnPaint(); - ф-ия перерисовки afx_msg void OnTimer( UINT nIDEvent ); - обраб-чик таймера afx_msg void OnExit(); - обработчик события на выбор пункта меню «Exit» afx_msg void OnChar( UINT nChar, UINT nRepCnt, UINT nFlags ); - реакция на нажатие клавиши клавиатуры DECLARE_MESSAGE_MAP() - карта сообщений
2.2.3. Карта сообщений.
BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd) ON_COMMAND(IDM_EXIT,OnExit) ON_COMMAND(IDM_BEGIN,OnBegin) ON_COMMAND(IDM_RED,OnRed) ON_COMMAND(IDM_GREEN,OnGreen) ON_COMMAND(IDM_BLUE,OnBlue) ON_WM_PAINT() ON_WM_TIMER() ON_WM_CHAR() END_MESSAGE_MAP()
2.3. Образ главного окна.
На рисунках 1, 2 представленыосновные образы окна приложения.
Приложение
Листинг файла main.cpp
/* в этом файле находятся описания всех функций */
#include #include "main.h" #include "menu1.h"
CMainWnd::CMainWnd() /*конструктор гл. окна*/ { wnd.SetRect(0,0,400,355);//устан-ка размеров окна Create(NULL,"parovoz",WS_DLGFRAME ,wnd,NULL,"MAINMENU"); game=false; /*нет игры*/ color=0; /*нач. цвет поезда*/ ns=0; /*нач. цвет светофора*/ br1[0].CreateSolidBrush(RGB(255,0,0));//создание кистей br1[1].CreateSolidBrush(RGB(0,255,0)); br1[2].CreateSolidBrush(RGB(0,0,255));
sv[0].CreateSolidBrush(RGB(255,0,0));//создание кистей sv[1].CreateSolidBrush(RGB(0,255,0));//светофора sv[2].CreateSolidBrush(RGB(255,255,0)); sv[3].CreateSolidBrush(RGB(128,128,128));
br2.CreateSolidBrush(RGB(1,1,1));/*чёрный цвет*/
for(numball=0;numballShowWindow(m_nCmdShow); /*показать окно*/ return true; /*удачное завершение*/ }
afx_msg void CMainWnd::OnPaint() /*ф-ия перерисовки*/ { CPaintDC dc(this); /*созданиее контекста окна*/ dc.SelectObject(&br2); /*выбор кисти для светофора*/ dc.Rectangle(svet); //рисование корп. светофора dc.Rectangle(noga); //рисование ноги for(numball=0;numball | |