mám za ukol napsat program na zjištění prvočísel mamho hotový ale névím jak ho obhájit prosím o radu jak funguje,děkuju
Program Procnikovka;
uses CRT;
var A,D,cislo:longint;
begin
clrscr;
textcolor (green);
begin
D:=0;
A:=2;
writeln ('Zadej Cislo a ja zjistim, je-li to prvocislo.');
readln (cislo);
if cislo>0 then
begin
if cislo=1 then writeln ('Zadane cislo neni prvocislo ani cislo slozene .')
else
begin
while (A<(cislo)) and (D = 0) do
begin
if (cislo mod A = 0) then D:=D+1;
if A>2 then A:=A+2
else A:=A+1;
End;
if D=0 then
writeln ('Zadane cislo je prvocislo .')
else writeln ('Zadane cislo neni prvocislo .');
end; end
else writeln('program pracuje jen s kladnymi cisly');
end;
readln;
end.
Fórum › Pascal
Pomoc prvočísla nutně
uses CRT; {použije knihovnu crt}
var A,D,cislo:longint; {deklaruje proměnné typu longint}
begin
clrscr; {vymaže obrazovku}
textcolor (green); {nastaví barvu textu na zelenou}
begin
D:=0; {do D přiřadí hodnotu 0}
A:=2; {do A přiřadí hodnotu 2}
writeln ('Zadej Cislo a ja zjistim, je-li to prvocislo.'); {vypíše text v apostrofech a odřádkuje}
readln (cislo); {získá číslo od uživatele a odřádkuje}
if cislo>0 then {pokud je cislo > 0}
begin {skočí sem}
if cislo=1 then writeln ('Zadane cislo neni prvocislo ani cislo slozene .') {pokud je cislo = 1 vypíše text v apostrofech a odřádkuje}
else {jinak}
begin
while (A<cislo) and (D = 0) do {pokud je číslo > A a zároveň D = 0}
begin {proveď tento blok}
if (cislo mod A = 0) then D:=D+1; {pokud je zbytek po celočíselném dělení roven 0 do D přířaď D+1 (lze nahradit inc(D))}
if A>2 then A:=A+2 {pokud A > 2 do a přiřaď A +2}
else A:=A+1; {jinak zvyš A o jednu}
End;
if D=0 then {pokud je D=0 vypiš text v apostrofech}
writeln ('Zadane cislo je prvocislo .')
else writeln ('Zadane cislo neni prvocislo .'); {jinak vypiš tento text}
end; end
else writeln('program pracuje jen s kladnymi cisly'); {vypiš tento text}
end;
readln;
end.
doufám že okomentovaný ti to bude stačit
AHoj hele ja jsem neco podobnyho taky resil..slo by to udelat takhle?
var
cislo : integer;
vysledek : integer;
Prvocislo : boolean;
begin
writeln('Zadejte nejaky cislo');
read(cislo);
Prvocislo:=False;
for i:=(cislo-1) downto 2 do
begin
vysledek:=cislo mod i;
if vysledek=0 then prvocislo:=True;
end;
if prvocislo=False then write('Prvocislo') else ('Neni');
end.
To Adrian: no jo, slo, sice je to dost "neefektivni", ale asi funkcni.
(jenom drobna poznamka: celkem me zmatl vyznam promenne prvocislo -- clovek by si myslel, ze kdyz je true, tak to znamena, ze cislo je prvocislo a ne naopak) ;)
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 7 hostů
Podobná vlákna
Co je to za hru? NUTNĚ! — založil Danstahr
Delphi matice - nutné — založil Belinka
Nutné schopnosti na trhu — založil KARLOSCZ1979
NUTNĚ POTŘEBUJI KOUPIT KNIHU — založil xp
Prosím,nutně potřebuji pomoct v Zalu — založil Neros
Moderátoři diskuze