Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа №4 по О-Средам / lab_4_1 / LAB4
.PAS { "ЋЇҐа жЁ®лҐ баҐ¤л Ђ‘Ћ€“"
Copyrights 2003 "9331 super group"
‹ Ў®а в®а п а Ў®в 4
„Ґ¬®бва жЁп а Ў®вл б бЁб⥬묨 ®зҐаҐ¤п¬Ё }
Program Lab4;
{$F+}
Uses Corout,CRT,Dir_Scr;
Procedure myDelay; { Њ Ґ¬бп ¤гамо ;) }
Var I,X : LongInt;
Begin
For I:=1 to 3000000 do
X := Round(3/2);
End;
Const CurKey : Char = #00;
{-- Џа®жҐбб, Є®в®ал© ¤Ґ¬®бваЁагҐв § ¤Ґа¦Єг --}
Procedure P1; far;
Begin
while true do begin
DirectS.Out('1');
myDelay;
If CurKey = '1' then
Begin
DirectS.Out('D');
DelayList.Delay(40);
End;
end {while};
End {P1};
{-- ‘ ¬®гЁз⮦ҐЁҐ Їа®жҐбб --}
Procedure P2; far;
Begin
while true do begin
DirectS.Out('2');
myDelay;
If CurKey = '2' then
Begin
DirectS.Out('X');
KillList.SelfInsert; { ‘гЁжЁ¤ ;) }
End;
end {while};
End {P2};
{-- ‚л室 Ё§ Їа®Ја ¬¬л --}
Procedure P3; far;
Begin
while true do begin
DirectS.Out('3');
myDelay;
if KeyPressed then
Begin
CurKey := ReadKey;
If CurKey = #27 then { ESC - ‚л室 Ё§ бЁб⥬л }
Begin
Writeln('‚л室 Ї® Є« ўЁиҐ ESC!');
ReadyList.Stop_Manager;
End;
End
Else
CurKey := #00;
End {while};
End {P3};
{-----------------------------------------------------}
Begin
Writeln('ESC - ‚л室 Ё§ Їа®Ја ¬¬л');
Writeln('"1" - ‡ ¤Ґа¦Є ЇҐаў®Ј® Їа®жҐбб 40 в Єв®ў');
Writeln('"2" - ‚в®а®© Їа®жҐбб б®ўҐаи Ґв бгЁжЁ¤!');
{}
ReadyList.Add_New_Process(p1);
ReadyList.Add_New_Process(p2);
ReadyList.Add_New_Process(p3);
{}
ReadyList.Run_Manager;
{}
Free_All_Subsystems;
End.
Copyrights 2003 "9331 super group"
‹ Ў®а в®а п а Ў®в 4
„Ґ¬®бва жЁп а Ў®вл б бЁб⥬묨 ®зҐаҐ¤п¬Ё }
Program Lab4;
{$F+}
Uses Corout,CRT,Dir_Scr;
Procedure myDelay; { Њ Ґ¬бп ¤гамо ;) }
Var I,X : LongInt;
Begin
For I:=1 to 3000000 do
X := Round(3/2);
End;
Const CurKey : Char = #00;
{-- Џа®жҐбб, Є®в®ал© ¤Ґ¬®бваЁагҐв § ¤Ґа¦Єг --}
Procedure P1; far;
Begin
while true do begin
DirectS.Out('1');
myDelay;
If CurKey = '1' then
Begin
DirectS.Out('D');
DelayList.Delay(40);
End;
end {while};
End {P1};
{-- ‘ ¬®гЁз⮦ҐЁҐ Їа®жҐбб --}
Procedure P2; far;
Begin
while true do begin
DirectS.Out('2');
myDelay;
If CurKey = '2' then
Begin
DirectS.Out('X');
KillList.SelfInsert; { ‘гЁжЁ¤ ;) }
End;
end {while};
End {P2};
{-- ‚л室 Ё§ Їа®Ја ¬¬л --}
Procedure P3; far;
Begin
while true do begin
DirectS.Out('3');
myDelay;
if KeyPressed then
Begin
CurKey := ReadKey;
If CurKey = #27 then { ESC - ‚л室 Ё§ бЁб⥬л }
Begin
Writeln('‚л室 Ї® Є« ўЁиҐ ESC!');
ReadyList.Stop_Manager;
End;
End
Else
CurKey := #00;
End {while};
End {P3};
{-----------------------------------------------------}
Begin
Writeln('ESC - ‚л室 Ё§ Їа®Ја ¬¬л');
Writeln('"1" - ‡ ¤Ґа¦Є ЇҐаў®Ј® Їа®жҐбб 40 в Єв®ў');
Writeln('"2" - ‚в®а®© Їа®жҐбб б®ўҐаи Ґв бгЁжЁ¤!');
{}
ReadyList.Add_New_Process(p1);
ReadyList.Add_New_Process(p2);
ReadyList.Add_New_Process(p3);
{}
ReadyList.Run_Manager;
{}
Free_All_Subsystems;
End.