При выполнении программы пропускается цикл for - Free Pascal
Формулировка задачи:
Это звучит бредово, но вчера эта самая программа работала. Однако сегодня паскаль даже видить не хочет цикл for.
В чем может быть причина? (Вместо закорючек, в паскале, отображаются русские буквы)
p.s. опять же все символы в из паскаля и поэтому отображаются не верно.
Листинг программы
- program cifr;
- uses crt;
- var a,b,c,d,x,vibor,i,again:integer;
- s,vivod,EngAlf,RusAlf,EngAlfReturn,RusAlfReturn:string;
- g:boolean;
- begin
- clrscr;
- c:=0;
- x:=1;
- EngAlf:='abcdefghijklmnopqrstuvwxyz !ь* ';
- RusAlf:='*ЎўЈ¤Ґс¦§Ё©Є«¬*®Їабвгдежзийклмноп !ь* ';
- a:=length(s);
- for i:=length(RusAlf) downto 1 do begin
- RusAlfReturn:=RusAlfReturn+RusAlf[i]; end;
- for i:=length(EngAlf) downto 1 do begin
- EngAlfReturn:=EngAlfReturn+EngAlf[i]; end;
- Writeln('—в® ўл е®вЁвҐ:');
- writeln('1-ЛњЁда®ў*вм');
- writeln('2-ђ*§иЁда®ў*вм');
- read(vibor);
- repeat begin
- clrscr;
- if vibor=1 then begin
- x:=1;
- readln(s);
- readln(s);
- begin
- for i:=1 to 33 do {[B][U]<--- ВОТ ЭТОТ ЦИКЛ[/U][/B]}
- if s[1]=RusAlf[i] then begin {Он отвечает за проверку языка в строчке}
- s:=s+'R';
- repeat begin
- c:=c+1;
- if s[x]=RusAlf[c] then begin
- vivod:=RusAlf[c+4]; write(vivod); x:=x+1; c:=0; end; end; until s[x]='R'; break; end
- else begin
- s:=s+'R';
- repeat begin
- c:=c+1;
- if s[x]=EngAlf[c] then begin
- vivod:=EngAlf[c+4]; write(vivod); x:=x+1; c:=0; end; end; until s[x]='R'; break; end; end; end
- else begin
- x:=1;
- readln(s);
- readln(s);
- for i:=1 to 33 do
- if s[1]=RusAlf[i] then begin
- s:=s+'R';
- repeat begin
- c:=c+1;
- if s[x]=RusAlfReturn[c] then begin
- vivod:=RusAlfReturn[c+4]; write(vivod); x:=x+1; c:=0; end; end; until s[x]='R'; break; end; end;
- writeln;
- writeln;
- writeln('—в® ўл е®вЁвҐ:');
- writeln('1-‡*иЁда®ў*вм');
- writeln('2-ђ*§иЁда®ў*вм');
- writeln('3-‚멤вЁ');
- read(vibor);
- end; until vibor=3; end.
Знаете, вот програмка полегче:
Листинг программы
- program ThisIsProgram;
- uses crt;
- var a,b,c,d,x,y,x1,y1,i,i2,again:integer;
- s:string;
- sv,sg,lu,lm,ld,mu,mm,md,ru,rm,rd:char;
- begin repeat begin
- clrscr;
- randomize;
- sv:='і';
- sg:='Д';
- lu:='Ъ';
- lm:='Г';
- ld:='А';
- mu:='В';
- mm:='Е';
- md:='Б';
- ru:='ї';
- rm:='ґ';
- rd:='Щ';
- x:=2;
- y:=2;
- x1:=x;
- y1:=y;
- GotoXY(x,y);
- write(lu);
- x1:=x;
- for i2:=x1 to x1+3 do
- begin
- x:=x+1;
- GotoXY(x,y);
- write(sg);
- end;
- y1:=y;
- GotoXY(x,y);
- write(ru);
- for i2:=y1 to y1+2 do
- begin
- y:=y+1;
- GotoXY(x,y);
- write(sv);
- end;
- x1:=x;
- GotoXY(x,y); write(rd);
- for i2:=x1 to x1-3 do
- begin
- x:=x-1;
- GotoXY(x,y);
- write(sg);
- end;
- y1:=y;
- GotoXY(x,y);
- write(ld);
- for i2:=y1 to y1-3 do
- begin
- y:=y-1;
- GotoXY(x,y);
- write(sv);
- end;
- GotoXY(15,15);
- writeln('•®вЁвҐ Їа®¤®«¦Ёвм а*Ў®вг?');
- write('1 yes 0 no');
- read(again);
- end; until again<>1; end.
Решение задачи: «При выполнении программы пропускается цикл for»
textual
Листинг программы
- uses crt;
- procedure Box(x1, y1, x2, y2: Integer);
- const
- sv='в”‚'; sg='в”Ђ';
- lu='┌'; mu='┬'; ru='┐';
- lm='├'; mm='┼'; rm='┤';
- ld='в””'; md='┴'; rd='в”
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д