while do pisati u if else

Hardware, software, mobiteli, programiranje, internet...

Moderator: Bobi

Post Reply
User avatar
threshold
Posts: 1546
Joined: 09/03/2010 20:34

#1 while do pisati u if else

Post by threshold » 16/06/2012 23:52

nije test inteligencije nit koji djavo nego mi treba u vezi necega
a iscrpio sam mozak vec drugim trivijalnostima

WHILE USLOV then NESTO1

pisati u

if USLOV then NESTO1 else FALSE
else blablabla
a to nesto1 smije biti neka funkcija koja to nesto odradi .

Trivijano da ne moze trivijalnije biti, ali jednostavno ne mogu da skontam.


User avatar
nermin.padez
Posts: 926
Joined: 23/05/2012 17:08

#2 Re: while do pisati u if else

Post by nermin.padez » 17/06/2012 00:31

threshold wrote:nije test inteligencije nit koji djavo nego mi treba u vezi necega
a iscrpio sam mozak vec drugim trivijalnostima

WHILE USLOV then NESTO1

pisati u

if USLOV then NESTO1 else FALSE
else blablabla
a to nesto1 smije biti neka funkcija koja to nesto odradi .

Trivijano da ne moze trivijalnije biti, ali jednostavno ne mogu da skontam.

Sta ti nije jasno:

Dok je zadovoljen USLOV radi NESTO‚ inace blabla

Ako je zadovoljen uslov radi NESTO1 :D

User avatar
hakazvaka
Forum administrator
Posts: 6313
Joined: 11/02/2008 09:27
Location: $_SESSION[]
Contact:

#3 Re: while do pisati u if else

Post by hakazvaka » 17/06/2012 00:47

Ako pitas u cemu je razlika:

WHILE (dok eng.) ce ponavljati neku radnju SVE DOK neki uslov BUDE ispunjen.

IF (ako eng.) ce URADITI neku radnju ako je neki uslov ispunjen u momentu nailaska na tu petlju.

Simple, nadam se da ti je malo jasnije :)

Ako nije:
-> Ulazis autom u kruzni tok... while not tvoje skretanje then vozi u unutrasnjoj traci

-> Prilazis rijeci... if postoji most then prelazis preko njega else ostajes tu

User avatar
threshold
Posts: 1546
Joined: 09/03/2010 20:34

#4 Re: while do pisati u if else

Post by threshold » 17/06/2012 01:17

Sa ima haka ;)

ma jasno je to meni ko slika al radi se o tome da je jezik u kojem radim, i koji nema veze sa programiranjem, vec je matematicki, pa imam i svoj interpreter, koji ne poznaje while, nego samo if-else grananje. Problem je sada kodirati while u if-else tako da ga moj dekoder moze prepoznat. jezik preopznaje i pojam funkcije, bar je to neko olaksanje.
uz parametre dodati neki dodatni parametar? ciklicnost neku napravit? nemam pojma. da vas cujem. :) poz

belfy
Posts: 4216
Joined: 06/08/2007 09:00
Been thanked: 17 times

#5 Re: while do pisati u if else

Post by belfy » 17/06/2012 01:37

dugo me nije bilo u ovim vodama. tesko je shvatiti tvoj problem iz uvodnog posta. najcesce gresta zna biti sto while odradi jednu petlju vise od if-then u istim uslovima. to je obicno bio jedini detalj koji bi ja pazio. ostalo zavisi od svega ostalog. :) sretno!

x-ray
Posts: 86
Joined: 29/08/2010 01:11

#6 Re: while do pisati u if else

Post by x-ray » 17/06/2012 01:58

Ako sam dobro skontao, ti imas problem kako sa if-om napraviti loop tj ponavljanje jer while je loop a if je samo jedan cvor. Cvor ne mora,a moze biti sastavni dio loopa.

Ako nemas while, imas li "for" jer na neki nacin moras napraviti loop inace ces morati napraviti onoliko if-ova koliko imas uslova.

Probaj koristiti "for i = 1 to nekiBroj" ili probaj pisati if iza if-a. Ocigledno postoji neka varijabla koja ti se povecava za jedan pa ti se samim tim i uslov mijenja. Ako je to tako onda napravi dodatnu varijablu koju ja obicno nazivam brojac. Neka ti se brojac povecava za jedan svaki put kada udjes u "if". Napravi onoliko if-ova koliko imas uslova i to je to. Ili koristi loop ili pravi if iza if-a

dim brojac as long
brojac = 1


if uslov(kada je brojac =1) then
nesto....
brojac=brojac+1
end if

'zatim slijedeci if

if uslov (kada je brojac =2) then
nesto...
brojac=brojac+1
end if

itd. ili ako mozes koristi loop da smanjis duzinu koda onda

for i = 1 to n
nesto
brojac = brojac +1
next i

mrgreen
Posts: 1098
Joined: 12/05/2008 21:11
Has thanked: 13 times
Been thanked: 12 times

#7 Re: while do pisati u if else

Post by mrgreen » 17/06/2012 02:19

meščini da je to to, while preko if-a (rekurzija):

while (brojac < 10) brojac++
ili

class Program
{
static int brojac = 0;

static void Main(string[] args)
{
funkcija();

Console.Write(brojac);
}

public static void funkcija()
{
if (brojac < 10)
{
brojac++;
funkcija();
}

else return;
}
}


ovo 10 za primjer, samo uslov prilagoditi :)
malo je neuredno i nabrzinu, al skontaces

User avatar
threshold
Posts: 1546
Joined: 09/03/2010 20:34

#8 Re: while do pisati u if else

Post by threshold » 17/06/2012 22:40

E hvala svima na odgovorima ;)

Glavni je problem u tome sto se samo jedna naredba smije pozvati u funkciji, dakle ili promijeniti vrijednost, ili pozvati drugu funkciju, i to je problem. Na zalost vase ideje nisu bas najoptimalnija rjesenja, ali kriv sam sam jer nisam naveo ovaj podatak. Nista, skontacu nesto drugo. hvala

rimano
Posts: 401
Joined: 28/12/2009 00:05
Has thanked: 5 times

#9 Re: while do pisati u if else

Post by rimano » 17/06/2012 22:47

Mozda cu fuliti temu emisije alimas li u tom programu funkcije tipa branch ili goto pa da skocis prije if-a ukoliko je neki uslov zadovoljen i dobit ces while :-)

User avatar
baustelac
Posts: 1401
Joined: 16/07/2005 09:05
Location: AC-DE

#10 Re: while do pisati u if else

Post by baustelac » 17/06/2012 23:08

rimano wrote:Mozda cu fuliti temu emisije alimas li u tom programu funkcije tipa branch ili goto pa da skocis prije if-a ukoliko je neki uslov zadovoljen i dobit ces while :-)
Upravo to, while zamijeniti sa if petljom tesko bez neke goto petlje.

I jedna primjedba postavljacu. Ukoliko se ne radi o nekom tajnom radu, poradi malo (vise) na prezentaciji kako problema tako i na prezentaciji rjesenja kasnije.

User avatar
false
Posts: 154
Joined: 07/03/2011 23:37

#11 Re: while do pisati u if else

Post by false » 17/06/2012 23:47

Ne znam da li sam dobro shvatio, ali mislim da ti rekurzija moze pomoci, funkcija poziva samu sebe.
Evo kratki primjer, pocetni broj je 50, radi nesto sve dok broj ne bude manji od 10

static void Main(string[] args)
{
Console.Write(manjiOdDeset(50));
Console.ReadLine();
}

static int manjiOdDeset(int broj)
{
if (broj < 10)
return broj;
else return manjiOdDeset(broj-1);
}

User avatar
threshold
Posts: 1546
Joined: 09/03/2010 20:34

#12 Re: while do pisati u if else

Post by threshold » 18/06/2012 01:45

Da, rjesenje je bilo u rekurziji.

main(condition, value)
(
return(perform_action(condition, value))
)

while_loop(condition, value)
(
if condition == TRUE then while_loop(condition, main(condition, value))
else return value;
)

Nije rijec bila o C ni o C++, nego nesto dosta jednostavnije (ali ipak Turing kompletno da se razumijemo ;) )

Post Reply