From dcfa497626f92d141daba2648828f8ad1d0ef047 Mon Sep 17 00:00:00 2001 From: materus Date: Mon, 18 Nov 2024 16:10:37 +0100 Subject: [PATCH] Suma cyfr Rekurencyjnie - Pascal --- .../Pascal/AiSD5_C3/zad4_suma_cyfr_rek.pas | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Algorytmy i struktury danych/Pascal/AiSD5_C3/zad4_suma_cyfr_rek.pas diff --git a/Algorytmy i struktury danych/Pascal/AiSD5_C3/zad4_suma_cyfr_rek.pas b/Algorytmy i struktury danych/Pascal/AiSD5_C3/zad4_suma_cyfr_rek.pas new file mode 100644 index 0000000..556fb29 --- /dev/null +++ b/Algorytmy i struktury danych/Pascal/AiSD5_C3/zad4_suma_cyfr_rek.pas @@ -0,0 +1,33 @@ +program suma_cyfr; +function Czytaj_liczbe : Integer; +var + liczba : Integer; +begin + write('Podaj liczbe: '); + readln(liczba); + Czytaj_liczbe:=liczba; +end; + +function Suma_cyfr(liczba : Integer) : Integer; +begin + if liczba = 0 then + Suma_cyfr:=0 + else + Suma_cyfr:= (abs(liczba) mod 10) + Suma_cyfr(liczba div 10); +end; + +procedure Wypisz_wynik(liczba : Integer; suma : Integer ); +begin + writeln('Suma cyfr liczby ', liczba, ' to ', suma); +end; + +procedure Glowna_procedura; +var liczba : Integer; +begin + liczba:=Czytaj_liczbe(); + Wypisz_wynik(liczba,Suma_cyfr(liczba)); +end; + +begin + Glowna_procedura(); +end.