Programmeerimine MTAT 03 100 4 ainepunkti Eksam http

  • Slides: 28
Download presentation
Programmeerimine MTAT. 03. 100. 4 ainepunkti. Eksam. http: //www. ut. ee/~eno/progr 04 Loeng (32

Programmeerimine MTAT. 03. 100. 4 ainepunkti. Eksam. http: //www. ut. ee/~eno/progr 04 Loeng (32 tundi) lektor: Eno Tõnisson Tahvlipraktikum (16 tundi, üle nädala á 2 tundi) Arvutipraktikum (32 tundi) Iseseisev töö (80 tundi) J. Kiho. Java programmeerimise aabits. TÜ, 2002, 265 lk. J. Kiho. Väike Java leksikon. TÜ, 2002, 39 lk. I. Meho jt. Programmeerimise praktikumid. TÜ, 2003, 44 lk. Eesmärgid: • esmase programmeerimisoskuse saavutamine • programmeerimiskeele Java põhimõistete omandamine

Eksamitööle pääsemiseks tuleb • läbida arvutipraktikumis algklassid • sooritada tahvlipraktikumi kontrolltöö (üle 50%) Eksami

Eksamitööle pääsemiseks tuleb • läbida arvutipraktikumis algklassid • sooritada tahvlipraktikumi kontrolltöö (üle 50%) Eksami koondhindes võetakse arvesse arvutipraktikumis läbitud kuni viie meistriklassi eest saadud punktid (iga meistriklass 4 punkti, kuid kokku kuni 20 punkti).

Maksimaalne hinne eksamitöö eest: 40 punkti. Eksami arvuline koondhinne = 40 + + eksamitöö

Maksimaalne hinne eksamitöö eest: 40 punkti. Eksami arvuline koondhinne = 40 + + eksamitöö hinne + + (meistriklasside punktisumma) × (eksamitöö hinne/40) Seega punkte maksimaalselt: 100 = 40 + 20 Näiteid. Eksamitöö 27 punkti, meistriklasse 3 (st. summa 12): 40 + 27 + 12 ×(27/40) = 75 (C). Sama, aga kehv eksam (10): 40 + 12 ×(10/40) = 53 (E). Sama, aga supereksam (40): 40 + 12 = 92 (A)

Eksami arvuline hinne 100 – 91 Eksami täheline hinne A (suurepärane) 90 – 81

Eksami arvuline hinne 100 – 91 Eksami täheline hinne A (suurepärane) 90 – 81 B (väga hea) 80 – 71 C (hea) 70 – 61 D (rahuldav) 60 – 51 E (kasin) 50 – 40 F (puudulik)

Loenguplaan • Arvuti mõiste • Lähtetekstist lahendamiseni • Programmeerimiskeel Java • Java-programmi üldine struktuur

Loenguplaan • Arvuti mõiste • Lähtetekstist lahendamiseni • Programmeerimiskeel Java • Java-programmi üldine struktuur • Näiteprogramme

Arvuti Välismälu ja -seadmed Sisemälu Kõvaketas Diskett Programmi masinkood Andmed Failid Kuvar Printer Käsk

Arvuti Välismälu ja -seadmed Sisemälu Kõvaketas Diskett Programmi masinkood Andmed Failid Kuvar Printer Käsk Protsessor Klaviatuur Hiir

Lähtetekstist lahendamiseni Vajalikud vahendid (valmisprogrammid): tekstitoimeti kompilaator Programmi lähtetekst mingis programmeerimiskeeles tipitakse tekstitoimeti abil

Lähtetekstist lahendamiseni Vajalikud vahendid (valmisprogrammid): tekstitoimeti kompilaator Programmi lähtetekst mingis programmeerimiskeeles tipitakse tekstitoimeti abil ja salvestatakse faili, näiteks nimega X. Rakendatakse (käivitatakse) kompilaator, andes ette faili X. Kui kompilaator leidis vigu, siis parandatakse fail X tekstitoimeti abil ja kompileeritakse uuesti. Kui kompilaator ei leidnud vigu, siis on kompileerimise tulemuseks täidetav arvutiprogramm, näiteks failis Y. 7 Rakendatakse (käivitatakse) programm Y.

Programmi teksti sisestamine/muutmine Tekstitoimeti teeb X Programmi lähtetekst (lähtekood) loeb Kompilaator teeb [ Veateated

Programmi teksti sisestamine/muutmine Tekstitoimeti teeb X Programmi lähtetekst (lähtekood) loeb Kompilaator teeb [ Veateated (konsoolil) ] 12/13/2021 Lähtetekstist lahendamiseni Y Täidetav arvutiprogramm 8

Programmeerimiskeel Grammatika: reeglistik - mida ja kuidas võib kirjutada. Kompilaator: programm, mis iga sellele

Programmeerimiskeel Grammatika: reeglistik - mida ja kuidas võib kirjutada. Kompilaator: programm, mis iga sellele grammatikale vastava teksti teisendab täidetavaks arvutiprogrammiks. Programmeerimiskeelset teksti (programmi lähteteksti) loevad nii inimene kui ka kompilaator. Täidetav arvutiprogramm võib olla nii masinkoodis kui ka interpreteeritav. Esimesel juhul täidab programmi vahetult arvuti protsessor. Interpreteeritav programm on sisendiks interpretaatorile - masinkoodis programmile, mis ise korraldab sisendilt saadud programmis olevate käskluste täitmise. 9

Programmeerimiskeel Java Üks uuemaid ja populaarsemaid. failinimi. java Kompilaatori nimi: javac Interpretaatori nimi: java

Programmeerimiskeel Java Üks uuemaid ja populaarsemaid. failinimi. java Kompilaatori nimi: javac Interpretaatori nimi: java Kompilaatori käivitamine: javac failinimi. java [veateated] Java lähtetekst loeb class klassinimi{. . . } teeb klassinimi. class Interpretaatori käivitamine: loeb java klassinimi [baitkood] teeb Tulemused ekraanil (konsoolil) 10

Mida vaja on? • Lihtne tekstitoimeti (oleneb op. süsteemist jm. ) • javac •

Mida vaja on? • Lihtne tekstitoimeti (oleneb op. süsteemist jm. ) • javac • java Veateated (siis kui javac või java kättesaadav pole) • http: //www. cs. ut. ee/~jaanus/java/download/ – j 2 sdk-1_4_1 -s 1 studio …(Windows, Linux, Solaris) • Spetsiaalne keskkond (JCreator vms. )

Java-programmi üldine struktuur Põhiüksus: klass (enamasti omaette fail) Java-programm: klasside kogum Klass: väljade ja

Java-programmi üldine struktuur Põhiüksus: klass (enamasti omaette fail) Java-programm: klasside kogum Klass: väljade ja meetodite kogum (ka tühi) Väli: võimalike (meetodiväliste) andmete koht Meetod: mingi (alam)ülesande lahendamise eeskiri Klassi. Nimi väli 1 väli 2. . . meetod 1( ) meetod 2( ). . . class Klassi. Nimi{ int väli 1; double väli 2; . . . double meetod 1(int x){. . . }//meetod 1. . . 12 }//Klassi. Nimi

Peaklass - klass, mis sisaldab peameetodit. Peameetod -meetod nimega main. public static void main(String[

Peaklass - klass, mis sisaldab peameetodit. Peameetod -meetod nimega main. public static void main(String[ ] arg) {. . . } Sellest algab Java-programmi täitmine: nt. käsurealt antava käskluse java Proov korral käivitatakse meetod main( ) klassist Proov. Kui klassis Proov pole peameetodit, siis on tegemist veaga (Exception in thread “main” java. lang. No. Such. Method. Error: main). 12/13/2021 Java-programmi üldine struktuur 13

Programmi (peaklassi) struktuur. Teksti väljastamine. class Proov 1{ // peameetod: public static void main(String[]

Programmi (peaklassi) struktuur. Teksti väljastamine. class Proov 1{ // peameetod: public static void main(String[] args){ System. out. println("Proov 1: algus ====="); System. out. println("Proov 1: valmis. ====="); } } main method – peameetod kohustuslik iseseisvat rakendust kirjeldavas klassis Looksulud paaris!!!

Muutuja • Muutuja – teatavat tüüpi väärtuste jaoks ettenähtud mäluväli • muutujale saab omistada

Muutuja • Muutuja – teatavat tüüpi väärtuste jaoks ettenähtud mäluväli • muutujale saab omistada väärtust ning seda väärtust kasutada avaldise arvutamisel • muutujale viidatakse tema nime abil

Täisarvuline muutuja. Kirjeldamine. • teatavat tüüpi väärtused – nt. täisarvud • • byte short

Täisarvuline muutuja. Kirjeldamine. • teatavat tüüpi väärtused – nt. täisarvud • • byte short int long 8 bitti -128 16 bitti -32768 32 bitti -2147483648 64 bitti 127 32767 2147483647 • muutujakirjeldus reserveerib koha antud tüüpi ja antud nimega muutujale (ja salvestab antud kohale antud tüübi vaike-algväärtuse) int a; int a, b, autode_arv;

Omistamine. • a = 12; • b = a + 10; • Kirjeldamine ja

Omistamine. • a = 12; • b = a + 10; • Kirjeldamine ja omistamine koos int koht = 8;

Täisarvuline avaldis. • • • liitmine + lahutamine korrutamine * jagamine / jäägi leidmine

Täisarvuline avaldis. • • • liitmine + lahutamine korrutamine * jagamine / jäägi leidmine %

jagamine ja jääk int b = 3; int c = 7; c/b = 2

jagamine ja jääk int b = 3; int c = 7; c/b = 2 c%b = 1

Tehete järjekord 1. unaarne + unaarne – 2. * (korrutamine), / (jagamine), % (jääk)

Tehete järjekord 1. unaarne + unaarne – 2. * (korrutamine), / (jagamine), % (jääk) 3. + (liitmine), - (lahutamine), + (sõnede sidurdamine) 4. = omistamine • saab sulgudega muuta

Näiteprogramme Teksti väljastamine: Pr 1_1. java Ülesanne: leida arvu viimane kümnendnumber Peaklass, milles ainult

Näiteprogramme Teksti väljastamine: Pr 1_1. java Ülesanne: leida arvu viimane kümnendnumber Peaklass, milles ainult peameetod: Pr 1_2. java pisut keerulisem: Pr 1_3. java Peaklass, milles ka üks abimeetod: Pr 1_4. java lihtsustatud: Pr 1_5. java algandmed klassiväljal: Pr 1_6. java

Hääldusjuhiseid class [klæs ] int [ɪnt] double [dʌbʌl ] public [pʌblɪk] static [stætɪk ]

Hääldusjuhiseid class [klæs ] int [ɪnt] double [dʌbʌl ] public [pʌblɪk] static [stætɪk ] void [vɔɪd ] main [meɪn ] string [strɪŋ ] return [rʌtɜːn ] – klass (integer [ɪntʌdʒɜː ] – täisarv ) – topelt(täpsusega ujupunktarv) – avalik – staatiline – puuduv, tühi – pea– sõne, string – naasma, tagastama [http: //www. michael-forman. com/language/phonetics. html]

exception [ɪksepʃʌn] – erind, eriolukord in [ʌn ] – -s (seesütlev kääne) thread [θred

exception [ɪksepʃʌn] – erind, eriolukord in [ʌn ] – -s (seesütlev kääne) thread [θred ] – lõim lang [læŋ ] (language [læŋgwʌdʒ] – keel ) no [nəʊ ] – ei, ei ole such [sʌtʃ ] – selline method [meθʌd ] – meetod error [erɜː] – viga

Kordamiseks Mille kogum on klass? Mille säilitamise koht on väli? Mis on meetod? Mis

Kordamiseks Mille kogum on klass? Mille säilitamise koht on väli? Mis on meetod? Mis on peameetod? Mis on kindlasti puudu järgmises klassikirjelduses: class { }

Leida kirjaviga järgmises programmis: class OK{ public static void main(string[] a){ System. out. println(“OK“);

Leida kirjaviga järgmises programmis: class OK{ public static void main(string[] a){ System. out. println(“OK“); } } Millise nimega failis on soovitatav seda programmiteksti säilitada? Kui viga on parandatud ja see programm salvestatud faili nimega “KO. java”, siis millise nimega fail tekib komplieerimisel korraldusega javac KO. java

Täita lüngad järgmises meetodi(kirjelduse)s: static … s(int a, int b){ // Antud: … //

Täita lüngad järgmises meetodi(kirjelduse)s: static … s(int a, int b){ // Antud: … // Tulemus: … int c; c = a + b; return c; } Mis on selle meetodi nimi? Mis on selle meetodi tagastustüübiks (ehk: mis tüüpi on antud meetod)? Milliste nimedega on meetodi (formaalsed) parameetrid? Mis nimega lokaalmuutuja on selles meetodis kasutusel? Kirjutage antud meetod ümber võimalikult lühidal kujul.

Olgu programmis kirjeldatud muutujad x ja y: int x, y; Millised järgmistest meetodi s

Olgu programmis kirjeldatud muutujad x ja y: int x, y; Millised järgmistest meetodi s väljakutsetest (ehk rakendustest) on vigased, miks? s(1 + 2) s(10, 13) s(3; -45) s(, 5) s(1, 2, 0) s(int a, int b) s(x, y) S(x-1, y+1) s(10. 13) s(0, s(1234, 4321) / s(6543, -s(2831, 3711))) Mis on viimase avaldise väärtuseks?

Töötage läbi aabitsa vihik 1, sh harjutused.

Töötage läbi aabitsa vihik 1, sh harjutused.