gdje je nestao zapis (u pythonu) - hdpio je nestao zapis_mihael_bobicanec.pdf•uvod u teoriju o...

11
Gdje je nestao zapis (u Pythonu) ? Mihael Bobičanec, prof . Gimnazija Antuna Gustava Matoša, Zabok Računalo u školi XVIII.

Upload: others

Post on 25-Dec-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

Gdje je nestao zapis(u Pythonu) ?

Mihael Bobičanec, prof.Gimnazija Antuna Gustava Matoša, Zabok

Računalo u školi XVIII.

Page 2: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

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.

Page 3: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

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

Page 4: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

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.

Page 5: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

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.

Page 6: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

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.

Page 7: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

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.

Page 8: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

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.

Page 9: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

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.

Page 10: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

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.

Page 11: Gdje je nestao zapis (u Pythonu) - HDPIO je nestao zapis_Mihael_Bobicanec.pdf•Uvod u teoriju o bazama podataka (entitet, atribut …) •Uvod u objektno orijentirano programiranje

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.