Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Može li neko molim vas da mi objasni FOR?

[es] :: Pascal / Delphi / Kylix :: Može li neko molim vas da mi objasni FOR?

Strane: 1 2

[ Pregleda: 4247 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

93 Stefan
Stefan 93

Član broj: 208278
Poruke: 624
*.dynamic.sbb.rs.



+13 Profil

icon Može li neko molim vas da mi objasni FOR?01.12.2009. u 12:34 - pre 175 meseci
Dakle veliki problem mi je FOR. Samo da napomenem da Pascal učim tek od septembra (3. godina gimnazije) i učili smo samo sintaksu, IF, CASE i sad ovo FOR.
Problem je što ni profesorka koja nam drži teoriju ni ova koja drži blok (praksu ili kako već, jednom u nekoliko nedelja 3 časa spojena i radimo za kompovima) ne znaju to da nam objasne. Niko u odeljenju nije ovo shvatio samo da napomenem :)
Problem je sledeći, one samo prepišu zadatke koji su zapisani u knjizi i to je to. Ko je shvatio shvatio je (tj. niko). Shvatam ja da se ponavljaju nekakvi ciklusi i da brojač dobija u svakom sledećem ciklusu za 1 veći broj (nismo radili još da podešavamo i korak) i to je to. Niko nam nije rekao kada to treba da se upotrebljava niti bilo šta da nam pojasni. Mogu ja da rastumačim šta radi FOR, ali šta mi to vredi kad JA treba da napišem program, a nemam pojma kad to treba da koristim niti kako jer ove nisu znale da kažu. Kad sam pitao ova počela, pa na primer i onda ispisa nov zadatak. Shvatam da je teško da nam objasne, ali ako ne mogu onda neka promene posao, nisam samo ja problem.
Samo da kažem da u knjizi prvo idu WHILE, REPEAT i tek onda ovo FOR, pa je možda u tome problem. Sigurno taj čovek nije onako samo nabacao te funkcije bez ikakvog reda.
Može neko da mi nađe neki tutorial ili nešto napiše ako ga ne mrzi?
Izvinjavam se svima koje sam razgnevio svojim pisanjima. Trudiću se da se popravim.
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Može li neko molim vas da mi objasni FOR?01.12.2009. u 13:38 - pre 175 meseci
Code:
procedure Broji(i: integer);
  begin
    For i:= 0 to i do
    ShowMessage('Broj je: ' + IntToStr(i));
end;


Ova procedura će ti prikazivati poruku do onog broja kojeg upišeš.

Npr.

Broji(3) će ti ispisati

Broj je: 0
Broj je: 1
Broj je: 2
Broj je: 3

Dakle, for ti se vrti u petlji dok se ne ispuni uvjet. Uvjet je u ovom slučaju: radi dok i ne dođe do 3. Kreće sa 0 jer smo mu rekli da je i:=0 kao inicijalna vrijednost. U slijedećem krugu će on i uvećati za 1 i tako sve dok ne dođe do onoga šta smo mu zadali, u ovom slučaju 3.

http://www.delphibasics.co.uk/RTL.asp?Name=For
F
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Može li neko molim vas da mi objasni FOR?01.12.2009. u 14:19 - pre 175 meseci
FOR petlja se uglavnom koristi kada je poznat interval, tj broj elemenata podskupa nekog skupa, nad kojima zelis izvrsiti neku operaciju. Time je broj prolaza kroz petlju unapred odredjen i konacan.
Na primer, zelis da znas koliki je zbir prvih N prirodnih brojeva. E sad, prvo treba da razmislis kako bi resio taj problem. Najprostije resenje je da postavis neku promenljivu (tipa integer, pocetna vrednost je nula) i da na njenu vrednost dodajes redom brojeve od 1 do N. Kako znas da ces morati tacno N puta da sabiras vrednosti, mozes koristiti FOR petlju za to:
Code:

    zbir:= 0;

    for i:= 1 to N do
      zbir:= zbir + i;


sto u prevodu znaci: za svako i od 1 do N dodaj vrednost broja i na vrednost zbira.

Naravno ovo si mogao i sa petljom WHILE da uradis:
Code:

    zbir:= 0;
    i:= 1;

    while (i <= N) do
    begin
    zbir:= zbir + i;
    i:= i + 1;
    end;


sto u prevodu znaci: dokle god je vrednost i manja ili jednaka broju N, dodaj tu vrednost na vrednost zbira, a zatim uvecaj vrednost i za jedan.

Opet, ovo si mogao i sa petljom REPEAT da uradis, na slican nacin kao u WHILE petlji. Razlika izmedji WHILE i REPEAT petlje je u tome sto se uslov za ulazak u petlju WHILE proverava pre nego sto se uopste udje u petlju, a kod REPEAT se uslov proverava tek pri izvrsenju onog sto je u petlji - u prevodu, proverava se uslov za nastavak petlje. Odatle sledi da se ono sto se nalazi u WHILE petlji ne mora uopste izvrsiti (ako uslov ulaska nije zadovoljen), dok je kod REPEAT petlje druga prica - ona ce se izvrsiti BAR jednom (posto se uslov proverava tek posle prvog prolaska kroz petlju).

Na kraju, ovaj zadatak si mogao resiti i bez petlje, znajuci formulu za zbor prvih N prirodnih brojeva (jednak je poluproizvodu broja N i njegovog sledbenika), sto je ujedno najbolje, najkrace i najbrze resenje.

Sve u svemu, zadatke resavaj kako je tebi najlakse, ali se trudi da to resenje bude i efikasno. Pre pisanja algoritma, razmisli kako bi to resio da se ne radi o programiranju (mislim na logicko resenje za slicne probleme). Veruj mi, kad jednom ovo shvatis, nece ti uopste biti jasno kako je ovo predstavljalo problem .
Srecno u ucenju.
 
Odgovor na temu

93 Stefan
Stefan 93

Član broj: 208278
Poruke: 624
*.dynamic.sbb.rs.



+13 Profil

icon Re: Može li neko molim vas da mi objasni FOR?01.12.2009. u 17:38 - pre 175 meseci
Dobro to najosnovnije i nije toliko teško, nego ovi osnovni primeri meni predstavljaju problem:
Citat:
Napisati program za formiranje tablice y=cos2x+arctgx na intervalu (x0,x1) sa korakom h.

Citat:
program talb;
var x0,x1,h,x,y:real;
i,n:integer
begin
writeln ('Unesite x0,x1 i h');
readln (x0,x1,h);
n:=round((x1-x0)/h);
writeln ('Tablica funkcije');
writeln ('X':8,' ':23,'Y':7);
for i:=0 to n do
begin
x:=x0+i*h;
y:=sqr(cos(x))+arctan(x);
writeln (x:10:2,' ':20,y)
end
end.

Nije mi jasno šta je ovo n i ovo x:=x0+i*h. Danas nam je spomenula profesorka na bloku da može da se doda korak pri definisanju for-a. Da li bi onda moglo da se napiše:
Citat:
for i:=0 to n by h do
begin
x:=x0+i
...

I da li uvek mora da se napiše u okviru for-a ovo "i"?
Izvinjavam se svima koje sam razgnevio svojim pisanjima. Trudiću se da se popravim.
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Može li neko molim vas da mi objasni FOR?01.12.2009. u 18:44 - pre 175 meseci
Ovo uopste nije klasican zadatak za FOR petlju, vec za WHILE (ili repeat).
Sto se tice tezine zadatka, ne mogu se sloziti sa tobom da je ovo tezi tip "osnovnih" zadataka. Procitaj prvo pazljivo zadatak i razmisli o onome sta se trazi. Dat ti je interval (a, b), mada je logicnije da je zatvoren, na kome treba da trazis vrednosti neke funkcije. Ja cu posmatrati to kao zatvoren interval, posto je tako i radjen zadatak sudeci po tvom kodu. Dakle, prvo treba da ispises vrednost funkcije za x = a. Zatim treba da uvecas x za korak, to jest, za h. Potom trazis vrednost funkcije za to novo x koje je sad jednako x = a + h. Zatim ponovo uvecavas x za h i trazis opet vrednost funkcije za x = a + h + h = a + 2*h itd., sve dok vrednost u x nije veca od b (posto nam se traze samo vrednosti koje PRIPADAJU tom intervalu).

E ako si shvatio kako bi program trebao da radi, da krenemo na analizu tvog koda.
Prvo sto bode oci je nacin na koji smo dosli do n (posto si rekao da ti to nije jasno evo objasnjenja: FOR petlja u tvom kodu ide od 0 do N sto znaci da je ukupan broj vrednosti koje treba da budu ispisane N+1; u prevodu, N nam sluzi da bi smo znali koliko puta treba da udjemo u petlju da bi ispisali sve trazene vrednosti funkcije iz datog intervala).
Zaokruzivanje broja nije dobro resenje zato sto se moze desiti da ispisemo vrednosti funkcije za neko x koje uopste nije u zadatom intervalu. Na primer:

interval je [1, 3.8]
korak je npr. 1 //h:= 1

dobijamo za n sledece:

n: = round((3.8 - 1) / 1) = round(2.8) = 3

sto znaci da cemo racunati vrednost funkcije y=cos2x+arctgx za 4 broja (n+1 = 3 + 1 = 4) i to za:

x = 1;
x = 1 + h = 2;
x = 1 + 2*h = 3;
x = 1 + 3*h = 4; //a broj 4 ne pripada zadatom intervalu, zbog toga tebi ne treba zaokruzeno n, vec ceo deo realnog izraza koji se nalazi u round

dakle, ne znam ko ti je resavao zadatak, ali ocigledno nije preterano razmisljao o istom.
Nadam se da si uspeo i da shvatis zasto je x:=x0+i*h (prosto idemo od pocetne vrednosti i dodajemo i puta korak h da bi dobili x za koje racunamo vrednost funkcije).

Ovaj zadatak si mogao bez da resis preko WHILE petlje uopste ne koristeci n:

Code:

    x:= a;

    while (x <= b) do
    begin
    y:=sqr(cos(x))+arctan(x);
    //ovde dodas svoj kod za prikaz rezultata
    x:= x + h; 
    end;



A za korak pri definisanju FOR petlje prvi put cujem. Koliko znam, on je uvek jedan (mada se kod nekih drugih jezika moze podesiti po zelji, npr u C#). Neka me neko ispravi ako gresim.
I zapamti, ne resavaj napamet, ove stvari su proste samo treba malo da razmislis o problemu zadatka.
Pozdrav
 
Odgovor na temu

93 Stefan
Stefan 93

Član broj: 208278
Poruke: 624
*.dynamic.sbb.rs.



+13 Profil

icon Re: Može li neko molim vas da mi objasni FOR?01.12.2009. u 21:33 - pre 175 meseci
Sad sam isprobao, ne može da se stavi ono by. Sigurno joj to ostalo iz nekog drugog jezika.
Šta da se radi sa n u ovom slučaju? Kako god stavili na cele brojeve nećemo imati tačan rezultat, a ne verujem da može da se stavi da bude realan.
To je primer iz knjige, to je radio Dušan Tošić.
Imam još jedno pitanje (za sada :)). Kad sam prepisao ovaj zadatak u kompajler i pokrenuo ga, da bi se ispisala cela tabela ja sam morao da isklikćem nekoliko puta (za svaki korak posebno). E, a kad sam pokrenuo program za računanje faktorijela:
Citat:
...
f:=1
FOR k:=1 TO n DO
f:=f*k
...
on je sam isponavljao ciklus onoliko puta koliko je bilo potrebno.
U čemu je razlika?
P.S. Naravno da neću bubati napamet :) Pa gde bi moglo sve to da stane ako počnem posle nekoliko lekcija ko zna šta sve da bubam. Uvek sam se trudio to da izbegavam.
Izvinjavam se svima koje sam razgnevio svojim pisanjima. Trudiću se da se popravim.
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Može li neko molim vas da mi objasni FOR?01.12.2009. u 22:49 - pre 175 meseci
Citat:

Šta da se radi sa n u ovom slučaju? Kako god stavili na cele brojeve nećemo imati tačan rezultat, a ne verujem da može da se stavi da bude realan.


Nisam razumeo ovo. Broj N i treba da bude prirodan broj, ne znam sto bi stavljao da bude realan?! Rezultat funkcije se racuna preko zadate formule i tu nista ne moze da bude netacno (ne racunam gresku nastalu odbacivanjem izvesnog broja decimala u zapisu rezultata).

Citat:

Kad sam prepisao ovaj zadatak u kompajler i pokrenuo ga, da bi se ispisala cela tabela ja sam morao da isklikćem nekoliko puta (za svaki korak posebno).


Tabela? Mislis na vrednosti x i vrednosti funkcije? Koliko vidim, treba samo da uneses tri broja (x0, x1 i h) a program ce sam ispisati celu tablicu i ne bi trebalo da ti trazi bilo sta drugo da unosis.
U cemu pises kod?



 
Odgovor na temu

93 Stefan
Stefan 93

Član broj: 208278
Poruke: 624
*.dynamic.sbb.rs.



+13 Profil

icon Re: Može li neko molim vas da mi objasni FOR?02.12.2009. u 13:35 - pre 175 meseci
Citat:
bojan21: ne racunam gresku nastalu odbacivanjem izvesnog broja decimala u zapisu rezultata 

Na taj deo sam mislio. Onda svejedno, stavljaću ROUND i nikakav problem...
Citat:
bojan21: Tabela? Mislis na vrednosti x i vrednosti funkcije? Koliko vidim, treba samo da uneses tri broja (x0, x1 i h) a program ce sam ispisati celu tablicu i ne bi trebalo da ti trazi bilo sta drugo da unosis.
U cemu pises kod?

Neće ispisati celu tabelu. Da bi se pokrenuo svaki sledeći ciklus (tj. da se doda i*h - korak funkciji) mora da se isklikće enter.
Koristim neki Free Pascal, što ima onog geparda na ikonici. Pisali ga Berczi Gabor, Pierre Muller i Peter Vremen.
Izvinjavam se svima koje sam razgnevio svojim pisanjima. Trudiću se da se popravim.
 
Odgovor na temu

THE_BRAIN
Nemanja stojanovic
kragujevac

Član broj: 241990
Poruke: 27
*.dynamic.sbb.rs.



Profil

icon Re: Može li neko molim vas da mi objasni FOR?02.12.2009. u 13:38 - pre 175 meseci
meni for nije takodje jasan ja sam 8 razred u 1 kragujevackoj gimnaziji najbolji sam u odeljenju iz informatike a saad kada se pojavio ovaj for ciklus postao sam malo losiji ali sad sam procitao sto ste napisali jasno mi nesto malo ali ipak nesto me buni.
npr: napisati program koji izracunava zbir 1-1/2+1/3-1/4+1/5...1/n. sta sad???
 
Odgovor na temu

93 Stefan
Stefan 93

Član broj: 208278
Poruke: 624
*.dynamic.sbb.rs.



+13 Profil

icon Re: Može li neko molim vas da mi objasni FOR?02.12.2009. u 13:56 - pre 175 meseci
Trebalo bi da bude ovako:
Citat:
k:=o;
for i:=1 to n do
k:=1/(2*i-1)-1/(2*i)
end;

Sad samo sačekaj da neko potvrdi :)
Samo jedno pitanje, da li i brojač mora da se postavi na nulu pre funkcije FOR? U onom zadatku što sam napisao ništa se ne stavlja na 0, ali su nam profesori rekli da to radim (samo nisam siguran za šta su tačno rekli) jer može da se desi da pokupi ko zna koji broj...
Izvinjavam se svima koje sam razgnevio svojim pisanjima. Trudiću se da se popravim.
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Može li neko molim vas da mi objasni FOR?02.12.2009. u 22:54 - pre 175 meseci
Citat:
Na taj deo sam mislio. Onda svejedno, stavljaću ROUND i nikakav problem...


Ali ROUND ce da ti vrati ceo broj, pa je greska za male vrednosti ogromna. Bolje koristi realan broj sa zadatom tacnoscu (recimo na 5 decimala).

Citat:
Neće ispisati celu tabelu. Da bi se pokrenuo svaki sledeći ciklus (tj. da se doda i*h - korak funkciji) mora da se isklikće enter.
Koristim neki Free Pascal, što ima onog geparda na ikonici. Pisali ga Berczi Gabor, Pierre Muller i Peter Vremen.


Skinuo sam taj Pascal, pokrenuo program koji si ostavio u ranijem postu i radi bez tog kliktanja.


Citat:
Trebalo bi da bude ovako:

Citat:
Citat:

k:=o;
for i:=1 to n do
k:=1/(2*i-1)-1/(2*i)
end;



Ajde da vidimo sta ce se dobiti kao rezultat iz tog koda:

Code:

1. postavljamo k na 0 => k = 0
2. ulazimo u petlju za i = 1
3. racunamo k: k = 1/(2*1-1) - 1/(2*1) = 1 - 1/2 = 1/2
4. ulazimo u petlju za i = 2 (a nigde nismo sacuvali prethodni rezultat!?)
5. racunamo k: k = 1/(2*2-1) - 1/(2*2) = 1/3 - 1/4 = 1/12 
...
x. ulazimo u petlju za i = n
xx. racunamo k: k = 1/(2*n-1) - 1/(2*n)


I sta sad? Izasli smo iz petlje i jedino sto imamo je vrednost u k, a to je razlika poslednja dva sabirka (a to nije ono sto se trazi u zadatku). Potrebno je uvesti jos jednu promenljivu tipa integer, neka joj je ime zbir. Postavljamo je na 0 pre ulaska u petlju (ako ovo ne uradimo, vrednost joj nece biti nula posto to nije podrazumevana vrednost za integer lokalnu promenljivu). U petlji, posle svakog racunanja k, uvecavamo vrednost zbira za k:

Code:

zbir:= zbir + k;


I kad izadjemo iz petlje, trazeni rezultat je vrednost zbira. Momci, opet ponavljam, razmisljajte o onome sto pisete. Proverite prvo da li to sto ste napisali radi, da ne bude posle onog "trebalo bi da bude"

Inace, ovo resenje je tacno samo ako je broj sabiraka paran broj (svaki put kad racunas k ti pravis razliku dva sabirka, znaci ukupan broj sabiraka je 2n, tj poslednji sabirak je -1/(2*n))
Ako ste ovo do sad razumeli, nece biti tesko da dodjete do resenja koje ce da radi za svako n.

Pomoc: nadjite opstu formulu po kojoj se racuna taj zbir za neko N, a zatim je samo prevedite u kod. Sa srecom
 
Odgovor na temu

93 Stefan
Stefan 93

Član broj: 208278
Poruke: 624
*.dynamic.sbb.rs.



+13 Profil

icon Re: Može li neko molim vas da mi objasni FOR?03.12.2009. u 13:54 - pre 175 meseci
Evo ga novo :)
Onda sam se samo setio definicije parnih i neparnih pa sam to napisao u kodu. Evo, sad sam potpuno razdvojio parne od neparnih.
Citat:
zbirp:=0;
zbirn:=0;
ukupno:=0;
for i:=1 to n do
begin
if i/2=i div 2
then zbirp:=zbirp-1/i
else zbirn:=zbirn+1/i;
ukupno:=zbirp+zbirn
end;

Za 5 i 6 ispada dobro :)
Samo mi nešto nije jasno, kada sam umesto ukupno stavio zbir izbacivao mi je grešku:
Citat:
Duplicate identifier "zbir"

Zašto to?
Citat:
bojan21: Pomoc: nadjite opstu formulu po kojoj se racuna taj zbir za neko N, a zatim je samo prevedite u kod. Sa srecom :)

Nemam pojma o čemu pričaš. Ako misliš na neku matematičku nisam tako nešto radio.
Izvinjavam se svima koje sam razgnevio svojim pisanjima. Trudiću se da se popravim.
 
Odgovor na temu

franjo_tahi
Franjo Tahi
Zagreb

Član broj: 34712
Poruke: 399
*.adsl.net.t-com.hr.



+1 Profil

icon Re: Može li neko molim vas da mi objasni FOR?03.12.2009. u 14:10 - pre 175 meseci
Nisi poslao cijeli kod. U defniranju varijabli, dva puta si napisao isti naziv avrijable...
Vjerojatno nešto ovako:
Code:

function ImeFunkcije()
var zbir: integer;
     NekaVar: integer;
     zbir: integer;
begin
   ....
end;
 
Odgovor na temu

93 Stefan
Stefan 93

Član broj: 208278
Poruke: 624
*.dynamic.sbb.rs.



+13 Profil

icon Re: Može li neko molim vas da mi objasni FOR?03.12.2009. u 14:27 - pre 175 meseci
Nisam piše ovako:
Citat:
var i,n:integer;
ukupno,zbirp,zbirn:real;

Izvinjavam se svima koje sam razgnevio svojim pisanjima. Trudiću se da se popravim.
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Može li neko molim vas da mi objasni FOR?03.12.2009. u 15:45 - pre 175 meseci
Citat:
93 Stefan: Nisam piše ovako:
Citat:
var i,n:integer;
ukupno,zbirp,zbirn:real;



Dobro ti je franjo rekao, negde si definisao dve promenljive sa istim imenom.

Idemo dalje, prvo da analiziramo tvoje resenje:

Code:

zbirp:=0;
zbirn:=0;
ukupno:=0;
for i:=1 to n do
begin
if i/2=i div 2
then zbirp:=zbirp-1/i
else zbirn:=zbirn+1/i;
ukupno:=zbirp+zbirn
end;


Moram da priznam da radi, ali zar ti ne deluje da je to resenje nekako neprirodno (tj da nije bas na mestu )?
Ako hoces da proveris da li je neki broj paran, on pri deljenju sa 2 mora da daje ostatak nula (u protivnom je neparan). Tako da mozes koristi
operaciju mod koja vraca ostatak pri deljenju dva cela broja. Primer:

Code:

if (x mod 2 = 0) 
 then WriteLn("Broj je paran")
 else WriteLn("Broj je neparan");



Citat:
Nemam pojma o čemu pričaš. Ako misliš na neku matematičku nisam tako nešto radio.


Pa ti si '93 godiste, znaci druga godina srednje skole, trebalo bi da znas da predstavis to u opstem obliku:



Dakle, to je suma svih clanova ((-1)^(i-1))/i , gde i ide od 1 do n. Ovo (-1)^(i-1) nam treba da bismo sabirak pomnozili sa -1 kad je i parno (svako parni sabirak je negativan: -1/2, -1/4, -1/6 ...)

Pa kad to prevedes u pascal, dobijes sledece:

Code:

zbir:= 0;

for i:= 1 to n do
 zbir:= zbir + power(-1, i-1)/i;


Kratko zar ne?

E sad, kratko jeste, ali nije i najbrze. Naime, zbog ovog stepenovanja na i-1, za velike vrednosti n potrebno je dosta vremena da se izracuna zbir (npr za n = 99 miliona). Evo npr jednog nacina na koji mozes izbeci stepenovanje velikim eksponentom, a samim tim i ubrzati program:

Code:

zbir:= 0;

for i:= 1 to n do
 zbir:= zbir + power(-1, (i mod 2) + 1)/i;


Ovde se -1 stepenuje ili sa 1 ili sa 2, tako da bi trebalo da radi dosta brze (testiraj oba nacina pa uporedi vremena izvrsavanja).
Moguce je da sam negde u tekstu/kodu napravio greske, pisao sam napamet tako da se unapred izvinjavam za eventualne propuste.
 
Odgovor na temu

93 Stefan
Stefan 93

Član broj: 208278
Poruke: 624
*.dynamic.sbb.rs.



+13 Profil

icon Re: Može li neko molim vas da mi objasni FOR?03.12.2009. u 16:31 - pre 175 meseci
Citat:
bojan21: Pa ti si '93 godiste, znaci druga godina srednje skole, trebalo bi da znas da predstavis to u opstem obliku

Zapravo ja sam treća godina, prirodni smer :) Rođen sam 8. januara, pa sam krenuo ranije. Nikad nisam to radio, ti si matematička gimnazija, pa možda zato znaš.
Nisam još radio to power, nemam pojma šta je...
U svakom slučaju hvala što mi nisi rekao, ovako sam lepo sam rešio što naravno da više znači. Ovo mi je prvi zadatak sa FOR koji sam uradio (mada i pokušao da uradim)!
Javljam se možda uskoro, u utorak mi je pismeni, pa ako naletim na nešto što ne razumem, eto me opet.
Izvinjavam se svima koje sam razgnevio svojim pisanjima. Trudiću se da se popravim.
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Može li neko molim vas da mi objasni FOR?03.12.2009. u 18:43 - pre 175 meseci
Pa dobro, prirodni smer, to je dovoljno . A sto se tice power - to je fukcija u Math unit-u koja vrsi stepenovanje (prvi parametar je osnova, a drugi eksponent). Eh da sam ja ima ovakve zadatke na pismenim vezbama, gde bi mi kraj bio . Slobodno pitaj cim naidjes na problem, bolje to nego da dobijes neku dvojku-trojku (ili ne daj boze asa )
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Može li neko molim vas da mi objasni FOR?04.12.2009. u 13:40 - pre 175 meseci
Samo da dodam da se od 0 i 1 može dobiti -1 i +1 i ovako:

Code:

 zbir := 0;
 for i := 1 to n do
  zbir := zbir + ((i mod 2)*2-1)/i;
 
Odgovor na temu

93 Stefan
Stefan 93

Član broj: 208278
Poruke: 624
*.dynamic.sbb.rs.



+13 Profil

icon Re: Može li neko molim vas da mi objasni FOR?04.12.2009. u 19:33 - pre 175 meseci
Kad se određuje broj ponavljanja ciklusa? Pre započinjanja prvog ciklusa ili pre svakog ciklusa?
Evo ga zadatak:
Citat:
Koliko će se ciklusa odraditi?
n:=5;
for i:=1 to n do
n:=n+1
end;

Izvinjavam se svima koje sam razgnevio svojim pisanjima. Trudiću se da se popravim.
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: Može li neko molim vas da mi objasni FOR?04.12.2009. u 20:16 - pre 175 meseci
Mogao si da napises program pa da vidis sta ce se desiti.
Kako se kod FOR petlje unapred zna broj ulaza u petlju, sledi da je taj broj fiksiran. A odatle sledi i odgovor - pre zapocinjanja prvog ciklusa. Nemoj pogresno da shvatis, vrednost u n se povecava, ali pascal ne gleda vise tu vrednost (napravio je svoju kopiju na pocetku, pre prvog ulaza, i ona se ne menja).
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Može li neko molim vas da mi objasni FOR?

Strane: 1 2

[ Pregleda: 4247 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.