Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o...

Preview:

Citation preview

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.