24
Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur Programmeerimine MTAT.03.100 1. loeng

Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

  • Upload
    hang

  • View
    81

  • Download
    0

Embed Size (px)

DESCRIPTION

Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur. Programmeerimine MTAT.03.100 1. loeng. Loengud Helle Hein [email protected] Eno Tõnisson [email protected]. Kursuse põhieesmärgid. - PowerPoint PPT Presentation

Citation preview

Page 1: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi

struktuur

Programmeerimine MTAT.03.100 1. loeng

Page 2: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

• Loengud– Helle Hein

[email protected]

– Eno Tõnisson • [email protected]

Page 3: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Kursuse põhieesmärgid

• Üliõpilane oskab kasutada programmeerimise baaskonstruktsioone (nt. hargnemine, tsükkel, alamprogramm).

• Üliõpilane oskab kasutada põhilisi andmestruktuure (nt. massiivid).

• Üliõpilane saab hakkama lihtsamate praktikas vajalike ülesannete lahendamisega (nt. oskab failist andmeid lugeda, neid andmeid töödelda, tulemusi faili salvestada ja ekraanil esitada).

• Üliõpilasel on piisav ettevalmistus teiste programmeerimiskeelte õppimiseks.

Page 4: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Korraldus• MTAT.03.100. 4 ainepunkti. Eksam.

– Loeng (16 tundi) – Tahvlipraktikum (32 tundi)– Arvutipraktikum (32 tundi)– Iseseisev töö (80 tundi)

– Eksamitööle pääsemiseks tuleb• arvutipraktikumis saada arvestatud nõutud kodutööd ja 2

kontrolltööd• sooritada tahvlipraktikumi kontrolltöö (üle 50%)

– Kursus põhineb programmeerimiskeelel Java

Page 5: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Materjalid

• Praktikumimaterjalid WebCT-s

• Loenguslaidid

• Raamatud, veebimaterjalid– J. Kiho. Java programmeerimise aabits. TÜ, 2002– J. Kiho. Väike Java leksikon. TÜ, 2002– I. Meho jt. Programmeerimise praktikumid. TÜ, 2003– Ilmumas Programmeerimise eksamiülesannete kogu

Page 6: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Täna loengus

• Algoritm ja programm

• Lähtetekstist lahendamiseni

• Programmeerimiskeel

• Programmeerimiskeel Java

• Java-programmi üldine struktuur

• Näiteprogramm

Page 7: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Algoritm

• algoritm mat, info lahenduseeskiri. ◊ Ruutjuure leidmise algoritm. (www.keelevara.ee ÕS 1999)

• algoritm Üksikasjalik eeskiri mingi ülesande lahendamiseks. Sõna tuleb Iraani matemaatiku Al-Khawarizmi nimest. (www.vallaste.ee)

Page 8: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

-----------------

AlgoritmÜlesanne

----- --------- ---

Programm

Programmeerimiskeel Java Pascal …

Arvuti

Kompilee-rimine

Arvutiprogramm

Täitmine

Tulemused

Veateated------------

------------

----------

Page 9: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Programmi masinkood

Protsessor

Sisemälu

Andmed

Käsk

Välismälu ja -seadmed

FailidFailid

PrinterKuvar

Klaviatuur Hiir

Kõvaketas Diskett

Arvuti ja programm

Page 10: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Lähtetekstist lahendamiseni

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.

Vajalikud vahendid (valmisprogrammid):tekstitoimeti kompilaator

Page 11: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Tekstitoimeti Programmi lähtetekst(lähtekood)

X

Kompilaator

loeb

Täidetav arvuti-programm

Yteeb

teeb

Programmi teksti sisestamine/muutmine

[ Veateated(konsoolil) ]

Page 12: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

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 programmivahetult arvuti protsessor. Interpreteeritav programm on sisendiks interpretaatorile - masinkoodis programmile, mis ise korraldab sisendilt saadud programmis olevatekäskluste täitmise.

Page 13: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Programmeerimiskeel Java

Üks populaarsemaid.

Kompilaatori nimi: javacInterpretaatori nimi: java

Kompilaatori käivitamine: javac failinimi.java

Interpretaatori käivitamine:java klassinimi

Java lähtetekst

class klassinimi{ . . .}

failinimi.java

[baitkood]

klassinimi.class

Tulemused ekraanil (konsoolil)

[veateated]

loeb

teeb

loeb

teeb

Page 14: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

14

Java-programmi üldine struktuur

Põhiüksus: klass (enamasti omaette fail)Java-programm: klasside kogumKlass: väljade ja meetodite kogum (ka tühi)Väli: võimalike (meetodiväliste) andmete kohtMeetod: mingi (alam)ülesande lahendamise eeskiri

KlassiNimi

väli1väli2. . .

meetod1( )

meetod2( ). . .

class KlassiNimi{int väli1;double väli2;. . .double meetod1(int x){

. . .}//meetod1. . .

}//KlassiNimi

Page 15: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

class Proov1{ // peameetod: public static void main(String[] args){ System.out.println("Proov1: algus ====="); System.out.println("Proov1: valmis. ====="); } }

Looksulud paaris!!!

Lihtne Java-programm

Page 16: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

class Proov1{ // peameetod: public static void main(String[] args){ System.out.println("Proov1: algus ====="); System.out.println("Proov1: valmis. ====="); } }

klass (tekst failist nimega Proov1.java)

peameetod

peameetodi sisu e. keha

Lihtne Java-programm

Page 17: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

javac Proov1.java

java Proov1

Proov1: algus ===== Proov1: valmis. =====

Kompileerida fail Proov1.java

Käivitada Proov1.class

Tulemused

Täpsemalt: käivitada peameetod (main) failist Proov1.class

Lihtne Java-programm

Page 18: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi 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).

Page 19: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

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

Page 20: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

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, autodeArv;

Page 21: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Omistamine

• a = 12;

• b = a + 10;

• Kirjeldamine ja omistamine koos

int koht = 8;

Page 22: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Täisarvuline avaldis

• liitmine +

• lahutamine -

• korrutamine *

• jagamine /

• jäägi leidmine %

Page 23: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Tehete järjekord

1. unaarne + unaarne –

2. * (korrutamine), / (jagamine), % (jääk)

3. + (liitmine), - (lahutamine), + (sõnede sidurdamine)

4. = omistamine

• saab sulgudega muuta

Page 24: Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur

Erinevaid viise programmidele juurdepääsuks

• cmd Notepad H:\

• Putty SSH pico eno@math:~>

• JCreator

• …