Урок 21. Задача 7.

Урок 21. Задача 7.

Дано натуральное число N. Вычислите сумму его цифр.

(При решении этой задачи нельзя использовать строки, списки, массивы (ну и циклы, разумеется). Разрешена только рекурсия и целочисленная арифметика. Используйте операцию получения остатка от деления, и операцию целочисленного деления).

Урок 21. Задача 6.

Урок 21. Задача 6.

Пользователь получает на вход целое положительное число N напишите рекурсивную функцию, которая вернет число Фиббоначи стоящими под этим номером

var N :integer;

function inputF(N :integer) :integer;
begin
  if N <= 2 then
    inputF := 1
  else
    inputF := inputF(N - 1) + inputF(N - 2);
end;

begin
  write(inputF(9));
end.

Урок 21. Задача 5.

Урок 21. Задача 5.

Пользователь получает на вход целое положительное число N напишите рекурсивную процедуру, которая выведет все числа Фиббоначи от первого до N-ого

var N, n1, n2 :integer;

procedure inputF(N, n1, n2 :integer);
var i, fib :integer;
begin
  if i < N then
  begin
    write(n1, ' ');
    fib := n1 + n2;
    n1 := n2;
    n2 := fib;
    inputF(N - 1, n1, n2);
  end;
end;

begin
  N := 9;
  n1 := 0;
  n2 := 1;
  inputF(N, n1, n2);
  readln();
end.

Урок 21. Задача 4.

Урок 21. Задача 4.

Дано целое положительное число N, вычислите N! (эн факториал).

function inputF(a :integer) :integer;
begin
  if 1 < a then 
    a := a * inputF(a - 1);
  inputF := a;
end;

begin
  write(inputF(4));
  readln();
end.

Урок 21. Задача 3.

Урок 21. Задача 3.

Дано целое положительное число A и целое положительно число B. Выведите на экран все числа, расположенные между между ними.

var a, b :integer;

function inputN(a, b :integer) :integer;
begin
  if a < b then  
  begin
    write(a, ' ');
    inputN := inputN(a + 1, b);
  end
  else
    if b < a then
    begin
      write(b, ' ');
      inputN := inputN(b + 1, a);
    end;    
end;

begin
  a := 14;
  b := 8;
  inputN(a, b);
  readln();
end.

Урок 21. Задача 2.

Урок 21. Задача 2.

Дано целое положительное число N. Выведите на экран все число от 1 до N (по возрастанию).

var N :integer;

function decrease(N :integer) :integer;
begin
  if N > 0 then
  begin
    decrease := decrease(N - 1);
    write(N, ' ');
  end;
end;

begin
  decrease(5);
  readln();
end.

Урок 21. Задача 1.

Урок 21. Задача 1.

Дано целое положительное число N. Выведите на экран все число от N до 1 (по убыванию).

var N :integer;

function decrease(N :integer) :integer;
begin
  if N > 0 then
  begin
    write(N, ' ');
    decrease := decrease(N - 1);
  end;
end;

begin
  decrease(5);
  readln();
end.

Урок 22. Задача 2.

Урок 22. Задача 2.

Есть исходный код:

var s:string;  i, n: Integer;
  a:  array[1..8] of char;
begin
 writeln('Vvedite stroku');
 readln(s);
 n := 1;
 while(n<10) do      // 1-8
   begin
   for i:=1 to Length(s) do
       if (s[i]>='0')and(s[i]<='9') then
         begin
           a[n]:=s[i]; 
           inc(n); 
         end;
   end;
 for i:=low(a) to high(a) do
   write(a[i],' '); // выводим массив
 readln();
end.

Задача:

Урок 22. Задача 1.

Урок 14.1 Задача 2

Урок 14.1 Задача 2

Напишите процедуру, которая получает на вход два целых числа и выводит на экран то, которое больше

program Project1;
procedure pishi(a: integer);
procedure pishi(b: integer);
var a, b: integer;
begin
  writeln('Введите целое число');
  Readln(a);
  writeln('Введите целое число');
  readln(b);
end;

begin
  if (a>b) then
    pishi(a);
  else
    pishi(b);
  writeln('Конец!');
end.                           
Пока что так

Pages

Subscribe to fkn+antitotal RSS