Ѕанк рефератов содержит более 364 тыс€ч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. ј также изложени€, сочинени€ по литературе, отчеты по практике, топики по английскому.
ѕолнотекстовый поиск
¬сего работ:
364150
“еги названий
–азделы
јвиаци€ и космонавтика (304)
јдминистративное право (123)
јрбитражный процесс (23)
јрхитектура (113)
јстрологи€ (4)
јстрономи€ (4814)
Ѕанковское дело (5227)
Ѕезопасность жизнеде€тельности (2616)
Ѕиографии (3423)
Ѕиологи€ (4214)
Ѕиологи€ и хими€ (1518)
Ѕиржевое дело (68)
Ѕотаника и сельское хоз-во (2836)
Ѕухгалтерский учет и аудит (8269)
¬алютные отношени€ (50)
¬етеринари€ (50)
¬оенна€ кафедра (762)
√ƒ« (2)
√еографи€ (5275)
√еодези€ (30)
√еологи€ (1222)
√еополитика (43)
√осударство и право (20403)
√ражданское право и процесс (465)
ƒелопроизводство (19)
ƒеньги и кредит (108)
≈√Ё (173)
≈стествознание (96)
∆урналистика (899)
«Ќќ (54)
«оологи€ (34)
»здательское дело и полиграфи€ (476)
»нвестиции (106)
»ностранный €зык (62792)
»нформатика (3562)
»нформатика, программирование (6444)
»сторические личности (2165)
»стори€ (21320)
»стори€ техники (766)
 ибернетика (64)
 оммуникации и св€зь (3145)
 омпьютерные науки (60)
 осметологи€ (17)
 раеведение и этнографи€ (588)
 раткое содержание произведений (1000)
 риминалистика (106)
 риминологи€ (48)
 риптологи€ (3)
 улинари€ (1167)
 ультура и искусство (8485)
 ультурологи€ (537)
Ћитература : зарубежна€ (2044)
Ћитература и русский €зык (11657)
Ћогика (532)
Ћогистика (21)
ћаркетинг (7985)
ћатематика (3721)
ћедицина, здоровье (10549)
ћедицинские науки (88)
ћеждународное публичное право (58)
ћеждународное частное право (36)
ћеждународные отношени€ (2257)
ћенеджмент (12491)
ћеталлурги€ (91)
ћосквоведение (797)
ћузыка (1338)
ћуниципальное право (24)
Ќалоги, налогообложение (214)
Ќаука и техника (1141)
Ќачертательна€ геометри€ (3)
ќккультизм и уфологи€ (8)
ќстальные рефераты (21697)
ѕедагогика (7850)
ѕолитологи€ (3801)
ѕраво (682)
ѕраво, юриспруденци€ (2881)
ѕредпринимательство (475)
ѕрикладные науки (1)
ѕромышленность, производство (7100)
ѕсихологи€ (8694)
психологи€, педагогика (4121)
–адиоэлектроника (443)
–еклама (952)
–елиги€ и мифологи€ (2967)
–иторика (23)
—ексологи€ (748)
—оциологи€ (4876)
—татистика (95)
—трахование (107)
—троительные науки (7)
—троительство (2004)
—хемотехника (15)
“аможенна€ система (663)
“еори€ государства и права (240)
“еори€ организации (39)
“еплотехника (25)
“ехнологи€ (624)
“овароведение (16)
“ранспорт (2652)
“рудовое право (136)
“уризм (90)
”головное право и процесс (406)
”правление (95)
”правленческие науки (24)
‘изика (3463)
‘изкультура и спорт (4482)
‘илософи€ (7216)
‘инансовые науки (4592)
‘инансы (5386)
‘отографи€ (3)
’ими€ (2244)
’оз€йственное право (23)
÷ифровые устройства (29)
Ёкологическое право (35)
Ёкологи€ (4517)
Ёкономика (20645)
Ёкономико-математическое моделирование (666)
Ёкономическа€ географи€ (119)
Ёкономическа€ теори€ (2573)
Ётика (889)
ёриспруденци€ (288)
языковедение (148)
языкознание, филологи€ (1140)

 урсова€ работа: –азработка базы данных "”чащиес€"

Ќазвание: –азработка базы данных "”чащиес€"
–аздел: –ефераты по информатике, программированию
“ип: курсова€ работа ƒобавлен 11:57:27 02 феврал€ 2011 ѕохожие работы
ѕросмотров: 738  омментариев: 2 ќценило: 0 человек —редний балл: 0 ќценка: неизвестно     —качать

ћинистерство образовани€ и науки –еспублики  азахстан

 арагандинский политехнический колледж

–ј«–јЅќ“ ј Ѕј«џ ƒјЌЌџ’ Ђ”„јў»’—яї

ѕо€снительна€ записка

–уководитель

ј.√.’мыров

22.11.09

¬ыполнил учащийс€

√руппы 9-4-ѕ¬“-07

«иньков ¬.ј.

22.11.09

2009г.


¬¬≈ƒ≈Ќ»≈

≈сли проследить историю человечества, то можно заметить, что на прот€жении развити€ цивилизации на земле, человек что-то придумывает чтобы облегчить и украсить свою жизнь на земле. » вот уже к концу ’’ в. научно-технический прогресс, набравший головокружительную скорость, послужил причиной по€влени€ такого чуда современности как компьютер и компьютерные технологии. »зобретение компьютеров послужило переломным моментом в развитии многих отраслей промышленности, на значительный объЄм повысило мощь и эффективность военной техники, внесло множество прогрессивных изменений в работу средств массовой информации, систем св€зи, качественно изменило принцип работы банков и административных учреждений. — каждым днем происходит усовершенствование компьютерных технологий, что приводит к повышению работоспособности всего компьютеризированного мира в целом. ¬след за развитием компьютерных технологий, идет бурное развитие программного обеспечени€.

—егодн€шние темпы компьютеризации превышают темпы развити€ всех других отраслей. Ѕез компьютеров и компьютерных сетей не обходитс€ сегодн€ ни одна средн€€ фирма, не говор€ о крупных компани€х. —овременный человек начинает взаимодействовать с компьютером посто€нно - на работе, дома, в машине и даже в самолете.  омпьютеры стремительно внедр€ютс€ в человеческую жизнь, занима€ свое место в нашем сознании. ”же сегодн€ компьютеры отвечают за наведение и запуск €дерных ракет, за банковские переводы многомиллионных сумм денег и многие другие системы.

—ейчас в учебные планы многих дисциплин включены разделы, требующие применение прикладных программ различной степени сложности и во многие предметы учебного плана внедрены работы с компьютерами, пишутс€ электронные учебники, пособи€, программы дл€ этих предметов. ¬ насто€щее врем€ проникновение информационных технологий происходит во все сферы человеческой де€тельности. Ћюбое современное производство, учреждение, офис немыслимо представить без современных коммуникационных технологий. ¬ св€зи, с чем изучение информационных технологий начинаетс€ с дошкольной системы образовани€.

Ќа данный момент времени преимущественное место среди разрабатываемых программ занимают программы-тесты. ќни примен€ютс€ во многих сферах, и имеют различные направлени€ и назначени€. “акие как: проверка определЄнных знаний, коэффициент знаний, обучение и многое другое.

¬ св€зи с вышеизложенным, была поставлена цель, написать программу дл€ тестировани€, а именно простой и лЄгкой в использовании программы в качестве теста. “ак как на сегодн€шний момент, в св€зи с различными подходами к образованию, по€вл€етс€ потребность в данной продукции.

ƒанный проект может быть использован как преподавател€ми так и обучаемыми так как €вл€етс€ тестирующей программой разных категорий сложности, а также предоставл€етс€ возможность создани€ своих тестовых вопросов.


1 ќЅўјя „ј—“№

1.1 Ѕаза данных - совокупность св€занных данных, организованных по определенным правилам, предусматривающим общие принципы описани€, хранени€ и манипулировани€, независима€ от прикладных программ. Ѕаза данных €вл€етс€ информационной моделью предметной области. ќбращение к базам данных осуществл€етс€ с помощью системы управлени€ базами данных (—”Ѕƒ). ќбъектами хранени€ в текстовых Ѕƒ €вл€ютс€ тексты. ѕод текстом будут пониматьс€ неструктурированные данные, построенные из строк.

ќсновной целью любой текстовой Ѕƒ €вл€етс€ хранение, поиск и выдача документов, соответствующих запросу пользовател€. “акие документы прин€то называть релевантными.

1.2 ќбзор элементов €зыка программировани€

–азрабатываемый программный продукт был написан на €зыке программировани€ ѕаскаль. язык ѕаскаль, назван в честь французского математика и философа Ѕлеза ѕаскал€ (1623Ч1662). ѕерва€ верси€ €зыка программировани€ ѕаскаль была разработана на кафедре информатики —тэндфордского университета швейцарским ученым Ќиколаусом ¬иртом в 1968 году. язык ѕаскаль, созданный первоначально дл€ обучени€ программированию как систематической дисциплине, скоро стал широко использоватьс€ дл€ разработки программных средств в профессиональном программировании.

ѕрошло много времени с момента по€влени€ ѕаскал€ на рынке программных продуктов, прежде чем он получил всеобщее признание. ѕризнание программистов и простых пользователей пришло вследствие по€влени€ €зыка программировани€ “урбо ѕаскаль (“ѕ), созданного американской фирмой Ѕорланд. Ёта фирма объединила очень быстрый компил€тор с редактором текста и добавила к стандартному ѕаскалю мощное расширение, что способствовало успеху первой версии этого €зыка.

Ўирокой попул€рности ѕаскал€ среди программистов способствовали следующие причины:

1) благодар€ своей компактности, удачному первоначальному описанию ѕаскаль оказалс€ достаточно легким дл€ изучени€;

2) €зык программировани€ ѕаскаль отражает фундаментальные и наиболее важные концепции алгоритмов в очевидной и легко воспринимаемой форме, что предоставл€ет программисту средства, помогающие проектировать программы;

3) €зык ѕаскаль позвол€ет четко реализовать идеи структурного программировани€ и структурной организации данных;

4) €зык ѕаскаль сыграл большую роль в развитии методов аналитического доказательства правильности программ и позволил реально перейти от методов отладки программ к системам автоматической проверки правильности программ;

5) применение €зыка ѕаскаль значительно подн€ло "планку" надежности разрабатываемых программ за счет требований ѕаскал€, к описанию используемых в программе переменных, проверки согласованности программы при компил€ции без ее выполнени€;

6) использование в ѕаскале простых и гибких структур управлени€: ветвлений, циклов.

¬ качестве констант алфавит €зыка “урбо ѕаскаль включает символы, цифры, шестнадцатеричные цифры, специальные символы, пробелы и зарезервированные слова.

—имволы - это буквы латинского алфавита от Ђаї до Ђzї и от Ђјї до ЂZї, а также знак подчеркивани€ Ђ_ї (код ASCII 95). ¬ “урбо ѕаскале нет различи€ между прописными и строчными буквами алфавита, если только они не вход€т в символьные и строковые выражени€.

÷елые числа записываютс€ со знаком или без него и могут иметь значение от -2147483648 до +2147483647. —ледует учесть, что, если целочисленна€ константа выходит за указанные границы, компил€тор дает сообщение об ошибке. “акие константы должны записыватьс€ с дес€тичной точкой, то есть определ€тьс€ как вещественные числа.

¬ещественные числа записываютс€ со знаком или без него с использованием дес€тичной точки или мантиссой числа.

≈сли в записи вещественного числа присутствует дес€тична€ точка, перед точкой и за ней должно быть, хот€ бы по одной цифре. Ўестнадцатеричное число состоит из шестнадцатеричных цифр, которым предшествует знак доллара $ (код 36 в ASCII). ƒиапазон шестнадцатеричных чисел - от $00000000 до $FFFFFFFF.

—пециальные символы “урбо ѕаскал€ - это символы:

+ - * / = ,' . : ; < > [ ] ( ) { } ^ @ $ #.

  специальным символам относ€тс€ также следующие пары символов:

<> <= >= := (* *) (. .).

¬ программе эти пары символов нельз€ раздел€ть пробелами, если они используютс€ как знаки операций отношени€ или ограничители комментари€.

»дентификаторы в “урбо ѕаскале - это имена констант, переменных, меток, типов, объектов, процедур, функций, модулей, программ и полей в запис€х. »дентификаторы могут иметь произвольную длину, но значащими (уникальными в области определени€) €вл€ютс€ только первые 63 символа.

»дентификатор всегда начинаетс€ буквой, за которой могут следовать буквы и цифры. Ќапомню, что буквой считаетс€ также символ подчеркивани€, поэтому идентификатор может начинатьс€ этим символом и даже состо€ть только из одного или нескольких символов подчеркивани€. ѕробелы и специальные символы алфавита не могут входить в идентификатор.

 онстанты в “урбо ѕаскале могут использоватьс€ целые, вещественные и шестнадцатеричные числа, логические константы, символы, строки символов, конструкторы множеств и признак неопределенного указател€ NIL.

Ћогическа€ константа - это либо слово FALSE (ложь), либо слово TRUE (истина).

—имвольна€ константа - это любой символ ѕ , заключенный в апострофы:

'z' - символ z;

'‘' - символ ‘.

≈сли необходимо записать собственно символ апострофа, он удваиваетс€:

'''' - символ апостроф.

ƒопускаетс€ использование записи символа путем указани€ его внутреннего кода, которому предшествует символ # (код 35), например:

#97 - символ а;

#90 - символ Z;

#39 - символ ';

#13 - символ CR.

—трокова€ константа - люба€ последовательность символов (кроме символа CR -возврат каретки), заключенна€ в апострофы. ≈сли в строке нужно указать сам символ апострофа, он удваиваетс€, например:

'Ёто - строка символовТ;

'That' 's string.'.

 онструктор множества - список элементов множества, обрамленный квадратными скобками, например:

[1,2,4..7,12] или [blue, red].

Ћюбой из структурированных типов (а в “урбо ѕаскале их четыре: массивы, записи, множества и файлы) характеризуетс€ множественностью образующих этот тип элементов, т.е. переменна€ или константа структурированного типа всегда имеет несколько компонентов.  аждый компонент, в свою очередь, может принадлежать структурированному типу, что позвол€ет говорить о возможной вложенности типов. ¬ “урбо ѕаскале допускаетс€ произвольна€ глубина вложенности типов, однако суммарна€ длина любого из них во внутреннем представлении не должна превышать -5520 байт.

¬ отличие от стандартного ѕаскал€, в “урбо ѕаскале разрешаетс€ в объ€влении констант использовать произвольные выражени€, операндами которых могут быть ранее объ€вленные не типизированные константы, имена типов и объектов.

ѕроцедуры и функции представл€ют собой относительно самосто€тельные фрагменты программы, оформленные особым образом и снабженные именем. ”поминание этого имени в тексте программы называетс€ вызовом процедуры (функции). ќтличие функции от процедуры заключаетс€ в том, что результатом исполнени€ операторов, образующих тело функции, всегда €вл€етс€ некоторое единственное значение или указатель, поэтому обращение к функции можно использовать в соответствующих выражени€х нар€ду с переменными и константами. ”словимс€ далее называть процедуру или функцию общим именем Ђподпрограммаї, если только дл€ излагаемого материала указанное отличие не имеет значени€.

ѕодпрограммы представл€ют собой инструмент, с помощью которого люба€ программа может быть разбита на р€д в известной степени независимых друг от друга частей. “акое разбиение необходимо по двум причинам.

¬о-первых, это средство экономии пам€ти: кажда€ подпрограмма существует в программе в единственном экземпл€ре, в то врем€ как обращатьс€ к ней можно многократно из разных точек программы. ѕри вызове подпрограммы активизируетс€ последовательность образующих ее операторов, а с помощью передаваемых подпрограмме параметров нужным образом модифицируетс€ реализуемый в ней алгоритм.

¬тора€ причина заключаетс€ в применении методики нисход€щего проектировани€ программ. ¬ этом случае алгоритм представл€етс€ в виде последовательности относительно крупных подпрограмм, реализующих более или менее самосто€тельные смысловые части алгоритма. ѕодпрограммы в свою очередь могут разбиватьс€ на менее крупные подпрограммы нижнего уровн€. ѕоследовательное структурирование программы продолжаетс€ до тех пор, пока реализуемые подпрограммами алгоритмы не станут настолько простыми, чтобы их можно было легко запрограммировать.

¬ызов подпрограммы осуществл€етс€ простым упоминанием имени процедуры в операторе вызова процедуры или имени функции в выражении. ѕри использовании расширенного синтаксиса “урбо ѕаскал€ функции можно вызывать точно так же, как и процедуры.  ак известно, любое им€ в программе должно быть об€зательно описано, перед тем как оно по€витс€ среди исполн€емых операторов. Ќе делаетс€ исключени€ и в отношении подпрограмм: каждую свою процедуру и функцию программисту необходимо описать в разделе описаний.

ќписать подпрограмму - это значит указать ее заголовок и тело. ¬ заголовке объ€вл€ютс€ им€ подпрограммы и формальные параметры, если они есть. ƒл€ функции, кроме того, указываетс€ тип возвращаемого ею результата. «а заголовком следует тело подпрограммы, которое, подобно программе, состоит из раздела описаний и раздела исполн€емых операторов. ¬ разделе описаний подпрограммы могут встретитьс€ описани€ подпрограмм низшего уровн€, в тех - описани€ других подпрограмм и так далее.

ќписание подпрограммы состоит из заголовка и тела подпрограммы.

«аголовок процедуры имеет вид:

PROCEDURE <им€> ( <сп.ф.п . > ) ;

«аголовок функции:

FUNCTION <им€> ( <сп.ф.п.> ) : <тип>;

«десь <им€> - им€ подпрограммы (правильный идентификатор);

<сп.ф.п.> - список формальных параметров;

<тип> - тип возвращаемого функцией результата.

—писок формальных параметров необ€зателен и может отсутствовать. ≈сли же он есть, то в нем должны быть перечислены имена формальных параметров и их типы, например:

Procedure SB(a: Real; b: Integer; c: Char)

 ак видно из примера, параметры в списке отдел€ютс€ друг от друга точками с зап€той. Ќесколько следующих подр€д однотипных параметров можно объедин€ть в подсписки, например, вместо

Function F(a: Real; b: Real): Real;

можнонаписатьпроще:

Function F(a,b: Real): Real;

ќператоры тела подпрограммы рассматривают список формальных параметров как своеобразное расширение раздела описаний: все переменные из этого списка могут использоватьс€ в любых выражени€х внутри подпрограммы. “аким способом осуществл€етс€ настройка алгоритма подпрограммы на конкретную задачу.

ћожет сложитьс€ впечатление, что объ€вление переменных в списке формальных параметров подпрограммы ничем не отличаетс€ от объ€влени€ их в разделе описани€ переменных. ƒействительно, в обоих случа€х много общего, но есть одно существенное различие: типом любого параметра в списке формальных параметров может быть только стандартный или ранее объ€вленный тип. ѕоэтому нельз€, например, объ€вить следующую процедуру:

ProcedureS (a: array [1..10] ofReal);

так как в списке формальных параметров фактически объ€вл€етс€ тип-диапазон, указывающий границы индексов массива.

≈сли необходимо передать определенный элемент массива, как правило, проблем не возникает, но если в подпрограмму передаетс€ весь массив, то следует первоначально описать его тип. Ќапример:

type

atype = array [1..10] of Real;

Procedure S (a: atype);

ѕоскольку строка €вл€етс€ фактически своеобразным массивом, ее передача в подпрограмму осуществл€етс€ аналогичным образом:


type

intype = String [15] ;

outype = String [30] ;

Function St (s : intype): outype;

–екурси€ - это такой способ организации вычислительного процесса, при котором подпрограмма в ходе выполнени€ составл€ющих ее операторов обращаетс€ сама к себе.

–екурсивна€ форма организации алгоритма обычно выгл€дит из€щнее итерационной и дает более компактный текст программы, но при выполнении, как правило, медленнее и может вызвать переполнение стека (при каждом входе в подпрограмму ее локальные переменные размещаютс€ в особым образом организованной области пам€ти, называемой программным стеком). ѕереполнение стека особенно ощутимо сказываетс€ при работе с сопроцессором: если программа использует арифметический сопроцессор, результат любой вещественной функции возвращаетс€ через аппаратный стек сопроцессора, рассчитанный всего на 8 уровней. „тобы избежать переполнени€ стека сопроцессора, следует размещать промежуточные результаты во вспомогательной переменной.

»ногда бывает необходимо выполнить часть программы, если заданное условие имеет значение True (истина) или False (ложь), или когда заданное выражение принимает определенное значение, в этом случае используем условный оператор.

‘ормат записи оператора If:

If (выражение) then оператор 1; else оператор 2;

где (выражение) - любое булевское выражение (провер€ющее на условие True или False ); (оператор 1) и (оператор 2) Ц операторы “ѕ . ≈сли выражение принимает значение True (истина), то (оператор 1) выполн€етс€; в противном случае выполн€етс€ Ц (оператор 2).

ќператор else €вл€етс€ необ€зательным, другими словами, допустимо использовать оператор if в следующем виде:

If (выражение) then оператор 1;

¬ этом случае (оператор 1) выполн€етс€ только тогда, когда выражение имеет значение True. ¬ противном случае (оператор 1) пропускаетс€ и выполн€етс€ следующий оператор.

≈сли необходимо выполнить более одного оператора, в случае, когда выражение принимает значение, True (истина) или False (ложь), то следует использовать составной оператор.

—оставной оператор - это ключевое слово begin, несколько операторов разделенных точкой с зап€той и ключевое слово end.

ќператор выбор Case - средство выбора альтернатив. ѕозвол€ет уменьшить количество операторов If.

ќператор Case состоит из выражени€ (селектора) и списков операторов, каждому из которых предшествует метка того же типа, что и селектор. Ёто значит, что в данный момент выполн€етс€ тот оператор, у которого значение совпадает с текущем значением селектора. ≈сли совпадени€ значений не происходит, то не выполн€етс€ ни один из операторов, вход€щих в Case или же выполн€ютс€ операторы, сто€щие после необ€зательного слова else.

ћетка case состоит из любого количества констант или поддиапазонов, разделенных зап€тыми, за которым следует двоеточие(:).

¬ случае, когда при выполнении какого-либо услови€ (или невыполнени€), необходимо выполн€ть группу операторов повторно, используютс€ циклы.

—уществуют три цикла: цикл While (с предусловием), цикл Repeat (с постусловием) и цикл For (с параметром).

÷икл While используетс€ дл€ проверки некоторого услови€ в начале цикла.

‘ормат записи оператора цикла While:

While (выражение) do оператор;

¬ цикле While вычисл€етс€ выражение. ≈сли оно имеет результат- True (истина), выполн€етс€ оператор. ¬ противном случае выполнение цикла завершаетс€.

÷икл Repeat...until используетс€ когда необходимо выполнить тело цикла хот€ бы раз.

‘ормат записи цикла Repeat...until :

Repeat оператор 1; оператор2; until (выражение).

—уществуют три основных отличи€ цикла Repeat...until от цикла While:

- операторы в цикле Repeat выполн€ютс€ хот€ бы один раз, потому что проверка выражени€ осуществл€етс€ в конце тела цикла. ¬ цикле While, если значение выражени€ False, тело его сразу пропускаетс€.;

- цикл Repeat выполн€етс€ пока выражение не станет True (истина), в то врем€, как цикл While выполн€етс€ до тех пор, пока выражение имеет значение True (истина);

- в цикле Repeat может использоватьс€ просто группа операторов, а не составной оператор. ѕри использовании этого цикла не используютс€ слова begin...end, как в случае с циклом While.

÷икл Reрeat выполнитс€ хот€ бы один раз, в то врем€, как цикл While может ни разу не выполнитьс€ в зависимости от значени€ выражени€.

÷икл For используетс€, когда необходимо выполнить тело цикла определенное количество раз

‘ормат цикла For:

For индекс:=(выражение1) to (выражение2) do оператор где индекс - скал€рна€ переменна€ (целого типа, символьного, булевcкого и любого перечислимого типа); (выражение1) и (выражение2) - выражени€ типа, совместимого с типом индекса; оператор - одиночный или составной оператор. »ндекс увеличиваетс€ на 1 после каждого выполнени€ цикла. »ндекс можно уменьшать на 1. ƒл€ этого ключевое слово to замен€етс€ на downto.

√лавный недостаток цикла For - это возможность уменьшить или увеличить индекс только на 1.

ќсновные преимущества - краткость, возможность использовани€ символьного и перечислимого типа в диапазоне значений [5].

‘айловые типы есть три типа файлов:

- текстовые файлы;

- файлы с типом;

- файлы без типа.

—в€зь с файлом может быть установлена через файловую переменную, котора€ после описани€, но до использовани€ в программе должна быть св€зана с внешним файлом с помощью процедуры Assign.

“екстовой файл Ц это последовательность символьных строк переменной длины. ¬с€ка€ така€ строка завершаетс€ маркером конца строки CR/LF. “екстовые файлы можно обрабатывать только последовательно. ¬вод и вывод нельз€ производить дл€ открытого файла, использу€ одну файловую переменную. “екстовой файл имеет тип Text. ѕример описани€ файловой переменной текстового типа:

VarFi: Text;

‘айлы без типа состо€т из компонент одинакового размера, структура которых не известна или не имеет значени€. ƒопустим пр€мой доступ к любой компоненте файла. ѕример объ€влени€ файловой переменной файла без типа:

VarF: File;

‘айлы с типом состо€т из однотипных компонент известной структуры [6]. ƒопустим пр€мой доступ к любой компоненте файла. ѕример объ€влени€ файловых переменных дл€ файлов с типом:

Type

TRec = Record

A: Real;

B: Integer;

C: Char;

End;

Var

F : File of Real;

Q : File of String[100];

Fr: File of TRec;

¬ этом примере F объ€влена как файлова€ переменна€ вещественного типа.

Ёто означает, что компонентами файла могут быть только вещественные значени€. ‘айлова€ переменна€ Q предназначена дл€ доступа к файлам, которые состо€т из символьных строк длины 100. ‘айлова€ переменна€ Fr предназначена дл€ работы с файлами, которые состо€т из записей типа TRec, объ€вленного в секции Type.


2 —ѕ≈÷»јЋ№Ќјя „ј—“№

2.1 ќбща€ постановка задачи

÷ель данной курсовой работы Ц разработать базу данных Уучащихс€Ф, а именно программу дл€ более удобного способа вести личные дела учащихс€ в тех или иных учебных заведени€х.

¬ программу включаетс€ заставка, меню, помощник, с помощью которого пользователю будет, легко ознакомитс€ с данной программой.

–азрабатываемый программный продукт должен обеспечивать возможность выполнени€ следующих действий:

-имеютс€ ли однофамильцы;

- имеютс€ ли однофамильцы на одном курсе;

- в каких группах более 10 учащихс€;

- на сколько человек больше на I-м курсе, чем на IV-м курсе;

»сходные данные:

- база данных Уучащихс€Ф, различных групп;

¬ыходными данными €вл€ютс€:

- результат поиска того или иного учащегос€, любой группы, однофамильцы, различие в количестве учащихс€.

2.2 ќписание модулей

ћодуль Crt. ћодуль содержит константы, переменные и подпрограммы, предназначенные дл€ работы с консолью. ¬ отличие от стандартного ввода-вывода, когда он осуществл€етс€ через ќ—, подпрограммы модул€ Crt работают с BIOS и даже непосредственно с видеопам€тью.


“аблица 2.3-ѕроцедуры и функции модул€ Crt.

ѕроцедуры управлением цветом
HighVideo «адание высокой €ркости символов
LowVideo «адание малой €ркости символов
NormVideo «адание исходной €ркости символов
TextBackGround «адание цвета фона
TextColor «адание цвета символов
ѕроцедуры дл€ работы с экраном
ClrEol ”даление символов от курсора до конца строки
ClrScr ќчистка экрана
DelLine ”даление строки, в которой находитс€ курсор
GotoXY ѕеремещение курсора в заданную позицию
‘ункции дл€ работы с клавиатурой
KeyPressed ѕроверка нажати€ клавиши
ReadKey „тение символа с клавиатуры
ѕроцедуры дл€ работы со звуком
Sound ¬ключение звука
NoSound ќтключение звука
ѕроцедуры разнообразного назначени€
Delay «адержка выполнени€ программы

ƒанный программный продукт написан с помощью подпрограмм, то есть с помощью применени€ процедур и функций. ѕроцедуры и функции представл€ют собой относительно самосто€тельные фрагменты программы, оформленные особым образом и снабженные именем. ѕрограмму, написанную при помощи процедур и функций легко тестировать и отлаживать, а также защитить программный продукт от ошибок.

—писок и описание использованных подпрограмм:

1) ProcedureZastavka- €вл€етс€ заставкой программы, котора€ по€вл€етс€ при запуске программы и, информирует о том, кто создал данный программный продукт, кто руководитель проекта, год создани€ программы.

2) ProcedureMenu- €вл€етс€ началом программы и предписывает определЄнные действи€ дл€ пользовател€.

3) ProcedurePassword Ц €вл€етс€ не посредственно защищающей подпрограммой, дл€ защиты от удалени€ или внесени€ не правильной информации об уч-с€ наход€щихс€ в базе данных, и дл€ использовани€ деканом или зам-директором и прочей администрации учебного заведени€ (“–≈Ѕ”≈“ “ќЋ№ ќ ” Ђјдминистратораї).

4) ProcedureNovoedelo Ц предназначенна€ дл€ заведени€ дел учащихс€ (ѕ–»ћ≈„јЌ»≈: данна€ процедура доступна лишь Ђјдминистраторуї).

5) ProcedureArhieve Ц данна€ процедура предназначена дл€ сохранени€ (создани€), или загрузки существующей базы данных(ѕ–»ћ≈„јЌ»≈: данна€ процедура доступна лишь Ђјдминистраторуї).

6) Procedureend Ц выход из программы.

2.3 »дентификаторы

»дентификаторы в “урбо ѕаскале - это имена констант, переменных, меток, типов, объектов, процедур и функций, модулей, программ и полей в запис€х, созданных самим программистом.

»дентификатор всегда начинаетс€ с буквы, за которой могут следовать буквы и цифры. Ѕуквой считаетс€ также символ подчеркивани€, поэтому идентификатор может начинатьс€ этим символом и даже состо€ть только из одного или нескольких символов подчеркивани€. ѕробелы и специальные символы алфавита не могут входить в идентификатор.

»дентификаторы используютс€ без учета регистра, это означает, что строчные буквы (a..z) рассматриваютс€ тождественными буквами (A..Z). »дентификаторы могут иметь любую длину, но только первые 63 символа €вл€ютс€ значащими.

“аблица идентификаторов

є »дентификатор “ип Ќазначение
1 Num Integer Ќумераци€ личных дел (диапазон: -32768,,,32767;размер-2байта).
2 FirsName Char —оздание фамилии уч-с€ (диапазон:-128Е127; размер-1байт).
3 Name Char —оздание имени уч-с€ (диапазон:-128Е127; размер-1байт).
4 FatherName Char —оздание отчества уч-с€ (диапазон:-128Е127; размер-1байт).
5 Date Integer «аполнение даты рождени€ уч-с€ (диапазон:-32768,,,32767; размер-2байта).
6 FirstNameKur Char —оздание фамилии куратора (диапазон:-128Е127; размер-1байт).
7 NameKur Char —оздание имени куратора (диапазон:-128Е127; размер-1байт).
8 FatherNameKur Char —оздание отчества куратора (диапазон:-128Е127; размер-1байт).

2.4 —труктурна€ и функциональна€ схема

–ис.1 —труктурна€ схема


–ис.2 ‘ункциональна€ схема


«ј Ћё„≈Ќ»≈

ѕри написании данного проекта была достигнута поставленна€ цель, а именно разработана и полностью сформирована база данных Фучащихс€Ф. ¬ интерфейсе данной программы предусмотрены все необходимые дл€ пользовател€ пункты главного меню в рамках поставленной задачи проекта. ¬ программе выполнены все требовани€, предъ€вленные к программному продукту, с уверенностью можно за€вить что цель, поставленна€ при разработке данной программы, была достигнута. ѕрограмма написана на €зыке программировани€ “урбо ѕаскаль.

ѕосле тщательного изучени€ предметной области и задани€ полученного на данный проект были выдвинуты основные требовани€ к программному продукту, которые в последующем и были реализованы в программе.

—тоит отметить, что данный программный продукт обладает несложным интерфейсом. Ѕлагодар€ этому качеству, программу сможет использовать каждый пользователь, имеющий простейшие навыки работы на компьютере. ј дл€ пользователей умеющих программировать на €зыке ѕаскаль программа может послужить базой дл€ написани€ более сложных систем или стать нагл€дным пособием написани€ и использовани€ процедур и функций в данной среде, так как данна€ программа хорошо демонстрирует практическую реализацию их использовани€.


Cѕ»—ќ  »—ѕќЋ№«”≈ћќ… Ћ»“≈–ј“”–џ

1) јлексеев ¬. ≈., ¬аулин ј.—., ѕетрова √. Ѕ. Ц ¬ычислительна€ техника и программирование. ѕрактикум по программированию: ѕракт. пособие/ Цћ.: ¬ысш. шк. , 1991. Ц 400 с.

2) јбрамов —.ј., «има ≈.¬. Ц Ќачала программировани€ на €зыке ѕаскаль. Ц ћ.: Ќаука, 1987. Ц112 с.

3) “урчак Ћ.». Ц ќсновы численных методов Ц ћ.: ЂЌаукаї, 1987-31 с.

4) ¬ычислительна€ техника и программирование: ”чеб. дл€ техн. вузов/ ј.¬. ѕетров, ¬.≈. јлексеев, ј.—. ¬аулин и др. Ц ћ.: ¬ысш. шк., 1990 Ц 479 с.

5) ћеженный ќ.ј. Ц самоучитель TurboPascal. Ц ћ.: 2003-75 с.

6) ћарченко ј.»., ћарченко Ћ.ј. Ц ѕрограммирование в среде TurboPascal 7.0 Ц  .: ¬≈ +, ћ.: Ѕином ”ниверсал, 1998. Ц 496 с.

7) Ќемнюгин —.ј. TurboPascal

8) ѕрайс ƒ. ѕрограммирование на €зыке паскаль. ѕрактическое руководство.

9) ћеженный ќ.ј. Ц самоучитель TurboPascal. Ц ћ.: 2003-198 с.


√–ј‘»„≈— јя „ј—“№

Ћист 1. ‘ункциональна€ схема


Ћист 2. —труктурна€ схема


ѕ–»Ћќ∆≈Ќ»≈ ј

“≈’Ќ»„≈— ќ≈ «јƒјЌ»≈

1 ¬ведение

Ќасто€щее практическое задание распростран€етс€ на разработку программы создани€ и обработки тестовых данных, предназначенной дл€ использовани€ любых пользователей.

ќтличительной особенностью данной программной продукции €вл€етс€ дополнительна€ программа, позвол€юща€ измен€ть вопросы и варианты вопросов тестировани€. ќно имеет сравнительно лЄгкий пользовательский интерфейс, ориентированный на пользовател€, имеющего навыки в работе с вычислительной техникой.

–азрабатываема€ программа позвол€ет легко и просто протестировать пользовател€ на знание определЄнной области, заключЄнной в тестовых вопросах.

2 ќснование дл€ разработки

¬ соответствии с полученным заданием проекта на практику.

3 Ќазначение

ѕользовател€ми данной программы могут выступать: завучи, заведующие кафедры любого направлени€. ќсновным назначением данной программыболее удобный способ вести личные дела учащихс€ в тех или иных учебных заведени€х.


4 “ребование к программе или программному изделию

4.1 “ребование к функциональным характеристикам.

4.1.1ѕрограммный продукт должен обеспечивать возможность выполнени€ следующих операций:

-имеютс€ ли однофамильцы;

-имеютс€ ли однофамильцы на одном курсе;

- в каких группах более 10 учащихс€;

- на сколько человек больше на I-м курсе, чем на IV-м курсе.

4.1.2. »сходные данные:

-аналитическое задание данных.

4.2. “ребовани€ к надЄжности программы:

4.2.1. ѕредусмотреть контроль вводимых данных.

4.2.2. ѕредусмотреть блокировку некорректных действий пользовател€ при работе с системой.

4.3 “ребовани€ к составу и параметрам технических средств

4.3.1 —истема должна работать на IBM совместимых персональных компьютерах.

4.3.2 ћинимальна€ конфигураци€:

-тип процессора Pentium;

-объЄм оперативного запоминающего устройства не менее 16ћб;

-тип монитора VGA или SVGA.

4.4 “ребовани€ к информационной программной совместимости

- —истема работает под управлением операционных систем семейства Windows (Windows95, Windows98,Windows2000,WindowsNT и т.п.), а также дисковых операционных системах MS-DOS.

5 “ребовани€ к программной документации

5.1–азрабатываемые программные модули должны быть самодокументированы, то есть тексты программ должны содержать все необходимые комментарии;

5.2 –азрабатываема€ программа должна включать справочную информацию об основных терминах соответствующего раздела программы и подсказки пользователю;

5.3 ¬ состав сопровождающей документации должны входить:

5.3.1 ѕо€снительна€ записка на 25-30 листах, содержаща€ описание разработки и все необходимые комментарии;

5.3.2 Ћистинг программы;

6 —тадии и этапы разработки

є этапа ƒата выполнени€ Ќазвани€ этапов
1 »зучение предметной области решаемой задачи
2 ќбща€ постановка решаемой задачи
3 јнализ входных и выходных документов
4 —оздание окон пользовательского интерфейса
5 —оздание кода программы
6 ќтладка программы
7 “естирование программного обеспечени€
8 –едактирование всей необходимой документации

“аблица ј1-—тадии и этапы разработки.


ѕ–»Ћќ∆≈Ќ»≈ Ѕ

Ћ»—“»Ќ√ ѕ–ќ√–јћћџ

(Ћистинг основной программы)

program Baza;

uses crt, REGUNIT;

begin{Baza Dannyh}

zastavka; {«апускзаставки}

user; {¬ыбор пользовател€}

menus; {ќткрытие меню}

end.{Baza Dannyh}

(Ћистинг Unit программы)

{******************************************************************}

{ Zastavka - ѕроцедура заставки }

{ Makeramka - –исование рамок }

{ Lines - –исование линий }

{ Archieve - ѕроцедура архива }

{ User - ѕроцедура выбора пользовател€ }

{ Menus - ѕроцедура меню }

{ Password - ѕроцедура запроса парол€, требует только у јдмина }

{******************************************************************}

Unit REGUNIT;

Interface

uses crt;

const

illcount=100;

NameProg='Baza dannyh';

PasswordX='password';

Line1='ЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌ—ЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌЌ';

mmenu:array [1..5] of string[16]=(' Novoe delo ',

' јрхив... ',' ѕоиск... ',' ѕользователь...',

' В¬ыход ');

menunew:array [1..2] of string[16]=(' СЃеа ≠®вм',

' Овђ•≠ ');

menuarch:array [1..3] of string[16]=(' СЃеа ≠®вм',

' З £агІ®вм',' Овђ•≠ ');

menufind:array [1..2] of string[16]=(' Н ©в®',

' Овђ•≠ ');

menuuser:array [1..2] of string[40]=

(' А§ђ®≠®бва вЃа ',

' ПЃЂмІЃҐ в•Ђм');

simvV : set of char =

['A'..'Z','a'..'z','0'..'9','_','\',':',

'(',')','!','#','%','^','~','-','''','&','@'];

simvN : set of char = ['A'..'Z','a'..'z','А'..'Я',' '..'п'];

simvD : set of char = ['0'..'9','.'];

simvDIG : set of char = ['0'..'9'];

krifind: array [1..8] of string[8]=('number','sur','name','otch',

'dateburn','surdoc','namedoc','otchdoc');

type

ill = record

number: integer;{≠Ѓђ•а™ авЃз™®}

sur: string[20];{д ђ®Ђ®п}

name: string[20];{®ђп}

otch: string[20];{Ѓвз•б⥁}

dateburn: string[20];{§ ваЃ¶§•≠®п}

surdoc: string[20];{д ђ®Ђ®пҐа з }

namedoc: string[20];{®ђпҐа з }

otchdoc: string[20];{Ѓвз•б⥁ Ґа з }

end;

masi = array[1..illcount] of ill;

fff = file of ill;

max = array[1..3,1..28] of integer;

var

pass, flag, open, admin: boolean;

m: max;

numb, numfind, illind, posx, simv, sim, i: integer;

tempmas: array[1..9] of string;

masill: masi;

fileill: fff;

Procedure menucl;

Procedure Screen(color:byte);

Function GotoCen(s:string):integer;

Procedure lines(color:byte);

Procedure space(n:byte);

Procedure clear;

Procedure MakeRamka(x0,y0:integer; s:string; x,y:integer;color,fon:byte);

Procedure field;

Procedure archieve;

Procedure menuarchh;

Procedure menunewkar;

Procedure menufinder;

Procedure user;

Procedure menus;

Procedure zastavka;

Procedure password;

Implementation

procedure menucl;

var

i:integer;

begin{menucl}

textbackground(blue);

for i:=1 to 20 do

begin

gotoxy(2,i+2);

writeln(' ');

end;

end;{menucl}

Procedure Screen(color:byte);

Var

i:integer;

begin{screen}

textbackGround(color);

for i:=1 to 25 do

writeln(' ');

gotoXY(1,1);

end;{screen}

Function GotoCen(s:string):integer;

begin{gotocen}

GotoCen:=(80-length(s)) div 2;

end;{gotocen}

Procedure lines(color:byte);

var

i:byte;

begin{lines}

textcolor(color);

gotoXY(gotocen(nameprog),1);writeln(NameProg);

write(line1);

for i:=3 to 25 do

begin

gotoxy(19,i);

write('≥');

end;

textcolor(yellow);

end;{lines}

Procedure space(n:byte);

Var

i:byte;

begin{space}

for i:=1 to n do

write(' ');

end;{space}

Procedure Clear;

var

x,y:byte;

begin{clear}

textbackground(blue);

For y:=3 to 24 do

For x:=20 to 80 do

Begin

gotoxy(x,y);

write(' ');

end;

end;{clear}

Procedure MakeRamka(x0,y0:integer; s:string; x,y:integer;color,fon:byte);

var

i,j:integer;

begin {MakeRamka}

textbackground(fon);

textcolor(color);

gotoxy(x0,y0);write('…');

for i:=x0+1 to x-1 do

begin

gotoxy(i,y0);

write('Ќ');

end;

Write('ї');

gotoxy(10+gotocen(s),y0);

textcolor(white);

write(s);

for i:=y0+1 to y-1 do

begin

j:=x0;

textcolor(color);

gotoxy(j,i);

write('Ї');

textcolor(white);

for j:=x0+1 to x-1 do

write(' ');

TextColor(color);

write('Ї');

end;

gotoxy(x0,y);

write('»');

for i:=x0+1 to x-1 do

write('Ќ');

write('Љ');

textcolor(yellow);

end; {MakeRamka}

procedure field;

var

i:integer;

begin{field}

MakeRamka(22,3,'Delo uchschegosya',78,24,white,cyan);

textcolor(black);

gotoxy(24,5);

write('є Dela ');

gotoxy(24,7);

write('Ф ‘амили€');

gotoxy(24,9);

write('»м€');

gotoxy(24,11);

write('ќтчество ');

gotoxy(24,13);

write('ƒата рождени€ ');

gotoxy(24,15);

write('Familiya kuratora ');

gotoxy(24,17);

write('Imya kuratora ');

gotoxy(24,19);

write('Otchestvo kuratora ');

gotoxy(24,23);

write(' лавиша F8 - ”даление дела');

textbackground(black);

textcolor(white);

for i:=1 to 9 do

begin

gotoxy(50,3+i*2);

write(' ');

end;

end;{field}

procedure archieve;

var

i:integer;{ѓ а ђ•важ®™Ђ }

begin{archieve}

MakeRamka(22,3,'СЃеа ≠•≠®•/З £агІ™ ',78,24,white,cyan);

textcolor(black);

textbackground(cyan);

gotoxy(30,13);

write('Иђпд ©Ђ ');

{В륁§ ѓа•§гѓа•¶§•≠®п}

gotoxy(30,15);

write('В≠®ђ ≠®•! У™ І Ґ®ђпбгй•бвҐгой•£Ѓ д ©Ђ ');

gotoxy(30,16);

write('ѓа®бЃеа ≠•≠®® § ≠≠ле, ВлПЕРЕЗАПИШЕТЕ');

gotoxy(30,17);

write('•£Ѓ бЃ§•а¶®ђЃ•!');

textbackground(black);

textcolor(white);

gotoxy(40,13);

write(' ');

end;{archieve}

procedure menuarchh;

var

io, pos, i, ii, ind: integer;

ch: char;

s: string;

begin{menuarchh}

s:='';

menucl;

ind:=1;

pos:=41;

ii:=1;

archieve;

repeat

repeat

for i:=1 to 3 do

begin

if i=ind

then

begin

textbackground(white);

textcolor(black);

end

else

begin

textcolor(white);

textbackground(black);

end;

gotoxy(2,i*2+1);

write(menuarch[i]);

end;

ch:=readkey;

gotoxy(30,19);

textbackground(cyan);

write(' ');

textcolor(white);

case ch of

#8:{backspace}

if (s<>'')

then

begin

dec(ii);

delete(s,ii,1);

textbackground(black);

textcolor(white);

gotoxy(40,13);

write(' ');

gotoxy(40,13);

write(s);

end;

#80:

if ind<>3

then

inc(ind);

#72:

if ind<>1

then

dec(ind);

else

if chr(ord(ch)) in simvv

then

if ii<=8

then

begin

gotoxy(40,13);

s:=s+chr(ord(ch));

textbackground(black);

textcolor(white);

write(s);

inc(ii);

end;

end;

until ch=#13;

assign(fileill,s+'.dat');

case ind of

1: begin

rewrite(fileill);

for i:=1 to illcount do

write(fileill,masill[i]);

close(fileill);

ind:=3;

end;

2: begin

{$i-}

reset(fileill);

io:=ioresult;

{$i+}

If io = 0

then

begin

for i:=1 to illcount do

read(fileill,masill[i]);

close(fileill);

end;

end;

end;

if (ind = 2)

then

if (io = 0)

then

ind:=3

else

begin

textcolor(red);

textbackground(cyan);

gotoxy(30,19);

write('Ф ©Ђ ≠• ≠ ©§•≠!');

end;

until ind=3;

clear;

end;{menuarchh}

procedure menunewkar;

var

numerr, tmp, code,ii, posy, i, ind:integer;

ch:char;

tempm:array [1..9] of string[20];

s,ss:string[20];

sd: char;

errd, flagg:boolean;

begin{menunewkar}

menucl;

ind:=1;

field;

posy:=1;

ii:=1;

s:='';

if flag

then

numb:=numfind

else

for i:=illcount downto 1 do

if (masill[i].number = 0)

then

numb:=i;

{+++++++++++++++++++++}

gotoxy(50,posy*2+3);

write(numb);

if flag

then

begin

str(numb,ss);

tempm[1]:=ss;

tempm[2]:=masill[numb].sur;

tempm[3]:=masill[numb].name;

tempm[4]:=masill[numb].otch;

tempm[5]:=masill[numb].dateburn;

tempm[6]:=masill[numb].surdoc;

tempm[7]:=masill[numb].namedoc;

tempm[8]:=masill[numb].otchdoc;

for i:=1 to 8 do

begin

gotoxy(50,i*2+3);

write(' ');

gotoxy(50,i*2+3);

write(tempm[i]);

end;

end

else

begin

tempm[1]:='';

tempm[2]:='';

tempm[3]:='';

tempm[4]:='';

tempm[5]:='';

tempm[6]:='';

tempm[7]:='';

tempm[8]:='';

tempm[9]:='';

end;

repeat

repeat

for i:=1 to 2 do

begin

if i=ind

then

begin

textbackground(white);

textcolor(black);

end

else

begin

textcolor(white);

textbackground(black);

end;

gotoxy(2,i*2+1);

write(menunew[i]);

end;

gotoxy(50,posy*2+5);

ch:=readkey;

errd:=false;

case ch of

#66:

if admin

then

begin

masill[numb].number:=0;

masill[numb].sur:='';

masill[numb].name:='';

masill[numb].otch:='';

masill[numb].dateburn:='';

masill[numb].surdoc:='';

masill[numb].namedoc:='';

masill[numb].otchdoc:='';

ch:=#13;

ind:=2;

end;

#9: begin

textbackground(black);

textcolor(white);

s:='';

if posy = 8

then

posy:=1

else

inc(posy);

ii:=1;

end;

#83: {delete}

if admin

then

{if ch=chr(0)

{ then }

begin

gotoxy(50,posy*2+5);

write(' ');

s:='';

ii:=1;

end;

#8:{backspase}

if admin

then

if (s<>'')

then

begin

dec(ii);

delete(s,ii,1);

textbackground(black);

textcolor(white);

gotoxy(50,posy*2+5);

write(' ');

gotoxy(50,posy*2+5);

write(s);

end;

#80:

if ind=1

then

inc(ind);

#72:

if ind=2

then

dec(ind);

else

if admin

then

begin

if (posy=4) or (posy=8)

then

flagg:=true

else

flagg:=false;

if ((chr(ord(ch)) in simvN) and not(flagg)) or

((chr(ord(ch)) in simvD) and flagg)

then

if ii<=15

then

begin

if flagg

then

begin

case ii of

1,2,4,5,7,8,9,10:

if not((chr(ord(ch)) in simvdig))

then

errd:=true;

3,6:

if (ch<>'.')

then

errd:=true;

else

errd:=true;

end;

end;

if not(errd)

then

begin

s:=s+chr(ord(ch));

tempm[posy+1]:=s;

textbackground(black);

textcolor(white);

gotoxy(50,posy*2+5);

write(' ');

gotoxy(50,posy*2+5);

write(s);

inc(ii);

end;

end;

end;

end;

until ch=#13;

case ind of

1: if admin

then

begin

if flag

then

numb:=numfind;

masill[numb].number:=numb;

masill[numb].sur:=tempm[2];

masill[numb].name:=tempm[3];;

masill[numb].otch:=tempm[4];

masill[numb].dateburn:=tempm[5];

masill[numb].surdoc:=tempm[6];

masill[numb].namedoc:=tempm[7];

masill[numb].otchdoc:=tempm[8];

ind:=2

end;

2: begin

dec(numb);

ind:=2

end;

end;

until ind=2;

tempm[posy+1]:=s;

s:='';

clear;

flag:=false;

end;{menunewkar}

procedure menufinder;{+++++++++++++++++++++++++++++++++++++++++}

var

t, code, tt, tmp, ii, posy, i, ind:integer;

ch:char;

tempm:array [1..8] of string[20];

s:string[20];

flagg:boolean;

begin{menufinder}

menucl;

ind:=1;

field;

posy:=1;

ii:=1;

s:='';

for i:=1 to 8 do

tempm[i]:='';

repeat

repeat

for i:=1 to 2 do

begin

if i=ind

then

begin

textbackground(white);

textcolor(black);

end

else

begin

textcolor(white);

textbackground(black);

end;

gotoxy(2,i*2+1);

write(menufind[i]);

end;

gotoxy(50,posy*2+3);

ch:=readkey;

case ch of

#9:

begin

s:='';

if posy = 9

then

posy:=1

else

inc(posy);

for tmp:=1 to 9 do

begin

gotoxy(50,tmp*2+3);

write(' ');

end;

ii:=1;

end;

#8:{backspase}

if (s<>'')

then

begin

dec(ii);

delete(s,ii,1);

textbackground(black);

textcolor(white);

gotoxy(50,posy*2+3);

write(' ');

gotoxy(50,posy*2+3);

write(s);

end;

#80:

if ind=1

then

inc(ind);

#72:

if ind=2

then

dec(ind);

else

begin

if (posy=1) or (posy=5) or (posy=9)

then

flagg:=true

else

flagg:=false;

if ((chr(ord(ch)) in simvN) and not(flagg)) or

((chr(ord(ch)) in simvD) and flagg)

then

if ii<=15

then

begin

gotoxy(50,posy*2+3);

s:=s+chr(ord(ch));

textbackground(black);

textcolor(white);

write(s);

inc(ii);

end;

end;

end;

until ch=#13;

if ind=1

then

begin

MakeRamka(22,3,'Сѓ®бЃ™ ≠ ©§•≠≠ле:',78,24,white,cyan);

tt:=1;

for tmp:=1 to illcount do

begin

flag:=false;

val(s,t,code);

case posy of

1: if ((masill[tmp].number = t) and (t<>0)) then flag:=true;

2: if (masill[tmp].sur = s) then flag:=true;

3: if (masill[tmp].name = s) then flag:=true;

4: if (masill[tmp].otch = s) then flag:=true;

5: if (masill[tmp].dateburn = s) then flag:=true;

6: if (masill[tmp].surdoc = s) then flag:=true;

7: if (masill[tmp].namedoc = s) then flag:=true;

8: if (masill[tmp].otchdoc = s) then flag:=true;

end;

if s=''

then

flag:=false;

if flag

then

begin

textcolor(black);

textbackground(cyan);

gotoxy(40,tt+5);

write('ь: ',masill[tmp].number);

gotoxy(47,tt+5);

write('Ф ђ®Ђ®п: '+masill[tmp].sur);

inc(tt);

end;

end;

textcolor(black);

textbackground(cyan);

gotoxy(24,4);

write('ВҐ•§®в• ≠Ѓђ•апз•©™®:');

textcolor(white);

textbackground(black);

gotoxy(24,5);

write(' ');

gotoxy(24,5);

s:='';

flag:=false;

repeat

ch:=readkey;

if chr(ord(ch)) in simvdig

then

begin

s:=s+chr(ord(ch));

flag:=true;

val(s,t,code);

if ((t>100) or (t<0) or (s='00'))

then

begin

s:='';

gotoxy(24,5);

write(' ');

flag:=false;

end;

gotoxy(24,5);

write(' ');

gotoxy(24,5);

write(s);

end;

until ((ch=#13) or (ch=#27));

if ch=#27

then

begin

ind:=2;

flag:=false

end

else

if ((ch=#13) and flag)

then

begin

ind:=2;

val(s,t,code);

numfind:=t;

end;

end;

until ind=2;

clear;

end;{menufinder}

procedure user;

var

ind:shortint;

ch:char;

begin {user}

ind:=1;

MakeRamka(22,8,'Вл°•а®в•ѓЃЂмІЃҐ в•Ђп:',78,13,white,cyan);

repeat

for i:=1 to 2 do{ѓаЃа®бЃҐлҐ •ђ ѓг≠™вл ђ•≠оҐл°Ѓа }

begin

if i=ind

then

begin

textcolor(black);

textbackground(white)

end

else

begin

textcolor(white);

textbackground(black)

end;

gotoxy(30,9+i);

write(menuuser[i]);

end;

ch:=readkey;

if ((ch=#80) and (ind=1))

then

inc(ind);

if ((ch=#72) and (ind=2))

then

dec(ind);

until ch=#13;{≠ ¶ в ВВОД}

if ind=1

then

password

else

admin:=false;

clear;

end; {user}

procedure menus;

var

i, ind:integer;

ch:char;

begin{menus}

flag:=false;

ind:=1;

menucl;

numb:=0;

repeat

repeat

for i:=1 to 5 do

begin

if i=ind

then

begin

textbackground(white);

textcolor(black);

end

else

begin

textcolor(white);

textbackground(black);

end;

gotoxy(2,i*2+1);

write(mmenu[i]);

end;

ch:=readkey;

if ((ch=#80) and (ind<>5))

then

inc(ind);

if ((ch=#72) and (ind<>1))

then

dec(ind);

until ch=#13;

case ind of

1: if admin

then

menunewkar;

2: if admin

then

menuarchh;

3: menufinder;

4: user;

end;

if flag then

menunewkar;

until ind=5;

end;{menus}

procedure zastavka;

var

mart, mart2: boolean;

schmart: integer;

begin{zastavka}

mart:=false;

mart2:=false;

schmart:=0;

TextBackGround(Black);

TextColor(Green);

Randomize;

Clrscr;

sim:=0;

repeat

if schmart=80 then mart:=true;

if schmart=100 then mart2:=true;

if schmart=200 then

begin

mart:=false;

mart2:=false;

schmart:=0;

end;

if sim<25 then

begin

repeat

posx:=random(27)+1

until m[1,posx]=0;

if mart

then

case posx of

9: simv:=84;

10, 23: simv:=72;

11: simv:=69;

12: simv:=95;

13: simv:=66;

14, 16: simv:=65;

15: simv:=90;

17, 18, 19: simv:=33;

else

simv:=random(24)+97

end

else

simv:=random(24)+97;

m[1,posx]:=posx;

m[2,posx]:=simv;

m[3,posx]:=m[3,posx]+1;

sim:=sim+1;

end;

delay(7000);

for i:=1 to 27 do

begin

if m[1,i]<>0

then

if not((m[3,i]=12) and mart2 and (m[1,i]>8) and (m[1,i]<20))

then

begin

gotoxy(m[1,i]*3-2,m[3,i]);

write(chr(m[2,i]));

gotoxy(m[1,i]*3-2,m[3,i]-1);

write(' ');

gotoxy(m[1,i]*3-2,m[3,i]);

m[3,i]:=m[3,i]+1;

end;

if m[3,i]>25

then

begin

m[1,i]:=0;

m[2,i]:=0;

m[3,i]:=0;

gotoxy(m[1,i]*3-2,m[3,i]);

write(chr(m[2,i]));

sim:=sim-1;

end;

end;

inc(schmart);

until keypressed;

screen(blue);

lines(white);

end;{zastavka}

procedure password;

var

s:string[16];

i,ii:integer;

ch:char;

begin{password}

MakeRamka(22,8,'ВҐ•§®в•ѓ аЃЂм §Ђп §Ѓбвгѓ™° І• § ≠≠ле:',78,14,white,cyan);

textcolor(white);

textbackground(black);

gotoxy(42,11);

writeln(' ');

gotoxy(42,11);

ii:=0;

s:='';

admin:=false;

repeat

ch:=readkey;

case ch of

#72:;

#75:;

#77:;

#80:;

#8:{backspase}

if (s<>'')

then

begin

delete(s,ii,1);

dec(ii);

textbackground(black);

textcolor(white);

gotoxy(42,11);

write(' ');

gotoxy(42,11);

for i:=1 to ii do

write('*');

end;

else

if (chr(ord(ch)) in simvV)

then

if ii<=15

then

begin

gotoxy(42,11);

s:=s+chr(ord(ch));

textbackground(black);

textcolor(white);

inc(ii);

for i:=1 to ii do

write('*');

end;

end;

until ((ch=#13) or (ch=#27));

if ch=#27 {≠ ¶ в Esc}

then

admin:=false

else

if s=PasswordX

then

admin:=true

else

begin

s:='';

textcolor(red);

textbackground(cyan);

gotoxy(42,13);

write('ВҐ•§•≠ ≠•Ґ•а≠л© ѓ аЃЂм!');

gotoxy(42,11);

textcolor(white);

textbackground(black);

write(' ');

gotoxy(42,11);

ch:=readkey;

password;

end;

clear;

end;{password}


ѕ–»Ћќ∆≈Ќ»≈ ¬

ѕ–»ћ≈–џ ѕ–ќ√–јћћџ

–ис.1 ѕример заставки, при еЄ создании использовалась таблица ASCII

–ис.2 ѕример защиты программы паролем ( по умолчанию: password )


–ис.3 ѕример меню программы

–ис.4 —оздание нового дела учащегос€


–ис.5 ѕример —охранени€\«агрузки архива

–ис.6 ѕример ѕоиска по различным критери€м, в данном случае по фамилии куратора


–ис.7 ѕример результата поиска учащегос€ по какой либо из критерий

–ис.8 ѕример смены пользовател€, например из Ђѕользовател€ї в Ђјдминистратораї после чего программа потребует пароль


ѕ–»Ћќ∆≈Ќ»≈ √

–” ќ¬ќƒ—“¬ќ ѕќЋ№«ќ¬ј“≈Ћя

«апускаете файл Reg.exe, при запуске будет запущена заставка программы - нажмите любую клавишу дл€ продолжени€.

ƒалее выйдет окно запроса парол€ (или выбора пользовател€): а) ¬ведите пароль дл€ выбора учЄтной записи Ђјдминистраторї (по умолчанию:password); б) нажмите клавишу УEscФ дл€ выбора учЄтной записи Ђѕользовательї.

ƒалее следует меню, состо€щее из подпунктов: Ќовое дело, јрхив, ѕоиск, ¬ыбор пользовател€, ¬ыход. ≈сли будет выбран Ђјдминистраторї, тогда вы можете завести новые дела на учащихс€, сохран€ть изменение (создавать) базы данных или загружать уже существующие базы, далее можете воспользоватьс€ поиском тех или иных учащихс€ дл€ удалени€ или корректировки данных, выбор пользовател€ Ц замена пользовател€, допустим с Ђјдминистратораї на Ђѕользовател€ї, выход Ц из данной программы.  лавиши и подпункты: (дл€ перемещени€ по подпунктам используютс€ клавиши: ¬верх, влево, вправо, вниз. ƒл€ перемещени€ по €чейкам данных используетс€ клавиша ЂTABї. ƒл€ удалени€ конкретного дела учащегос€ используйте клавишу ЂF8ї.  лавиша дл€ прин€ти€ ЂEnterї.

ќценить/ƒобавить комментарий
»м€
ќценка
 омментарии:
√де скачать еще рефератов? «десь: letsdoit777.blogspot.com
≈вгений07:59:14 19 марта 2016
 то еще хочет зарабатывать от 9000 рублей в день "„истых ƒенег"? ”знайте как: business1777.blogspot.com ! Cпециально дл€ студентов!
09:21:01 29 но€бр€ 2015

–аботы, похожие на  урсова€ работа: –азработка базы данных "”чащиес€"

Ќазад
ћеню
√лавна€
–ефераты
Ѕлагодарности
ќпрос
—танете ли вы заказывать работу за деньги, если не найдете ее в »нтернете?

ƒа, в любом случае.
ƒа, но только в случае крайней необходимости.
¬озможно, в зависимости от цены.
Ќет, напишу его сам.
Ќет, забью.



–езультаты(150652)
 омментарии (1838)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru † † † реклама на сайте

–ейтинг@Mail.ru