Potrebujem jednoduchu radu od programatora
Potrebujem jednoduchu radu od programatora
Program v Turbo Pascal
Program SKONCI_TO;
var N, POCET: word;
Begin
Write (‘Zadaj prirodzene cislo ‘); ReadLn (N);
POCET:= 0; Write (N, ‘, ‘);
while N<>1 do
begin
if N mod 2 = 0 then N:= N div 2
else N:= 3*N+1;
POCET:= POCET+1;
Write (N, ‘, ‘);
end;
WriteLn (‘ pocet krokov = ‘, POCET);
ReadLn;
End
Upravte program tak, aby vypisoval v jednom riadku počet opakovaní a za ním spôsob zmeny
(párne alebo nepárne) a hodnotu upravenej premennej N.
Dobry neskory vecer!
Ako mam k podmienke pridat dalsie veci ktore sa maju vykonat napriklad chcem zeby to cislo delilo 2 ked je parne a sucasne za neho dopisalo ze cislo je parne alebo neparne napr. "15 neparne"
mozte mi prepisat ten programek tak aby vyhovoval uprave uvedenej hned pod End programu ?
dik
Program SKONCI_TO;
var N, POCET: word;
Begin
Write (‘Zadaj prirodzene cislo ‘); ReadLn (N);
POCET:= 0; Write (N, ‘, ‘);
while N<>1 do
begin
if N mod 2 = 0 then N:= N div 2
else N:= 3*N+1;
POCET:= POCET+1;
Write (N, ‘, ‘);
end;
WriteLn (‘ pocet krokov = ‘, POCET);
ReadLn;
End
Upravte program tak, aby vypisoval v jednom riadku počet opakovaní a za ním spôsob zmeny
(párne alebo nepárne) a hodnotu upravenej premennej N.
Dobry neskory vecer!
Ako mam k podmienke pridat dalsie veci ktore sa maju vykonat napriklad chcem zeby to cislo delilo 2 ked je parne a sucasne za neho dopisalo ze cislo je parne alebo neparne napr. "15 neparne"
mozte mi prepisat ten programek tak aby vyhovoval uprave uvedenej hned pod End programu ?
dik
-
sINN3R
Medium Star
- Príspevky: 330
- Registrovaný: 17 jún 2006, 11:21
- Bydlisko: Trencin - Slovakia - EU
- Kontaktovať používateľa:
presne nechapem co potrebujes resp. nechapem co ma ten algoritmus robit ale mozno toto [keby nie tak ma naved na spravny smer
]:
Kód: Vybrať všetko
var N, POCET: word;
Begin
Write (‘Zadaj prirodzene cislo ‘);
ReadLn (N);
POCET:= 0;
Write (N, ‘, ‘); {toto tu je ako vypis pociatocnej hodnoty ?}
while N<>1 do
begin
if N mod 2 = 0 then begin {vsetko co je mod 2 = 0 je parne a zvysok je neparny}
N:= N div 2;
Write (N, ‘ parne, ‘);
end
else begin
N:= 3*N+1;
Write (N, ‘ neparne, ‘);
end;
POCET:= POCET+1;
end;
WriteLn (‘ pocet krokov = ‘, POCET);
ReadLn;
End.
mohli by ste mi este s niecim pomoct ? Potrebujem vysvetlit cinnost programu ako to funguje presnejsie co ide prve a co su hodnoty x,y a pomoc. dakujem
Program KRATENIE_ZLOMKOV;
var A, B: integer;
Function NSD(x, y: integer): integer; forward;
Procedure KratZlomok(var citatel, menovatel: integer);
var pomoc: integer;
begin { KratZlomok }
pomoc:= NSD(citatel, menovatel);
citatel:= citatel div pomoc;
menovatel:= menovatel div pomoc;
end; { KratZlomok }
Function NSD; { už bez uvedenia parametrov a typu výsledku}
var pomoc: integer;
begin { NSD }
while x<>0 do
begin {while}
pomoc:= x mod y;
x:= y;
y:= pomoc;
end; {while}
NSD:= x;
end; { NSD }
Begin { Hlavný program / “ozdoby” si každý dorobí sám! }
ReadLn(A, B);
KratZlomok(A, B);
WriteLn(A, B);
End.
mam tam sice vysvetlivky ale neviem si to nejak zrovnat v hlave.
Program KRATENIE_ZLOMKOV;
var A, B: integer;
Function NSD(x, y: integer): integer; forward;
Procedure KratZlomok(var citatel, menovatel: integer);
var pomoc: integer;
begin { KratZlomok }
pomoc:= NSD(citatel, menovatel);
citatel:= citatel div pomoc;
menovatel:= menovatel div pomoc;
end; { KratZlomok }
Function NSD; { už bez uvedenia parametrov a typu výsledku}
var pomoc: integer;
begin { NSD }
while x<>0 do
begin {while}
pomoc:= x mod y;
x:= y;
y:= pomoc;
end; {while}
NSD:= x;
end; { NSD }
Begin { Hlavný program / “ozdoby” si každý dorobí sám! }
ReadLn(A, B);
KratZlomok(A, B);
WriteLn(A, B);
End.
mam tam sice vysvetlivky ale neviem si to nejak zrovnat v hlave.
najskor trochu zmrdavky: davaj to do code inak sa to neda dobre citat.
a teraz co tam mame:
Procedura KratZlomok a Funkcia NSD
Funkcia NSD hlada najvacieho spolocneho delitela na zaklade Euklidovho algoritmu (viac tu) najjednoduchy postup ako ziskat delitela
Procedura KratZlomok zisti najvacsieho delitela a vydeli tym vrchu aj spodnu cast zlomku takze dostanes zlomok v zakladnom tvare.
Hlavna cast probgramu potom uz len ukazuje funkcnost a ako je napisane bez ozdob
a teraz co tam mame:
Procedura KratZlomok a Funkcia NSD
Funkcia NSD hlada najvacieho spolocneho delitela na zaklade Euklidovho algoritmu (viac tu) najjednoduchy postup ako ziskat delitela
Procedura KratZlomok zisti najvacsieho delitela a vydeli tym vrchu aj spodnu cast zlomku takze dostanes zlomok v zakladnom tvare.
Hlavna cast probgramu potom uz len ukazuje funkcnost a ako je napisane bez ozdob
No mam Turbo Pascal 7.0 ... by borland international
Daco som uz nasiel, ale ajtak thx
idem to vyskusat ci ide
Aha nejde to
(( skusal som aj crt aj ten patch stale pise divison by zero...
co robim zle ?
Zrejme budem musiet zabudnut na priklady podobneho typu dufam ze ich vela nie je
alebo nemohli by ste mi nejak poslat tie subory co obsahuje ten patch ?
je ich tusim 6 alebo 7
lebo ked spustim ten t7tplfix v adresari turbo pascalu, dam moznost p ako je to v popise aby aplikovalo patch pise ze "none of the files found" ...
Daco som uz nasiel, ale ajtak thx
Aha nejde to
co robim zle ?
Zrejme budem musiet zabudnut na priklady podobneho typu dufam ze ich vela nie je
alebo nemohli by ste mi nejak poslat tie subory co obsahuje ten patch ?
je ich tusim 6 alebo 7
lebo ked spustim ten t7tplfix v adresari turbo pascalu, dam moznost p ako je to v popise aby aplikovalo patch pise ze "none of the files found" ...