Автор работы: Пользователь скрыл имя, 10 Декабря 2013 в 18:00, курсовая работа
Компьютеры являются неотъемлемой частью нашей жизни, так как мы каждый день используем их на работе, дома и во множестве других мест.
Возможности применения компьютера в учебном процессе, весьма многообразны. Он может служить для моделирования изучаемых явлений или систем, для реализации учебных игр, применяться для выполнения вычислений, для редактирования текстов, в качестве различного рода тренажеров, как инструмент автоматизации проектирования, программируемого управления экспериментами, как информационно-поисковая или экспертная система и, наконец, как средство практического обучения самой компьютерной технике и программированию.
asm
mov AH,0
mov AL,3
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,34
mov DH,6
int 10h
end;
s:='O programme';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,26
mov DH,8
int 10h
end;
s:='>>>>>>>>>>>Kursovaya rabota Porazradnaya sortirovka<<<<<<<<';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,26
mov DH,10
int 10h
end;
s:='******************';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,36
mov DH,18
int 10h
end;
s:='>>>>>>AF RGSU<<<<<<';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,36
mov DH,20
int 10h
end;
s:='2011 god';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,26
mov DH,24
int 10h
end;
s:='Dla vihoda nachmite lubuiy knopky';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,0
int 16h
end;
mainmenu;
end;
procedure B;
var
i, j: Integer;
T:string;
begin
for i := 1 to n do
for j := n downto i+1 Do
if m[Pred(j)] > m[j] then begin { < }
T := m[Pred(j)]; m[Pred(j)] := m[j]; m[j] := T
end
end;
procedure MenuSpr;
var ccc:char;
begin
repeat
asm
mov AH,0
mov AL,3
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,5
mov DH,5
int 10h
end;
s:='zagruzka faila..';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,5
mov DH,6
int 10h
end;
{for i:=1 to n do writeln(m[i]);}
s:='>>>>>>>>> Obrabotka faila.......|';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,5
mov DH,7
int 10h
end;
begin
{ if IOResult<>0 then begin
s:='Ошибка! Файл не найден!';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH, 0eh
mov AL, buf
mov BH, 0
int 10h
end;
end;
asm
mov AH, 0eh
mov AL, 10
mov BH, 0
int 10h
mov AH, 0eh
mov AL, 13
mov BH, 0
int 10h
end;
end
else
begin}
end;
{asm
mov AH,0
int 16h
end;
end; }
{begin
assign(f,'in.txt');
reset(f);
{while not eof(f) do begin
s:='Dla vozvrata nazhmite "0"';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,40
mov DH,22
int 10h
end;
asm
mov AH,0
int 16h
mov ccc,AL
end;
until(ccc='0');
case ccc of
'0': mainmenu
end;
asm
mov AH,0
int 16h
end;
end;
procedure Zapvfail;
var ccc:char;
begin
repeat
asm
mov AH,0
mov AL,3
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,5
mov DH,5
int 10h
end;
s:='>>>>>>>>> Otkritie faila.........|';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,5
mov DH,6
int 10h
end;
s:='>>>>>>>>> Zapis dannih v fail.....|';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,5
mov DH,7
int 10h
end;
begin
end;
{ if IOResult<>0 then begin
s:='Ошибка! Файл не найден!';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH, 0eh
mov AL, buf
mov BH, 0
int 10h
end;
end;
asm
mov AH, 0eh
mov AL, 10
mov BH, 0
int 10h
mov AH, 0eh
mov AL, 13
mov BH, 0
int 10h
end;
end
else
begin}
{begin
for i:=1 to n do
begin
write(g,m[i],' ');
end;
close(g);
end;
{asm
mov AH,0
int 16h
end;
end; }
{begin
assign(f,'in.txt');
reset(f);
{while not eof(f) do begin
s:='Dla vozvrata v menu nazhmite "0"';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,40
mov DH,22
int 10h
end;
asm
mov AH,0
int 16h
mov ccc,AL
end;
until(ccc='0');
case ccc of
'0': mainmenu
end;
asm
mov AH,0
int 16h
end;
end;
procedure schit;
begin
assign(f,'vhodnie.txt'); reset(f);
assign(g,'vihodnie.txt'); rewrite(g);
while not eof(f) do begin {считываем ВЕСЬ файл}
readln(f,ks); {считываем очередную строку}
ic:=0; {ставим счётчик слов на 0}
repeat {*********предложение
разбиваем на слова и
inc(ic); {увеличиваем счётчик текущего ПРЕДЛОЖЕНИЯ}
p:=pos(' ',ks); {смотрим где находится пробел}
m[ic]:=copy(ks,1,p-1); {записываем текущее слово в массив}
delete(ks,1,p); {то слово, которое заприсали в массив - удаляем}
until p=0; {****************}
n:=ic+1; {конец массива}
if s[length(ks)]='.' then {если строчка заканчивается точкой}
begin m[n]:=copy(ks,1,length(ks)-1); m[1]:=m[1]+'.' {то эту точку перемещаем на 1 слово}
end else m[n]:=ks; {а если нет точки - то просто его записываем в массив}
writeln(g);;
for i:=5 downto 1 do write(g,gf[i],' '); {идём с конца массива в начало и записываем слова в обратном порядке}
end;
close(f); close(g);
MenuSpr;
end;
procedure schit2;
begin
assign(f,'vhodnie.txt'); reset(f);
assign(g,'vihodnie.txt'); rewrite(g);
while not eof(f) do begin {считываем ВЕСЬ файл}
readln(f,ks); {считываем очередную строку}
ic:=0; {ставим счётчик слов на 0}
repeat {*********предложение
разбиваем на слова и
inc(ic); {увеличиваем счётчик текущего ПРЕДЛОЖЕНИЯ}
p:=pos(' ',ks); {смотрим где находится пробел}
gf[ic]:=copy(ks,1,p-1); {записываем текущее слово в массив}
delete(ks,1,p); {то слово, которое заприсали в массив - удаляем}
until p=0; {****************}
n:=ic+1; {конец массива}
if s[length(ks)]='.' then {если строчка заканчивается точкой}
begin gf[n]:=copy(ks,1,length(ks)-1)
end else gf[n]:=ks; {а если нет точки - то просто его записываем в массив}
writeln(g);;
for i:=1 to n do write(g,m[i],' '); {идём с конца массива в начало и записываем слова в обратном порядке}
end;
close(f); close(g);
end;
procedure zapis;
begin
schit2;
begin
zapvfail;
end;
end;
procedure RazSort;
begin
{asm
dec n
@CycleExt:
xor ebx, ebx
mov ecx, n
mov esi, 0
@CycleIn:
mov edi, M[esi]
cmp edi, M[esi+4]
jg @Exchange
add esi, 4
loop @CycleIn
jmp @Check
@Exchange:
mov ebx, M[esi+4]
mov M[esi+4], edi
mov M[esi], ebx
add esi, 4
loop @CycleIn
@Check:
cmp ebx, 0
je @Exit
jmp @CycleExt
@Exit: }
end;
procedure sort;
var ccc:char;
begin
asm
mov AH,0
mov AL,3
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,5
mov DH,5
int 10h
end;
s:='Sortiruem..';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,5
mov DH,6
int 10h
end;
begin
B;
end;
{ if IOResult<>0 then begin
s:='Ошибка! Файл не найден!';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH, 0eh
mov AL, buf
mov BH, 0
int 10h
end;
end;
asm
mov AH, 0eh
mov AL, 10
mov BH, 0
int 10h
mov AH, 0eh
mov AL, 13
mov BH, 0
int 10h
end;
end
else
begin}
{begin
for i:=1 to n do
begin
write(g,m[i],' ');
end;
close(g);
end;
{asm
mov AH,0
int 16h
end;
end; }
{begin
assign(f,'in.txt');
reset(f);
{while not eof(f) do begin
repeat
s:='Otsortirovan.Dla vozvrata nazhmite "0"';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,2
mov BH,0
mov DL,40
mov DH,22
int 10h
end;
asm
mov AH,0
int 16h
mov ccc,AL
end;
until(ccc='0');
case ccc of
'0': mainmenu
end;
asm
mov AH,0
int 16h
end;
end;
procedure MainMenu;
var a:char;
begin
repeat
asm
mov AH,0
mov AL,3
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,40
mov DH,7
int 10h
end;
s:='Glavnoe menu';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,0eh
mov AL,10
mov BH,0
int 10h
mov AH,0eh
mov AL,13
mov BH,0
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,35
mov DH,10
int 10h
end;
s:='** 1) - Zagruzit ishodnie dannie **';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,0eh
mov AL,10
mov BH,0
int 10h
mov AH,0eh
mov AL,13
mov BH,0
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,35
mov DH,12
int 10h
end;
s:='** 2) - Vipolnit Sortirovky **';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,0eh
mov AL,10
mov BH,0
int 10h
mov AH,0eh
mov AL,13
mov BH,0
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,35
mov DH,14
int 10h
end;
s:='** 3) - Sohranit rezultati **';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,0eh
mov AL,10
mov BH,0
int 10h
mov AH,0eh
mov AL,13
mov BH,0
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,35
mov DH,16
int 10h
end;
s:='** 4) - Copyright **';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,0eh
mov AL,10
mov BH,0
int 10h
mov AH,0eh
mov AL,13
mov BH,0
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,35
mov DH,18
int 10h
end;
s:='** 0) - Vihod v windows **';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,0eh
mov AL,10
mov BH,0
int 10h
mov AH,0eh
mov AL,13
mov BH,0
int 10h
end;
asm
mov AH,2
mov BH,0
mov DL,30
mov DH,24
int 10h
end;
s:='>>>>>Viberite punkt menu<<<<<';
lng:=length (s);
for i:= 1 to lng do
begin
buf:=s[i];
asm
mov AH,0eh
mov AL,buf
mov BH,0
int 10h
end;
end;
asm
mov AH,0eh
mov AL,10
mov BH,0
int 10h
mov AH,0eh