В программе буквы добавляются по алфавиту без повторений. var s1,s2:string; function F(var a,b:string):boolean; var m:set of char; i:integer; c:char; begin m:=[]; for i:=1 to length(a) do if pos(a[i],b)=0 then m:=m+[a[i]]; for c:=chr(32) to chr(255) do if c in m then a:=a+c; if m=[] then f:=false else f:=true; end; begin writeln('Введите строку 1:'); readln(s1); writeln('Введите строку 2:'); readln(s2); if f(s1,s2) then writeln('Новая строка: ',s1) else writeln('Строка не изменилась ');end.
Пример: Введите строку 1: program Введите строку 2: procedure Новая строка: programagm
a=1; b=1
1 шаг цикла: a=a+1=1+1=2; b=b*2=1*2=2; 2>8 = false
2 шаг цикла: a=a+1=2+1=3; b=b*2=2*2=4; 4>8 false 4 шаг цикла: a=a+1=4+1=5; b=b*2=8*2=16;
3 шаг цикла: a=a+1=3+1=4; b=b*2=4*2=8; 8>8 "false
16>8 = true S=a+b=5+16=21
ответ: тело цикла выполнится 4 раза, а=5,
b=16, s=21