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

Preview:

DESCRIPTION

Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur. Programmeerimine MTAT.03.100 1. loeng. Loengud Helle Hein Helle.Hein@ut.ee Eno Tõnisson Eno.Tonisson@ut.ee. Kursuse põhieesmärgid. - PowerPoint PPT Presentation

Citation preview

Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi

struktuur

Programmeerimine MTAT.03.100 1. loeng

• Loengud– Helle Hein

• Helle.Hein@ut.ee

– Eno Tõnisson • Eno.Tonisson@ut.ee

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.

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

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

Täna loengus

• Algoritm ja programm

• Lähtetekstist lahendamiseni

• Programmeerimiskeel

• Programmeerimiskeel Java

• Java-programmi üldine struktuur

• Näiteprogramm

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)

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

AlgoritmÜlesanne

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

Programm

Programmeerimiskeel Java Pascal …

Arvuti

Kompilee-rimine

Arvutiprogramm

Täitmine

Tulemused

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

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

----------

Programmi masinkood

Protsessor

Sisemälu

Andmed

Käsk

Välismälu ja -seadmed

FailidFailid

PrinterKuvar

Klaviatuur Hiir

Kõvaketas Diskett

Arvuti ja programm

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

Tekstitoimeti Programmi lähtetekst(lähtekood)

X

Kompilaator

loeb

Täidetav arvuti-programm

Yteeb

teeb

Programmi teksti sisestamine/muutmine

[ Veateated(konsoolil) ]

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.

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

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

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

Looksulud paaris!!!

Lihtne Java-programm

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

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

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).

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

Omistamine

• a = 12;

• b = a + 10;

• Kirjeldamine ja omistamine koos

int koht = 8;

Täisarvuline avaldis

• liitmine +

• lahutamine -

• korrutamine *

• jagamine /

• jäägi leidmine %

Tehete järjekord

1. unaarne + unaarne –

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

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

4. = omistamine

• saab sulgudega muuta

Erinevaid viise programmidele juurdepääsuks

• cmd Notepad H:\

• Putty SSH pico eno@math:~>

• JCreator

• …

Recommended