kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Курсы ПК и ППК Видеоуроки Олимпиады Вебинары для учителей

Презентация на тему "Рекурсия в Pascal"

Нажмите, чтобы узнать подробности

Рекурсия — это такой способ организации вспомогательного алгоритма (подпрограммы), при котором эта подпрограмма (процедура или функция) в ходе выполнения ее операторов обращается сама к себе.

Пример задания: Выдать на печать в обратном порядке цифры целого положительного числа N.

Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.

Просмотр содержимого документа
«Презентация на тему "Рекурсия в Pascal" »

Необходимо найти среднее арифметическое двух чисел. Program arifm;  Uses Crt;  Var A, B : integer; Rez :real; Function SredArif(A, B:integer):real; Begin  SredArif:=(A+B)/2; End; Begin  ClrScr;  write('Введите два числа ');  readln(A,B);  Rez:=SredArif(A,B);  write('Cреднее арифметическое этих чисел равно ',Rez:5:3);  read key ; End.

Необходимо найти среднее арифметическое двух чисел.

Program arifm;

Uses Crt;

Var A, B : integer; Rez :real;

Function SredArif(A, B:integer):real;

Begin

SredArif:=(A+B)/2;

End;

Begin

ClrScr;

write('Введите два числа ');

readln(A,B);

Rez:=SredArif(A,B);

write('Cреднее арифметическое этих чисел равно ',Rez:5:3);

read key ;

End.

Среди  трехзначных  чисел  найти  такие , в  которых  сумма  факториалов  цифр  равнялась  бы  самому  числу . Program faktor;  var a,b,c,i,s1,s2,s3:integer;  procedure fak t (x:integer; var s:integer);  var i:integer;  begin s:=1;  for i:=1 to x do s:=s*i;  end;  begin for i:=100 to 999 do begin a:=i div 100; b:=(i-a*100) div 10; c:=i - a*100 - b*10;  fak t (a,s1); fak t (b,s2);  fak t (c,s3);  if s1+s2+s3=i then writeln (i); end; end.

Среди трехзначных чисел найти такие , в которых сумма факториалов цифр равнялась бы самому числу .

Program faktor;

var a,b,c,i,s1,s2,s3:integer;

procedure fak t (x:integer; var s:integer);

var i:integer;

begin

s:=1;

for i:=1 to x do

s:=s*i;

end;

begin

for i:=100 to 999 do

begin

a:=i div 100; b:=(i-a*100) div 10; c:=i - a*100 - b*10;

fak t (a,s1);

fak t (b,s2);

fak t (c,s3);

if s1+s2+s3=i then writeln (i);

end;

end.

Процедуры и функции. Рекурсия

Процедуры и функции. Рекурсия

Выдать на печать в обратном порядке цифры целого положительного числа N.  program one; uses Crt; PROCEDURE REVERSE (N: integer); Begin  Write (N mod 10);  If (N Div 10)0 Then REVERSE (N Div 10) END; var n: integer; begin clrscr; Write('n='); readln(n); reserve(n); readkey end.

Выдать на печать в обратном порядке цифры целого положительного числа N.

program one;

uses Crt;

PROCEDURE REVERSE (N: integer);

Begin

Write (N mod 10);

If (N Div 10)0 Then REVERSE (N Div 10)

END;

var n: integer;

begin clrscr;

Write('n=');

readln(n);

reserve(n);

readkey

end.

1 then convert(z div 8); write(z mod 8); end; begin writeln(‘введите десятичное число'); readln(z); write( ‘соответствующее восьмеричное число = '); convert(z); readkey end." width="640"

Рекурсивная процедура convert переводит десятичное число z в восьмеричную систему путем деления его на 8 и выдачи остатка в обратной последовательности.

Program konvert; uses crt;

var z:integer;

procedure convert(z:integer);

begin

if z 1 then convert(z div 8);

write(z mod 8);

end;

begin

writeln(‘введите десятичное число');

readln(z);

write( ‘соответствующее восьмеричное число = ');

convert(z);

readkey

end.

=10) do begin n:=n div 10; k:=k+1; end; str:=k; end; var n: longint; begin clrscr; Write('n='); readln(n); write (str( ‘ количество цифр ’ , n)); readkey end." width="640"

Построить программу подсчета количества цифр заданного натурального числа

program one;

uses Crt;

function str(n:longint):integer;

Var k: integer;

begin

k:=1;

while (n=10) do begin

n:=n div 10;

k:=k+1; end; str:=k; end;

var n: longint;

begin clrscr;

Write('n=');

readln(n);

write (str( количество цифр , n));

readkey

end.

=10) do begin k:=k+1;n:=n div 10; str(n,k,l); end; l:=k; end; var n: longint; k,l: integer; begin clrscr; Write('n='); readln(n); k:=1; str(n,k,l); write (l); readkey end." width="640"

Использую рекурсивную подпрограмму, построить программу подсчета количества цифр заданного натурального числа

program one;

uses Crt;

procedure str(n:longint; k: integer; var l:integer);

begin

while (n=10) do begin k:=k+1;n:=n div 10; str(n,k,l); end;

l:=k;

end;

var n: longint; k,l: integer;

begin clrscr;

Write('n=');

readln(n); k:=1; str(n,k,l);

write (l);

readkey

end.


    Получите в подарок сайт учителя

    Предмет: Информатика

    Категория: Презентации

    Целевая аудитория: Прочее

    Скачать
    Презентация на тему "Рекурсия в Pascal"

    Автор: Бондаренко Ольга Олеговна

    Дата: 29.01.2015

    Номер свидетельства: 163692


    Получите в подарок сайт учителя

    Видеоуроки для учителей

    Курсы для учителей

    ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

    Добавить свою работу

    * Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

    Удобный поиск материалов для учителей

    Ваш личный кабинет
    Проверка свидетельства