Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2012, 18:59   #1
V1rus.25
Пользователь
 
Аватар для V1rus.25
 
Регистрация: 09.04.2012
Сообщений: 62
По умолчанию Блок-схема к программе на паскале со вставками ассемблера.

Написать блок схему к программе написанную на ПАСКАЛЕ со вставками ассемблера.
Вот текст программы
Program password; {пароль Malina}
uses crt;
const cil=6;
m2=3;
var d1,d2,d3,d4,x1,x2,y1,y2,m1,j,z:byte ;
i,g,w: integer;
S:array[1..cil+1] of byte;
Ch, sym:char;
label 10,11,12,13,14,15,16,20;
procedure cursor(s1,s2:byte);
begin
asm
mov ah,02;
mov bh,00;
mov dh,s1;
mov dl,s2;
int 10h
end;
end;
procedure line(f1,f2:byte);
begin
asm
mov ah,09;
mov al,0CDh
mov bh,00
mov bl,72;
mov cx,01
int 10h
end;
end;
procedure line1(k1,k2:byte);
begin
asm
mov ah,09;
mov al,0BAh
mov bh,00
mov bl,72;
mov cx,01
int 10h
end;
end;
procedure ugol(u1,u2,u3,u4:byte);
begin
asm
mov ah,09;
mov al,0C9h
mov bh,00
mov bl,72;
mov cx,01
int 10h
mov ah,02;
mov bh,00;
mov dh,u1;
mov dl,u4;
int 10h
mov ah,09;
mov al,0BBh
mov bh,00
mov bl,72;
mov cx,01
int 10h
mov ah,02;
mov bh,00;
mov dh,u3;
mov dl,u4;
int 10h
mov ah,09;
mov al,0BCh
mov bh,00
mov bl,72;
mov cx,01
int 10h
mov ah,02;
mov bh,00;
mov dh,u3;
mov dl,u2;
int 10h
mov ah,09;
mov al,0C8h;
mov bh,00;
mov bl,72;
mov cx,01;
int 10h
end;
end;
procedure parol(s1:byte);
begin
asm
mov ah,09
mov al,s1
mov bh,00
mov bl,0c2h
mov cx,01
int 10h
end;
end;
procedure razmekr(d:byte);
begin {Устанавливаем размер экрана}
asm
mov ah,00
mov al,d
int 10h
end;
end;
procedure cursroz(O1,O2:byte);
begin
asm
mov ah,01
mov ch,O1
mov cl,O2
int 10h
end;
end;
begin
w:=1;
z:=1;
j:=01;
razmekr(j);
11:clearscreen(00,00,25,80,07);
writeln('Выберите размер экрана с помощью клавиши "Tab" и жмите "Enter" ');
sym:=readkey;
12:if ord(sym)=9 then
begin
case j of
01: j:=03;
03: j:=01;
end;
razmekr(j);
sym:=' ';
case z of
1:goto 11;
2:goto 10;
3:goto 13;
4:goto 15;
5:goto 16;
end;
end;
clearscreen(00,00,25,80,07);
writeln('Введите координаты окна');
cursroz(09,18);
readln(d1,d2,d3,d4);
m1:=m2;
10:z:=2;
if j=01 then
if (d1>22) or (d1<2) or (d2>25) or (d2<1) or (d3>23) or (d3<3) or (d4>39) or (d4<13) then
begin
x1:=12; x2:=14; y1:=13; y2:=26;
end
else
begin
x1:=d1; x2:=d2; y1:=d3; y2:=d4;
end
else
if (d1>22) or (d1<2) or (d2>25) or (d2<1) or (d3>23) or (d3<3) or (d4>39) or (d4<13) then
begin
x1:=12; x2:=24; y1:=13; y2:=36;
end
else
begin
x1:=d1; x2:=d2; y1:=d3; y2:=d4;
end;
clearscreen(00,00,25,80,35);
clearscreen(x1,x2,y1,y2,57);
i:=0;
while i<=(y2-x2) do
begin
cursor(x1-1,x2+i);
line(x1-1,x2+i);
cursor(y1+1,y2-i);
line(y1+1,y2-i);
i:=i+1;
end;
i:=0;
while i<=(y1-x1+1) do
begin
cursor(x1+i-1,x2-1);
line1(x1+i-1,x2-1);
cursor(x1+i-1,y2+1);
line1(X1+i-1,y2+1);
i:=i+1;
end;
cursor(x1-1,x2-1);
ugol(x1-1,x2-1,y1+1,y2+1);
cursor(00,j*10+5);
textcolor(21);
writeln('У вас ',m1,' попыток');
cursor(x1,x2);
textcolor(3);
write('Введите пароль');
cursor(x1+1,x2);
s[1]:=77; s[2]:=97; s[3]:=108; s[4]:=105; s[5]:=110; s[6]:=97;
g:=0;
cursroz(00,13);
cursor(x1+1,x2);
sym:=readkey;
if ord(sym)=9 then goto 12
else
begin
i:=1;
ch:=sym;
goto 14;
end;
while ch<>chr(13) do
begin
ch:=readkey;
14: cursor(x1+w,x2+i-1);
parol(42);
if s[i]=ord(ch) then g:=g+1
else s[i]:=s[i]+256;
if (i=y2-x2+1) then
if (y1-x1-w=0) then i:=i
ELSE
begin
w:=w+1; i:=1;
end
else i:=i+1;
end;
20:clearscreen(00,00,25,80,13);
if g=cil then
13:begin
z:=3;
if j=01 then g:=14
else g:=34;
cursor(12,g);
textcolor(5);
parol(ord('В'));cursor(12,g+1);paro l(ord('с'));cursor(12,g+2);parol(or d('е'));
cursor(12,g+3);parol(ord(' '));cursor(12,g+4);parol(ord('в')); cursor(12,g+5);
parol(ord('е'));cursor(12,g+6);paro l(ord('р'));cursor(12,g+7);parol(or d('н'));
cursor(12,g+8);parol(ord('о'));curs or(12,g+9);parol(ord('!'));
sym:=readkey;
if ord(sym)=9 then goto 12;
end
else
begin
cursor(12,30);
if m1>1 then
begin

z:=4;
m1:=m1-1;
15: textcolor(2);
if j=01 then cursor(12,10)
else cursor(12,30);
writeln('Введен неверный пароль ! Повторите попытку ');
cursor(120,140);
w:=1;
sym:=readkey;
if ord(sym)=9 then goto 12
else goto 10;
end;
z:=5;
16: textcolor(9);
if j=01 then cursor(12,10)
else cursor(12,30);
writeln('Ваши попытки исчерпаны');
cursor(120,140);
sym:=readkey;
if ord(sym)=9 then goto 12;
end;
textcolor(6);
clearscreen(00,00,25,80,13);
cursor(00,00);
end.
V1rus.25 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блок схема к программе Flash05 Visual C++ 4 23.11.2010 17:40
блок схема к программе emin313gs Помощь студентам 0 11.10.2010 17:35
блок схема к программе emin313gs Помощь студентам 2 11.10.2010 14:25
Блок-схема к программе OtimJ Помощь студентам 2 15.01.2009 19:29