Составить процедуру вычисления значения целого числа по заданной строке символов являющейся записью этого числа в десятичной системи счисления(паскаль)
Несколько вариантов:
program StrToInt;
uses crt;
var
st : string;
num : integer;
function val1 (s : string) : integer;
var
i, res : integer;
s1 : string;
begin
s1 := ;
res := 0;
for i:=1 to length(s) do
case s[i] of
0 : s1 := s1+0;
1 : s1 := s1+1;
2 : s1 := s1+2;
3 : s1 := s1+3;
4 : s1 := s1+4;
5 : s1 := s1+5;
6 : s1 := s1+6;
7 : s1 := s1+7;
8 : s1 := s1+8;
9 : s1 := s1+9;
end;
val (s1, res);
if s[1]=- then res := res * -1;
val1 := res;
end;
function isnumber (ch : char) : boolean;
var res : boolean;
begin
res := false;
case ch of
0 : res := true;
1 : res := true;
2 : res := true;
3 : res := true;
4 : res := true;
5 : res := true;
6 : res := true;
7 : res := true;
8 : res := true;
9 : res := true;
end;
isnumber := res;
end;
function val2 (s : string) : integer;
var
i, res : integer;
begin
res := 0;
for i:=1 to length(s) do begin
if isnumber(s[i]) then res := res*10 + byte(s[i])-byte(0);
end;
val2 := res;
end;
BEGIN
write(Input a string: );
readln(st);
val(st, num);
writeln(Standart function: , num);
num := val1(st);
writeln(Function VAL1: , num);
num := val2(st);
writeln(Function VAL2: , num);
END.
