Page 1 of 1

#1 while do pisati u if else

Posted: 16/06/2012 23:52
by threshold
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.

#2 Re: while do pisati u if else

Posted: 17/06/2012 00:31
by nermin.padez
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

#3 Re: while do pisati u if else

Posted: 17/06/2012 00:47
by hakazvaka
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

#4 Re: while do pisati u if else

Posted: 17/06/2012 01:17
by threshold
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

#5 Re: while do pisati u if else

Posted: 17/06/2012 01:37
by belfy
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!

#6 Re: while do pisati u if else

Posted: 17/06/2012 01:58
by x-ray
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

#7 Re: while do pisati u if else

Posted: 17/06/2012 02:19
by mrgreen
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

#8 Re: while do pisati u if else

Posted: 17/06/2012 22:40
by threshold
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

#9 Re: while do pisati u if else

Posted: 17/06/2012 22:47
by rimano
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 :-)

#10 Re: while do pisati u if else

Posted: 17/06/2012 23:08
by baustelac
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.

#11 Re: while do pisati u if else

Posted: 17/06/2012 23:47
by false
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);
}

#12 Re: while do pisati u if else

Posted: 18/06/2012 01:45
by threshold
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 ;) )