Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Funkcije?
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
Gost






PostPostano: 10:29 čet, 27. 11. 2003    Naslov: Funkcije? Citirajte i odgovorite

Imam dva lagana pitanjca u vezi funkcija, pa vas molim da pomognete:

1. Kada želimo promjeniti vrijednost neke varijable u glavnom programu pomoću funkcije, kako deklariramo tu funkciju, i kako je pozivamo?
Ja mislim da je to nešto kao:
npr. deklaracija: Funkcija SWAP(int *a, int *b){...}
poziv: SWAP(&x, &y);
ali nisam sigurna (u vezi * i &).

2. Isto pitanje sa poljima koja želimo izmjeniti u gl. programu?
npr. deklaracija: Funkcija SORT(int &a[1], int n){...}
poziv: SORT(&x[1], m);
Ovdje pogotovo nisam sigurna.

Jako vas molim da mi odgovorite jer imam pismeni 1.12., i to mi fakat treba.
Unaprijed zahvalna
Imam dva lagana pitanjca u vezi funkcija, pa vas molim da pomognete:

1. Kada želimo promjeniti vrijednost neke varijable u glavnom programu pomoću funkcije, kako deklariramo tu funkciju, i kako je pozivamo?
Ja mislim da je to nešto kao:
npr. deklaracija: Funkcija SWAP(int *a, int *b){...}
poziv: SWAP(&x, &y);
ali nisam sigurna (u vezi * i &).

2. Isto pitanje sa poljima koja želimo izmjeniti u gl. programu?
npr. deklaracija: Funkcija SORT(int &a[1], int n){...}
poziv: SORT(&x[1], m);
Ovdje pogotovo nisam sigurna.

Jako vas molim da mi odgovorite jer imam pismeni 1.12., i to mi fakat treba.
Unaprijed zahvalna


[Vrh]
glenda_north
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 18. 11. 2003. (21:13:31)
Postovi: (2F)16
Sarma = la pohva - posuda
= 0 - 0
Lokacija: NORTH

PostPostano: 12:23 čet, 27. 11. 2003    Naslov: Citirajte i odgovorite

Mislim da ti je prvi dobar, & je pokazatelj na adresu x i y, a drugi ni ja ne znam. provjerit ću negdje, sigurno sam to negdje vježbala.
Mislim da ti je prvi dobar, & je pokazatelj na adresu x i y, a drugi ni ja ne znam. provjerit ću negdje, sigurno sam to negdje vježbala.



_________________
GLENDA_NORTH
life is good
and goodness lasts forever
#butterfly
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
glenda_north
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 18. 11. 2003. (21:13:31)
Postovi: (2F)16
Sarma = la pohva - posuda
= 0 - 0
Lokacija: NORTH

PostPostano: 12:35 čet, 27. 11. 2003    Naslov: Citirajte i odgovorite

E, baš sam pogledala, samo što ti ja to imam u starom PSEUDO jeziku.
1. funkcija SWAP(adr1, adr2), a poziva se sa swap(&a, &b). U C-u se adresa oznhačuje s *, tak da ti je dobro.
2.funkcija sortiraj (početak, n), a poziva se sa sortiraj (&a[1],n).
Btw., čini mi se da se još na ovom pismenom, 1. 12. piše u starom PSEUDU, bar su meni tak rekli.
GOOD LUCK! :D :D
E, baš sam pogledala, samo što ti ja to imam u starom PSEUDO jeziku.
1. funkcija SWAP(adr1, adr2), a poziva se sa swap(&a, &b). U C-u se adresa oznhačuje s *, tak da ti je dobro.
2.funkcija sortiraj (početak, n), a poziva se sa sortiraj (&a[1],n).
Btw., čini mi se da se još na ovom pismenom, 1. 12. piše u starom PSEUDU, bar su meni tak rekli.
GOOD LUCK! Very Happy Very Happy



_________________
GLENDA_NORTH
life is good
and goodness lasts forever
#butterfly
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Gost






PostPostano: 22:54 čet, 27. 11. 2003    Naslov: Citirajte i odgovorite

Puno hvala na odgovoru. Da, znam da se piše u pseudo jeziku (za drugi jezik nisam ni znala da postoji do danas).
Jedino što me sada zbunjuje je to da li se moraju navoditi tipovi podataka argumenata funkcije(jer znam da se kod zapisa moraju navesti tipovi):
npr. Funkcija SWAP(int a, int b){...} ili Funkcija SWAP(a, b){...} :?
Molim vas, odgovorite mi još samo ovo, i obećajem da više neću dosađivati. :silence:
Po drugi puta unaprijed zahvalna!
Puno hvala na odgovoru. Da, znam da se piše u pseudo jeziku (za drugi jezik nisam ni znala da postoji do danas).
Jedino što me sada zbunjuje je to da li se moraju navoditi tipovi podataka argumenata funkcije(jer znam da se kod zapisa moraju navesti tipovi):
npr. Funkcija SWAP(int a, int b){...} ili Funkcija SWAP(a, b){...} Confused
Molim vas, odgovorite mi još samo ovo, i obećajem da više neću dosađivati. Enjoy the silence...
Po drugi puta unaprijed zahvalna!


[Vrh]
krcko
Forumaš nagrađen za životno djelo
Forumaš nagrađen za životno djelo


Pridružen/a: 07. 10. 2002. (15:57:59)
Postovi: (18B3)16
Sarma = la pohva - posuda
655 = 759 - 104

PostPostano: 23:19 čet, 27. 11. 2003    Naslov: Citirajte i odgovorite

Treba razlikovati deklaraciju funkcije od poziva funkcije. Kod deklaracije se navodi tip varijable, a zvjezdica znaci da se radi o pokazivacima na taj tip. Na primjer, [i]swap(int a, int b)[/i] je funkcija koja uzima dva integera (to nije dobro ako zelimo mijenjati vrijednosti varijabli), a [i]swap(int *a, int *b)[/i] funkcija koja uzima dva pointera na integere.

Kod poziva funkcije ne navode se tipovi, a zvjezdica ima drugo znacenje. U izvrsnom dijelu programa * je operator koji vraca sadrzaj na koji pokazuje pointer. Recimo, na pocetku programa deklariramo varijablu [i]int *x[/i] (pokazivac na integer). Poziv [i]prinf("%d",x)[/i] ispisat ce [b]adresu[/b] pohranjenu u varijabli x, a [i]printf("%d",*x)[/i] [b]sadrzaj[/b] koji se nalazi na toj adresi. Operator & radi suprotnu stvar - daje adresu na kojoj se nalazi sadrzaj neke varijable. Zato kod zamjene sadrzaja varijabli u glavnom programu treba pozvati funkciju ovako: [i]swap(&a, &b)[/i].

Inace, cijela ova prica odnosi se na C. No cini se da pseudojezik sve vise konvergira C-u :D Nadam se da sam uspio objasniti... ne stvoriti dodatnu zbrku...
Treba razlikovati deklaraciju funkcije od poziva funkcije. Kod deklaracije se navodi tip varijable, a zvjezdica znaci da se radi o pokazivacima na taj tip. Na primjer, swap(int a, int b) je funkcija koja uzima dva integera (to nije dobro ako zelimo mijenjati vrijednosti varijabli), a swap(int *a, int *b) funkcija koja uzima dva pointera na integere.

Kod poziva funkcije ne navode se tipovi, a zvjezdica ima drugo znacenje. U izvrsnom dijelu programa * je operator koji vraca sadrzaj na koji pokazuje pointer. Recimo, na pocetku programa deklariramo varijablu int *x (pokazivac na integer). Poziv prinf("%d",x) ispisat ce adresu pohranjenu u varijabli x, a printf("%d",*x) sadrzaj koji se nalazi na toj adresi. Operator & radi suprotnu stvar - daje adresu na kojoj se nalazi sadrzaj neke varijable. Zato kod zamjene sadrzaja varijabli u glavnom programu treba pozvati funkciju ovako: swap(&a, &b).

Inace, cijela ova prica odnosi se na C. No cini se da pseudojezik sve vise konvergira C-u Very Happy Nadam se da sam uspio objasniti... ne stvoriti dodatnu zbrku...



_________________
Vedran Krcadinac

Ljudi su razliciti, a nula je paran broj.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Gost






PostPostano: 21:59 pet, 28. 11. 2003    Naslov: Citirajte i odgovorite

Koliko se ja sjećam prošle godine na vježbama iz UUR-a nismo navodili tip varijable. :jaje: :)
Koliko se ja sjećam prošle godine na vježbama iz UUR-a nismo navodili tip varijable. Jaje na... smajlija Smile


[Vrh]
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan