program scrsav; uses crt; var
program scrsav; uses crt; var n,i,x,y,c,t,z: word; err: integer;
begin n:=10; if paramcount>0 then if paramstr(1)='?' then begin writeln('scrsav [density: byte] (=10 by default)'); halt end else begin val(paramstr(1),n,err); if (err<>0)or(n<=0) then n:=10; end; randomize; {активизация генератора случайных чисел} while not keypressed do begin y:= random(24)+1; {генерация случайного числа от 1 до 25} x:= random(79)+1; {генерация случайного числа от 1 до 80} z:= random(220)+33; {генерация случайного символа}
c:= random(14)+1; {генерация случайного цвета от 1 до 15} gotoxy(x,y); textcolor(c); delay(n); write(chr(z)); for i:= 1 to 10 do begin y:= random(24)+1; {генерация случайного числа от 1 до 25} x:= random(79)+1; {генерация случайного числа от 1 до 80} gotoxy(x,y); textcolor(black); delay(n); write(' '); end; end.
Замечание: Параметр, регулирующий густоту и скорость изменения символов на экране, можно задавать как аргумент из командной строки во время вызова программы (см. лекцию 13).