Objektorienteeritud programmeerimine
|
|
- Siim Eller
- 3 aastad tagasi
- Vaatused:
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
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
RohkemI 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
Rohkemloeng2
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)
RohkemScala ü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.
Rohkem1. 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
RohkemHAJUSSÜ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
RohkemIFI6083_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öö
RohkemInfix 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
RohkemSQL
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
RohkemPowerPointi 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
RohkemFunktsionaalne 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
RohkemPealkiri
Andmebaasid II praktikum Andmebaaside administreerimine Andmete sisestamine KESKKOND, KASUTAJAD, ÕIGUSED Mõisted Tabelid, vaated, trigerid, jpm on objektid Objektid on grupeeritud skeemi Skeemid moodustavad
Rohkem1 / 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)
#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
RohkemPealkiri
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,
RohkemAndmeturve
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:)
RohkemPHP
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
RohkemSQL
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)
RohkemAlgoritmid 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
RohkemSü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
RohkemMicrosoft 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
RohkemFunktsionaalne 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 =
RohkemPeafail3_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
RohkemExcel 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])
Tarkvara projekt seminar VI Eelmise iteratsiooni tagasivaade, testimine, installatsioonijuhend, järgmise iteratsiooni näited. Karel Kravik Administratiivset:protestid Probleem: protestide hulk ja kvaliteet
RohkemP2P 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
RohkemFailiotsing: 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:
RohkemMicrosoft 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
RohkemOperatsioonisü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
RohkemMicrosoft 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
RohkemAutomaatjuhtimise 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
RohkemPythoni 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 Kava Kuulame Annet Essed ja Felder Õppimise teooriad 5 Eduka õppe reeglit 5 Olulisemat oskust Anne Loeng Mida uut saite teada andmebaasidest?
RohkemMining 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
RohkemMicrosoft 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
RohkemPangalingi 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
RohkemNeurovõ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.
RohkemAdvanced 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
RohkemAndmebaasid, 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
TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Andra Laura Meeksa Õppevideote rakendamine programmeerimise kursustel Bakalaureusetöö (9 EAP) Juhendaja: Eno Tõnisson, PhD Tartu 2018 Õppevideote
RohkemTARTU Ü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
RohkemTallinna Ü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:......
RohkemAndmed 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
RohkemHAJUSSÜ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
RohkemMicrosoft 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
RohkemTartu Ü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.
RohkemProgrammeerimiskeel 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 -
RohkemVersioon 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
RohkemTARTU Ü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,
RohkemIVXV 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...................................
RohkemRelatsiooniline 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
Rohkem1. Ü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
RohkemMicrosoft 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
RohkemHAJUSSÜ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"
Rohkemprakt8.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
RohkemE-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-
RohkemMicrosoft 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
RohkemMicrosoft 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
RohkemMicrosoft 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
RohkemPraks 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
RohkemSaksa 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
Rohkem3D 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
RohkemAWK 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 oma kujunduse ühele kohale koolis. 5.1 Kohavalik Tiimi
RohkemImage segmentation
Image segmentation Mihkel Heidelberg Karl Tarbe Image segmentation Image segmentation Thresholding Watershed Region splitting and merging Motion segmentation Muud meetodid Thresholding Lihtne Intuitiivne
RohkemMicrosoft 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
RohkemMOOCi „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:
RohkemDJI 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
RohkemMicrosoft 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
RohkemVõ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)
RohkemPowerPoint 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
RohkemAbiarstide 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%)
RohkemPage 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
RohkemRü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
RohkemX 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
RohkemSü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
RohkemE-õ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)
RohkemOperatsioonisü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
RohkemMida 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.
RohkemPÄ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...
RohkemControl 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)...
RohkemMida 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
RohkemKIIRJUHEND 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
RohkemE-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),
RohkemRobootika 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
RohkemSAF 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
RohkemKursuseprogramm 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
RohkemMicrosoft 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
RohkemOrbiidile! 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
RohkemMicrosoft 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)
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
RohkemPealkiri
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
RohkemJuhend 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
RohkemAndmebaasid, 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