Turbo Pascal
 
Szukanie zaawansowane
   
 
Home Rejestracja FAQ Użytkownicy Grupy Galerie  
 
 


Forum Turbo Pascal Strona Główna Pytania Obliczanie silni
Wyświetl posty z ostatnich:   
       
Napisz nowy temat  Odpowiedz do tematu Idź do strony Poprzedni  1, 2, 3

Pon 15:13, 20 Lut 2006
Autor Wiadomość
istredd`
Średnio zaawansowany



Dołączył: 14 Lut 2006
Posty: 37
Przeczytał: 0 tematów

Ostrzeżeń: 0/3
Skąd: Kraków

Temat postu:

Kod:
program silnia;
uses crt;

var
        a,i : integer;
        wynik : int64;

begin
        repeat
                write('Wpisz liczb© naturalna: [0..20]');
                read(a);
                if a < 0 then
                begin
                        clrscr;
                        writeln('To nie jest liczba Naturalna!');
                end;
                if a > 20 then
                begin
                        clrscr;
                        writeln('Liczba spoza zakresu');
                end;
        until (a >= 0) and (a <= 20);
        wynik := 1;
        for i := 1 to a do wynik := wynik*i;
        write(a,'! = ',wynik);
end.


Post został pochwalony 0 razy

Ostatnio zmieniony przez istredd` dnia Pon 15:22, 20 Lut 2006, w całości zmieniany 2 razy
 
Zobacz profil autora
      Do góry  
Pon 15:17, 20 Lut 2006
Autor Wiadomość
zielony_admin
Średnio zaawansowany



Dołączył: 18 Lut 2006
Posty: 22
Przeczytał: 0 tematów

Ostrzeżeń: 0/3

Temat postu:

istredd` napisał:
..., po drugie za bardzo rozbudowany...


No nie wiem istredd czy ten Twój program jest mniej rozbudowany :lol: . Silnie najlepiej jest liczyć rekurencją (rekursją) tak jak napisałem.


Post został pochwalony 0 razy
 
Zobacz profil autora
      Do góry  

Pon 16:35, 20 Lut 2006
Autor Wiadomość
istredd`
Średnio zaawansowany



Dołączył: 14 Lut 2006
Posty: 37
Przeczytał: 0 tematów

Ostrzeżeń: 0/3
Skąd: Kraków

Temat postu:

Bez sprawdzania warunku kod bez rekurencji też nie będzie duży.
Kod:
program silnia;
uses crt;

var
        a,i : integer;
        wynik : int64;

begin
        read(a);
        wynik := 1;
        for i := 1 to a do wynik := wynik*i;
        write(a,'! = ',wynik);
end.


Post został pochwalony 0 razy
 
Zobacz profil autora
      Do góry  

Pon 16:52, 20 Lut 2006
Autor Wiadomość
zielony_admin
Średnio zaawansowany



Dołączył: 18 Lut 2006
Posty: 22
Przeczytał: 0 tematów

Ostrzeżeń: 0/3

Temat postu:

Jeśli chodzi o te warunki, to musiałbyś również sprawdzić, czy wpisany znak nie jest literą, oraz czy nie jest liczbą rzeczywistą itd. Ale nie wiem czy to ma większy sens :/.

Post został pochwalony 0 razy
 
Zobacz profil autora
      Do góry  
Napisz nowy temat  Odpowiedz do tematu Idź do strony Poprzedni  1, 2, 3

 
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


      Do góry  

Strona 3 z 3
Idź do strony Poprzedni  1, 2, 3
Skocz do:  
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Avalanche style by What Is Real © 2004
             
Regulamin