Найти ошибки в лабораторной - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, найти ошибки в лабе! Я самостоятельно не могу найти, две недели с этой лабораторной мучаюсь.

Решение задачи: «Найти ошибки в лабораторной»

textual
Листинг программы
  1. uses Crt;
  2. procedure Pr1(var ai:integer; var as1, ast:string; as:string);
  3. begin
  4.      as1:='';
  5.       While as[ai] in [' ','.',',','!','?','0'..'9'] do
  6.        begin
  7.          ast:=as[ai]+ast;
  8.          Dec(ai);
  9.        end;
  10.        repeat
  11.           if ai=0 then Break;
  12.           if as[ai] in ['A'..'Z']
  13.            then
  14.             begin
  15.               as1:=as[ai]+as1;
  16.               Dec(ai);
  17.               if as[ai]=' '
  18.                then Break;
  19.             end
  20.            else
  21.             if as[ai] in ['a'..'z']
  22.              then
  23.               begin
  24.                 as1:=as[ai]+as1;
  25.                 Dec(ai);
  26.                 if as[ai]=' '
  27.                  then Break;
  28.               end
  29.              else
  30.               if as[ai] in ['0'..'9']
  31.                then
  32.                 begin
  33.                   as1:=as[ai]+as1;
  34.                   Dec(ai);
  35.                   if as[ai]=' '
  36.                   then Break;
  37.                 end
  38.                else
  39.                 Dec(ai);
  40.        until (as[ai]= ' ') or (ai=0);
  41. end;
  42. var  a:Set of Char;
  43.      s,s1,st: string;
  44.      i,j:integer;
  45.      b:boolean;
  46.      c:char;
  47. begin
  48.      ClrScr;
  49.       Writeln('String: ');
  50.        Readln(s);
  51.      s1:=''; st:=''; a:=[];
  52.       i:=Length(s);
  53.        Pr1(i,s1,st,s);
  54.         st:=s1+st;
  55.      for j:=1 to Length(s1) do
  56.       a:=a+[Upcase(s1[j])];
  57.      repeat
  58.         Pr1(i,s1,st,s);
  59.         b:=true;
  60.         for j:=1 to Length(s1) do
  61.          begin
  62.            c:=Upcase(s1[j]);
  63.            if c in a
  64.             then
  65.              begin
  66.                b:=false;
  67.                Break;
  68.              end
  69.          end;
  70.         if b
  71.          then
  72.           begin
  73.             for j:=1 to Length(s1) do
  74.              if s1[j] in ['A'..'Z']
  75.               then s1[j]:=Char(Ord(s1[j])+32);
  76.              st:=s1+st;
  77.           end
  78.          else
  79.           st:=s1+st;
  80.      until i=0;
  81.      Writeln;
  82.       Writeln(st);
  83.      ReadKey;
  84. end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут