Objektorienteeritud programmeerimine

Suurus: px
Alustada lehe näitamist:

Download "Objektorienteeritud programmeerimine"

Väljavõte

1 Objektorienteeritud programmeerimine 12. loeng, 29. aprill Marina Lepp

2 Eelmisel nädalal Loeng erindid, andmestruktuurid, isetehtud list Lisapraktikum Praktikum erindid Raamatu ja roosi päev (23.04) Jüripäev (23.04) Veteranipäev (23.04) DNA päev (25.04) Intellektuaalomandi päev (26.04) 2

3 Umbes mitu tundi tegelesite eelmisel nädalal selle ainega (loeng+praktikum+iseseisvalt)? tundi tundi tundi tundi tundi tundi tundi 8. üle 14 tunni 3

4 Kuivõrd olete selle ainega graafikus? 1. Isegi ees 2. Täiesti graafikus 3. Veidi maas, aga saan ise hakkama 4. Kõvasti maas, vajan abi 5. Ei oska öelda 4

5 Lisamaterjal Y. D. Liang Introduction to Java Programming Java tutorial C. S. Horstmann Big Java: Early Objects J. Kiho Java Programmeerimise aabits J. Kiho Väike Java leksikon 5

6 Täna Isetehtud list Java erinevad andmestruktuurid Geneerilised tüübid Rahvusvaheline tantsupäev 6

7 Andmestruktuur Teatud viisil organiseeritud andmete hulk Andmetele juurdepääs, andmetega opereerimine 7

8 Dünaamilised andmestruktuurid Muutuva suurusega Võimaldavad e lisada ja eemaldada Võimaldavad teha päringuid suuruse (ide arvu), konkreetse elemendi sisalduvuse kohta Põhitüübid: list (list) magasin (stack) järjekord (queue) hulk (set) kuhi (heap) puu (tree) graaf (graph) 8

9 Ise teha või olemasolevat kasutada? Eelmisel korral hakkasime ise listi tegema jätkame Pärast vaatleme Javas olemasolevaid 9

10 List list, loend, nimistu(, ahel) Listis on andmeelemendid kindlas järjekorras Võimalikud tegevused elemendi võtmine elemendi lisamine elemendi eemaldamine leida, mitu i on listis teha kindlaks, kas antud on listis teha kindlaks, kas list on tühi Saab realiseerida mitmel viisil massiivi abil lihtahela abil 10

11 Isetehtud listi programm Küllaltki palju meetodeid osasid loengus ei käsitleta kogu programm Moodle is Ise läbi töötada 15. loeng eksam 11

12 Liides public interface MyList { public void add(object o); //lisamine lõppu public void add(int index, Object o); //lisamine antud kohale public void clear(); //tühjendamine public boolean contains(object o); //kas sisaldab antud i public Object get(int index); //võtmine antud kohalt ( jääb alles) public int indexof(object o); //esimene asukoht public boolean isempty(); //kas tühi public int lastindexof(object o); // viimane asukoht public boolean remove(object o); //eemaldamine esimeselt asukohalt public Object remove(int index); //eemaldamine antud kohalt public Object set(int index, Object o); //panek public int size(); //ide arv 12

13 Miks abstraktne? Abstraktseid meetodeid nagu poleks? Abstraktne klass public abstract class MyAbstractList implements MyList { protected int size; protected MyAbstractList() { //vaikekonstruktor //konstruktor struktuuri täitmisega protected MyAbstractList(Object[] objects) { for (int i = 0; i < objects.length; i++){ this.add(objects[i]); public void add(object o) { add(size, o); 13

14 Abstraktne klass (järg) public boolean isempty() { return size == 0; public int size() { return size; public boolean remove(object o) { if (indexof(o) >= 0) { remove(indexof(o)); return true; else return false; 14

15 List lihtahelana Ahelloend ingl linked list Siseklassina private class Node { Object ; Node ; public Node(Object o) { = o; Lihtahel koosneb üksteisega seotud tippudest Iga tipu juurest on viit järgmisele tipule first last : null 15

16 Tipu vahelepanek first last : null o 16

17 Tipu vahelepanek first last : null o 17

18 Tipu eemaldamine first last : null eemaldatav tipp 18

19 Tipu eemaldamine first last : null 19

20 Algus public class MyLinkedList extends MyAbstractList { private Node first, last; public MyLinkedList() { public MyLinkedList(Object[] objects) { super(objects); public Object getfirst() { if (size == 0) return null; else return first.; public Object getlast() { if (size == 0) return null; else return last.; Object, mitte Node Object, mitte Node 20

21 Uus tipp algusesse public void addfirst(object o) { first last : null 21

22 Uus tipp algusesse public void addfirst(object o) { Node newnode = new Node(o); newnode first last o : null 22

23 Uus tipp algusesse public void addfirst(object o) { Node newnode = new Node(o); newnode. = first; newnode first last o : null 23

24 Uus tipp algusesse public void addfirst(object o) { Node newnode = new Node(o); newnode. = first; first = newnode; newnode first last o : null 24

25 Uus tipp algusesse public void addfirst(object o) { Node newnode = new Node(o); newnode. = first; first = newnode; size++; if (last == null) last = first; newnode first last o : null 25

26 Uus tipp lõppu public void addlast(object o) { if (last == null) { first = last = new Node(o); else { size++; first last : null 26

27 Uus tipp lõppu public void addlast(object o) { if (last == null) { first = last = new Node(o); else { last. = new Node(o); size++; first last o : null 27

28 Uus tipp lõppu public void addlast(object o) { if (last == null) { first = last = new Node(o); else { last. = new Node(o); last = last.; size++; first last o : null 28

29 Uus tipp public void add(int index, Object o) { if (index == 0) addfirst(o); else if (index >= size) addlast(o); else { 29

30 else { Node current = first; Uus tipp add(2, o) current first last : null 30

31 Uus tipp else { Node current = first; for (int i = 1; i < index; i++) current = current.; add(2, o) first current last : null 31

32 Uus tipp else { Node current = first; for (int i = 1; i < index; i++) current = current.; Node temp = current.; add(2, o) first current temp last : null 32

33 Uus tipp else { Node current = first; for (int i = 1; i < index; i++) current = current.; Node temp = current.; current. = new Node(o); add(2, o) first current temp last : null o 33

34 Uus tipp else { Node current = first; for (int i = 1; i < index; i++) current = current.; Node temp = current.; current. = new Node(o); current.. = temp; add(2, o) first current temp last : null o 34

35 Uus tipp else { Node current = first; for (int i = 1; i < index; i++) current = current.; Node temp = current.; current. = new Node(o); current.. = temp; size++; add(2, o) first current temp last : null o 35

36 Uus tipp public void add(int index, Object o) { if (index == 0) addfirst(o); else if (index >= size) addlast(o); else { Node current = first; for (int i = 1; i < index; i++) current = current.; Node temp = current.; current. = new Node(o); current.. = temp; size++; 36

37 Esimese eemaldamine public Object removefirst() { if (size == 0) return null; else { Node temp = first; first = first.; size--; if (first == null) last = null; return temp.; first last : null 37

38 Esimese eemaldamine public Object removefirst() { if (size == 0) return null; else { Node temp = first; first = first.; size--; if (first == null) last = null; return temp.; first last : null 38

39 Viimase eemaldamine first public Object removelast() { if (size == 0) return null; Node previous = first; for (int i = 1; i < size - 1; i++) { previous = previous.; Node temp = previous.; previous. = null; last = previous; size--; return temp.; previous last : null 39

40 Viimase eemaldamine first public Object removelast() { if (size == 0) return null; Node previous = first; for (int i = 1; i < size - 1; i++) { previous = previous.; Node temp = previous.; previous. = null; last = previous; size--; return temp.; previous last : null : null 40

41 Viimase eemaldamine first public Object removelast() { if (size == 0) return null; Node previous = first; for (int i = 1; i < size - 1; i++) { previous = previous.; Node temp = previous.; previous. = null; last = previous; size--; return temp.; last : null : null 41

42 public void clear() { first = last = null; size = 0; public Object remove(int index) { if ((index < 0) (index >= size)) return null; else if (index == 0) return removefirst(); else if (index == size - 1) return removelast(); else { Node previous = first; for (int i = 1; i < index; i++) { previous = previous.; Node current = previous.; previous. = current.; size--; return current.; //else 42

43 Node current = previous.; previous current previous. = current.; previous current 43

44 public boolean contains(object o) { if (size == 0) return false; Node temp = first; while (temp!= null){ if (temp..equals(o)) return true; else temp = temp.; return false; public Object get(int index) { if ((index < 0) (index >= size)) return null; else if (index == 0) return first.; else if (index == size - 1) return last.; else { Node temp = first; for (int i = 1; i <= index; i++) { temp = temp.; return temp.; 44

45 public int indexof(object o) { if (size == 0) return -1; Node temp = first; if (temp..equals(o)) return 0; for (int i = 1; i < size; i++) { temp = temp.; if (temp..equals(o)) return i; return -1; public int lastindexof(object o) { if (size == 0) return -1; int lastindex = -1; Node temp = first; if (temp..equals(o)) lastindex = 0; for (int i = 1; i < size; i++) { temp = temp.; if (temp..equals(o)) lastindex = i; return lastindex; 45

46 public Object set(int index, Object o) { Object ob; if ((index < 0) (index >= size)) return null; else if (index == 0){//asendame esimeseks ob = first.; first. = o; return ob; //else Node temp = first;//asendame kohale index for (int i = 1; i <= index; i++) { temp = temp.; //for ob = temp.; temp. = o; return ob; 46

47 public String tostring(){ if (size == 0) return "[]"; Node temp = first; StringBuilder result = new StringBuilder("[" + first.); for (int i = 1; i < size; i++) { temp = temp.; result.append(", " + temp.); return result.tostring() + "]"; private class Node { Object ; Node ; public Node(Object o) { = o; //MyLinkedList 47

48 Teisendamine sõneks public String tostring(){ if (size == 0) return "[]"; Node temp = first; StringBuilder result = new StringBuilder("[" + first.); result [esimene first temp last esimene teine kolmas neljas : null 48

49 Teisendamine sõneks public String tostring(){ if (size == 0) return "[]"; Node temp = first; StringBuilder result = new StringBuilder("[" + first.); for (int i = 1; i < size; i++) { temp = temp.; result.append(", " + temp.); result [esimene, teine first temp last esimene teine kolmas neljas : null 49

50 Teisendamine sõneks public String tostring(){ if (size == 0) return "[]"; Node temp = first; StringBuilder result = new StringBuilder("[" + first.); for (int i = 1; i < size; i++) { temp = temp.; result.append(", " + temp.); result [esimene, teine, kolmas first temp last esimene teine kolmas neljas : null 50

51 Teisendamine sõneks public String tostring(){ if (size == 0) return "[]"; Node temp = first; StringBuilder result = new StringBuilder("[" + first.); for (int i = 1; i < size; i++) { temp = temp.; result.append(", " + temp.); result [esimene, teine, kolmas, neljas first templast esimene teine kolmas neljas : null 51

52 Teisendamine sõneks public String tostring(){ if (size == 0) return "[]"; Node temp = first; StringBuilder result = new StringBuilder("[" + first.); for (int i = 1; i < size; i++) { temp = temp.; result.append(", " + temp.); return result.tostring() + "]"; [esimene, teine, kolmas, neljas] first templast esimene teine kolmas neljas : null 52

53 public class TestMyLinkedList { public static void main(string[] args){ MyLinkedList myll = new MyLinkedList(); myll.add("esimene"); myll.add("teine"); myll.add("kolmas"); myll.add("neljas"); myll.add(0, "uus"); myll.add(2, "kõige uuem"); System.out.println("MyLinkedList: " + myll); myll.remove(1); myll.set(4,"viies"); System.out.println("MyLinkedList: " + myll); System.out.println("MyLinkedList: contains " + myll.contains("kolmas")); MyLinkedList: [uus, esimene, kõige uuem, teine, kolmas, neljas] MyLinkedList: [uus, kõige uuem, teine, kolmas, viies] MyLinkedList: contains true 53

54 Magasin, järjekord Magasin e lisatakse lõppu ja kätte saab e ainult lõpust elemendi lisamine (push) elemendi eemaldamine (pop) LIFO Last In, First Out Järjekord e lisatakse lõppu ja kätte saab e ainult algusest elemendi lisamine (enqueue) elemendi eemaldamine (dequeue) FIFO First In, First Out 54

55 Listi abil magasin sobivam kasutada massiivi abil realiseeritud listi järjekord sobivam kasutada ahelana realiseeritud listi Saab muidugi kasutada ükskõik kumba kasutame ahelavarianti, sest see on meil olemas Võib teha listi alamklassina listi kasutada isendiväljal 55

56 Magasin public class MyStack { private MyLinkedList stack = new MyLinkedList(); public void push(object o) { stack.addlast(o); public Object pop() { return stack.removelast(); public String tostring() { return "Magasin: " + stack.tostring(); 56

57 public class TestMyStack { public static void main(string[] args) { MyStack stack = new MyStack(); stack.push("a"); System.out.println(stack); stack.push("b"); System.out.println(stack); stack.pop(); System.out.println(stack); stack.push("c"); System.out.println(stack); stack.push("d"); System.out.println(stack); Magasin: [A] Magasin: [A, B] Magasin: [A] Magasin: [A, C] Magasin: [A, C, D] 57

58 Mis on olemas? Mitte niivõrd põhjalik ülevaade kõigest, kuivõrd ettevalmistus ise olulistele asjadele tähelepanu pööramiseks Ajalooliselt massiiv (nt. int[]), Vector, Hashtable on ka praegu Nüüd Java Collections Framework Väga palju erinevaid võimalusi Liidesed Abstraktsed klassid Klassid 58

59 Milles erinevused? Võib välja mõelda väga erinevaid ide muudetavus ide arvu muudetavus lisamise, eemaldamise eripärad Kõigi jaoks eraldi liideseid pole kuigi on palju võib meetodeid valikuliselt realiseerida optional realiseerida või UnsupportedOperationException 59

60 Liidesed Põhilised Java Collections Framework 60

61 Skeem 61

62 Üldotstarbelised Väga erinevaid, piirdume üldotstarbelistega ArrayList LinkedList HashSet TreeSet LinkedHashSet ArrayDeque HashMap TreeMap LinkedHashMap 62

63 Liides Collection kogum hierarhia juur 63

64 Collection public interface Collection<E> extends Iterable<E> { boolean add(e ); // optional boolean addall(collection<? extends E> c); // optional void clear(); // optional boolean contains(object ); boolean containsall(collection<?> c); boolean isempty(); Iterator<E> iterator(); boolean remove(object ); // optional boolean removeall(collection<?> c); // optional boolean retainall(collection<?> c); // optional int size(); Object[] toarray(); <T> T[] toarray(t[] a); 64

65 Valikulised meetodid optional realiseerida või UnsupportedOperationException 65

66 Meetodid addall, removeall ja retainall kui ühend, vahe ja ühisosa 66

67 võib olla korduvaid e järjekord oluline võimaldab kasutajal määrata, kuhu elemendid paigutada kasutaja pääseb idele juurde indeksi kaudu Klass ArrayList massiivi abil Klass LinkedList Liides List list ahelloendina (viitade abil)

68 Hulk (ingl set) Ei sisalda korduvaid e Tavaliselt pole järjestatud 68

69 Liides Set hulk ei ole korduvaid e Klass HashSet ide lisamise järjekord läheb kaduma Klass LinkedHashSet e saab kätte lisamise järjekorras

70 Liides SortedSet järjestatud hulk ei ole korduvaid e kasvavas järjekorras Klass TreeSet tagab, et elemendid on järjestatud

71 Set<Integer> hulk = new HashSet<>(); //Uus hulk //Set<Integer> hulk = new TreeSet<>(); //Set<Integer> hulk = new LinkedHashSet<>(); hulk.add(3); //Elementide lisamine hulk.add(1); hulk.add(-2); System.out.println(hulk); hulk.add(1); System.out.println(hulk); //Elemendi kättesaamine for(integer : hulk){ System.out.println(); HashSet [1, -2, 3] [1, -2, 3] [-2, 3] TreeSet [-2, 1, 3] [-2, 1, 3] [-2, 3] Linked HashSet [3, 1, -2] [3, 1, -2] [3, -2] //Elemendi kustutamine hulk.remove(1); System.out.println(hulk); 71

72 Mis ilmub ekraanile? Set<String> hulk = new TreeSet<>(); hulk.add("2"); hulk.add("9"); hulk.add("5"); hulk.add("22"); hulk.add("1"); hulk.add("15"); System.out.println(hulk); 1. [1, 2, 5, 9, 15, 22] 2. [1, 15, 2, 22, 5, 9] 3. [2, 9, 5, 22, 1, 15] 4. [22, 15, 9, 5, 2, 1] 5. veateade 72

73 Mis ilmub ekraanile? Set<Object> s = new HashSet<>(); s.add(10); s.add(10l); for(object object : s){ System.out.println("Test - " + object); 1. Test Test - 10 Test 10L 3. Test - 10 Test veateade 73

74 Liides Queue järjekord harilikult FIFO First In, First Out järjekord oluline e lisatakse lõppu ja kätte saab e ainult algusest Klass LinkedList

75 //Uus järjekord Queue<Integer> jarjekord = new LinkedList<>(); jarjekord.add(2); //Elemendi lisamine jarjekord.add(1); jarjekord.add(3); System.out.println(jarjekord); jarjekord.add(1); System.out.println(jarjekord); //Elemendi kättesaamine System.out.println(jarjekord.peek()); System.out.println(jarjekord); //Elemendi kustutamine jarjekord.poll(); System.out.println(jarjekord); [2, 1, 3] [2, 1, 3, 1] 2 [2, 1, 3, 1] [1, 3, 1] 75

76 Liides Deque magasin LIFO (aga ka FIFO) Last In, First Out e lisatakse algusesse (lõppu) ja kätte saab e ainult algusest (lõpust) elemendi lisamine (push) elemendi eemaldamine (pop) Klass ArrayDeque

77 //Uus magasin Deque<Integer> magasin = new ArrayDeque<>(); //Elemendi lisamine magasin.push(2); magasin.push(1); magasin.push(3); System.out.println(magasin); magasin.push(1); System.out.println(magasin); //Elemendi kättesaamine System.out.println(magasin.peek()); System.out.println(magasin); [3, 1, 2] [1, 3, 1, 2] 1 [1, 3, 1, 2] [3, 1, 2] //Elemendi kustutamine magasin.pop(); System.out.println(magasin); 77

78 Kas üks klass saab realiseerida mitut liidest? 1. Jah 2. Ei 78

79 Milliseid liideseid realiseerib klass ArrayList? 1. Set 2. List 3. Queue 4. Map Võib ka mitu valida 79

80 Milliseid liideseid realiseerib klass HashSet? 1. Set 2. List 3. Queue 4. Map 80

81 Milliseid liideseid realiseerib klass LinkedList? 1. Set 2. List 3. Queue 4. Map 81

82 Mis ilmub ekraanile? Queue<Integer> ll = new LinkedList<>(); ll.add(4); ll.add(6); ll.add(8); ll.poll(); ll.add(8); System.out.println(ll); 1. [4, 6, 8, 8] 2. [4, 6, 8] 3. [8, 8, 6, 4] 4. [8, 6, 4] 5. [6, 8, 8] 6. midagi muud 82

83 Mis ilmub ekraanile? Deque<Integer> ad = new ArrayDeque<>(); ad.push(4); ad.push(6); ad.push(8); ad.pop(); ad.push(8); System.out.println(ad); 1. [4, 6, 8, 8] 2. [4, 6, 8] 3. [8, 8, 6, 4] 4. [8, 6, 4] 5. [6, 8, 8] 6. midagi muud 83

84 Kuidas sorteerida LinkedList-tüüpi listi meielist elemendid? 1. meielist.sort(); 2. Collections.sort(meielist); 3. Collection.sort(meielist); 4. Sorter.sortAsc(meielist); 84

85 Kuidas eemaldada korduvad elemendid listist meielist? 1. Set<Integer> ltos = new HashSet<>(meielist); 2. Set<Integer> ltos = meielist.toset(); 3. Set<Integer> ltos = meielist.getset(); 4. Set<Integer> ltos = Collections.convertToSet(meielist); 85

86 Liidesed Põhilised Java Collections Framework 86

87 Kujutus (ingl map) Erinevad nimetused kujutis, sõnastik (pythonis dictionary), paisktabel (hashtabel) Kaheosalised kirjed: võti ja väärtus Võtmete seas ei tohi olla korduvaid e 87

88 Liides Map kujutus võtmed ja väärtused Klass HashMap ide lisamise järjekord läheb kaduma Klass LinkedHashMap e saab kätte lisamise järjekorras

89 Liides SortedMap järjestatud kujutus võtmed on järjestatud Klass TreeMap

90 //Uus kujutus Map<String, Integer> kujutus = new HashMap<>(); //Map<String, Integer> kujutus = new TreeMap<>(); //Kirje lisamine kujutus.put("mari", 20); kujutus.put("jüri", 22); kujutus.put("peeter", 30); System.out.println(kujutus); kujutus.put("mari", 15); System.out.println(kujutus); {Peeter=30, Jüri=22, Mari=20 {Peeter=30, Jüri=22, Mari=15 {Jüri=22, Mari=20, Peeter=30 {Jüri=22, Mari=15, Peeter=30 HashMap TreeMap 90

91 //Kirje sisalduvus System.out.println(kujutus.containsKey("Maria")); System.out.println(kujutus.containsKey("Mari")); System.out.println(kujutus.containsValue(10)); System.out.println(kujutus.containsValue(15)); //Kirje kättesaamine System.out.println(kujutus.get("Jüri")); //Kirje kustutamine kujutus.remove("peeter"); System.out.println(kujutus); false true false true 22 {Jüri=22, Mari=15 91

92 1. Set 2. List 3. Queue 4. Map 5. Deque Millised liidesed ei ole liidese Collection alamliidesteks? Võib ka mitu valida 92

93 Mis ilmub ekraanile? Map<String, Integer> kujutus = new HashMap<>(); kujutus.put("a", 1); kujutus.put("b", 2); kujutus.put("c", 3); System.out.println(kujutus.keySet()); 1. {A, B, C 2. [A, B, C] 3. [1, 2, 3] 4. {1, 2, 3 5. midagi muud 6. veateade 93

94 Mis ilmub ekraanile? Map<String, Integer> kujutus = new LinkedHashMap<>(); kujutus.put("b", 2); kujutus.put("a", 1); kujutus.put("c", 3); System.out.println(kujutus.values()); 1. [B, A, C] 2. [A, B, C] 3. [1, 2, 3] 4. [2, 1, 3] 5. midagi muud 6. veateade 94

95 Mis ilmub ekraanile? Map<Integer, String> kujutus = new TreeMap<>(); kujutus.put(5, "A"); kujutus.put(1, "B"); kujutus.put(3, "C"); System.out.println(kujutus.entrySet()); 1. [1, 3, 5] 2. [A, B, C] 3. [5=A, 1=B, 3=C] 4. [1=B, 3=C, 5=A] 5. [A=5, B=1, C=3] 6. midagi muud 7. veateade 95

96 Geneerilised (üldistatud) Interface Collection<E> Interface Set<E> Interface SortedSet<E> Interface List<E> Interface Queue<E> Interface Map<K,V> Interface SortedMap<K,V> Tüübiparameeter, tüübimuutuja 96

97 Sageli E Element (eriti Java Collections Framework) K Key (võti) N Number (arv) T Type (tüüp) V Value (väärtus) S, U, V etc. 2., 3., 4. tüüp 97

98 Geneerilised 4. loengus juba natuke oli Sarnaseid asju kokku võtta Selleks, et vältida käitusaegseid vigu kontrollitakse juba kompileerimise ajal 98

99 Väga sarnased public static void printarray(integer[] inputarray ){ for (Integer : inputarray) System.out.print( + " " ); System.out.println(); public static void printarray(double[] inputarray){ for (Double : inputarray) System.out.print ( + " " ); System.out.println(); public static void printarray(character[] inputarray){ for (Character : inputarray) System.out.print( + " "); System.out.println(); 99

100 Geneeriline meetod public static <E> void printarray(e[] inputarray){ for (E : inputarray) System.out.print( + " " ); System.out.println(); public static void main(string[] args){ Integer[] integerarray = {1, 2, 3, 4, 5, 6; Double[] doublearray = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6; Character[] characterarray = {'T', 'E', 'R', 'E'; printarray(integerarray); printarray(doublearray); printarray(characterarray); T E R E 100

101 Kompileerimisel geneeriline info kaob Type Erasure public static void printarray(object[] inputarray){ for (Object : inputarray) System.out.print( + " " ); System.out.println(); Näiteks sellist Object[] varianti ei saaks eelmisele juurde panna, sest see ongi sama 101

102 Tagastustüüp tüübimuutujaga public class TestMaksimum { public static <T extends Comparable<T>> T maksimum(t x, T y, T z){ T max = x; if (y.compareto(max) > 0) max = y; if (z.compareto(max) > 0) max = z; return max; public static void main(string[] args){ System.out.println("Max 3, 4, 5: " + maksimum(3, 4, 5)); System.out.println("Max 5.5, 8.8, 9.9: " + maksimum(5.5, 8.8, 9.9)); System.out.println("Max banaan pirn apelsin: " + maksimum( "banaan", "pirn", "apelsin")); Max 3, 4, 5: 5 Max 5.5, 8.8, 9.9: 9.9 Max banaan pirn apelsin: pirn 102

103 Kompileerimisel Type Erasure public static Comparable maksimum(comparable x, Comparable y, Comparable z){ Comparable max = x; if (y.compareto(max) > 0) max = y; if (z.compareto(max) > 0) max = z; return max; 103

104 Geneerilised klassid ja liidesed public class GKlass<T> { private T ; public void set(t ){ this. = ; public T get(){ return ; 104

105 Mis ilmub ekraanile? GKlass<Integer> integeriklass = new GKlass<>(); integeriklass.set(10); System.out.println(integeriKlass.get()); ei kompileeru 3. käitusaegne veateade 4. midagi muud 105

106 Mis ilmub ekraanile? GKlass<Integer> integeriklass = new GKlass<>(); integeriklass.set("10"); System.out.println(integeriKlass.get()); ei kompileeru 3. käitusaegne veateade 4. mitte midagi 106

107 public class GKlass<Tuup> { private Tuup t; public void set(tuup t){ this.t = t; Kas on lubatud? public Tuup get(){ return t; 1. jah 2. ei 107

108 Loengu tempo oli 1. liiga kiire 2. paras 3. liiga aeglane 108

109 Materjal tundus 1. liiga lihtne 2. parajalt jõukohane 3. liiga keeruline 109

110 Suur tänu osalemast! Kohtumiseni! 110

PowerPointi esitlus

PowerPointi esitlus Objektorienteeritud programmeerimine 9. loeng 2. aprill Eno Tõnisson 1 Kasutatud H. Heina loengumaterjalid J. Kiho Väike Java leksikon J. Kiho Java Programmeerimise aabits Y. D. Liang Introduction to Java

Rohkem

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Konstruktorile antakse andmed, mis iseloomustavad mingit

Rohkem

loeng2

loeng2 Automaadid, keeled, translaatorid Kompilaatori struktuur Leksiline analüüs Regulaaravaldised Leksiline analüüs Süntaks analüüs Semantiline analüüs Analüüs Masinkoodi genereerimine Teisendamine (opt, registrid)

Rohkem

Scala ülevaade 1 Meetodid, muutujad ja väärtused. Süntaks 2 Lihtsad tüübid ja väärtused. 3 OOP, case-klassid ja mustrisobitus. 4 Puhta Scala väärtusta

Scala ülevaade 1 Meetodid, muutujad ja väärtused. Süntaks 2 Lihtsad tüübid ja väärtused. 3 OOP, case-klassid ja mustrisobitus. 4 Puhta Scala väärtusta Scala ülevaade 1 Meetodid, muutujad ja väärtused. Süntaks 2 Lihtsad tüübid ja väärtused. 3 OOP, case-klassid ja mustrisobitus. 4 Puhta Scala väärtustamine. 5 Keerulisemad tüübid. 6 Nähtavus, implitsiitsus.

Rohkem

1. AKE Ajalise keerukuse empiiriline hindamine

1. AKE Ajalise keerukuse empiiriline hindamine http://kodu.ut.ee/~kiho/ads/praktikum/ 4. PSK Paisksalvestus. Loendamine Mõisteid Paisktabel (Hashtable, HashMap) Paisktabeli kasutamine loendamisülesannetes Paiskfunktsioon, kollisoonid (põrked) Praktikumitööd

Rohkem

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document.idl IDL kompilaator document_cstub.o document.h document_sstub.o #include document_client.c

Rohkem

IFI6083_Algoritmid_ja_andmestruktuurid_IF_3

IFI6083_Algoritmid_ja_andmestruktuurid_IF_3 Kursuseprogramm IFI6083.DT Algoritmid ja andmestruktuurid Maht 4 EAP Kontakttundide maht: 54 Õppesemester: K Eksam Eesmärk: Aine lühikirjeldus: (sh iseseisva töö sisu kirjeldus vastavuses iseseisva töö

Rohkem

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi*r^2, Float -> Int Infixoperaatori kasutamiseks prefix-vormis

Rohkem

SQL

SQL SQL Kuues loeng 3GL inside 4GL Protseduurid Funktsioonid Tavalised Funktsioonid (üks väljund) Ilma väljundita Protseduurid Viitargumentide kasutamise võimalus Tabel-väljundiga Protseduurid Create function

Rohkem

PowerPointi esitlus

PowerPointi esitlus Objektorienteeritud programmeerimine 10. loeng, 15. aprill Marina Lepp Eelmisel nädalal Loeng vood Lisapraktikum Praktikum sündmused Künnipäev (14.04) Kõigi Eesti Laul (14.04) 2 Umbes mitu tundi tegelesite

Rohkem

Funktsionaalne Programmeerimine

Funktsionaalne Programmeerimine Kõrvalefektid ja Haskell Kõik senised programmid on olnud ilma kõrvalefektideta; so. puhtalt funktsionaalsed. Programmi täitmise ainsaks efektiks on tema väartus. Osade ülesannete jaoks on kõrvalefektid

Rohkem

Pealkiri

Pealkiri Andmebaasid II praktikum Andmebaaside administreerimine Andmete sisestamine KESKKOND, KASUTAJAD, ÕIGUSED Mõisted Tabelid, vaated, trigerid, jpm on objektid Objektid on grupeeritud skeemi Skeemid moodustavad

Rohkem

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad 1 / 16 7. loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad 2 / 16 Sisend/väljund vaikimisi: Termid: read, write?-read(x). : 2+3. X = 2+3.?-write(2+3). 2+3 true. Jooksva sisendi vaatamine: seeing?-

Rohkem

(loeng3-ohtlikud_koodiloigud)

(loeng3-ohtlikud_koodiloigud) #include int main (void) uint8_t arr[] = 0x11, 0x22 uint16_t *ptr; ptr = (uint16_t*)&arr[0]; printf ("arr: 0x%02x, 0x%02x\n", arr[0], arr[1]); printf ("ptr: 0x%04x\n", *ptr); /* vigane pointeri

Rohkem

Pealkiri

Pealkiri Andmebaasid (6EAP) I praktikum Mida praktikumides tehakse? Õpitakse SQL i Tehakse andmebaas ope (igas praktikumis natuke, kuni lõpuks saab valmis) Tehakse andmebaas edu (kui ope on valmis, tehakse edu,

Rohkem

Andmeturve

Andmeturve CORBA Sissejuhatus IDL CORBA struktuur Serveri ehitus Objekti adapter Lisateenused MEELIS ROOS 1 CORBA sissejuhatus CORBA Common Object Request Broker Architecture Üldine Objektipäringute Vahendaja Arhitektuur:)

Rohkem

PHP

PHP PHP Autorid: Aleksandr Vaskin Aleksandr Bogdanov Keelest Skriptikeel skript teeb oma tööd pärast seda, kui toimus mingi sündmus* Orienteeritud programmeerija eesmärkide saavutamiseks (mugavus on tähtsam

Rohkem

SQL

SQL SQL Teine loeng Mõtelda CREATE TABLE ( { INTEGER VARCHAR(10)} [ NOT NULL] ); Standard SQL-86 (ANSI X3.135-1986), ISO võttis üle 1987 SQL-89 (ANSIX3.135-1989) SQL-92 (ISO/IEC 9075:1992)

Rohkem

Algoritmid ja andmestruktuurid

Algoritmid ja andmestruktuurid Algoritmid ja andmestruktuurid Arvutipraktikum 2017/2018 sügissemestril J.Liivi 2-202, E12-14 J.Liivi 2-202, T14-16 kodu.ut.ee/~kiho/ads/fall17 Jüri Kiho jyri.kiho@ut.ee Eesmärgid Paremini omandada, kinnistada

Rohkem

Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk

Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk Klassiskeem (class diagram) Klass (class) atribuut (attribute) meetod (method) Liides (interface) meetod (method) Viidatavus (visibility) avalik

Rohkem

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx Tartu Ülikool CVE-2013-7040 Referaat aines Andmeturve Autor: Markko Kasvandik Juhendaja : Meelis Roos Tartu 2015 1.CVE 2013 7040 olemus. CVE 2013 7040 sisu seisneb krüptograafilises nõrkuses. Turvaaugu

Rohkem

Funktsionaalne Programmeerimine

Funktsionaalne Programmeerimine Geomeetrilised kujundid Geomeetriliste kujundite definitsioon: data Shape = Rectangle Side Side Ellipse Radius Radius RtTriangle Side Side Polygon [Vertex] deriving Show type Radius = Float type Side =

Rohkem

Peafail3_2.dvi

Peafail3_2.dvi TARTU ÜLIKOOL ARVUTITEADUSE INSTITUUT Algoritmid ja andmestruktuurid Ülesannete kogu Versioon 3.2 13. märts 2017. a. 09:45 Koostajad: Ahti Peder Jüri Kiho Härmel Nestra Tartu 2017 Käesoleva õppevahendi

Rohkem

Excel Valemite koostamine (HARJUTUS 3) Selles peatükis vaatame millistest osadest koosnevad valemid ning kuidas panna need Excelis kirja nii, et

Excel Valemite koostamine (HARJUTUS 3) Selles peatükis vaatame millistest osadest koosnevad valemid ning kuidas panna need Excelis kirja nii, et Excel2016 - Valemite koostamine (HARJUTUS 3) Selles peatükis vaatame millistest osadest koosnevad valemid ning kuidas panna need Excelis kirja nii, et programm suudaks anda tulemusi. Mõisted VALEM - s.o

Rohkem

(Microsoft PowerPoint - seminar_6_n\365uded-ainemudel tagasiside.ppt [Compatibility Mode])

(Microsoft PowerPoint - seminar_6_n\365uded-ainemudel tagasiside.ppt [Compatibility Mode]) Tarkvara projekt seminar VI Eelmise iteratsiooni tagasivaade, testimine, installatsioonijuhend, järgmise iteratsiooni näited. Karel Kravik Administratiivset:protestid Probleem: protestide hulk ja kvaliteet

Rohkem

P2P süsteemid

P2P süsteemid Gnutella Ajalugu Detsentraliseeritus Protokollist Paralleliseerimine Ujutamine Skaleeruvus Ultranoded Puuräsid DHT Muud MEELIS ROOS 1 Ajalugu Failivahetus P2P massidesse viija Napster tsentraalne süsteem

Rohkem

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimused: faili nimi faili vanus faili tüüp... 1 Failiotsing:

Rohkem

Microsoft Word - ref - Romet Piho - Tutorial D.doc

Microsoft Word - ref - Romet Piho - Tutorial D.doc Tartu Ülikool Andmetöötluskeel "Tutorial D" realisatsiooni "Rel" põhjal Referaat aines Tarkvaratehnika Romet Piho Informaatika 2 Juhendaja Indrek Sander Tartu 2005 Sissejuhatus Tänapäeval on niinimetatud

Rohkem

Operatsioonisüsteemide ehitus

Operatsioonisüsteemide ehitus Lõimed Ülevaade Lõime mõiste Lõimede mudelid Probleemid lõimedega seoses Pthreads Solarise lõimed Windows 2000 lõimed Linuxi lõimed Java lõimed VARMO VENE & MEELIS ROOS 2 Ühe- ja mitmelõimelised protsessid

Rohkem

Microsoft Word - TM70_SP-MG_kasutusjuhend.docx

Microsoft Word - TM70_SP-MG_kasutusjuhend.docx TM70 Touch-i kasutusjuhend Süsteemid: Magellan ja Spectra SP Põhiekraan Kuupäev/kellaaeg Välis-/sisetemperatuur Süsteemi olek Tsoonid Menüü Info OneScreen Monitoring SpotOn Locator Slaidiesitus Paanika-häire

Rohkem

Automaatjuhtimise alused Automaatjuhtimissüsteemi kirjeldamine Loeng 2

Automaatjuhtimise alused Automaatjuhtimissüsteemi kirjeldamine Loeng 2 Automaatjuhtimise alused Automaatjuhtimissüsteemi kirjeldamine Loeng 2 Laplace'i teisendus Diferentsiaalvõrrandite lahendamine ilma tarkvara toeta on keeruline Üheks lahendamisvõtteks on Laplace'i teisendus

Rohkem

Pythoni Turtle moodul ja Scratchi värvilisem pool Plaan Isikukoodi kontrollnumbri leidmine vaatame üle lahenduse kontrollnumbri leimiseks. Pythoni joo

Pythoni Turtle moodul ja Scratchi värvilisem pool Plaan Isikukoodi kontrollnumbri leidmine vaatame üle lahenduse kontrollnumbri leimiseks. Pythoni joo Pythoni Turtle moodul ja Scratchi värvilisem pool Plaan Isikukoodi kontrollnumbri leidmine vaatame üle lahenduse kontrollnumbri leimiseks. Pythoni joonistamise võimalused Turtle mooduli abil. Scratchi

Rohkem

Õppimine Anne Villems, Margus Niitsoo ja Konstantin Tretjakov

Õppimine Anne Villems, Margus Niitsoo ja Konstantin Tretjakov Õppimine Anne Villems, Margus Niitsoo ja Konstantin Tretjakov Kava Kuulame Annet Essed ja Felder Õppimise teooriad 5 Eduka õppe reeglit 5 Olulisemat oskust Anne Loeng Mida uut saite teada andmebaasidest?

Rohkem

Mining Meaningful Patterns

Mining Meaningful Patterns Konstantin Tretjakov (kt@ut.ee) EIO õppesessioon 19. märts, 2011 Nimetuse saladus Vanasti kandis sõna programmeerimine natuke teistsugust tähendust: Linear program (~linear plan) X ülesannet * 10 punkti

Rohkem

Microsoft Word - requirements.doc

Microsoft Word - requirements.doc Dokumendi ajalugu: Versioon Kuupäev Tegevus Autor 1.0 04.03.2008 Dokumendi loomine Madis Abel 1.1 09.03.2008 Kasutuslugude loomine Madis Abel 1.2 12.03.2008 Kasutuslugude täiendused Andres Kalle 1.3 13.03.2008

Rohkem

Pangalingi spetsifikatsioon Pocopay pangalingilt makse algatamiseks tuleb kasutada teenust Kaupmees teeb päringu Pocopayle aadressile

Pangalingi spetsifikatsioon Pocopay pangalingilt makse algatamiseks tuleb kasutada teenust Kaupmees teeb päringu Pocopayle aadressile Pangalingi spetsifikatsioon Pocopay pangalingilt makse algatamiseks tuleb kasutada teenust 1011. Kaupmees teeb päringu Pocopayle aadressile https://my.pocopay.com/banklink. Vastuspäring tehakse makse õnnestumise

Rohkem

Neurovõrgud. Praktikum aprill a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust k

Neurovõrgud. Praktikum aprill a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust k Neurovõrgud. Praktikum 11. 29. aprill 2005. a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust kombinatoorsete optimiseerimisülesannete lahendamiseks.

Rohkem

Advanced AspectJ ja AspectJ 5.0 Aleksei Bogdanov 05. aprill 2006

Advanced AspectJ ja AspectJ 5.0 Aleksei Bogdanov 05. aprill 2006 Advanced AspectJ ja AspectJ 5.0 Aleksei Bogdanov a1exey1@ut.ee 05. aprill 2006 Kava AspectJ in Action, peatükk 4 The AspectJ 5 Development Kit Developer's Notebook AOP@Work: AOP and metadata: A perfect

Rohkem

Andmebaasid, MTAT loeng Normaalkujud

Andmebaasid, MTAT loeng Normaalkujud Andmebaasid, MTAT.03.264 6. loeng Normaalkujud E-R teisendus relatsiooniliseks Anne Villems Meil on: Relatsiooni mõiste Relatsioonalgebra Kus me oleme? Funktsionaalsete sõltuvuse pere F ja tema sulund

Rohkem

Õppevideote rakendamine programmeerimise kursustel

Õppevideote rakendamine programmeerimise kursustel TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Andra Laura Meeksa Õppevideote rakendamine programmeerimise kursustel Bakalaureusetöö (9 EAP) Juhendaja: Eno Tõnisson, PhD Tartu 2018 Õppevideote

Rohkem

TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Age Roosi Thonny logifailide analüüsi automatiseerimine Bakalaureusetöö (9 EAP) Juhendajad

TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Age Roosi Thonny logifailide analüüsi automatiseerimine Bakalaureusetöö (9 EAP) Juhendajad TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Age Roosi Thonny logifailide analüüsi automatiseerimine Bakalaureusetöö (9 EAP) Juhendajad: Eno Tõnisson, PhD Heidi Meier, MSc Tartu 2019 Thonny

Rohkem

Tallinna Ülikool Digitehnoloogiate instituut JavaFX rakenduste kujundamine CSS abil Seminaritöö Autor: Hendrik Spiegelberg Juhendaja: Jaagup Kippar Au

Tallinna Ülikool Digitehnoloogiate instituut JavaFX rakenduste kujundamine CSS abil Seminaritöö Autor: Hendrik Spiegelberg Juhendaja: Jaagup Kippar Au Tallinna Ülikool Digitehnoloogiate instituut JavaFX rakenduste kujundamine CSS abil Seminaritöö Autor: Hendrik Spiegelberg Juhendaja: Jaagup Kippar Autor:...... 2016 Juhendaja:...... 2016 Instituudi direktor:......

Rohkem

Andmed arvuti mälus Bitid ja baidid

Andmed arvuti mälus Bitid ja baidid Andmed arvuti mälus Bitid ja baidid A bit about bit Bitt, (ingl k bit) on info mõõtmise ühik, tuleb mõistest binary digit nö kahendarv kahe võimaliku väärtusega 0 ja 1. Saab näidata kahte võimalikku olekut

Rohkem

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Nimeteenuse näited DNS DNS NIS NIS+ LDAP JNDI Hierarhiline Interneti nimede süsteem Põhilised päringud: Arvuti nime järg

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Nimeteenuse näited DNS DNS NIS NIS+ LDAP JNDI Hierarhiline Interneti nimede süsteem Põhilised päringud: Arvuti nime järg Nimeteenuse näited DNS DNS NIS NIS+ LDAP JNDI Hierarhiline Interneti nimede süsteem Põhilised päringud: Arvuti nime järgi IP aadressi leidmine Domeeni meiliserveri leidmine Arvuti IP aadressi järgi nime

Rohkem

Microsoft Word - Referaat.docx

Microsoft Word - Referaat.docx Tartu Ülikool Andmeturve Referaat teemal: CVE-2016-1499 Koostaja: Sander Sats Kursus: Informaatika Tartu 2016 Sissejuhatus Käesolev referaat on kirjutatud seoses Tartu Ülikooli kursuse MTAT.03.134 Andmeturve

Rohkem

Tartu Ülikool Loodus- ja täppisteaduste valdkond Arvutiteaduse instituut Sandra Puusepp CVE Referaat Tartu 2018

Tartu Ülikool Loodus- ja täppisteaduste valdkond Arvutiteaduse instituut Sandra Puusepp CVE Referaat Tartu 2018 Tartu Ülikool Loodus- ja täppisteaduste valdkond Arvutiteaduse instituut Sandra Puusepp CVE-2017-9948 Referaat Tartu 2018 Sissejuhatus Microsoft Skype on rakendus, mis võimaldab suhelda Interneti teel.

Rohkem

Programmeerimiskeel APL Raivo Laanemets 17. mai a.

Programmeerimiskeel APL Raivo Laanemets 17. mai a. Programmeerimiskeel APL Raivo Laanemets 17. mai 2009. a. Sissejuhatus I APL - A Programming Language I Kenneth E. Iverson (1920-2004) I Elukutselt matemaatik I Uuris matemaatilist notatsiooni I 1960 -

Rohkem

Versioon Autor Kuupäev Märkused 1.0 Riivo Talviste Algdokument 1.1 Riivo Talviste Arhitektuurimuutused, terminoloogia 1.2 Riivo

Versioon Autor Kuupäev Märkused 1.0 Riivo Talviste Algdokument 1.1 Riivo Talviste Arhitektuurimuutused, terminoloogia 1.2 Riivo Versioon Autor Kuupäev Märkused 1.0 Riivo Talviste 03.03.2008 Algdokument 1.1 Riivo Talviste 04.04.2008 Arhitektuurimuutused, terminoloogia 1.2 Riivo Talviste 05.04.2008 Arhitektuuri täpsustused, parandused

Rohkem

TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Mirjam Iher Nõrgima eeltingimuse staatiline analüüs pinukeeltele Bakalaureusetöö (9 EAP) J

TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Mirjam Iher Nõrgima eeltingimuse staatiline analüüs pinukeeltele Bakalaureusetöö (9 EAP) J TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Mirjam Iher Nõrgima eeltingimuse staatiline analüüs pinukeeltele Bakalaureusetöö (9 EAP) Juhendaja: Juhendaja: Kalmer Apinis, PhD Vesal Vojdani,

Rohkem

IVXV protokollide kirjeldus Spetsifikatsioon Versioon jaan lk Dok IVXV-PR-1.4.1

IVXV protokollide kirjeldus Spetsifikatsioon Versioon jaan lk Dok IVXV-PR-1.4.1 IVXV protokollide kirjeldus Spetsifikatsioon Versioon 1.4.1 25. jaan 2019 61 lk Dok IVXV-PR-1.4.1 Sisukord Sisukord........................................ 2 1 Annotatsioon...................................

Rohkem

Relatsiooniline andmebaaside teooria II. 6. Loeng

Relatsiooniline andmebaaside teooria II. 6. Loeng Relatsiooniline andmebaaside teooria II. 5. Loeng Anne Villems ATI Loengu plaan Sõltuvuste pere Relatsiooni dekompositsioon Kadudeta ühendi omadus Sõltuvuste pere säilitamine Kui jõuame, siis ka normaalkujud

Rohkem

1. Üliõpilased 1.1 Tõendid Vali menüüst: Üliõpilased tõendid tõendite trükkimine. Avaneb vorm Tõendite trükkimine, vali tõendi liik Tõend õppim

1. Üliõpilased 1.1 Tõendid Vali menüüst: Üliõpilased tõendid tõendite trükkimine. Avaneb vorm Tõendite trükkimine, vali tõendi liik Tõend õppim 1. Üliõpilased 1.1 Tõendid Vali menüüst: Üliõpilased tõendid tõendite trükkimine. Avaneb vorm Tõendite trükkimine, vali tõendi liik. 1.1.1 Tõend õppimise kohta TLÜ-s Seda tõendiliiki saab väljastada ainult

Rohkem

Microsoft Word - HOTSEC kasutusjuhend v1.900.docx

Microsoft Word - HOTSEC kasutusjuhend v1.900.docx HOTSEC Tarkvara kasutusjuhend v. 1.9 1 Sisukord Käivitamine:... 3 Programmi kasutamine... 4 Kasutajate lisamine ja eemaldamine:... 6 Jooksev logi:... 9 Häired:... 9 2 HOTSEC põhioperatsioonide kirjeldus

Rohkem

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Peer-to-peer süsteemid Peer-to-peer süsteemide liigitus Liigitus Ründed Anonüümsus Puuräsi DHT Näide: Kazaa Näide: Kadem

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Peer-to-peer süsteemid Peer-to-peer süsteemide liigitus Liigitus Ründed Anonüümsus Puuräsi DHT Näide: Kazaa Näide: Kadem Peer-to-peer süsteemid Peer-to-peer süsteemide liigitus Liigitus Ründed Anonüümsus Puuräsi DHT Näide: Kazaa Näide: Kademlia Näide: Gnutella Näide: BitTorrent Eelajalugu: tsentraalsed süsteemid "Puhas"

Rohkem

prakt8.dvi

prakt8.dvi Diskreetne matemaatika 2012 8. praktikum Reimo Palm Praktikumiülesanded 1. Kas järgmised graafid on tasandilised? a) b) Lahendus. a) Jah. Vahetades kahe parempoolse tipu asukohad, saame graafi joonistada

Rohkem

E-arvete juhend

E-arvete juhend E- arvete seadistamine ja saatmine Omniva kaudu Standard Books 7.2 põhjal Mai 2015 Sisukord Sissejuhatus... 3 Seadistamine... 3 Registreerimine... 4 E- arve konto... 5 Vastuvõtu eelistus... 5 Valik E-

Rohkem

Microsoft PowerPoint - loeng2.pptx

Microsoft PowerPoint - loeng2.pptx Kirjeldavad statistikud ja graafikud pidevatele tunnustele Krista Fischer Pidevad tunnused ja nende kirjeldamine Pidevaid (tihti ka diskreetseid) tunnuseid iseloomustatakse tavaliselt kirjeldavate statistikute

Rohkem

Microsoft PowerPoint - EMCS13

Microsoft PowerPoint - EMCS13 EMCS piloot-projekt Raigo Veisberg Maksu- ja Tolliameti kaudsete maksude ja aktsiiside talitus TEEMAD Mis on EMCS EMCS käivitumine EMCS kasutamine ja selle võimalused E-saateleht Info edastamine EMCS infosüsteemi

Rohkem

Microsoft Word - Errata_Andmebaaside_projekteerimine_2013_06

Microsoft Word - Errata_Andmebaaside_projekteerimine_2013_06 Andmebaaside projekteerimine Erki Eessaar Esimene trükk Teadaolevate vigade nimekiri seisuga 24. juuni 2013 Lehekülg 37 (viimane lõik, teine lause). Korrektne lause on järgnev. Üheks tänapäeva infosüsteemide

Rohkem

Praks 1

Praks 1 Biomeetria praks 3 Illustreeritud (mittetäielik) tööjuhend Eeltöö 1. Avage MS Excel is oma kursuse ankeedivastuseid sisaldav andmestik, 2. lisage uus tööleht, 3. nimetage see ümber leheküljeks Praks3 ja

Rohkem

Saksa keele riigieksamit asendavate eksamite tulemuste lühianalüüs Ülevaade saksa keele riigieksamit asendavatest eksamitest Saksa keele riigi

Saksa keele riigieksamit asendavate eksamite tulemuste lühianalüüs Ülevaade saksa keele riigieksamit asendavatest eksamitest Saksa keele riigi Saksa keele riigieksamit asendavate eksamite tulemuste lühianalüüs 2014 1. Ülevaade saksa keele riigieksamit asendavatest eksamitest Saksa keele riigieksam on alates 2014. a asendatud Goethe-Zertifikat

Rohkem

3D mänguarenduse kursus (MTAT ) Loeng 3 Jaanus Uri 2013

3D mänguarenduse kursus (MTAT ) Loeng 3 Jaanus Uri 2013 3D mänguarenduse kursus (MTAT.03.283) Loeng 3 Jaanus Uri 2013 Teemad Tee leidmine ja navigatsioon Andmete protseduuriline genereerimine Projektijuhtimine Tee leidmine Navigatsiooni võrgustik (navigation

Rohkem

AWK Aho Weinberger Kernighan struktuurse teksti töötlemise keel rikkalikult tekstitöötlusvahendeid omal alal suhteliselt lihtne ja kiiresti realiseeri

AWK Aho Weinberger Kernighan struktuurse teksti töötlemise keel rikkalikult tekstitöötlusvahendeid omal alal suhteliselt lihtne ja kiiresti realiseeri AWK Aho Weinberger Kernighan struktuurse teksti töötlemise keel rikkalikult tekstitöötlusvahendeid omal alal suhteliselt lihtne ja kiiresti realiseeritav AWK kasutusalad raportite genereerimine ühest formaadist

Rohkem

Ülesanne #5: Käik objektile Kooli ümberkujundamist vajava koha analüüs. Ülesanne #5 juhatab sisse teise poole ülesandeid, mille käigus loovad õpilased

Ülesanne #5: Käik objektile Kooli ümberkujundamist vajava koha analüüs. Ülesanne #5 juhatab sisse teise poole ülesandeid, mille käigus loovad õpilased Ülesanne #5: Käik objektile Kooli ümberkujundamist vajava koha analüüs. Ülesanne #5 juhatab sisse teise poole ülesandeid, mille käigus loovad õpilased oma kujunduse ühele kohale koolis. 5.1 Kohavalik Tiimi

Rohkem

Image segmentation

Image segmentation Image segmentation Mihkel Heidelberg Karl Tarbe Image segmentation Image segmentation Thresholding Watershed Region splitting and merging Motion segmentation Muud meetodid Thresholding Lihtne Intuitiivne

Rohkem

Microsoft Word - Keypad-controller-manual-new_1.docx

Microsoft Word - Keypad-controller-manual-new_1.docx Eraldiseisev ühe ukse juurdepääsukontroller Kasutusjuhend Enne seadme paigaldamist ja kasutamist lugege tähelepanelikult seda juhendit 1. Pakkeleht Nimi Kogus Märkused Sõrmistik 1 Kasutusjuhend 1 Kruvikeeraja

Rohkem

MOOCi „Programmeerimise alused“ ülesannete lahenduste analüüs

MOOCi „Programmeerimise alused“ ülesannete lahenduste analüüs TARTU ÜLIKOOL LOODUS- JA TÄPPISTEADUSTE VALDKOND Arvutiteaduse instituut Informaatika õppekava Helen Hendrikson MOOCi Programmeerimise alused ülesannete lahenduste analüüs Bakalaureusetöö (9 EAP) Juhendaja:

Rohkem

DJI GOGGLES Kiirjuhend V1.0

DJI GOGGLES Kiirjuhend V1.0 DJI GOGGLES Kiirjuhend V1.0 DJI Goggles DJI Goggles on mugavad prillid, mis on disainitud mugavaks FPV lendamiseks DJI toodetega. Nad loovad ultra-kõrge kvaliteediga pildi, minimaalse viivitusega pikamaa

Rohkem

Microsoft PowerPoint - TÜ TVT - Kavandamine ja arhitektuur 2.ppt

Microsoft PowerPoint - TÜ TVT - Kavandamine ja arhitektuur 2.ppt Kavandamine ja arhitektuur Erik Jõgi erik.jogi@hansa.ee Muutused Muutused on elu igapäevane osa Meie peame tagama, et meie kirjutatud tarkvara need muutused üle elab Oleme valmis muutusteks, mitte ei võitle

Rohkem

Võrguinverterite valik ja kasutusala päikeseelektrijaamades Robert Mägi insener

Võrguinverterite valik ja kasutusala päikeseelektrijaamades Robert Mägi insener Võrguinverterite valik ja kasutusala päikeseelektrijaamades Robert Mägi insener Robert Mägi o Õpingud: Riga Technical University o Haridus: MSc (Electrical Engineering) MSc (Automatic Telecommunications)

Rohkem

PowerPoint Presentation

PowerPoint Presentation Miks liituda projektiga LIFE Fit for REACH? Karin Viipsi Henkel Balti OÜ (Henkel Makroflex AS) Infopäev ettevõtetele, 09.11.2016 Sisukord Ettevõtte tutvustus Ettevõtte eesmärk projektis Mida on varasemalt

Rohkem

Abiarstide tagasiside 2016 Küsimustikule vastas 137 tudengit, kellest 81 (60%) olid V kursuse ning 56 (40%) VI kursuse tudengid. Abiarstina olid vasta

Abiarstide tagasiside 2016 Küsimustikule vastas 137 tudengit, kellest 81 (60%) olid V kursuse ning 56 (40%) VI kursuse tudengid. Abiarstina olid vasta Abiarstide tagasiside 2016 Küsimustikule vastas 137 tudengit, kellest 81 (60%) olid V kursuse ning 56 (40%) VI kursuse tudengid. Abiarstina olid vastanutest töötanud 87 tudengit ehk 64%, kellest 79 (91%)

Rohkem

Page 1 of 6 Otsid teistmoodi eluviisi? Kommuun - uued energiasäästlikud ridaelamud Tabasalu parkmetsas! Kuigi Tallinn ja Harjumaa on uusarenduste ülek

Page 1 of 6 Otsid teistmoodi eluviisi? Kommuun - uued energiasäästlikud ridaelamud Tabasalu parkmetsas! Kuigi Tallinn ja Harjumaa on uusarenduste ülek Page 1 of 6 Otsid teistmoodi eluviisi? Kommuun - uued energiasäästlikud ridaelamud Tabasalu parkmetsas! Kuigi Tallinn ja Harjumaa on uusarenduste ülekülluses, ei ole Te leidnud veel seda OMA KODU! Meil

Rohkem

Rühmatöö Moodle is Triin Marandi 2017 oktoober

Rühmatöö Moodle is Triin Marandi 2017 oktoober Rühmatöö Moodle is Triin Marandi 2017 oktoober Kes on kasutanud rühmatööd? Nutitelefonid välja ja hääletama! www.menti.com KOOD: 14 10 00 https://www.mentimeter.com/s/1c1250be4e6b7c4ec7608a4fa6d7d591/3e66049189e0

Rohkem

X Window System tuntud kui: X11, X, X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesug

X Window System tuntud kui: X11, X, X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesug X Window System tuntud kui: X11, X, X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesugused realisatsioonid ka Windowsile erinevad realisatsioonid

Rohkem

Süsteemiintegratsioon

Süsteemiintegratsioon 2010 veebruar Ivo Mägi ivoätwebmediadotee Kes ma selline olen Kümme aastat tarkvaratööstuses Erinevad rollid, hetkel AS Webmedia tarkvara arendusjuht Kuus aastat Java SE/EE arendust Osalenud kokku 13 erineva

Rohkem

E-õppe ajalugu

E-õppe ajalugu Koolituskeskkonnad MTAT.03.142 avaloeng Anne Villems September 2014.a. Põhiterminid Koolituskeskkonnad (Learning environments) IKT hariduses (ICT in education) E-õpe (e-learning) Kaugõpe (distance learning)

Rohkem

Operatsioonisüsteemi ülesanded

Operatsioonisüsteemi ülesanded Praktikum 3 GROUP POLICY JA ACTIVE DIRECTORY Group Policy Group Policy - vahend Active Directory arvutite ja kasutajate tsentraalseks haldamiseks. Group Policy abil on võimalik kontrollida süsteemi registri

Rohkem

Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier

Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier 09.02.2019 Miks on ülesannete lahendamise käigu kohta info kogumine oluline? Üha rohkem erinevas eas inimesi õpib programmeerimist.

Rohkem

PÄRNU TÄISKASVANUTE GÜMNAASIUM ESITLUSE KOOSTAMISE JUHEND Pärnu 2019

PÄRNU TÄISKASVANUTE GÜMNAASIUM ESITLUSE KOOSTAMISE JUHEND Pärnu 2019 PÄRNU TÄISKASVANUTE GÜMNAASIUM ESITLUSE KOOSTAMISE JUHEND Pärnu 2019 SISUKORD 1. SLAIDIESITLUS... 3 1.1. Esitlustarkvara... 3 1.2. Slaidiesitluse sisu... 3 1.3. Slaidiesitluse vormistamine... 4 1.3.1 Slaidid...

Rohkem

Control no:

Control no: Smart Access Driftsprocedure A. Eeltingimused... 2 1. Nutitelefoni ühilduvus... 2 2. Kaabli valik... 2 a. Apple devices (Apple'i seadmed) (iphone 4/4S)... 2 b. Apple devices (Apple'i seadmed) (iphone 5/5c/5s)...

Rohkem

Mida me teame? Margus Niitsoo

Mida me teame? Margus Niitsoo Mida me teame? Margus Niitsoo Tänased teemad Tagasisidest Õppimisest TÜ informaatika esmakursuslased Väljalangevusest Üle kogu Ülikooli TÜ informaatika + IT Kokkuvõte Tagasisidest NB! Tagasiside Tagasiside

Rohkem

KIIRJUHEND Lugege kiirjuhend enne seadme kasutamist hoolikalt läbi. Kõik tärniga (*) märgitud juhised kehtivad WLAN + 3G mudelitele (Lenovo B6000-H(V)

KIIRJUHEND Lugege kiirjuhend enne seadme kasutamist hoolikalt läbi. Kõik tärniga (*) märgitud juhised kehtivad WLAN + 3G mudelitele (Lenovo B6000-H(V) KIIRJUHEND Lugege kiirjuhend enne seadme kasutamist hoolikalt läbi. Kõik tärniga (*) märgitud juhised kehtivad WLAN + 3G mudelitele (Lenovo B6000-H(V) / Lenovo B8000-H). Tehnilised andmed Mudeli nimetus

Rohkem

E-R mudel

E-R mudel Uued mõisted. Tudeng peab olema suuteline selgitama järgmisi mõisteid: olem (nõrk- tugev; domineeriv-alluv), olemite klass, tunnused, seosed, nende tüübid, võti (võtme kandidaat, primaarne võti, supervõti),

Rohkem

Robootika ringi tööplaan Sven Hendrikson - Tartu Kivilinna Kool Heilo Altin - MTÜ Robootika 1. klass Ringitunni kestus: üks 60-minutiline tund nädalas

Robootika ringi tööplaan Sven Hendrikson - Tartu Kivilinna Kool Heilo Altin - MTÜ Robootika 1. klass Ringitunni kestus: üks 60-minutiline tund nädalas Robootika ringi tööplaan Sven Hendrikson - Tartu Kivilinna Kool Heilo Altin - MTÜ Robootika 1. klass Ringitunni kestus: üks 60-minutiline tund nädalas. Kasutatavad robootika töövahendid: LEGO WeDo baaskomplekt

Rohkem

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 või Windows

Rohkem

Kursuseprogramm IFI6054 Agiilne tarkvaraarendus 3 EAP Kontakttundide maht: 28 Õppesemester: K Eksam Eesmärk: Aine lühikirjeldus: (sh iseseisva töö sis

Kursuseprogramm IFI6054 Agiilne tarkvaraarendus 3 EAP Kontakttundide maht: 28 Õppesemester: K Eksam Eesmärk: Aine lühikirjeldus: (sh iseseisva töö sis Kursuseprogramm IFI6054 Agiilne tarkvaraarendus 3 EAP Kontakttundide maht: 28 Õppesemester: K Eksam Eesmärk: Aine lühikirjeldus: (sh iseseisva töö sisu kirjeldus vastavuses iseseisva töö mahule) Ülevaate

Rohkem

Microsoft Word - TallinnLV_lihtsustatud_manual_asutuse_juhataja_ doc

Microsoft Word - TallinnLV_lihtsustatud_manual_asutuse_juhataja_ doc Tallinna Linnavalitsuse sõnumisaatja kasutusjuhend asutuse juhatajale Sisukord 1. Süsteemi sisenemine...2 2. Parooli lisamine ja vahetamine...2 3. Ametnike lisamine ametiasutuse juurde...2 4. Saatjanimede

Rohkem

Orbiidile! hooaja info

Orbiidile! hooaja info Orbiidile! hooaja info FIRST LEGO League Eelarve 2018/2019 hooajal Robotimängu väljak 130 EUR + transport Platsi arve hiljemalt oktoobris, meeskonna arve detsembris Esimene meeskond Teise meeskonna registreerimistasu

Rohkem

Microsoft PowerPoint - loeng.ppt

Microsoft PowerPoint - loeng.ppt Tarkvaraarendusprotsess Lektor Oleg Mürk olegm@webmedia.ee Webmedia AS www.webmedia.ee Teema Mille poolest erineb üksinda programmeerimine mitmekesi tarkvaraarendamisest? Mitmekesi programmeerimine Mitmekesi

Rohkem

(Microsoft PowerPoint - Investeerimishoius_Uus_Maailm_alusvara_\374levaadeToim.ppt)

(Microsoft PowerPoint - Investeerimishoius_Uus_Maailm_alusvara_\374levaadeToim.ppt) 02 6 Investeerimishoius Uus Maailm Aktsiainvesteeringu tootlus, hoiuse turvalisus 1 Investeerimishoius UUS MAAILM Müügiperiood 07.05.2008 02.06.2008 Hoiuperiood 03.06.2008 14.06.2011 Hoiuvaluuta Eesti

Rohkem

Pealkiri

Pealkiri Elanike hinnangud arstiabile 2014, peamised arengud ja edasised tegevused Tanel Ross Haigekassa juhatuse esimees Üldised järeldused elanike hinnangutest Hinnangud Eesti tervishoiusüsteemile on püsinud

Rohkem

Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp

Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp Terminali seadistamine Lülita telefonis või tahvelarvutis (edaspidi telefonis) sisse Bluetooth. (1) 1 1 Mudel

Rohkem

Andmebaasid, MTAT Andmebaasikeeled 11.loeng

Andmebaasid, MTAT Andmebaasikeeled 11.loeng Andmebaasid, MTAT.03.264 Andmebaasikeeled 11. loeng Anne Villems Eksamiaegade valimine Kas on vaja eksamiaega mai lõpus? I eksami aeg. valikud: 3., 4. või 5. juuni kell 10.00 II eksami aeg. 17. kell 12.00

Rohkem

Loeng03

Loeng03 Loeng 03 Failiõigused ja -manipulatsioon Operatsioonisüsteemide administreerimine ja sidumine I233 Katrin Loodus, Tallinn 2015 Failid ja kataloogid Mis on fail? Linuxi laadsetes süsteemides on kõik failid

Rohkem