Programmeerimine MTAT ainepunkti. Eksam.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Advertisements

Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 11: Εκτέλεση Java χωρίς το BlueJ.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
FÜÜSIKA I KURSUS FÜÜSIKALISE LOODUSKÄSITLUSE ALUSED
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java.
Βασικές ένοιες Αντικειμενοστραφούς Προγραμματισμού - Μέθοδοι ΕΡΓΑΣΤΗΡΙΟ AΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Διαφάνειες: ΧΟΧΟΛΗΣ ΔΙΟΝΥΣΙΟΣ Προσαρμογή 2014:
Βασικές ένοιες Αντικειμενοστραφούς Προγραμματισμού - Κλάσεις ΕΡΓΑΣΤΗΡΙΟ AΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Διαφάνειες: ΧΟΧΟΛΗΣ ΔΙΟΝΥΣΙΟΣ Προσαρμογή 2014:
Andmeturve ja krüptoloogia Asümmeetrilised krüptoalgoritmid (RSA) ja krüptoräsi algoritmid. Krüptoprotokollid 7. november 2015 Valdo Praust 
Statistline ja geomeetriline tõenäosus
Εισαγωγή στον Προγ/μό Η/Υ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εργαστηριακό σεμινάριο Χειμερινό εξάμηνο
Βασικές έννοιες Αντικειμενοστραφούς Προγραμματισμού ΙΙ
Δεδομένα, μεταβλητές, υπολογισμοί
Πίνακες και αλφαριθμητικά
Βασικές έννοιες Αντικειμενοστραφούς Προγραμματισμού ΙΙ
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Βασικές ένοιες Αντικειμενοστραφούς Προγραμματισμού
Δομές διακλάδωσης, επαναλήψεις, μέθοδοι
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
OI TΡEIΣ ΙΕΡΑΡΧΕΣ Οι τρεις Ιεράρχες ,προστάτες των γραμμάτων και των εκπαιδευτικών, γιορτάζουν στις 30 Ιανουαρίου.
Πρωτογενείς τύποι δεδομένων
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Vektorid..
Joel Leppik, Indrek Virro
Ühikute teisendamine.
Erapilootide kevadseminar 2012
Εισαγωγή στη Java (Μέρος Α’)
Lõputöö kirjutamisest Vt ka
Süsteemiteooria ISS E 5 EAP Juhitavus, jälgitavus, rakendused
AINELINE MAAILM Kert Martma, PhD Tallinna Ülikool TALLINN 2014.
Andmeturve ja krüptoloogia, 4. kontaktsessioon Valdo Praust
Statistline ja geomeetriline tõenäosus
Robotitehnika.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ALGORITMID JA ANDMESTRUKTUURID
Energia Energia on mateeria liikumise ja vastastikmõjude üldistatud
Meid ümbritsevad elektromagnetlained - kosmiline kiirgus - UV
Sirgete ja tasandite vastastikused asendid.
Ringjoone kaare pikkus ja sektori pindala
Liikumine ja vastastikmõju. Jõud
Ülesanded ja graafikud
Monoteralised päikesepatareid
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Geomeetrilised kujundid
Struktuurivõrrandid Loeng 4 Mõõtmisvigadest
Vajalikud ära lahendada või aru saada antud lahendusest
Struktuurivalemitest
(Kooli) Matemaatika.
Keskkonnaanalüütilises keemias kasutatavad meetodid - ülevaade
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Aümmeetrilised krüptoalgoritmid ja krüptoräsi algoritmid
8. loeng Statistiline seos tunnuste vahel
Silinder, koonus, tüvikoonus, kera. Pöördkehade kordamine.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Biomassi termokeemiline muundamine 6. Gaasistamine 6
Rapla Täiskasvanute Gümnaasium 2005
III VEKTOR TASANDIL. JOONE VÕRRAND.
Loomade populatsioonidünaamika, versioon 2008
Beeta-kiirgus Kea Kiiver.
Διάλεξη #10: Εκτέλεση Java χωρίς το BlueJ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεταγράφημα παρουσίασης:

Programmeerimine MTAT.03.100. 4 ainepunkti. Eksam. http://www.ut.ee/~eno/progr04 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 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öö hinne + + (meistriklasside punktisumma) × (eksamitöö hinne/40) Seega punkte maksimaalselt: 100 = 40 + 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 + 10 + 12 ×(10/40) = 53 (E). Sama, aga supereksam (40): 40 + 40 + 12 = 92 (A)

Eksami arvuline hinne Eksami täheline hinne 100 – 91 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 Programmeerimiskeel Java Java-programmi üldine struktuur Näiteprogramme

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

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. Rakendatakse (käivitatakse) programm Y.

Lähtetekstist lahendamiseni Programmi teksti sisestamine/muutmine X teeb Programmi lähtetekst (lähtekood) Tekstitoimeti loeb Kompilaator teeb Y Täidetav arvuti- programm [ Veateated (konsoolil) ] 11/28/2018 Lähtetekstist lahendamiseni

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.

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

Mida vaja on? Lihtne tekstitoimeti (oleneb op. süsteemist jm.) javac Veateated (siis kui javac või java kättesaadav pole) http://www.cs.ut.ee/~jaanus/java/download/ j2sdk-1_4_1-s1studio …(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 meetodite kogum (ka tühi) Väli: võimalike (meetodiväliste) andmete koht Meetod: mingi (alam)ülesande lahendamise eeskiri class KlassiNimi{ int väli1; double väli2; . . . double meetod1(int x){ }//meetod1 }//KlassiNimi KlassiNimi väli1 väli2 . . . meetod1( ) meetod2( )

Java-programmi üldine struktuur 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.NoSuchMethodError: main). 11/28/2018 Java-programmi üldine struktuur

Programmi (peaklassi) struktuur. Teksti väljastamine. class Proov1{ // peameetod: public static void main(String[] args){ System.out.println("Proov1: algus ====="); System.out.println("Proov1: 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 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 8 bitti -128 127 short 16 bitti -32768 32767 int 32 bitti -2147483648 2147483647 long 64 bitti 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 koos int koht = 8;

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

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

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

Näiteprogramme Teksti väljastamine: Pr1_1.java Ülesanne: leida arvu viimane kümnendnumber Peaklass, milles ainult peameetod: Pr1_2.java pisut keerulisem: Pr1_3.java Peaklass, milles ka üks abimeetod: Pr1_4.java lihtsustatud: Pr1_5.java algandmed klassiväljal: Pr1_6.java

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

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 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“); } 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: … // 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 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.