Найти ошибки в лабораторной - Turbo Pascal
Формулировка задачи:
Помогите, пожалуйста, найти ошибки в лабе! Я самостоятельно не могу найти, две недели с этой лабораторной мучаюсь.
Решение задачи: «Найти ошибки в лабораторной»
textual
Листинг программы
uses Crt; procedure Pr1(var ai:integer; var as1, ast:string; as:string); begin as1:=''; While as[ai] in [' ','.',',','!','?','0'..'9'] do begin ast:=as[ai]+ast; Dec(ai); end; repeat if ai=0 then Break; if as[ai] in ['A'..'Z'] then begin as1:=as[ai]+as1; Dec(ai); if as[ai]=' ' then Break; end else if as[ai] in ['a'..'z'] then begin as1:=as[ai]+as1; Dec(ai); if as[ai]=' ' then Break; end else if as[ai] in ['0'..'9'] then begin as1:=as[ai]+as1; Dec(ai); if as[ai]=' ' then Break; end else Dec(ai); until (as[ai]= ' ') or (ai=0); end; var a:Set of Char; s,s1,st: string; i,j:integer; b:boolean; c:char; begin ClrScr; Writeln('String: '); Readln(s); s1:=''; st:=''; a:=[]; i:=Length(s); Pr1(i,s1,st,s); st:=s1+st; for j:=1 to Length(s1) do a:=a+[Upcase(s1[j])]; repeat Pr1(i,s1,st,s); b:=true; for j:=1 to Length(s1) do begin c:=Upcase(s1[j]); if c in a then begin b:=false; Break; end end; if b then begin for j:=1 to Length(s1) do if s1[j] in ['A'..'Z'] then s1[j]:=Char(Ord(s1[j])+32); st:=s1+st; end else st:=s1+st; until i=0; Writeln; Writeln(st); ReadKey; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д