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

Кто может помочь?Нужны комментарии к каждой строчке программы...Помогите пожалуйста! оч нужно!!!

Program LELIK2;Uses crt;var str: string; nstr: string; est, zam: set of char; tab: array [#0..#255] of char; i: integer; c: char;begin clrscr; write('Vvedite stroku: '); readln(str); est := []; zam := []; for i := 1 to length(str) do est := est + [str]; for c := #0 to #255 do if c in est then repeat writeln('Nagmi ''Enter'' dlia zameni ''',c,''''); if readkey = #13 then begin write('Vvedi zamenu dannomu kodu: '); tab[c] := readkey; writeln(tab[c]); if (tab[c] in est) or (tab[c] in zam) or (tab[c] = #27) or (tab[c] = #13) then writeln('Vi ne mogete zamenit'' na dannii simvol') else begin est := est - [c]; zam := zam + [tab[c]]; break; end; end else begin tab[c] := c; break; end; until false else tab[c] := c; nstr := ''; for i := 1 to length(str) do nstr := nstr + tab[str]; writeln('Bilo: ', str); writeln('Poluchili: ', nstr); writeln('Tablica: '); for c := #0 to #255 do if tab[c] <> c then writeln('''',c,''' to ''',tab[c],''''); writeln('Nagmi knopku dlia prodolgenia'); readkey;end.
Program LELIK2; {программа Lelik2}
Uses { Используются следующие модули}
crt;{ Используем модуль Crt стандартной библиотеки BP}
var {Переменные}
str: string; { str строковая переменная}
nstr: string; {nstr строковая переменная}
est, zam: set of char; {est, zam множество символов}
tab: array [#0..#255] of char; {tab масссив из 256 символов}
i: integer; {i целая переменная}
c: char; {c символ}

begin {Начало программы}
clrscr; {Очищаем экран}
write('Vvedite stroku: '); {Пишем на экране запрос "Введите строку" }
readln(str); {Считываем вводимую пользователем строку в переменную str}
est := [];{Обнуляем множество est}
zam := []; {Обнуляем множество zam}
for i := 1 to length(str) do {Символы строки str}
est := est + [str]; {набираем в множество est}
for c := #0 to #255 do {Перечисляем первые 256 символов кодовой страницы}
if c in est then {Если есть такие в запрашиваемой пользователем строке}
repeat {Повторяем, до тех пор пока "рак на горе не свистнет" }
writeln('Nagmi ''Enter'' dlia zameni ''',c,''''); {Нажми "Enter" для замены}
if readkey = #13 then {если нажатая клавиша "Enter" (Не помню кода, но надеюсь что #13))}
begin {Делаем следующее}
write('Vvedi zamenu dannomu kodu: '); {Пишем: "Введи замену данному коду"}
tab[c] := readkey; {И просим ввести символ}
writeln(tab[c]); {Пишем новый символ}
if (tab[c] in est) or (tab[c] in zam) or (tab[c] = #27) or (tab[c] = #13) then {Если введенный символ содержится в множествах
est (есть) или zam (заменяемые, то есть уже введенные) , или "Enter" или "Esc", то }
writeln('Vi ne mogete zamenit'' na dannii simvol') {Пишем, что "вы не можете заменить на данный символ"}
else {В противном случае}
begin
est := est - [c]; {Исключаем из множества символов введенной строки символ c}
zam := zam + [tab[c]]; {Добавляем в заменное множество zam введенный символ}
break; {И выходим из цикла "До тех пор пока рак на горе свистнет"}
end;
end
else
begin
tab[c] := c;
break;
end;
until false
else
tab[c] := c;
nstr := '';
for i := 1 to length(str) do
nstr := nstr + tab[str];
writeln('Bilo: ', str);
writeln('Poluchili: ', nstr);
writeln('Tablica: ');
for c := #0 to #255 do
if tab[c] <> c then
writeln('''',c,''' to ''',tab[c],'''');
writeln('Nagmi knopku dlia prodolgenia');
readkey;
end.

{Завтра продолжу сегодня устал что-то}
ПК
Павел Красильников
3 405
Лучший ответ
Совершенно нечитабельно
Nursultan Abdyrashit Uulu
Nursultan Abdyrashit Uulu
1 766
эт че за язык?