“Ипподром”



Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...4
1. Программалау ортасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..5
1.1 Жалпы мағлұматтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...5
1.2 Алгоритмнің негізгі идеясын көрсету ... ... ... ... ... ... ... ... ... ... 6
2. Командаларды сипаттау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...7
3. Логикалық құрылымды сипаттау ... ... ... ... ... ... ... ... ... ... ... ..10
3.1 Блок . схеманы сипаттау ... ... ... ... ... ... ... ... ... ... ... ... ... ... .10
3.2 Программаны жол бойынша сипаттау ... ... ... ... ... ... ... ... ... ...10
3.3 Шақыру және жүктеу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...14
4. Қолданылатын техникалық құралдар ... ... ... ... ... ... ... ... ... ... .14
5. Программаның орындалу уақытын есептеу ... ... ... ... ... ... ... ... ... ... ... .14
Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 16
Пайдаланылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17
Қосымша А ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 18
Қосымша Б ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 20
“Жүйелік программалау” пәнінің негізгі мақсаты болып ПЭВМ жүйелік ресурстарына, яғни дискілерге, дисплейге, пернетақтаға қатынас жасау мүмкіндігі, ресурстерге қатынау деңгейлерінің әр түрін қолданып ресурстардың кейбір стандартты сипаттамаларын өзгерту мүмкіндігін оқыту болып табылады.
Айтылған мақсаттарға тек программалық және аппараттық құрылғылардың жұмысын бірге қолданып қана жетуге болады.
Осы пәнді үйрену кезеңінде біз қарапайымнан күрделіге өтіп ЭВМ ресурстарына қатынас құрудың әр түрлі әдістерін үйрендік: DOS функциясы деңгейінде, BІOS мүмкіндіктерін қолдану арқылы.
Бұл курстық жоба файлды ашқан кезде парольды сұрататын программаны құруға арналған. Программа ассемблер тілінде жазылған, яғни ол оның жұмыс істеу жылдамдығын арттырады және көлемін кішірейтеді.
Ассемблер тілі фактылы түрде командалардың коды атауларымен алмастырылған машиналық тіл болып табылады. Адам сандарға қарағанда атауларға жақсы бағытталады, сондықтан ассемблер тілін логикалық тілге қарағанда түсіну оңай. Сонымен қатар атаулардың өздері туралы айтып тұрады.
Курстық жобада функциялар, командалар, процедуралар қолданылған, қатынаудың негізгі концепциялары, әдістері және жүзеге асыру құралдары сипатталады және де осы пән бойынша алған білімімізді көрсетеді.
1. Юров В. Assembler –учебник: Санкт-Петербург,Питер,2001.

2. Юров В. Assembler -справочник : Санкт-Петербург,Питер,2001.

3. Зубков С.В. Assembler для DOS, Wіndows и Unіx. Москва: ДМК Пресс, 2000.

ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫЊ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

Қаныш Сатпаев атындағы Ќазақ ¦лттық Техникалық Университеті

Есептеу техника кафедрасы

КУРСТЫҚ Ж¦МЫС

Тақырыбы: “ИППОДРОМ”

жетекші:
аға оқытушы

Болатова Г.К.

нормо баќылаушы:
аға оқытушы

Болатова Г.К.

Тапсырған күні:
“___” _________ 2005 г.
қолы:
_____________________

студент: Кокимов Д.М
тобы: РЭТб-04-1ќ
мамандығы: 050719

Алматы 2005

Курстық жұмысты орындауға тапсырма:__________________________ _____
___________________________________ _______________________________
Студент: Лиясова Д.С.
Тақырыбы: Файлды пароль көмегімен ашу
Аяқталған жұмысты тапсыру уақыты: “____”_____________ 2004 ж.
Жазбаша түсініктеме
Мазмұны (жұмысқа қатысты қарастырылатын сұрақтар);
Кіріспе, негізгі бөлім, мысалдар:__________________________ ____________
Сызба материалдар саны:______________________________ ______________
Жетекшісі: аға оқытушы Мустафина Б.М.
Тапсырманы орындауға қабылдап алған студент: Лиясова Д.С.
Күні “____”________________ 2004 ж.

Мазмұны

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. ... ... .4
1. Программалау ортасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..5
1. Жалпы мағлұматтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...5
2. Алгоритмнің негізгі идеясын көрсету ... ... ... ... ... ... ... ... ... ... 6
2. Командаларды сипаттау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...7
3. Логикалық құрылымды сипаттау ... ... ... ... ... ... ... ... ... ... ... ..10
3.1 Блок – схеманы сипаттау ... ... ... ... ... ... ... ... ... ... ... ... ... ... .10
3.2 Программаны жол бойынша сипаттау ... ... ... ... ... ... ... ... ... ...10
3.3 Шақыру және жүктеу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...14
4. Қолданылатын техникалық құралдар ... ... ... ... ... ... ... ... ... ... .14
5. Программаның орындалу уақытын
есептеу ... ... ... ... ... ... ... ... ... ... ... .14
Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 16
Пайдаланылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17
Қосымша А ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 18
Қосымша Б ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 20

КІРІСПЕ

“Жүйелік программалау” пәнінің негізгі мақсаты болып ПЭВМ жүйелік
ресурстарына, яғни дискілерге, дисплейге, пернетақтаға қатынас жасау
мүмкіндігі, ресурстерге қатынау деңгейлерінің әр түрін қолданып
ресурстардың кейбір стандартты сипаттамаларын өзгерту мүмкіндігін оқыту
болып табылады.
Айтылған мақсаттарға тек программалық және аппараттық құрылғылардың
жұмысын бірге қолданып қана жетуге болады.
Осы пәнді үйрену кезеңінде біз қарапайымнан күрделіге өтіп ЭВМ
ресурстарына қатынас құрудың әр түрлі әдістерін үйрендік: DOS функциясы
деңгейінде, BІOS мүмкіндіктерін қолдану арқылы.
Бұл курстық жоба файлды ашқан кезде парольды сұрататын программаны
құруға арналған. Программа ассемблер тілінде жазылған, яғни ол оның жұмыс
істеу жылдамдығын арттырады және көлемін кішірейтеді.
Ассемблер тілі фактылы түрде командалардың коды атауларымен
алмастырылған машиналық тіл болып табылады. Адам сандарға қарағанда
атауларға жақсы бағытталады, сондықтан ассемблер тілін логикалық тілге
қарағанда түсіну оңай. Сонымен қатар атаулардың өздері туралы айтып тұрады.
Курстық жобада функциялар, командалар, процедуралар қолданылған,
қатынаудың негізгі концепциялары, әдістері және жүзеге асыру құралдары
сипатталады және де осы пән бойынша алған білімімізді көрсетеді.

1. Программалау ортасы

1. Жалпы мағлұматтар

Дербес компьютердің техникалық құралдарын басқару және жүйелік
программалаудың ұйымдастыру жұмысымен байланысты программалау аймағы
жүйелік программалауға жатады. Жүйелік программалаудың қолданбалы
айырмашылығы – ол машиналық тәуелділігі, себебі жүйелік программалар
компьютердің архитектурасымен және құрылымымен тығыз байланысты. Мысалы,
ассемблер командаларды машиналық колқа ауыстырған кезде адресацияларды,
командалар форматын, регистрлер ұзындығын және машинаның басқа да
аппаратттық сипаттамаларын ескеру керек. Сонымен бірге компиляторлар
кодтарды генерациялау кезінде құрылғылырдың сипаттамаларын ескереді.
Жүйелік программалаудың жұмысына мыналар жатады:
1. ассемблерлеу жүйесі;
2. жүктегіштер және байланыстыру программалары;
3. макропроцессорлар;
4. компиляторлар;
5. операциялық жүйелер;
6. драйвелер.
Асемблерлеу жүйесі командалары бар бастапқы файлды жүктегіш
файлға ауыстырады. Жүктегіш бағдарланған программаны оперативті жадыға
жазуды және басқаруды іске асыру адресіне жібереді. Жеке ассемблерленетін
және жүктелетін (бұд әдетте ішкі программалар) логикалық байланысқан
программалар арасындағы байланысты ұйымдастыру үшін байланыстыру
программасы қолданылады. макропроцессірлер жиі қайталанатын топтарды
макроинструкциямен алмастыруға мүмкіндік береді.
Ассемблер тілі – бұл машиналық тілдің символдық көрінісі. Машинадағы
ең төменгі аппараттық деңгейдегі барлық процесстер машиналық тілдің
командалары арқылы іске асырылады. Бұдан шығатыны, жалпы бағытына
(қызметіне) қарамастан ассемблер тілі әр компьютер тіліне өзіндік. Бұл
ассемблерде жазылған программаның сыртқы түріне байланысты. Шын негізінде
аппарутарамен байланысты қиыншылықтарды ассемлер тілін білмей шешу мүмкін
емес. Программист немесе кез келген қолданушы кез келген жоғары деңгейлі
құрылғыларды қолдануы мүмкін емес, компьютердің тілдің командалары емес, ал
олардың машиналық түрде көрінісін білмеуі де мүмкін.
Ал ойланып көрейік, егер программистте бір келеңсіз жағдай болсын
делік. Қандай ақылды программист болмасын, программа жазған тілі қандай да
жақсы болмасын ассемблер тілін білмей ол бұл жағдайдан шыға алмайды. Сол
себепті жоғары деңгейлі барлық тілдердің компиляторларының модульдері
арасындағы байланысы ассемблер тілінде немесе ассемблерлік деңгейдегі
программаларды қолдайды.
Сол себепті ассемблер тілі барлығына қажетті.

2. Алгоритмнің негізгі идеясын көрсету

Курстық жобаның негізгі мақсаты файлды ашқан кезде пароль қолдану,
оны алдымен ондық, сосын екілік санау жүйесінде енгізу керек. Парольды
өзгертуге болады, оның өзгерту принципі келесі шартқа байланысты жүзеге
асады: бөлінгіш немесе бөлгіш және міндетті түрде бөлінді енгізіледі. Сосын
парольді енгізген кезде программа бөду операциясын орындайды (Сәйкесінше
бөліндіні бөлгішке немесе бөлінгішке бөлеміз). Программаны енгізер алдында
интерфейс пайда болады, онда "Введите имя файла:" жазылған рамка шығады.
Бұл керек файлға кіру үшін арналған. әрі қарай файлға кіру үшін екінші
рамка пайда болады, оған ондық санау жүйесіндегі парольді енгізеді. Егер де
сан бөлу операциясы кезіндегі нәтижеге сәйкес келмесе, онда файлды ашу
аймағы шығады. Ал егер де енгізген пароль дұрыс болса, онда парольды
растау мәліметі шығады, бірақ бұл енді екілік санау жүйесінде. Дұрыс жауап
кезінде файл ашылады, әйтпесе бірінші жағдайдағыдай пароль дұрыс еместігін
шығарады. Бұл жерде барлық программалау аймағында сұрыптау әдісі
қолданылады. барлық сұрыптау алгоритмін үшке бөлуге болады:
• салыстыру, элементтер жұптарының реттелгендігін тексереді;
• ауыстырып қою, элементтер жұптарының орнын ауыстырады;
• жиынның барлық эелементтері реттелгенше элементтерді салыстыруды және
ауыстырып қоюды орындайтын өзіндік сұрыптайтын алгоритм.
Пузырек әдісі (таңдаумен сұрыптайтын алмастыру әдісі).
Әдістің идеясы оның атында көрсетілген. Массивтің ең жеңіл
элементтері жоғары ”жүзіп шығады“, ең ауырлары - “батады”. Алгоритмдік оны
келесі түрде көрсетуге болады. біз барлық массивті “төменнен жоғары” қарай
қарастырамыз және қатар тұрған элементтерді ауыстырамыз, егер “төменгі“
элемент кіші ”жоғарыға” қарағанда. Осылайшы біз массивтің ең “жеңіл”
элементтерін жоғары шығарамыз. Операцияны n-1 элементке дейін
қайталаймыз.көрініп тұрғандай алгоритм қарапайым.
Таңдаумен сұрыптау
Бұл жолы массивті қараған кезде кішірек элементті іздейміз,
біріншімен салыстырып. Егер де ондай элемент табылса, олардың орындарын
ауыстырамыз. Сосын операцияны қайталаймыз, бірақ енді бірінші элементтен
емес екіншіден бастаймыз. Осылай барлық массивті сұрыптағанша
жалғастырамыз.

Шелла әдісі
Бұл әдіс 1959 жылы Donald Lewіs Shell авторымен ұсынылған.бұл
алгоритмнің негізгі идеясы бір бірінен алыс тұрған элементтерді салыстырып
массивтегі ретсіздікті жою. Көрініп тұрғандай салыстырылып жатқан
элементтер арасындағы арақашықтық бірте-бірте бірге дейін кемиді.
Сұрыптаудың соңғы деңгейіне жеткен кезде көрші элементтерді ауыстырып қоюға
әкеледі.
Хоора әдісі
Хоора әдісі тез сұрыптайтын (QuіckSort) әдіс 1962 жылы ойланып
табылған (Charles Antony Rіchard Hoare ойлап тапқан). Әдістің мәні
смұрыпталатын жиынның ішіннен оны екі кіші жиынға бөлетін элементті табу.
Бұл әдісті бірнеше жолмен жүзеге асыруға болады.

2. Командаларды сипаттау

Берілген курстық жобада ассемблер машиналық тілмен көрсетілетін
стандартты функциялар мен командаларды қолдандым. Өзімнің курстық жұмысымда
мен мынадай функцияларды қолдандым: ақпаратты пернетақтадан енгізу,
дисплейге шығару, математикалық операциялар орындалады және тағы да
басқалары. Сонымен бірге ондық жүйеден екілік жүйеге түрлендіруге және осы
алынған түрлендіруді арнайы терезеден көруге, әрі файлды қарауға мүмкіндік
бар.
Жоғарыда айтылған кейбір функциялврды қарастырайық.
DOS үзуінің функциялары (21h):
09h –дисплейге қатарды шығарады.
Енгізу: AH – 09h
DS:DX – қатар адресі,‘$’ (ASCІІ 24)
Шығару: жоқ
'$' символы бар қатарларды (BX=0) сипаттаушы арқылы беруге болады
01h – пернетақтадан символды енгізуді орындайды.
Енгізу: AH – 02h
Шығару: AL – стандартты енгізуден алынған символ
Бұл символды стандартты шығару құрылғысына өрнектейді
02h – қатарды дисплейге курсорды жылжытумен шығаруды орындайды
Енгізу: AH – 02h
DL – стандартты шығаруға шығаратын символ
Шығару: жоқ
Символды DL – дан стандартты шығаруға жібереді.
06h – консольді енгізу – шығару.
Енгізу: AH – 06h
DL – стандартты шағаруға жіберілетін символ ( 0-ден 0feh
–ке дейін).
Шығару: ZF – егер де символ дайын болса, NZ алынып тасталады.
AL – есептелген символ егер DL = 0ffh. кезінде ZF
алынып тасталса.
08h – экранда көрінбейтіндей символды пернетақтадан енгізуді орындайды.
Енгізу: AH – 08h
Шығару: AL – стандартты енгізу арқылы алынған символ
Стандартты енгізу құрылғысынан символды есептейді және осы символды AL –
ге қайтарады.
1Аh – DТА адресін орнату
Енгізу: AH – 1Аh
DS:DX – DТА үшін адрес
Шығару: жоқ
Барлық FCB – бағытталған операциялар DTA – мен жұмыс істейді. DOS енгізу
– шығару операциялары сегмент шекарасын қиып өтуге рұқсат бермейді. 11h,
12h, 4Еh и 4Eh іздеу функциялары деректерді DТА – ға орналастырады.
3Dh – сипаттауыш арқылы файлды ашу.
Енгізу: AH – 3Dh
DS:DX – файл атымен бірге ASCІІZ қатардың адресі.
AL – ашылу режимі.
Шығару: AX – қате кодасы, егер файл сипаттаушы CF – те орналасқан
болса және қате жоқ болса.
DS:DX – “d\ путь \ имя файла “,0 форматындағы ASCІІZ қатарына сілтейді.
AL =0 – тек оқу үшін ашу.
AL =1 – тек жазу үшін ғана ашу.
AL =2 – жазу және оқү үшін ашу.
Оқу\жазу көрсеткіші нольге орнатылады.
3Fh – сипаттаушы арқылы файлды оқу.
Енгізу: AH – 3Fh
BX –файл сипаттаушы.
DS:DX – деректерді оқу үшін буфер адресі.
CX – есептелетін байт саны.
Шығару: AX – қате кодасы, егер CF орнатылса. Егер АХ=0 болса, онда
файл соңыны жетті.
AL – нақты оқылған байттар саны.
СХ деректер байты файлдан немесе құрылғыдан ВХ – те көрсетілген
сипаттаушымен оқылады. Деректер көрсеткіштің енгізу\шығару файлы ағымдағы
позициясынан оқылады және DS:DX арқылы адрестелетін программамен
шақырылатын буферге орналасады.
40h – файлға жазуды немесе деректерді құрылғыға шығаруды жүзеге асырады.
Енгізу: AH – 40h
BX – файл немесе құрылғының логикалық номері. Дисплей
логикалық номері 01.
CX –шығарылатын символдар саны.
DS:DX – деректер алынатын буфер адресі.
Шығару: AL – нақты есептелген байт саны.
Егер CF=0 болса, онда АХ-ке жазылған байттар саны енгізіледі. Егер CF=0
болса, онда АХ –ке қайтару коды (қате кодасы) енгізіледі.
4Еh – бірінші сәйкес келген файлды табу.
Енгізу: АН - 4Еh
DS:DX – ASCІІZ қатар адресі файл атымен ( ? және *
рұқсат).
CX – салыстыру үшін файл атрибуты.
Шығару: AX – қате кодасы.
DTA – деректермен толтырылған (егер қате жоқ болса).
Іздеу үшін сәйкес файлдар ретін қарастырайық:
1. DTA – на локальды буферге орналастыру үшін 1Ah шақыруын қолдану
керек.
2. СХ = атрибут, DS:DX = ASCІІZ диск, жолын, атын орнату.
3. 4Еһ (бірінші файлды табу) функциясын шақыру.
4. Егер CF жалаушасы қатені көрсетсе, онда сіз аяқтайсыз, яғни
сәйкес жоқ.
5. DS:DX = DTA – ға орнату.
6. Қайталау.
7. DS:DX адресі бойынша файл атын және деректерді өңдеу.
8. CF жалаушасы басқа сәйкес жоқ деп шығарғанша 4Fh (келесі файлды
табу) функциясын шақыру.
10һ – видео сервис үзу функциямы:
02h – курсор позициясын орнату.
Енгізу: AH – 02h
BH – видео парақтың номері, 0 – бірінші парақ.
DH, DL – қатар, баған (0 –ден бастап).
06h – терезені жоғары парақтау (немесе тазалау).
Енгізу: AH – 06h
CH, CL – терезенің жоғарғы сол бұрышының жолы, бағаны.
DH, DL – терезенің төменгі оң бұрышының жолы, бағаны.
AL – төменнен шығарылатын бос қатарлар саны (0 барлық
терезені тазарту).
BH – бос қатарларға қолданылатын видео атрибут.
BІOS (16h) үзу функциялары:
10h – кеңейтілген пернетақтаны оқу.
Енгізу: AH – 10h
AL – символ.

3.Логикалық структураны сипаттау
3.1 Блок – схеманы сипаттау

Әр программа өзінің жұмысын бейнелейтін блок – схемаға ие, оның
көмегімен барлық алгоритмді және есептеуді түсінуге әрі бағалауға болады.
Төменде пароль көмегімен файлды ашу процессінің блок – схемасы көрсетілген.
Берілген курстық жобада нақты процедуралар мен макростар ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Дизайн қызметінің жалпы типологиясы
Жылқы шаруашылығының зоогигиеналық жағдайы
Диоксиндердің адамға әсері
Мініс жылқыларын сынау, бәйгеге қосу
Атлантида ол қандай болған?
“Ипподром” ойынын программалау
ОЛИМПИАДАЛЫҚ ОЙЫНДАР
Ежелгі герман тайпасы және Рим
Чехиядағы туризм дамуы
ӘЛЕМДІК ЭТНОМӘДЕНИ ТУРИЗМІНІҢ СИПАТТАМАСЫ
Пәндер