Другие языки программирования и технологии
Обьясните пожалуйста как работает программа
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.
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.
Похожие вопросы
- Объясните как работает программа в паскаль!!!
- Обьясните пжалуста какая нужна программа что бы перевести качество в видео чтобы сматреть на телефоне его
- С++ cin cout. Не работает программа.
- С/С++ Неправильно работает программа
- Помогите пожалуйста, с составлением программы в паскале, очень срочно! Только пожалуйста, вставьте данные, которые ниже
- C++ не работает программа посмотрите пожалуйста))
- Скажите пожалуйста почему у меня не работает программа вычисления синусов
- Не работает программа на Cи
- помогите пожалуйста с кодами программ в паскале
- Скиньте пожалуйста ссылку на программу что бы создавать фото клип с музыкой!!!