SlideServe
Menu
Préférences
© SlideServe · v2026

Graafika. Loogiline tüüp. Keerukamad loogilised avaldised.

synclair-osvaldo avatar
25 diapositives · 455 Views · Nov 29, 2014

Graafika. Loogiline tüüp. Keerukamad loogilised avaldised. Tahvlipraktikum 8. Loogiline tüüp: ainult kaks väärtust true (jah; tõene) false (ei; väär). Loogilist tüüpi muutuja ( x ) kirjeldus: boolean x; Sellele võib omistada ainult loogilise avaldise väärtust:

Graafika. Loogiline tüüp. Keerukamad loogilised avaldised. - slide 1
01 / 25Graafika. Loogiline tüüp. Keerukamad loogilised avaldised.
1 / 17

Télécharger la présentation

Graafika. Loogiline tüüp. Keerukamad loogilised avaldised.
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Graafika. Loogiline tüüp. Keerukamad loogilised avaldised. Tahvlipraktikum 8

  2. Loogiline tüüp: ainult kaks väärtust true (jah; tõene) false (ei; väär) Loogilist tüüpi muutuja (x) kirjeldus: boolean x; Sellele võib omistada ainult loogilise avaldise väärtust: x = lav; true false loogiline muutuja aritm.av võrdlusmärk artim.av Konstant: Konstant: Muutuja Võrdlus: == != <= >= < > Ei ole lubatud: aritm.av võrdlusmärk artim.av võrdlusmärk artim.av Nt. 0 < a <= b+1 loogilineMeetod(argumendid) Loogilise meetodi väljakutse: sulgude ja loogiliste tehete abil koostatud Keerukam loogiline avaldis:

  3. Ülesannet, mille korral tuleb leida üks kahest võimalikust vastusest (JAH või EI), nimetatakse kontrollimisülesandeks. Kontrollimisülesanne programmeeritakse loogilist tüüpi meetodina, st meetodina, mille tagastustüübiks on boolean. Sellise meetodi naasmisdirektiivides näidatakse loogiline avaldis, erijuhul loogiline konstant (true või false) või loogiline muutuja. static boolean onPalindroom(int a) Antud: arv a, a > 0 Tulemus: tagastatakse true, kui a on palindroom false vastasel korral return a == invert(a);

  4. Loogiline meetod: tagastustüüp boolean Vastab kontrollimisülesandele. boolean m(form. param. loetelu){ // Antud: // Tulemus: tagastatakse true, kui ...... // false vastasel korral . . . return lav; }

  5. Kui lav on loogiline avaldis, siis ka (lav) on loogiline avaldis. ! lav lav1 && lav2 lav1 || lav2 Loogilised tehted: EI JA 0 < a <= b+1 asemel tuleb kirjutada: 0 < a && a <= b+1 Samaväärne (siin tarbetult pikk): !(0 >= a || a > b+1) VÕI

  6. Ülesandeid • Koostada meetod, mis kontrollib, kas antud täisarv on paarisarv. • Koostada meetod, mis kontrollib, kas antud järjendi elementide summa on positiivne arv. • Koostada meetod, mis kontrollib, kas antud täisarvude järjendi elemendid moodustavad aritmeetilise progressiooni.

  7. Graafika Erinevalt tavapärasest “paremakäelisest” koordinaadistikust on ekraanikoordinaadistik “vasakukäeline” (y-telg on suunatud alla): x Ekraani (joonistamistahvli) vasak ülemine nurk on (0; 0). Ekraanipunkti nimetatakse ka piksliks. y

  8. Ülesanne 1. Ristküliku laius on 190 ja kõrgus 80 ning vasaku ülemise tipu koordinaadid on (100; 100). Leida ülejäänud kolme tipu koordinaadid. x T1 = (100; 100) T2 = T3 = T4 = T1 T2 190 80 T3 T4 y

  9. Mida tuleb teha • Teha raam ehk aken • Lisada raamile joonistamise ala ehk tahvel • Tahvlile joonistada: • teksti • lõike • ristkülikuid • ringe või ovaale • …

  10. Raami loomine (Jooniseraam.java) import java.awt.*; // Java paketid graafika loomiseks import javax.swing.*; class Jooniseraam { // PEAKLASS public static void main(String[] arg) { // peameetod JFrame raam = new JFrame("Joonis"); // raami loomine, raami (akna) pealkiri: Joonis raam.setLocation(new Point(100, 100)); // raami asukoht ekraanil: ülemine vasak nurk (100; 100) raam.setSize(new Dimension(600, 500)); // raami mõõtmed: laius 600, kõrgus 500 raam.show(); // raami näitamine }// peameetod }// Jooniseraam

  11. Tahvli lisamine raamile • Teha klass Tahvel • Klassi Jooniseraam lisada korraldus uue tahvli lisamiseks

  12. Tahvli loomine (Tahvel.java) import java.awt.*; import javax.swing.*; class Tahvel extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); // paneeli joonistamine }// paintComponent }// Tahvel

  13. Tahvliga raam (Jooniseraam.java) import java.awt.*; import javax.swing.*; class Jooniseraam { public static void main(String[] arg) { JFrame raam = new JFrame("Joonis"); raam.setLocation(new Point(100, 100)); raam.setSize(new Dimension(600, 500)); // tahvli lisamine raam.show(); }// main }// Jooniseraam raam.getContentPane().add(new Tahvel());

  14. Joonistamine (Joonis.java) import java.awt.*; class Joonis{ static void joonistada(Tahvel t, Graphics g){ // põhimeetod, rakendamiseks klassist Tahvel // Antud: tahvel t, graafikakontekst g // Tulemus: joonis tahvlil t t.setBackground(Color.yellow); // tahvli taustvärv (kollane) // raamitud tekst tahvli ülemisse vasakusse nurka: g.setColor(Color.blue); // teksti värv (sinine) g.drawString(„Minu esimene joonis“, 15, 20); // tekst g.drawRect(10, 7, 125, 15); // raamida tekst } //joonistada } // Joonis

  15. Joonistamine tahvlil (Tahvel.java) import java.awt.*; import javax.swing.*; class Tahvel extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g);Joonis.joonistada(this, g); }// paintComponent }// Tahvel

  16. javac Joonis.javajavac Tahvel.javajavac Jooniseraam.javajava Jooniseraam

  17. Teised joonised • Muuta meetodit joonistada() klassis Joonis • Klassid Jooniseraam ja Tahvel jäävad samaks • Klassis Tahvel võib muuta joonistamise klassi nime ja joonistamise meetodi nime • Joonis.joonistada(this, g); • Peaklassis Jooniseraam võib soovi korral muuta • raami pealkirja • JFrame raam = new JFrame("Joonis"); • raami esialgset paiknemist • raam.setLocation(new Point(100, 100)); • raami suurust • raam.setSize(new Dimension(600, 500));

  18. Värvid g.setColor(…); t.setBackground(…); Color.black must Color.blue sinine Color.cyan hele rohekas-sinine Color.darkGray tumehall Color.gray hall Color.green roheline Color.lightGray helehall Color.magenta lilla Color.orange oranž Color.pink roosa Color.red punane Color.white valge Color.yellow kollane

  19. Joonistamismeetodid (Graphics) g.drawLine(x, y, x1, y1); lõik (x;y)---(x1;y1) g.drawRect(x, y, laius, kõrgus); ristküliku küljed, (x;y): ülemine vasak nurk g.fillRect(x, y, laius, kõrgus); ristkülik g.drawOval(x, y, laius, kõrgus); ovaaljoon mõttelisse ristkülikusse g.fillOval(x,y,laius, kõrgus); ovaal mõttelisse ristkülikusse (x,y) (x,y) kõrgus laius

  20. Kirjutamine g.drawString(“tekst”, x, y); (x,y) tekst Jooksva kirjakuju seadmise (enne g.drawString()) näiteid: g.setFont(new Font(“Serif”, Font.PLAIN, 14)); g.setFont(new Font(“Courier”, Font.BOLD, 12)); g.setFont(new Font(“SansSerif”, Font.ITALIC, 16)); kirja tüüp kuju suurus PLAIN - tavaline; BOLD - poolpaks, ITALIC - kursiiv

  21. Graafikaülesanne 1 • Kuidas teha ristkülik (slaid 8)? • Millist faili muuta? • Mida muuta?

  22. Ülesanne 2. Koostada* graafikaprogramm, mis joonistab hallikat värvi (Color.lightGray) täidetud ruudu, mille küljepikkus on 200 ning vasaku ülemise tipu koordinaadid (100; 100) ja ääristab selle sama suure ruudu musta värvi külgedega. Ülesanne 2a. Täiendada* eelmises ülesandes koostatud graafikaprogrammi nii, et hallika ruudu sisse joonistataks veel juhusliku paigutuse ja suurusega väiksem punane ruut. Küljepikkus a on juhuarv lõigul [10; 60]. Seega punase ruudu vasaku ülemise tipu koordinaadid on juhuarvud lõigul ? * Kirjutada ainult meetodi joonistada sisu.

  23. Punkt asub ruudul parajasti siis, kui ta on kas ruudu sisealas või ruudu küljel. x y Ülesanne 3. Olgu antud punkt (xp, yp) ning ruut küljepikkusega a ja ülemise vasaku nurgaga (x, y). Lõpetada punkti ruudul asumise tingimus: ja

  24. Kaks ruutu lõikuvad, kui neil on vähemalt 1 ühine punkt. Ütleme, et üks ruut R1 torkab teist ruutu R2, kui vähemalt 1 ruudu R1 tipp asub ruudul R2. R1 R1 R2 R2 R2 R1 • Ülesanne 4. On antud 2 ruutuR1 ja R2. Kas on õiged väited • Kui R1 torkab ruutu R2, siis R1 ja R2 lõikuvad. • Kui R1 ei torka ruutu R2, siis R1 ja R2 ei lõiku. • R1 ja R2 lõikuvad parajasti siis, kui • kui R1 torkab ruutu R2 või R2 torkab ruutu R1. R2