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

Обьясните пожалуйста как работает программа

program ppp; uses crt; var i,k:integer; s:string; a:array [1..4,1..2] of string[7]; begin clrscr; a[1,1]:='<>'; a[1,2]:='неравно'; эти строчки a[2,1]:='='; a[2,2]:='равно; a[3,1]:='<'; a[3,2]:='меньше'; a[4,1]:='>'; a[4,2]:='больше'; readln (s); for k:=1 to 4 do begin i:=Pos(a[k,1],s); while i<>0 do begin delete(s,i,1); if k=1 then delete(s,i,1); insert (a[k,2],s,i); i:=Pos(a[k,1],s) end; end; writeln(s) end.
Смотри вставленные комментарии + небольшие изменения для более лучшего понимания программы в работе:
program ppp;

uses
crt;

var
i, k: integer;
s: string;
a: array [1..4, 1..2] of string[7];

begin
clrscr;
{ заполняем массив соответствий знаков сравнения их представлением словом }
a[1, 1] := '<>'; a[1, 2] := 'неравно';
a[2, 1] := '='; a[2, 2] := 'равно';
a[3, 1] := '<'; a[3, 2] := 'меньше';
a[4, 1] := '>'; a[4, 2] := 'больше';
{ Вводим строку }
Write('Введите строку со знаками сравнения: '); readln(s);
for k := 1 to 4 do
begin
i := Pos(a[k, 1], s); { ищем поочерёдно вхождение подстроки <>, =, <, > в введённую строку }
while i <> 0 do { пока такая подстрока есть в строке }
begin
delete(s, i, 1); { удалить 1 символ <, = или > }
if k = 1 then delete(s, i, 1); { для подстроки <> нужно удалить ещё и > }
insert(a[k, 2], s, i); { в позицию, из которой удаляли подстроку, вставить её представление словом }
i := Pos(a[k, 1], s) { найти очередное вхождение подстроки }
end;
end;
writeln('Результат замены знаков сравнения: ', s) { выводим строку-результат полученную заменой символов сравнения на их представление словом }
end.
АЛ
Анатолий Левинцов
90 516
Лучший ответ