gdje je nestao zapis (u pythonu) - hdpio je nestao zapis_mihael_bobicanec.pdf•uvod u teoriju o...
TRANSCRIPT
Gdje je nestao zapis(u Pythonu) ?
Mihael Bobičanec, prof.Gimnazija Antuna Gustava Matoša, Zabok
Računalo u školi XVIII.
Programski jezici u školama
1. razredPseudojezik
2. i 3. razredPascal C/C++ Python
29. rujna 2014. Računalo u školi XVIII Mihael Bobičanec, prof.
Osnovni tipovi podataka
Pseudo jezik Pascal C/C++ Python
cjelobrojni integer int int
realni real float float
znakovni char char (string)
logički boolean bool bool
29. rujna 2014. Računalo u školi XVIII
Složeni tipovi podataka
Pseudo jezik Pascal C/C++ Python
niz elemenata array int x[10] lista
niz znakova string string string
zapis record struct ???
29. rujna 2014. Računalo u školi XVIII Mihael Bobičanec, prof.
Zapis …• Na kraju 2. razreda
• sistematizacija gradiva cijele godine
• primjena usvojenih algoritama na podacima iz stvarnog života
• Uvod u teoriju o bazama podataka (entitet, atribut …)
• Uvod u objektno orijentirano programiranje (klase, objekti, metode…)
29. rujna 2014. Računalo u školi XVIII Mihael Bobičanec, prof.
Primjer 1
Napišite program koji upisuje prirodan broj N, nakon toga podatke za N učenika oblika
(ime, prezime, razred, prosjek),
upisuje razred pa ispisuje ime, prezime i prosjek učenika zadanog razreda, sortirane po prosjeku
29. rujna 2014. Računalo u školi XVIII Mihael Bobičanec, prof.
ucenik(ime, prezime, razred, prosjek)
Pascal C/C++typeucenik=record
ime:string;prez:string;raz:string;pros:real;
end;var uc:array[1..40] of ucenik;pom:ucenik;
typedef struct ucenik{ string ime;string prez;string raz;float pros;
};
ucenik uc[40], pom;
Python
Pomoću liste(već naučena)
Pomoću klase(bez objašnjavanja teorije – gradivo 3.
razreda )
Python
uc=[]…uc=uc+[[ime,prez,raz,pros]]
class Ucenik:ime=''prez=''raz=''pros=0
…ucenik=Ucenik()
29. rujna 2014. Računalo u školi XVIII Mihael Bobičanec, prof.
Pascal C/C++beginwrite('Upisi N:');readln(n);for i:=1 to n dowith uc[i] do begin
readln(ime);readln(prez);readln(raz);readln(pros);
end;
{sort}
cout<<"Upisi N”;cin>>n;for (i=0;i<n;i++)
{ cin>>uc[i].ime;cin>>uc[i].prez;cin>>uc[i].raz;cin>>uc[i].pros;
}
//sort
Python (lista)
N=int(input(‘N:'))uc=[]for i in range(N):
ime=input('ime:')prez=input('prezime:')raz=input('razred:')pros=float(input('prosjek:'))
uc=uc+[[ime,prez,raz,pros]]
##sort
Python (klasa)class Ucenik:
ime=''prez=''raz=''pros=0
N=int(input(‘N:’))uc=[]for i in range(N):
ucenik=Ucenik()ucenik.ime=input()ucenik.prez=input()ucenik.raz=input()ucenik.pros=float(input())uc=uc+[ucenik]
##sort
29. rujna 2014. Računalo u školi XVIII
Algoritam za upis
Mihael Bobičanec, prof.
Pascal C/C++for i:= 1 to n-1 do
for j:=i+1 to n doif uc[i].pros<uc[j].pros thenbegin
pom:=uc[i];uc[i]:=uc[j];uc[j]:=pom;
end;write('Upisi razred: ');readln(razred);writeln('ime prezime prosjek');writeln('-----------------------------');for i:=1 to n doif uc[i].raz=razred thenwriteln(uc[i].ime:10,uc[i].prez:10,uc[i].pros:6:2);
for (i=0;i<n-1;i++)for(j=i+1;j<n;j++)if (uc[i].pros<uc[j].pros)
{pom=uc[i];uc[i]=uc[j];uc[j]=pom;
}cout<<"Upisi razred: ";cin>>razred;cout<<"ime prezime prosjek"<<endl;cout<<"-----------------------------"<<endl;for (i=0;i<n;i++)if (uc[i].raz==razred) cout<<uc[i].ime<<"
"<<uc[i].prez<<" "<<uc[i].pros<<endl;
29. rujna 2014. Računalo u školi XVIII
Algoritmi za sortiranje i ispis
Mihael Bobičanec, prof.
Python (lista)for i in range(N-1):
for j in range(i+1,N):if uc[i][3]<uc[j][3]:
pom=uc[i]uc[i]=uc[j]uc[j]=pom
razred=input('Upiši razred:')print('ime prezime prosjek')print('-----------------------------')for i in range(N):
if uc[i][2]==razred: print('{:10s}{:12s}{:6.2f}'.format(uc[i][0],uc[i][1],uc[i][3]))
Python (klasa)for i in range(N-1):
for j in range(i+1,N):if uc[i].pros<uc[j].pros:
pom=uc[i]uc[i]=uc[j]uc[j]=pom
razred=input('Upiši razred:') print('ime prezime prosjek')print('-----------------------------')for i in range(N):
if uc[i].raz==razred: print('{:10s}{:12s}{:6.2f}'.format(uc[i].ime,uc[i].prez,uc[i].pros))
29. rujna 2014. Računalo u školi XVIII
Algoritmi za sortiranje i ispis
Mihael Bobičanec, prof.
Primjer 2
Zadatak 2.Napišite program koji, za zapise oblika (ime, prezime, razred, prosjek), kreira izbornik
1) upis2) ispis po abecedi3) ispis po prosjeku4) traženje pojedinca5) brisanje pojedinca
pa, na osnovu izbora, izvršava zadane funkcije.
29. rujna 2014. Računalo u školi XVIII Mihael Bobičanec, prof.