TURIN9 [ Pretorianin ]
Pascal :(
Mam problem z pascalem, mam w nim napisac program ktory: ma sprawdzic czy podana przez uztykownika liczeba jest naturalna i czy jest podzielna przez 3 ,7 i 9. z góry dzieki
fifalk [ fifalkowiec ]
moze jakies konkretne pytanie? mamy Ci program napisac.....?
ejpi [ Konsul ]
TURIN9--------> to życze ci miłego pisania w spokoju. I bardzo fajnie że się z nami podzieliłeś informacją że program piszesz.
ejpi [ Konsul ]
Aaaaaa masz problem z Pascalem. Napewno sobie piszesz program a ten Pascal ci przeszkadza. To dawaj adres zobacze co się da zrobić.
cwirek [ Chor��y ]
TURIN9 --> Proszę :) Ale następnym razem postaraj się sam napisać, bo inaczej nic się nie nauczysz.
program liczby_nat;
uses crt;
var a,b,p:integer;
begin
clrscr;
writeln('Podaj liczbe');
readln(a);
if a<0 then
writeln('Liczba',a,' nie jest liczba naturalna.')
else
begin
write('Liczba ',a,' jest liczba naturalna,');
if (a mod 3)=0 then
write(' jest podzielna przez 3.')
else
write(' nie jest podzielna przez 3.');
if (a mod 6)=0 then
write(' jest podzielna przez 6.')
else
write(' nie jest podzielna przez 6.');
if (a mod 9)=0 then
write(' jest podzielna przez 9.')
else
write(' nie jest podzielna przez 9.');
end;
repeat until keypressed;
end.
Zamień " na jedna kreseczke u góry bo coś na forum zmieniło.
TURIN9 [ Pretorianin ]
dzieki ale glupek ze mnie mod no tak :) dzieki
fifalk [ fifalkowiec ]
wskazowka: liczba 2.3 tez jest wieksza od 0, a nie jest liczba naturalna
Tomuslaw [ Konsul ]
cwirek:
Nie trzeba było pisać "uses" oraz "repeat until keypressed", ponieważ jak nie pamiętał o "mod", to jak może wiedzieć (pamiętać) o tamtych (jeśli je miał, rzecz jasna, a z tego, co widzę, to nie).
TURIN9:
skomplikuję Ci życie i napiszę Ci ten sam program (ale krótszy :> lecz z pętlą).
program liczby_nat;
uses
crt;
var
a, x: integer;
begin
clrscr;
writeln('Podaj liczbe');
readln(a);
if a<=0 then writeln('To nie jest liczba naturalna!')
else
writeln('Liczba ',a,' dzieli sie przez');
for x:=1 to 3 do
begin
if (a mod 3)=0 then writeln('3');
if (a mod 7)=0 then writeln('7');
if (a mod 9)=0 then writeln('9');
end;
readln;
end.
Jeśli chodziło Ci o liczbę podzielną przez i 3 i 7 i 9 to:
program liczby_nat;
uses
crt;
var
a, x: integer;
begin
clrscr;
if (a mod 3)=0 then
if (a mod 7)=0 then
(a mod 9)=0 then
writeln('Liczba jest podzielna przez 3, 7 i 9')
else writeln('Liczba nie jest podzielna przez 3, 7 i 9');
readln;
end.
Mam nadzieję, że pomogłem ;)
Jeśli w programie występuje błąd to proszę poprawić
Tomuslaw [ Konsul ]
przepraszam:
w pierwszym powinno być bez pętli.
bez
"(...) for x:=1 to 3 do
begin (...) end; (...)"
a w drugim powinno być:
"(...)if (a mod 9)=0 then (...)"
Przepraszam, ale się zagalopowałem :)
TURIN9 [ Pretorianin ]
dzieki wszystkim za pomoc
Father Michael [ Padre ]
"if a<=0 then writeln('To nie jest liczba naturalna!')"
-TEST-> a := 3,5
a > 0 wiec wg tego programu 3,5 jest liczba naturalna.
Father Michael [ Padre ]
wystarczy zmodyfikowac:
IF (a >= 0) AND (a mod 1 = 0) THEN WRITELN ('To jest liczba naturalna');