Procedure ShellStr(var s: string);
{ сортирует символы строки методом Шелла }
var
i, j, n, step: integer;
c: char;
begin
s := Trim(s);
n := Length(s);
step := n div 2;
<span> while step > 0 do </span>
begin
<span> for j := n - step downto 1 do </span>
begin
i := j;
<span> while i <= n - step do </span>
begin
if s[i] > s[i + step] then
begin
c := s[i];
s[i] := s[i + 1];
s[i + 1] := c
end;
i := i + step
end
end;
step := step div 2
end
end;
procedure TrimNullsLeft(var s: string);
{ Усекает левые (незначащие нули) в строке s }
var
i, n: integer;
begin
i := 1; n := Length(s);
while (s[i] = '0') do i := i + 1;
s := Copy(s, i, n - i + 1)
end;
var
p: integer;
s, M, N: string;
f: text;
begin
Assign(f, 'input.txt');
Reset(f);
Readln(f, s);
Close(f);
Assign(f, 'output.txt');
Rewrite(f);
s := Trim(s);
p := Pos(' ', s);
M := Copy(s, 1, p - 1);
N := Copy(s, p + 1, Length(s) - p);
s := M + N;
ShellStr(s);
TrimNullsLeft(s);
Writeln(f, s);
Close(f);
Writeln('Программа завершила работу')
<span>end.</span>
Uses crt;
var a: array [1..10] of integer;
i,s,k:integer;
begin
clrscr;
randomize;
for i:= 1 to 10 do
begin
a[i]:=random (11);
write ( a[i]:8);
if a[i] mod 2 = 0 then s:=s+1 else k:=k+1;
end;
writeln('Кол-во четных = ',s);
writeln('Кол-во нечетных = ',k);
end.
Integer: здесь хранятся целые числа
real: здесь могут хранится и целые числа и десятичные дроби
string: это текстовый тип, здесь может хранится всё что скажешь и текст и десятичная дробь и целые числа НО С НЕЙ НЕЛЬЗЯ ВЫПОЛНЯТЬ ДЕЙСТВИЯ ТИПА СЛОЖИТЬ, ВЫЧИСЛИТЬ, РАЗДЕЛИТЬ И УМНОЖИТЬ!!!
char: помню что такое есть, но что оно делает не скажу, поищи в интернете.
Var c:char; a,s,p,k:integer;
begin
readln(c);
a:=ord(c);
writeln('code = ',a);
s:=0; k:=0; p:=1;
while a>0 do
begin
s:=s+a mod 10;
p:=p*(a mod 10);
k:=k+1;
a:=a div 10;
end;
writeln('s = ',s,' p = ',p,' sr = ',s/k:5:2);
end.
Пример:
&
<span>code = 38
s = 11 p = 24 sr = 5.50</span>