- Function UlazniParametri(Par1 As Integer, Optional Par2 As Integer = 7) As Integer
- UlazniParametri = Par1 + Par2
- End Function
Getsbi | 05.08.2013 20:15 |
---|---|
Predmet:Re: Skola Vb-a za napredne Da ne ostane maglovita situacija kada pisati funkciju, a kad procedure evo mog priloga. Funkcija ili D= f(X) je neÅ¡to Å¡to traži argument i vraća vrednost. Elementi skupa X se nazivaju argumenti. Оsnоvnа kаrаktеristikа funkciје је dа zа јеdnu ulаznu vrеdnоst dоbiја nајviÅ¡е јеdnа izlаznа vrеdnоst. Prоcеdurа је sеriја аktivnоsti, zаdаtаkа, kоrаkа, оdlukа, kаlkulаciја i drugih prоcеsа, kоја kаdа sе prеduzimа u zаdаtоm rеdоslеdu, dаје prоpisаni rеzultаt. Procedura nema argumente već ulazne parametre neophodne za njeno izvrÅ¡enje. Osnovna razlika između procedura i funkcija je u tome Å¡to funkcija vraća vrednost, tj. poziv funkcije može da se tretira kao izraz određenog tipa i da se kao takav koristi u okviru drugih izraza istog tipa. Na vama je da na osnovu gornjeg odlučite kada da piÅ¡ete : Function (argument1, argument2….) …… End Function a kada Sub ime procedure (paramer1, parameter2…) …… End Sub Ako i dalje niste sigurni pogledajte ovaj link sa primerima: http://arhimed.matf.bg.ac.rs/...i.html#fun |
zxz | 05.08.2013 21:56 |
---|---|
Predmet:Re: Skola Vb-a za napredne Ovom Raspravom sigurno cemo mnogima pomutiti mozak ali eto. Prvo se moramo pitati sta poimamo pod rijecju procedura. Po meni procedura je postupak rjesavanja nekog zadatka. I ovo tvoje je dobro Citat: E sad se pitam zasto funkcija nije procedura a sub jeste.Prоcеdurа је sеriја аktivnоsti, zаdаtаkа, kоrаkа, оdlukа, kаlkulаciја i drugih prоcеsа, kоја kаdа sе prеduzimа u zаdаtоm rеdоslеdu, dаје prоpisаni rеzultаt. Procedura nema argumente već ulazne parametre neophodne za njeno izvrÅ¡enje. Citat: Aplikacija u Visual Basicu sastoji se od manjih logičkih dijelova Citat: E sad i ovo je pitanje sta je argument a sta ulazni parametar.Procedura nema argumente već ulazne parametre neophodne za njeno izvrÅ¡enje. I funkcija i sub imaju ulazne parametre ili ulazne argumente kako hoces i tu nema nikakve razlike stim sub ne vraca vrijednost u imenu nego samo kroz ulazne parametre. Ovo sam napisao samo zato da bi se bolje razumjelo a kako ce ko sta zvati to je druga stvar. |
zxz | 06.08.2013 09:47 |
---|---|
Predmet:Re: Skola Vb-a za napredne Ako je ovo jasno onda idemo dalje. E sad da bi napisali dobru proceduru (Funkciju ili sub) morali bi ukloniti sve moguce greske koje se mogu javiti prilikom izvrsenja koda. Tokom pisanja i testiranja koda mogu se javiti tri vrste gresaka: sintaktičke greÅ¡ke (otkriva ih kompajler), greÅ¡ke povezivanja (otkrivamo ih pri pokretanju programa), logičke pogreÅ¡ke (mora ih otkriti sami). Ukoliko moze doci do greske zbog ulaznih parametara onda bi te greske trebali presresti u samoj proceduri i napisati upute za daljni rad. Sam Vb ima biblioteku gresaka koje su oznacene brojevima i opisom. Njegove greske su uopstene i cesto nama ne daju dovoljno dobro objasnje a i druga stvar je sto nisu na nasem jeziku. Iz ovoga Proizilazi da bi bolje bilo da opis gresaka radimo sami. Primjer: PreuzmiIzvorni kôd (Visual Basic):
|
zxz | 06.08.2013 10:32 |
---|---|
Predmet:Re: Skola Vb-a za napredne Eh sad smo ovdje nakucali bezbroj nepoznatih stvari pa idemo redom. Function ImeProcedure(Argument1, argument2) Function-Govori nam da je to funkcijska procedura odnosno funkcija. Moglo je biti ispred function napisano Public ili Private Ili pak Static. Private (Privatno)- (neobavezno) označava da je procedura dostupna samo procedurama u istom modulu. Public (Javna)- (neobavezno) označava da je procedura dostupna svakoj drugoj u bilo kojem modulu svih aktivnih Workbook i nju se može pozvati. Static (Statična)- (neobavezno) pokazuje da su u proceduri varijable sačuvane kada postupak zavrÅ¡i. Ukoliko se ne navede niti jedan od ova tri argumenta onda je procedura Public. ImeProcedure-O njemu smo vec pisali to je samo ime procedure i ukoliko se radi o funkciji onda mozemo vratiti neku vrijednost a i nemoramo. Znaci ukoliko se radi o funkciji i samo ime procedure je jedna variabla kojoj mozemo dodijeliti vrijednost. E posto se radi o variabli onda joj isto mozemo odrediti i tip. Tip imena procedure pise se na kraju iza zatvorene zagrade koja oivicava ulazne parametre. Primjer: Function ImeProcedure((Argument1, argument2, argument3) as String U predhodnom primjeru smo dimenzionisali variablu imena procedure kao string. Pozeljno je uvijek dimenzionisati sve variable iako je to neobavezno u VB-u. Ukoliko to ne radimo program ce nam raditi sigurno sporije. Argument1,Argument2... Argument1,argument2... su ulazni parametri pri pokretanju procedure. Od njih zavisi sam tok procedure. Pozeljno je da i ulazni parametri budu dimenzionisani. Ukoliko ispred ulaznog parametra dodamo rijec optional onda taj parametar nije obavezan pri pozivu procedure. Primjer: Function UlazniParametri(Par1 As Integer, Optional Par2 As Integer = 7) As Integer UlazniParametri = Par1 + Par2 End Function Ovu proceduru mozemo pozvati ovako: Sub PozivP() Dim a a = UlazniParametri(2, 10) End Sub Ili Ovako: Sub PozivP() Dim a a = UlazniParametri(2) End Sub Kako vidite ukoliko je ulazni parametar neobavezan opnda mu mozemo dodijeliti vrijednost u samom nazivu. U nekim drugim programskim jezicima to je moguce svim variablama. |
miro35 | 06.08.2013 12:58 |
---|---|
Predmet:Re: Skola Vb-a za napredne Da li ovo znači: Citat: Da je a = 12Sub PozivP() Misli miz ove funkcije: PreuzmiIzvorni kôd (Text):
|
zxz | 06.08.2013 14:12 |
---|---|
Predmet:Re: Skola Vb-a za napredne Da u tvom slucaju je a= 12 zato sto si u pozivu vrijednost par2 stavio 10. Znaci ako ga ispustimo pri pozivu on ce imati vrijednost 7 U tvom slucaju je to a=2+10=12 a da si u pozivu imao napr: a = UlazniParametri(7, 6) a=7+6=13 |
zxz | 06.08.2013 15:25 |
---|---|
Predmet:Re: Skola Vb-a za napredne Poziv procedure Jednu i vise procedura mozemo pozvati iz druge procedure bez obzire dali i te procedure imaju poziv prema nekim procedurama i tako dalje. Sam postupak poziva ima dva nacina: NazivProcedure ulazniparametar1,ulazniparametar2... i u drugom slucaju ako procedura u imenu vraca vrijednost tada ide: dim a a=ImeProcedure(UlazniParametar1;ulazniParametar2...) Postoji itreci nacin a to je: call ImeProcedure(UlazniParametar1;ulazniParametar2...) U ovom slucaju nemamo ili nam netreba izlazni parametar a nismo se odrekli zagrade. |
zxz | 06.08.2013 19:22 |
---|---|
Predmet:Re: Skola Vb-a za napredne Ulazni parametri. Ulazni parametri mogu uticati na sam tok procedure. Naravno procedure mogu biti bez ulaznih parametara. Preko ulaznijh parametara mozemo i vratiti neke vrijednosti ako nam trebaju. Primjer: PreuzmiIzvorni kôd (Visual Basic):
Kao prvo ove dvije procedure se moraju nalaziti u istom modulu da bi ovo radilo zato sto su obadvije privatne. Ukoliko proceduri osoba umjesto private stavimo Public ili pak ne stavimo nista onda se ona moze nalaziti u drugom modulu i sve ce opet raditi. Ovdje je ocevidno da se radi o procedurama koje pozivaju jedna drugu, medjutim pored toga procedura Mujo dobija od procedure osoba godine i dane starosti na osnovu datuma rodjenja koji dobija iz prve procedure. Sad bih volio da ovo dobro proucite te da postavljate pitanja za sve nejasnoce jer ovo je veoma bitno za dalji tok teme. |
Gjoreski | 06.08.2013 20:36 |
---|---|
Predmet:Re: Skola Vb-a za napredne Me interesita ovaj vlezen parametar Optional Godina As Integer kazuva kolku sto razbiram jas deka moze da se koristi ili ne mora no dokolku se ostavi nepotpolneto nas funkcijata ke ni vrati deka ima greska odnosno fali vlezen parametar ? |
zxz | 06.08.2013 20:50 |
---|---|
Predmet:Re: Skola Vb-a za napredne Ja sam htio sve da napravim u jednoj proceduri ali ideja mi nije bas neka. Mogli smo mi kroz optional godina i poslati neki parametar i opet da vratimo godine, takodje smo mogli vratiti godine kroz neki drugi parametar ulaza. PreuzmiIzvorni kôd (Visual Basic):
|