Нужна помощь )) если не сложно с коментариями Описать функцию Transform(n), которая...

0 голосов
21 просмотров

Нужна помощь )) если не сложно с коментариями
Описать функцию Transform(n), которая "припишет" к числу n по единичке в начале и в конце. Обратиться к функции со значениями 23, 234, 2345.


Информатика (45 баллов) | 21 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1463 от 01.06.2017
// Внимание! Если программа не работает, обновите версию!

function Transform(n:integer):=('1'+n+'1').ToInteger;

begin
  Println(Transform(23),Transform(234),Transform(2345));
end.

Результат
1231 12341 123451
(150k баллов)
0 голосов

Function Transform(n:longint):longint;
Var
   k,B:longint;
Begin
B:=n;
k:=1;
While B <> 0 do
   Begin
   k:=k*10;
   WriteLn('k = ',k);
   B:=B div 10;
   End;
if n >= 0 then
   Begin
   WriteLn('n:= k + n = ',k,' + ',n,' = ',n+k);
   WriteLn('n:= 10*n + 1 = ',10*(k+n),' + ',1,' = ',(k+n)*10+1);
   Transform:=(k+n)*10+1
   End;
End;
Var
   A:longint;
Begin
Write('Введите целое число: ');ReadLn(A);
WriteLn(Transform(A))
End.

(6.6k баллов)