Sissejuhatus. Programmi ja algoritmi mõiste. Java programmi struktuur
Post on 29-Jan-2016
77 Views
Preview:
DESCRIPTION
Transcript
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
• …
top related