4. Покажите на бумаге, что будет выведено на экран в результате работы следующего фрагмента программы: X = 2 Y = 3 PRINT “X =” ; X , “Y =” ; Y X = Y Y = X PRINT X , Y , 3
begin var a := ReadInteger('Возраст Антона:'); var b := ReadInteger('Возраст Бориса:'); var v := ReadInteger('Возраст Виктора:'); if (a > b) and (a > v) then begin Println('Антон старше всех');exit; end; if (b > a) and (b > v) then begin Println('Борис старше всех');exit; end; if (v > a) and (v > b) then begin Println('Виктор старше всех');exit; end; if (a > v) and (a = b) then begin Println('Антон и Борис старше Виктора.');exit; end; if (a > b) and (a = v) then begin Println('Антон и Виктор старше Бориса.');exit; end; if (v > a) and (v = b) then begin Println('Виктор и Борис старше Антона.');exit; end; if (a = b) and (b = v) then begin Println('Виктор, Борис и Антон одного возраста.');exit; end; end.
Как-то даже не хочется размышлять, как можно было это решить по-нормальному...
var s:string; a:array[1..4] of byte; i:integer; begin read(s); for i:=1 to length(s) do begin if s[i]='(' then a[1]:=i; if (s[i]=' ') and (a[1]>0) then begin a[2]:=i; break end end; for i:=length(s) downto 1 do begin if s[i]=')' then a[4]:=i; if (s[i]=' ') and (a[4]>0) then begin a[3]:=i; break end end; s:=copy(s,1,a[1])+copy(s,a[3]+1,a[4]-a[3]-1)+copy(s,a[2],a[3]-a[2]+1)+copy(s,a[1]+1,a[2]-a[1]-1)+copy(s,a[4],length(s)-a[4]+1); write(s); end.
Выведется:
X = 2, Y = 3
3, 2, 3