FONForum http://www.fonforum.org/ |
|
Zadaci iz principa programiranja (java vs python) http://www.fonforum.org/viewtopic.php?f=8&t=7460 |
Stranica 1 od 1 |
Autoru: | VITA [ 22.09.2006. 19:01:50 ] |
Tema posta: | Zadaci iz principa programiranja (java vs python) |
evo sinoc sam radio neke zadatke iz jave koji su dolazili na ispitima i tekst jednog zadatka je Ucitati tekst iz fajla sample.txt i na standardnom izlazu prikazati rec iz teksta sa najvecim brojem samoglasnika. Kod: import java.io.*; import java.util.*; class Zadatak11{ static String[] nizReci = new String[200]; static String delim=" ;.)(:,"; public static void ucitajNiz(){ try{ BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("sample.txt")))); String line; while((line=br.readLine())!=null){ StringTokenizer tokenizer = new StringTokenizer(line,delim); int brojReci = tokenizer.countTokens(); for(int i =0;i<brojReci;i++) nizReci[i]=tokenizer.nextToken(); } }catch(IOException e){} } public static boolean jesteSamoglasnik(char karakter){ boolean samoglasnik=false; if(karakter=='a'||karakter=='e'||karakter=='i'||karakter=='o'||karakter=='u') samoglasnik=true; return samoglasnik; } public static String pronadjiRec(){ double najvisheSamoglasnika = 0; String najboljaRec = ""; for(int i=0; i<nizReci.length; i++){ int brojSamoglasnikaTekuceReci = 0; String rec = nizReci[i]; if(rec==null) break; for(int j=0; j<rec.length(); j++){ if(jesteSamoglasnik(rec.charAt(j))) brojSamoglasnikaTekuceReci++; } if(brojSamoglasnikaTekuceReci>najvisheSamoglasnika){ najvisheSamoglasnika = brojSamoglasnikaTekuceReci; najboljaRec = rec; //treba zapamtiti i rec za returnovanje } } return najboljaRec; } public static void main(String args[]){ ucitajNiz(); System.out.println("Rec sa najvise samoglasnika (procentualno) je:"+pronadjiRec()); } } a evo u pythonu Kod: def main():
imeFajla ="/home/vita/python/workspace/Zadatak10/src/sample.txt" text = ucitaj(imeFajla) najbolja = pronadjiRec(text) print "rec sa najvishe samoglasnija je: "+najbolja def ucitaj(imeFajla): fajl = open(imeFajla,"r") sadrzaj = fajl.read() fajl.close() return sadrzaj def pronadjiRec(txt): max=0 najboljaRec="" #ovo cak moze da se obrishe listaReci = txt.split(" ") for rec in listaReci: brojSamoglasnika=0 for karakter in rec: if(jesteSamoglasnik(karakter)): brojSamoglasnika=brojSamoglasnika+1 if(brojSamoglasnika>max): max=brojSamoglasnika najboljaRec=rec return najboljaRec def jesteSamoglasnik(karakter): if(karakter=="a" or karakter=="e" or karakter=="i" or karakter=="o" or karakter=="u" ): return 1 return 0 #pozivanje main metode main() uporedite duzinu i razunljivost ovih programa ![]() |
Autoru: | zlatko [ 22.09.2006. 19:53:11 ] |
Tema posta: | |
Java ima baš veliki šum u odnosu na zmijkče. A evo malo drugačijeg koda na osnovu već postavljenog (stavio sam # gde sam menjao kod): Kod: def main():
imeFajla = "/home/vita/python/workspace/Zadatak10/src/sample.txt" text = ucitaj(imeFajla) najbolja = pronadjiRec(text) print "rec sa najvishe samoglasnika je:", najbolja # def ucitaj(imeFajla): fajl = open(imeFajla, "r") sadrzaj = fajl.read() fajl.close() return sadrzaj def pronadjiRec(txt): max = 0 najboljaRec = "" #ovo cak moze da se obrishe listaReci = txt.split() for rec in listaReci: brojSamoglasnika = 0 for karakter in rec: if karakter in ('a', 'e', 'o', 'u', 'i'): # brojSamoglasnika += 1 # if brojSamoglasnika > max: max = brojSamoglasnika najboljaRec = rec return najboljaRec #pozivanje main metode main() Ima python True i False već nekoliko godina tako da nema potrebe za C logikom ![]() Kad sam ja pisao domaći iz Struktura, pa C verzija, pa java pa python... Isto sam razmišljao kao Vita kada sam uporedio kodove. |
Autoru: | Mickey [ 22.09.2006. 21:18:54 ] |
Tema posta: | |
I meni izgleda daleko preglednije. Nego meni je Python velika nepoznanica. Nisam imao prilike da se srećem sa njim, pa bi bilo lepo da nas malo uputite (tutorijali, šta sve treba), verujem da mnoge zanima (mene živo zaintrigiralo). |
Autoru: | zlatko [ 22.09.2006. 22:33:17 ] |
Tema posta: | |
Samo skini instalaciju sa www.python.org i tu dobijaš u dokumentaciji dobar tutorijal. Jezik je izuzetno lagan i logičan, a uz interaktivni interpreter se brzo uči. Imam i gomilu knjiga... Mada mogli bi i ovde da uradimo mini tutorijal. |
Autoru: | kliford [ 22.09.2006. 23:37:57 ] |
Tema posta: | |
Pa, svedok sam toga kako Zlatko s vremena na vreme malo hvali Python i, sto direktno, sto indiretkno, upoznaje ljude sa tim jezikom... Ima goomila lnikova na nasem forumu o Pythonu... Mene licno malo vise rpivlaci Jython... Jezik koji je pokupio sve od Pythona (sintaksu, kljucne reci...), ali koristi biblioteke Java API-ja... carski ![]() ![]() |
Autoru: | Misterio [ 22.09.2006. 23:49:42 ] |
Tema posta: | |
Boj ne bije svijetlo oruzje ... |
Autoru: | DJole [ 23.09.2006. 00:48:25 ] |
Tema posta: | |
reci ti to cobol programerima ![]() |
Autoru: | Fr0sty [ 23.09.2006. 00:59:39 ] |
Tema posta: | |
DJole je napisao: reci ti to cobol programerima
![]() Nece moci , ta vrsta dinosaurusa je izumrla krajem prosloga veka ![]() |
Autoru: | VITA [ 23.09.2006. 02:13:22 ] |
Tema posta: | |
@zlatko... ![]() jbg..ja trazio true ali nije htelo ..tacnije eclipse mi nije poplavio tu rec kao kljucnu ![]() a i ovo za in se nisam setio ![]() i nije hteo ++ operator da radi pa ja rekoh ovo ce sigurno da radi ![]() ma jezik je zakon...jedino sto meni smeta je sto nemam dobru dokumentaciju kao za java API... takva dokumentacija je toliko pregledna ...savrshena ![]() ovo sto imam sto dolazi uz gnu/linux mi se bash i ne svidja ... nekako fazon... klasa i onda ide lista metoda jedna po jedna sa celim opisom...nema onako prvo manji opis pa onda detaljno za svaku metodu ![]() |
Autoru: | Eric Cartman [ 27.09.2006. 00:04:04 ] |
Tema posta: | |
Peter Norvig (http://www.norvig.com) koristi Python... ![]() ![]() |
Autoru: | zlatko [ 27.09.2006. 07:29:05 ] |
Tema posta: | |
I Eric C. ![]() Bogme i Bruce E. |
Stranica 1 od 1 | Sva vremena su u UTC + 1 sat |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |