В таблице ASCII коды цифр меньше кодов букв английского алфавита; коды букв английского алфавита меньше кодов букв русского алфавита. Коды для последовательных цифр и последовательных букв английского алфавита последовательные, среди цифр наименьший код у 0, наибольший у 9, среди букв наименьший у a, наибольший у z.
Код цифры d можно обозначить как r+d, где r - код для 0 (на самом деле r=48, это помнить необязательно). Тогда сумма кодов для "1999" равна 4r + (1 + 9 + 9 + 9) = 4r + 28; сумма кодов для "2011" равна 4r + (2 + 0 + 1 + 1) = 4r + 4. Сумма кодов для всех остальных строк больше 4r + 4, так как символы в этих строках стоят в кодовой таблице позже, чем в "2011"
1) var a, b, c, i, n, j :integer; s :string; begin read (s); for i:=1 to length(s) do begin if (ord (s[i])>=97) and (ord (s[i])<=122) then write (char(ord (s[i])-32)) else write (s[i]); end; end. 2) var a, b, c, i, n, j :integer; s :string; p :array[1..10000] of integer; begin read (s); if s[1]=' ' then begin j:=j+1; p[j]:=1; end; for i:=2 to length(s) do if (s[i]=' ') and (s[i-1]<>' ') then begin j:=j+1; p[j]:=i; end; for i:=1 to j do begin a:=p[i]; p[i]:=0; while s[a]=' ' do begin inc (p[i]); a:=a+1; end; end; b:=p[1]; for i:=1 to j do if p[i]>b then b:=p[i]; write (b); end. 3) var a, b, c, i, n, j :integer; s :string; p :array[1..10000] of integer; begin read (s); i:=1; write (s[i]); while s[i]<>':' do begin inc (i); write (s[i]); end; end. 4) var a, b, c, i, n, j :integer; s :string; p :array[1..10000] of integer; begin read (s); i:=1; while s[i]<>':' do inc (i); i:=i+1; while (s[i]<>':') and (i<=length(s)) do begin write (s[i]); inc (i); end; end.