function highdigit(n:integer):integer;
var m:integer;
begin
if(n>=10) then
begin
m:=n div 10;
highdigit:=highdigit(m);
end
else
highdigit:=n;
end;
uses crt;
function highdigit(n:integer):integer;
begin
if(n<10) then highdigit:=n
else highdigit:=highdigit(n div 10);
end;
var x:integer;
begin
write('Введите число ');
readln(x);
writeln(highdigit(x));
end.
{ Написать рекурсивную программу, печатающую старшую цифру в
десятичной записи введенного натурального числа. }
//---------------
// 1.В следующей строке была пропущена точка с запятой
// программа не транслируется
function highdigit(var n:integer):integer;
// 2.В предыдущей строке смысловая ошибка, параметр не должен быть var
//---------------
var m:integer;
begin
if(n>10) then
// 3. В предыдщей строке ошибка, должно быть >=
begin
m:=n div 10;
highdigit:=highdigit(m);
end
else highdigit:=n;
end;
var
n: integer;
begin
n:=10;
writeln('Старшая цифра в числе', n, ' равна ', highdigit(n));
// следующая строка не компилируется из-за ошибки 2
// writeln('Старшая цифра в числе', 10, ' равна ', highdigit(10));
end.
Старшая цифра в числе10 равна 10
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.