Дано натуральное число N. Вычислите сумму его цифр.
var x1,a1:integer;
function summ(x,a:integer):integer;
begin
if x {div 10}>=10 then
result:=a+summ(x div 10, (x mod 10))
else
result:=a+x;
end;
begin
x1:=765;
a1:=0;
write(summ(x1,a1));
readln();
end.
Пользователь получает на вход целое положительное число N напишите рекурсивную функцию, которая вернет число Фиббоначи стоящии под этим номером
var n1,a1,b1,i1:integer;
function vivod(a,b,i,N:integer):integer;
begin
if n>i then
begin
result:=vivod(b,a+b,i+1,n);
end
else
result:=a;
end;
begin
n1:=5;
a1:=1;
b1:=2;
i1:=1;
write(vivod(a1,b1,i1,n1));
readln();
end.
Пользователь получает на вход целое положительное число N напишите рекурсивную процедуру, которая выведет все числа Фиббоначи от первого до N-ого
var n1,a1,b1,i1:integer;
function vivod(a,b,i,N:integer):integer;
begin
if n>i then
begin
write(a);
result:=vivod(b,a+b,i+1,n);
end
else
result:=a;
end;
begin
n1:=5;
a1:=1;
b1:=2;
i1:=1;
write(vivod(a1,b1,i1,n1));
readln();
end.
Дано целое положительное число N, вычислите N! (эн факториал).
var n1:integer;
function vivod(N:integer):integer;
begin
if n>1 then
begin
result:=n*vivod(n-1);
end
else
result:=n;
end;
begin
n1:=5;
write(vivod(n1));
readln();
end.
Дано целое положительное число A и целое положительно число B. Выведите на экран все числа, расположенные между между ними.
var a1,b1:integer;
function vivod(a,b:integer):integer;
begin
if a<b then
begin
write(a);
result:=vivod((a+1),b);
end
else
result:=a;
end;
begin
a1:=2;
b1:=8;
vivod(a1+1,b1);
readln();
end.
Дано целое положительное число N. Выведите на экран все число от 1 до N (по возрастанию).
var n1:integer;
function vivod(N:integer):integer;
begin
if n>=1 then
begin
result:=vivod((n-1));
write(n);
end
else
result:=n;
end;
begin
n1:=5;
vivod(n1);
readln();
end.
Дано целое положительное число N. Выведите на экран все число от N до 1 (по убыванию).
var n1:integer;
function vivod(N:integer):integer;
begin
if n>1 then
begin
write(n);
result:=vivod((n-1));
end
else
result:=n;
end;
begin
n1:=5;
write(vivod(n1));
readln();
end.
Задача 4 Урок 20 Дан текстовый файл, в котором с в ASCII-стиле нарисованы цепочки из цифр, которые связаны по горизонтали и вертикали.
Все цепочки составляют одно дерево, которое устроено так:
всегда есть общий корень и это цифра
-по горизонтали цепочка не разрывается пробелами, соединяется же с помощью -последовательностей знака - (тире).
-по вертикали цепочка не разрывается переносом строк, соединяется же с помощью вертикальных последовательностей символа | (вертикального разделителя).
Задача 3 Урок 20 Имеется текстовый файл в котором содержится не более 30 строк, в каждой строке не более 30 символов (пробелы тоже считаются символами). Цифры и другие символы перемешаны в каждой строке.
Задание: найдите максимальное число, c учетом того, что числом считаются подряд идущие цифры не только по горизонтали, но и по вертикали.
Задача 2 Урок 20 У вас есть текстовый файл с информацией об итогах соревнований (каждая строка имеет формат: имя + произвольное число пробелов + балл 1 + произвольное число пробелов + балл
Вася 16 485
Коля 17 555
Юра 18 61
слева указаны имена участников, а справа число баллов.
Первое число в каждой строке -- штрафные баллы набранные участниками, а второе число -- "положительные баллы", то есть если у нас есть строка:
где N
-число шрафных баллов, а M