Другие языки программирования и технологии

Написал скринсейвер матрицы в турбо паскале, только она справа на лево. Как исправить?

program matrix;
uses crt;
var x, y, z : real;
begin
clrscr;
textcolor(lightgreen);
y:=1;
z:=x;
while z<2000 do
begin
y:=y+2;
x:=sqr(y);
x:=1/x;
z:=z+x;
write(z);
end;
readln;
end.
Здравствуйте.

> Написал скринсейвер матрицы.. .
Что-то ваше творчество слабо похоже на матрицу.

> Как исправить?
То, что вы написали -- никак. Только переписать. Начните улучшать нижеприведенную программу. Например, структурируйте ее, уберите всякий быдлокод и переделайте в графический режим.



uses
crt;
var
w: array[1..80] of string[12];
x, y, s: array[1..81] of integer;
t, c, k, l, sc: integer;
begin
randomize;
clrscr;
gotoxy(38, 12);
textcolor(lightgreen);
write('MATRIX');
repeat
if t = 0 then begin
for c := 1 to 80 do if w[c] = '' then break;
if c < 80 then begin
l := random(9) + 4;
w[c] := chr(random(ord('Z') - ord('A')) + ord('A'));
for k := 2 to l do w[c] := w[c] + '.';
x[c] := random(79) + 1;
s[c] := random(3) + 1;
t := random(4);
y[c] := 0;
for k := 1 to 79 do begin
if (k <> c) and (w[k] <> '') and (x[c] = x[k]) and (y[k] < 12) then begin
y[c] := -13;
break;
end;
end;
end;
end;
inc(sc);
for c := 1 to 80 do begin
l := length(w[c]);
if l <> 0 then begin
if (sc mod s[c]) = 0 then begin
inc(y[c]);
if (y[c] - l) < 25 then begin
delete(w[c], l, 1);
w[c] := chr(random(ord('Z') - ord('A')) + ord('A')) + w[c];
w[c][l] := ' ';
w[c][l div 3 + 1] := chr(ord(w[c][l div 3 + 1]) - ord('A') + ord('a'));
w[c][l - 1] := '.';
if l > 6 then w[c][l - 2] := '.';
for k := 0 to l - 1 do begin
if k <= l div 10 then textcolor(lightgreen) else textcolor(green);
if ((y[c] - k) < 26) and ((y[c] - k) > 0) then begin
gotoxy(x[c], y[c] - k);
write(w[c][k + 1]);
end;
end;
end
else
w[c] := '';
end;
end;
end;
gotoxy(80, 25);
if t > 0 then dec(t);
delay(30);
until keypressed;
end.

> в турбо паскале
Советую перейти на современный компилятор FreePascal ( freepascal.org ), в устаревшем ТП процедура delay работает некорректно в современных операционных системах, а в 64-х битных программы не будут запускаться. Ну или придется запускать такие программы в эмуляторе DosBox.
АЕ
Александр Егоров
50 739
Лучший ответ