Урок 17 (Решенная задача номер 4)

Урок 17 (Решенная задача номер 4)

Пользователь вводит в консоль строку вида:

Имя         123

-- т.е. слева имя и через произвольное количество пробелов число баллов. Разберите эту строку получив имя пользователя как значение в переменной типа string и число баллов в перееменной типа integer;

var s, name, g: string;
    bal, i, c : integer;
begin
  s := 'Roman    5';
  for i := 1 to length(s) do
    begin
      if (s[i] <> '') and (s[i] > '9') then
      name := name + s[i];
      if (s[i] >= '0') and (s[i] <= '9') then
        g := g + s[i];
      if (i = length(s)) then
          val(g, bal, c);
    end;
  writeln('imy ', name);
  writeln('colicestvo ballov - ', bal);
end.
vedro-compota's picture

оформите решение в виде подпрограммы

_____________
матфак вгу и остальная классика =)

Romakip's picture

var s: string;

function ru36(h : string): integer;
var  bal, i, c : integer;
     name, g: string;
begin
for i := 1 to length(h) do
    begin
      if (h[i] <> '') and (h[i] > '9') then
      name := name + s[i];
      if (h[i] >= '0') and (h[i] <= '9') then
        g := g + s[i];
      if (i = length(h)) then
          val(g, bal, c);
    end;
  writeln('imy ', name);
  writeln('colicestvo ballov - ', bal);
end;

begin
  writeln('vvedite stroky');
  readln(s);
  ru36(s);
end. 
vedro-compota's picture

меняем имя процедуры на понятное

_____________
матфак вгу и остальная классика =)

Romakip's picture

var s: string;

function RazdelenieNaImyIBall(h : string): integer;
var  bal, i, c : integer;
     name, g: string;
begin
for i := 1 to length(h) do
    begin
      if (h[i] <> '') and (h[i] > '9') then
        name := name + s[i];
      if (h[i] >= '0') and (h[i] <= '9') then
         g := g + s[i];
      if (i = length(h)) then
         val(g, bal, c);
    end;
  writeln('imy ', name);
  writeln('colicestvo ballov - ', bal);
end;

begin
  writeln('vvedite stroky');
  readln(s);
  RazdelenieNaImyIBall(s);
end.