תרגול 1

גודל: px
התחל להופיע מהדף:

Download "תרגול 1"

תמליל

1 מבוא למדעי המחשב 2019 תרגול 9 חזרה על תכנות מונחה עצמים Part II

2 ראינו בהרצאה ממשקים Set Iterable Iterator

3 בתרגול היום חזרה על: ממשקים Iterator Iterable )iterator נראה: )set ממשק )מימוש SetAsLinkedList Iterator לרשימה משורשרת )מימוש ממשק פעולות על קבוצות )שימוש בממשק )set?

4 חלק א: ממשקים

5 שבוע שעבר )בתרגול( המחלקה SimplePair הגנרית הרחבות של מחלקה זו ומימוש מספר מרוכב בדרך ראינו: המחלקה Object הורשה גנריות Reference vs. Instance type אופרטור instanceof

6 תזכורת: המחלקה SimplePair<T> public class SimplePair<T> { private T first ; private T second ; public SimplePair (T first, T second) {... public SimplePair (SimplePair<T> other) {... public T getfirst () {... public T getsecond () {... public void setfirst (T value) {... public void setsecond (T value) {... public to () {... public boolean equals (Object other) { return other instanceof SimplePair<?> && first.equals(((simplepair<?>) other).getfirst ()) && second.equals(((simplepair<?>) other).getsecond ()) ;

7 מוטיבציה : השוואת SimplePair, ArrayPair בואו נניח שמישהו החליט לייצר מחלקה בשם.ArrayPair גם בה יש זוג איברים )בתוך מערך(. ויש לה את השיטות: getfirst(), getsecond() )שימו לב לא ראינו מימוש, אבל זה לא משנה!(

8 דוגמא : השוואת SimplePair, ArrayPair public static void main ([] args){ SimplePair<Double> pair1 = new SimplePair<> (1, 2); ArrayPair<Double> pair2 = new ArrayPair<> (1, 2); System.out.println(pair1.equals(pair2)) // False!!! Name Type Value pair1 pair2 SimplePair ArrayPair הפונקציה דורשת! SimplePair אבל היינו רוצים להשוות רק על בסיס התוכן, getfirst(), getsecond() כלומר: SimplePair first second getfirst () getsecond () void setfirst (..) void setsecond (..) : ArrayPair????? Double getfirst () Double getsecond () void setfirst (..) void setsecond (..) :

9 ממשקים - אינטואיציה היה טוב לו יכולנו לתמצת את הרעיון של מפרטי המימוש "זוג סדור" כל מה שמעניין אותנו ברעיון של זוג זה היכולת לבצע: getfirst(), getsecond() ולהתעלם

10 ממשקים אינטואיציה 2 Apple מתכננת להשיק מכשיר חדש הם לא מעוניינים לחשוף את המימוש בנוסף, רק עוד שנה הוא יצא בנתיים הם רוצים שמפתחים ברחבי העולם יכתבו אפליקציות )לדוגמא, וייז רוצים שהאפליקציה שלהם תהיה מוכנה לרוץ על המכשיר החדש ביום ההשקה( Apple מפרסמת ממשק, רשימה של פונקציות: gettextmessag makecall, getgpslocation, וכולי

11 ממשקים - עקרונות ממשק מייצג רעיון מופשט. הממשק )interface) הינו כלי למימוש עיקרון ההפרדה בין הכרזה למימוש. מבחינת המתכנת, ממשק הוא חוזה עבור השיטות שצריך למלא. ממשק קובע את הפונקציונאליות המשותפת לכל המחלקות המממשות אותו.

12 ממשקים הצהרה על ממשק: public interface <name> { <methods list> )public ללא מימושן ממשקים מתארים התנהגות )שיטות ממשקים אינם כוללים בנאים שכן אין דרך ליצר מופע אלא רק של מחלקה המממשת את הממשק אבל ממשק יכול להיות reference type של משתנה בדומה לשימוש במחלקות, המשתמש המימוש של השיטות השונות מחלקה אשר מממשת ממשק חייבת להכיל המופיעות בממשק )אובייקט( של ממשק )עוד בהמשך( בממשק אינו צריך להכיר את פרטי )לכל הפחות( את כל השיטות

13 ממשקים קוד הממשק /** * represent the ordered pair (first, second) * where first and second are of type T */ public interface Pair<T> { /** * get the first element of this pair */ public T getfirst () ; /** * get the second element of this pair */ public T getsecond () ; מהן ההתנהגויות המאפיינות זוג סדור? getfirst getsecond setfirst setsecond /** * change the first element of this pair */ public void setfirst (T value) ; /** * change the second element of this pair */ public void setsecond (T value) ;

14 ממשקים קוד הממשק /** * represent the ordered pair (first, second) * where first and second are of type T */ public interface Pair<T> { ממשק בשם Pair עם פרמטר טיפוס T /** * get the first element of this pair */ T getfirst () ; /** * get the second element of this pair */ T getsecond () ; /** * change the first element of this pair */ void setfirst (T value) ; שיטות הממשק )מחייבות כל מחלקה שתממש את )Pair<T> /** * change the second element of this pair */ void setsecond (T value) ;

15 ממשקים קוד המחלקה public class SimplePair<T> implements Pair<T> { private T first ; private T second ; public SimplePair (T first, T second) {... public SimplePair (Pair<T> other) {... public T getfirst () {... public T getsecond () {... public void setfirst (T value) {... public void setsecond (T value) {... כיצד נכריז ש- SimplePair מממש את הממשק?Pair המילה השמורה implements המחלקה SimplePair "מתחייבת " לממש את השיטות המופיעות ב- Pair במידה ו"חסרות" שיטות שגיאת קומפילציה שיטות הממשק )חייבות להופיע( public to () {... public boolean equals (Object other) {... שיטות נוספות

16 Pair<T> שמממש את SimplePair<T> public class SimplePair<T> implements Pair<T> { private T first ; private T second ; public SimplePair (T first, T second) { this.first = first ; this.second = second ; public SimplePair (Pair<T> other) { this (other.getfirst(), other.getsecond()) ; public T getfirst() { return first ; public T getsecond() { return second ; public void setfirst(t value) { first = value ; public void setsecond(t value) { second = value ; public to () { return "(" + getfirst () + ", " + getsecond () + ")" ; public boolean equals (Object other) { return other instanceof Pair<?> && getfirst().equals(((pair<?>) other).getfirst ()) && getsecond().equals(((pair<?>) other).getsecond());

17 דוגמת שימוש ב-< Pair<T public static void main ([] args){ Pair<Integer> pair1 = new SimplePair<>(1,2) ; Pair<Integer> pair2 = new ArrayPair<> (1,2) ; System.out.println(pair1); // (1, 2) System.out.println(pair2); // 1 : 2 System.out.println(pair2.getFirst()); // 1 System.out.println(pair1.equals(pair2)); // true Instance type first second SimplePair Integer Integer -> -> Type Name Value Pair pair1 Pair pair2 Reference type ArrayPair???? ArrayPair (Integer, Integer) ArrayPair (Pair<Integer>) Integer getfirst () Integer getsecond ()... SimplePair (Integer, Integer) SimplePair (Pair<Integer>) Integer getfirst () Integer getsecond ()...

18 חלק ב: SetAsLinkedList

19 תזכורת: ממשקים מההרצאה

20 תזכורת: ממשקים מההרצאה את זה נעשה היום:

21 תזכורת: הממשק Set<T> public interface Set<T> extends Iterable<T> { // test if element is in set public boolean contains(t element); // test if this is the empty set public boolean isempty(); public interface Iterable<T> { // get this object's iterator public Iterator<T> iterator () ; // number of elements in set public int size(); // add element to set if not already exists public void add(t element); // remove element from set if exists public void remove(t element);

22 מימוש של הממשק Set<T> עם רשימה מקושרת בהרצאה: מימוש של Set<T> באמצעות מערך דינמי כעת: מימוש של Set<T> באמצעות רשימה מקושרת למחלקה שלנו SetAsLinkedList<T> יהיה שדה אשר יכיל רשימה משורשרת של איברי הקבוצה כאשר נוסיף איברים לקבוצה נוודא כי אנו לא מוסיפים כפילויות

23 דוגמת שימוש ב- Set public static void main ([] args){ Set<Integer> set1 = new SetAsDynamicArray<> () ; set1.add (1); // set1 := {1 set1.add (2); // set1 := {1, 2 set1.add (3); // set1 := {1, 2, 3 System.out.println(set1); System.out.println(set1.contains (2)); System.out.println(set1.contains (-2)); // Set: {1, 2, 3 // true // false Set<Integer> set2 = new SetAsLinkedList<> () ; set2.add (-1) ; // set2 := {-1 set2.add (-2) ; // set2 := {-1, -2 set2.add (-3) ; // set2 := {-1, -2, -3 System.out.println(set2.contains (2)); System.out.println(set2.contains (-2)); SetAsDA List<Integer> elements boolean isempty () int size () boolean contains(integer element) void add (Integer element) : SetAsLL List<Integer> elements DynamicArray int size Object[] data int incrementsize boolean isempty () int size () Integer get(int index) Integer set(int index, Integer element) : LinkedList Link<Integer> first Name Type Value set1 Set set2 Set boolean isempty () int size () boolean contains(integer element) void add (Integer element) : boolean isempty () int size () Integer get(int index) Integer set(int index, Integer element) :

24 סיכום ביניים נרצה לייצר:.Set שיממש את המשק SetAsLinkedList 28

25 הפסקה 29

26 תזכורת: SetAsDynamicArray public class SetAsDynamicArray<T> implements Set<T> { private List<T> elements ; public SetAsDynamicArray() { elements = new DynamicArray<>(); public boolean isempty() { return elements.isempty(); public int size() { return elements.size(); public boolean contains(t element) { return elements.contains(element); public void add(t element) { if (! contains(element)) elements.add(element); public void remove(t element) { elements.remove(element); public Iterator<T> iterator() { return elements.iterator(); public to() { output = "Set: {"; Iterator<T> it= iterator (); while (it.hasnext()) { output = output+it.next()+", "; if (!isempty()) output = output.substring(0, output.length()-2); output = output+""; return output; שיטות הממשק )חייבות להופיע( public boolean equals(object other) { boolean isequal = true; if (!(other instanceof Set<?>)) isequal = false; else if (size()!= ((Set<?>)other).size()) isequal = false; else { Iterator<T> iter = iterator(); while (iter.hasnext() & isequal) isequal = (!((Set<Object>)other).contains(iter.next() )); return isequal;

27 המחלקה SetAsLinkedList<T> public class SetAsLinkedList<T> implements Set<T> { private List<T> elements ; public SetAsDynamicArray() { elements = new DynamicArray<>(); public boolean isempty() { return elements.isempty(); public int size() { return elements.size(); public boolean contains(t element) { return elements.contains(element); public void add(t element) { if (! contains(element)) elements.add(element); public void remove(t element) { elements.remove(element); public Iterator<T> iterator() { return elements.iterator(); public to() { output = "Set: {"; Iterator<T> it= iterator (); while (it.hasnext()) { output = output+it.next()+", "; if (!isempty()) output = output.substring(0, output.length()-2); output = output+""; return output; public boolean equals(object other) { if (!(other instanceof Set<?>)) return false ; Set<?> otherset = (Set<?>) other ; if (size ()!= otherset.size()) return false ; boolean isequal = true ; Iterator<T> it = iterator () ; while (it.hasnext() & isequal) isequal = otherset.contains(it.next()); return isequal ;

28 המחלקה SetAsLinkedList<T> public class SetAsLinkedList<T> implements Set<T> { private List<T> elements ; public SetAsLinkedList() { elements = new LinkedList<>(); public boolean isempty() { return elements.isempty(); public int size() { return elements.size(); public boolean contains(t element) { return elements.contains(element); public void add(t element) { if (! contains(element)) elements.add(element); public void remove(t element) { elements.remove(element); public Iterator<T> iterator() { return elements.iterator(); public to() { output = "Set: {"; Iterator<T> it= iterator (); while (it.hasnext()) { output = output+it.next()+", "; if (!isempty()) output = output.substring(0, output.length()-2); output = output+""; return output; public boolean equals(object other) { if (!(other instanceof Set<?>)) return false ; Set<?> otherset = (Set<?>) other ; if (size ()!= otherset.size()) return false ; boolean isequal = true ; Iterator<T> it = iterator () ; while (it.hasnext() & isequal) isequal = otherset.contains(it.next()); return isequal ;

29 תזכורת: הממשק Set<T> - חסר לנו איטרטור! public interface Set<T> extends Iterable<T> { // test if element is in set public boolean contains(t element); // test if this is the empty set public boolean isempty(); public interface Iterable<T> { // get this object's iterator public Iterator<T> iterator () ; // number of elements in set public int size(); // add element to set if not already exists public void add(t element); // remove element from set if exists public void remove(t element);

30 המחלקה SetAsLinkedList<T> public class SetAsLinkedList<T> implements Set<T> { private List<T> elements ; public SetAsLinkedList() { elements = new LinkedList<>(); public boolean isempty() { return elements.isempty(); public int size() { return elements.size(); public boolean contains(t element) { return elements.contains(element); public void add(t element) { if (! contains(element)) elements.add(element); public void remove(t element) { elements.remove(element); public Iterator<T> iterator() { return elements.iterator(); public to() { output = "Set: {"; Iterator<T> it= iterator (); while (it.hasnext()) { output = output+it.next()+", "; if (!isempty()) output = output.substring(0, output.length()-2); output = output+""; return output; public boolean equals(object other) { if (!(other instanceof Set<?>)) return false ; Set<T> otherset = (Set<T>) other ; if (size ()!= otherset.size()) return false ; boolean isequal = true ; Iterator<T> it = iterator () ; while (it.hasnext() & isequal) isequal = otherset.contains(it.next()); return isequal ;

31 סיכום ביניים 1. ממשק הוא "חוזה" המכיל רשימה של מטודות בהן המחלקה תומכת. 2. מימשנו את המחלקה,SetAsLinkedList שמממשת את הממשק Set שאלות על ממשקים? 35

32 חלק ג: הוספת Iterator LinkedList ל -

33 תזכורת: ממשקים מההרצאה

34 תזכורת: הממשק List<T> הוא Iterable public interface List<T> extends Iterable<T> { // Returns true if this list contains no elements. public boolean isempty(); // Returns the number of elements in this list. public int size(); // Returns true if this list contains the specified element. public boolean contains(t element); // Returns the element at the specified position in this list. public T get(int index); public interface Iterable<T> { // get this object's iterator public Iterator<T> iterator () ; // Replaces the element at the specified position in this // list with the specified element public T set(int index, T element); //Appends the specified element to the end of this list public boolean add(t element); public interface Iterator<T> { // test if iterator contain more values public boolean hasnext () ; //Inserts the specified element at the specified position //in this list public void add(int index, T element); //Removes the first occurrence of the specified element //from this list, if it is present public boolean remove(t element); // get the next value if exists // otherwise, throw NoSuchElement exception public T next () ;

35 תזכורת: המחלקה LinkedList<T> public class LinkedList <T> implements List<T> { private Link<T> first; public LinkedList() {... public LinkedList(List<T> mylist) {... public int size () {... public boolean isempty () {... public T get (int index) {... public boolean remove (Object toremove) {... public boolean contains (Object element) {... public T set (int index, T element) {... public void add (int index, T element) {... public boolean add (T element) {... public Iterator<T> iterator() {... public to () {... public boolean equals (Object other) {... public class Link <E> { private E data; private Link<E> next; public Link (E data, Link<E> next) {... public Link (E data) {... public Link<E> getnext () {... public void setnext (Link<E> next){... public E getdata () {... public E setdata (E data) {... public to() {... public class LinkedListIterator<T> implements Iterator<T> { : : public boolean hasnext () {... public T next () {...

36 תזכורת: ממשקים מההרצאה את זה נעשה כעת:

37 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ;

38 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; Iterator<> it = list.iterator() ;

39 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); hello world goodbye

40 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; hello Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); hello world goodbye

41 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; hello world Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); hello world goodbye

42 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; hello world goodbye Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); hello world goodbye

43 LinkedList<T> עבור Iterator public class LinkedListIterator<T> implements Iterator<T> { private Link<T> current ; public LinkedListIterator (Link<T> start) { current = start ; public boolean hasnext() { return current!= null ; public T next() { if (!hasnext ()) throw new NoSuchElementException() ; T data = current.getdata() ; current = current.getnext() ; return data ;

44 השיטה iterator() ב-< LinkedList<T public class LinkedList <T> implements List<T> { : public Iterator<T> iterator() { return new LinkedListIterator<>(first) ; :

45 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); public class LinkedList <T> implements List<T> { : public Iterator<T> iterator() { return new LinkedListIterator<>(first) ; : hello world goodbye

46 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); public class LinkedList <T> implements List<T> { : public Iterator<T> iterator() { return new LinkedListIterator<>(first) ; : public class LinkedListIterator<T> implements Iterator<T> { private Link<T> current ; public LinkedListIterator (Link<T> start) { current = start ; public boolean hasnext() { return current!= null ; public T next() { if (!hasnext ()) throw new NoSuchElementException() ; T data = current.getdata() ; current = current.getnext() ; return data ; hello world goodbye

47 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); public class LinkedList <T> implements List<T> { : public Iterator<T> iterator() { return new LinkedListIterator<>(first) ; : public class LinkedListIterator<T> implements Iterator<T> { private Link<T> current ; public LinkedListIterator (Link<T> start) { current = start ; public boolean hasnext() { return current!= null ; public T next() { if (!hasnext ()) throw new NoSuchElementException() ; T data = current.getdata() ; current = current.getnext() ; return data ; hello world goodbye

48 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); public class LinkedList <T> implements List<T> { : public Iterator<T> iterator() { return new LinkedListIterator<>(first) ; : public class LinkedListIterator<T> implements Iterator<T> { private Link<T> current ; public LinkedListIterator (Link<T> start) { current = start ; public boolean hasnext() { return current!= null ; public T next() { if (!hasnext ()) throw new NoSuchElementException() ; T data = current.getdata() ; current = current.getnext() ; return data ; hello world goodbye

49 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); hello public class LinkedList <T> implements List<T> { : public Iterator<T> iterator() { return new LinkedListIterator<>(first) ; : public class LinkedListIterator<T> implements Iterator<T> { private Link<T> current ; public LinkedListIterator (Link<T> start) { current = start ; public boolean hasnext() { return current!= null ; public T next() { if (!hasnext ()) throw new NoSuchElementException() ; T data = current.getdata() ; current = current.getnext() ; return data ; hello world goodbye

50 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); hello world public class LinkedList <T> implements List<T> { : public Iterator<T> iterator() { return new LinkedListIterator<>(first) ; : public class LinkedListIterator<T> implements Iterator<T> { private Link<T> current ; public LinkedListIterator (Link<T> start) { current = start ; public boolean hasnext() { return current!= null ; public T next() { if (!hasnext ()) throw new NoSuchElementException() ; T data = current.getdata() ; current = current.getnext() ; return data ; hello world goodbye

51 דוגמת שימוש ב- Iterator עבור LinkedList<T> public static void main ([] args){ List<> list = new LinkedList<>() ; list.add("hello") ; list.add("world") ; list.add("goodbye") ; Iterator<> it = list.iterator() ; while (it.hasnext()) System.out.print(it.next() + " "); System.out.println(); hello world goodbye public class LinkedList <T> implements List<T> { : public Iterator<T> iterator() { return new LinkedListIterator<>(first) ; : public class LinkedListIterator<T> implements Iterator<T> { private Link<T> current ; public LinkedListIterator (Link<T> start) { current = start ; public boolean hasnext() { return current!= null ; public T next() { if (!hasnext ()) throw new NoSuchElementException() ; T data = current.getdata() ; current = current.getnext() ; return data ; hello world goodbye

52 חלק ד: המחלקה הסטאטית Sets

53 פעולות נוספות על קבוצות )המחלקה )Sets public class Sets { // test if set1 subset of set2 public static <T> boolean subset (Set<T> set1, Set<T> set2) {... // return set1 union set2 public static <T> Set<T> union (Set<T> set1, Set<T> set2) {... // return the intersection of set1 and set2 public static <T> Set<T> intersection (Set<T> set1, Set<T> set2) {... // return the subtraction of set2 from set1 public static <T> Set<T> subtraction (Set<T> set1, Set<T> set2) {...

54 פעולות נוספות על קבוצות )המחלקה )Sets public class Sets { // test if set1 subset of set2 public static <T> boolean subset (Set<T> set1, Set<T> set2) {... // return set1 union set2 public static <T> Set<T> union (Set<T> set1, Set<T> set2) {... // return the intersection of set1 and set2 public static <T> Set<T> intersection (Set<T> set1, Set<T> set2) {... // return the subtraction of set2 from set1 public static <T> Set<T> subtraction (Set<T> set1, Set<T> set2) {... // return the product of set1 and set2 public static <T> Set<Pair<T>> product (Set<T> set1, Set<T> set2) {... // return the union of all sets in sets public static <T> Set<T> unionall (Set<Set<T>> sets) {...

55 שימוש בשיטה product public static void main ([] args){ Set<> streets = new SetAsDynamicArray<>() ; streets.add("street1"); streets.add("street2"); streets.add("street3"); System.out.println(streets); // Set: {... Set<> housenumbers = new SetAsLinkedList<>() ; housenumbers.add("1") ; housenumbers.add("2") ; housenumbers.add("3") ; housenumbers.add("4") ; System.out.println(houseNumbers); // Set: {... Set<Pair<>> streetsandnumbers = Sets.product (streets, housenumbers) ; System.out.println(streetsAndNumbers); // Set: {("Street1", "1"), ("Street1", "2"),..., ("Street3", "4")

56 מימוש השיטה product public class Sets {... public static <T> Set<Pair<T>> product (Set<T> set1, Set<T> set2) { Set<Pair<T>> prod = new SetAsLinkedList<>() ; Iterator<T> it1 = set1.iterator() ; while (it1.hasnext()) { T item1 = it1.next () ; Iterator <T> it2 = set2.iterator() ; while (it2.hasnext()) prod.add(new SimplePair<> (item1, it2.next())); return prod ;

57 שימוש בשיטה unionall public static void main ([] args){ Set<Integer> nums1 = new SetAsDynamicArray<>() ; nums1.add(0); nums1.add(1); nums1.add(3); Set<Integer> nums2 = new SetAsDynamicArray<>() ; nums1.add(1); nums1.add(3); nums1.add(5); Set<Integer> nums3 = new SetAsDynamicArray<>() ; nums1.add(0); nums1.add(2); nums1.add(4); Set<Set<Integer>> sets = new SetAsLinkedList<>() ; sets.add(nums1); sets.add(nums2); sets.add(nums3); Set<Integer> nums = Sets.unionAll(sets) ; System.out.println(nums); // Set: {0, 1, 2, 3, 4, 5

58 מימוש השיטה unionall public class Sets {... public static <T> Set<T> unionall (Set<Set<T>> sets) { Set<T> union = new SetAsLinkedList<>() ; Iterator<Set<T>> itsets = sets.iterator() ; while (itsets.hasnext()) { Iterator<T> it = itsets.next().iterator() ; while (it.hasnext()) union.add(it.next()); return union ;

59 סיכום ומשימות תרגלנו: ממשקים Iterator Iterable 4 משימות: עבודה קוויז

תרגול 1

תרגול 1 מבוא למדעי המחשב 2019 תרגול 9 חזרה על תכנות מונחה עצמים Part II ראינו בהרצאה ממשקים Set Iterable Iterator בתרגול היום חזרה על: ממשקים Iterator Iterable )iterator נראה: )set ממשק )מימוש SetAsLinkedList

קרא עוד

מבוא למדעי המחשב

מבוא למדעי המחשב מבוא למדעי המחשב הממשקים Iterable,Set ו- Iterator תוכן עניינים מבנה נתונים מבנה נתונים מבנה נתונים הוא container של עצמים שמוגדרות עליו מספר פעולות למשל קבוצה של עצמים (אוסף ללא חזרות) עם הפעולות: הוספת

קרא עוד

מבוא למדעי המחשב

מבוא למדעי המחשב מבוא למדעי המחשב המחלקה Object תוכן עניינים Object הורשה והמחלקה ערך שם טיפוס DynamicIntArray da data size incrementsize DynamicArray תזכורת - Object[] data; int size; int incrementsize; DynamicArray זה

קרא עוד

מבוא למדעי המחשב

מבוא למדעי המחשב מבוא למדעי המחשב תכנות מונחה אובייקטים תוכן עניינים טיפוסי נתונים מורכבים המחלקה String תזכורת לשימוש שעשינו במחלקה String str = new String( Hello ); s.o.p(str.tostring()); s.o.p(str.charat(4)); s.o.p(str.equals(

קרא עוד

מבוא לתכנות ב- JAVA תרגול 11

מבוא לתכנות ב- JAVA  תרגול 11 מבוא לתכנות ב- JAVA תרגול 11 רשימה מקושרת אוסף סדור של איברים מאותו טיפוס. קודקוד ברשימה )Node( מכיל את המידע + הצבעה לקודקוד הבא ברשימה data next first רשימה :)List( מיוצגת ע"י מצביע לאיבר הראשון ברשימה

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תכנות מתקדם בשפת Java אוניברסיטת תל אביב 1 תוכנה 1 תרגול 3: עבודה עם מחרוזות )Strings( מתודות )Methods( 1 תכנות מתקדם בשפת Java אוניברסיטת תל אביב 2 מחרוזות )STRINGS( 3 מחרוזות String s = Hello ; מחרוזות

קרא עוד

אוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד

אוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד אוניברסיטת בן גוריון בנגב תאריך המבחן: 29.01.19 שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות 202.1.9031 מס' הקורס : מיועד לתלמידי : הנדסת תעשיה וניהול שנה תשע"ט א' סמ' א' מועד 3 שעות משך

קרא עוד

מבוא למדעי המחשב

מבוא למדעי המחשב מבוא למדעי המחשב מחרוזות, חתימה של פונקציה ומעטפות תוכן עניינים טיפוסים מורכבים טיפוסים מורכבים ערך שם טיפוס 12 m int undef. x boolean true y boolean arr int[] כאלה שעשויים להכיל יותר מערך פרימיטיבי אחד

קרא עוד

אוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ

אוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ אוניברסיטת בן גוריון בנגב תאריך המבחן: 12.02.17 שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: 202.1.9031 מס' הקורס : הנדסת תעשיה וניהול מיועד לתלמידי : א' מועד א' סמ' שנה תשע"ד 3 שעות משך

קרא עוד

Slide 1

Slide 1 1 אובייקטים היום בתרגול: 2.)objects מחלקות )classes( ואובייקטים )מופעים, )fields( שדות המחלקה שיטות הכמסה )methods של מחלקה. ( class מחלקה - עד עכשיו השתמשנו בעיקר בטיפוסים מובנים ופונקציות המבצעות חישובים

קרא עוד

מבוא למדעי המחשב

מבוא למדעי המחשב מבוא למדעי המחשב שימוש במחסנית - מחשבון תוכן עניינים prefix כתיבת ביטויים ב-,infix ו- postfix postfix prefix,infix ביטויים ב- כתיבת ו- infix נוסח כתיבה ב- (operator אנו רגילים לכתוב ביטויים חשבוניים כדוגמת

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תוכנה 1 3 תרגול מס' מתודות ותיכון לפי חוזים חוזה בין ספק ללקוח חוזה בין ספק ללקוח מגדיר עבור כל שרות: תנאי ללקוח - "תנאי קדם" precondition - - תנאי לספק "תנאי אחר".postcondition לקוח ספק 2 תנאי קדם )preconditions(

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java אלכסיי זגלסקי ויעל אמסטרדמר 1 בירוקרטיה אלכסיי זגלסקי שעת קבלה: שני 13:00-14:00, בתיאום מראש משרד: בניין הנדסת תוכנה, חדר 209 יעל אמסטרדמר שעת קבלה: חמישי 15:00-16:00,

קרא עוד

תרגול 1

תרגול 1 מבוא למדעי המחשב 2019 תרגול 5 מחרוזות, חתימות ורקורסיה מחרוזות רצף של תווים רקורסיה קריאה של מתודה לעצמה באופן ישיר או עקיף ראינו בהרצאה מחרוזות: תווים, חתימות: העמסה- String,הצהרה, overloading אתחול רקורסיה:

קרא עוד

Slide 1

Slide 1 מבוא למדעי המחשב משפחות של מחלקות ומחלקות מופשטות תזכורת בשיעור הקודם ראינו מחלקה של Student והרחבה שלה למחלקה של Milgae למעשה Student יכול לעמוד בראש היררכיה שלמה של מחלקות שונות של סטודנטים למשל, בנוסף

קרא עוד

תרגול 1

תרגול 1 מבוא למדעי המחשב 2019 תרגול 12 מחסנית )Stack( memoization ראינו בהרצאה מחסנית Infix/Postfix Notations בתרגול היום מחסנית בדיקת איזון סוגריים בביטוי אריתמטי מימוש תור באמצעות מחסנית memoization דוגמאות

קרא עוד

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA  תרגול 7 מבוא לתכנות ב- JAVA תרגול 8 תזכורת - מבנה של פונקציה רקורסיבית.2 פונקציה רקורסיבית מורכבת משני חלקים עיקריים 1. תנאי עצירה: מקרה/מקרים פשוטים בהם התוצאה לא מצריכה קריאה רקורסיבית לחישוב צעד רקורסיבי: קריאה

קרא עוד

מבוא למדעי המחשב

מבוא למדעי המחשב מבוא למדעי המחשב גרפים 1 תוכן עניינים סיכום ביניים מה היה לנו? מושג האלגוריתם, תכנות פרוצדורלי הכרות עם בעיות במדעי המחשב הכרות עם בעיות ברקורסיה מתקדמת (כולל (memoization תכנות מונחה עצמים (מחלקה, הורשה,

קרא עוד

מהוא לתכנות ב- JAVA מעבדה 3

מהוא לתכנות ב- JAVA מעבדה 3 מבוא לתכנות ב- JAVA מעבדה 3 נושאי התרגול לולאות ניפוי שגיאות לולאות - הקדמה כיצד הייתם כותבים תוכנית שתדפיס את המספרים השלמים בין 1 ל- 100 בעזרת הכלים שלמדתם עד עתה? חייבת להיות דרך אחרת מאשר לכתוב 100

קרא עוד

Microsoft PowerPoint - 05_collections.ppt

Microsoft PowerPoint - 05_collections.ppt תכ נות מת קדם בש פת Java אצ נים ו או ס פ ים (collections and iterators) אורנית דרור ואוהד ברזילי אוניברסיטת ת ל אביב איטרטור (סודר? אצן? סורק?) איטרטור הוא הפש טה ש ל מ עבר בסדר מ וגדר מ ראש ע ל מ בנה

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תוכנה 1 Generics תרגול - 1 תכנות גנרי תמיכה בתכנות גנרי נוספה בגרסה 5 ניתן להגדיר מחלקות ושירותים גנריים מונע שכפול קוד )מוכללים( ניתן לכתוב תוכניות שאינן תלויות בטיפוסי המשתנים מאפשר בטיחות טיפוסים מנגנון

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java 1 מנהלות אתר הקורס: http://courses.cs.tau.ac.il/software1/1516b/ מתרגלים: ברית יונגמן )שעת קבלה: שלישי ב- 8:00 בתיאום מראש( לנה דנקין )שעת קבלה: שלישי ב- 17:00,

קרא עוד

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( מבנה השאלון 5

קרא עוד

סדנת תכנות ב C/C++

סדנת תכנות ב   C/C++ פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: 15.2.2017 משך הבחינה: שעתיים שם המרצה: ד"ר אופיר פלא חומר עזר: פתוח שימוש במחשבון: לא הוראות כלליות:

קרא עוד

שאלהIgal : מערכים דו מימדיים רקורסיה:

שאלהIgal : מערכים דו מימדיים רקורסיה: אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג מנ' אב תשע"ז 15.08.17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' ב' שנה תשע"ז 3 שעות

קרא עוד

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

פתרון מוצע לבחינת מהט ב_שפת c מועד ב אביב תשעט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9. פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9. הדפסה ראשונה: מתבצעת לולאה שרצה מאפס עד אורך המחרוזת.

קרא עוד

Slide 1

Slide 1 בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1- תרגול הורשה מחלקות אבסטרקטיות חריגים 2 ירושה ממחלקות קיימות ראינו בהרצאה שתי דרכים לשימוש חוזר בקוד של מחלקה קיימת: הכלה + האצלה הכלה )aggregation( במחלקה

קרא עוד

עבודת בית מספר 5: מבני נתונים מבוא למדעי המחשב, סמסטר א' תשע"ט מבוא למדעי המחשב סמסטר א' תשע"ט צוות העבודה: מרצה אחראי: יוחאי טוויטו מתרגלים אחראים: א

עבודת בית מספר 5: מבני נתונים מבוא למדעי המחשב, סמסטר א' תשעט מבוא למדעי המחשב סמסטר א' תשעט צוות העבודה: מרצה אחראי: יוחאי טוויטו מתרגלים אחראים: א מבוא למדעי המחשב סמסטר א' תשע"ט צוות העבודה: מרצה אחראי: יוחאי טוויטו מתרגלים אחראים: אופיר גגולשוילי, ירין קופר תאריך פרסום: 20.12.18 תאריך הגשה: 12:00 3.1.18, בצהריים. הוראות מקדימות הגשת עבודות בית

קרא עוד

הגשה תוך שבוע בשעת התרגול

הגשה תוך שבוע בשעת התרגול מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב את

קרא עוד

Slide 1

Slide 1 מבוא לתכנות ב- JAVA תרגול 5 מה בתרגול מחרוזות מערכים דו ממדיים מחרוזות (Strings) מחרוזת היא רצף של תווים. immutable על מנת ליצור ולטפל במחרוזות נשתמש במחלקה String למחלקה String מתודות שונות שמאפשרות פעולות

קרא עוד

תוכנה 1 תרגול מספר 12: GUI כתיבת מחלקות גנריות בית הספר למדעי המחשב אוניברסיטת תל אביב 1

תוכנה 1 תרגול מספר 12: GUI כתיבת מחלקות גנריות בית הספר למדעי המחשב אוניברסיטת תל אביב 1 תוכנה 1 תרגול מספר 12: GUI כתיבת מחלקות גנריות בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 SWT בנויה על העיקרון של publish/subscribe אלמנטים בסיסיים )Widgets( מייצרים מאזינים )Listener( אירועים )Events(

קרא עוד

PowerPoint Presentation

PowerPoint Presentation מבוא למדעי המחשב תירגול 6: כתובות ומצביעים 1 תוכנייה מצביעים מצביעים ומערכים, אריתמטיקה של מצביעים 2 3 מצביעים תזכורת- כתובות זיכרון הזיכרון כתובת התא #1000 #1004 #1008 ערך השמור בתא תא 10-4 לא מאותחל

קרא עוד

Slide 1

Slide 1 מבוא למדעי המחשב תירגול 4: משתנים בוליאניים ופונקציות מבוא למדעי המחשב מ' - תירגול 4 1 משתנים בוליאניים מבוא למדעי המחשב מ' - תירגול 4 2 ערכי אמת מבחינים בין שני ערכי אמת: true ו- false לכל מספר שלם ניתן

קרא עוד

PowerPoint Presentation

PowerPoint Presentation == vs equals תוכנה תרגול 7 :מנשקים, פולימורפיזם ועוד Point p = new Point(,) Point p = new Point(,) p == p p.equals(p) מתי נכון להשתמש בכל אחד מהם? שימו לב, במחלקה שכתבתם בעצמכם יש לכתוב מתודת equals על

קרא עוד

תכנות מונחה עצמים א' – תש"ע

תכנות מונחה עצמים א' –  תשע 1 תכנות מונחה עצמים והנדסת תוכנה תשע"ו 2 בנאי העתקה בניית העתק של אובייקט קיים. בניית העתק בעת העברת אובייקט לפונקציה. בניית העתק בעת החזרת אובייקט מפונקציה. ניתן להגדיר בנאי העתקה. אם לא מגדירים, אז הקומפיילר

קרא עוד

PowerPoint Presentation

PowerPoint Presentation 1 תוכנה 1 תרגול 1: מנהלות, סביבת העבודה ומבוא ל- Java 1 2 מנהלות I מתרגלים: יעל אמסטרדמר )שעת קבלה: חמישי ב- 12, בתיאום מראש( דביר נתנאלי )שעת קבלה: רביעי ב- 17, בתיאום מראש( http://courses.cs.tau.ac.il/software1/1415a

קרא עוד

עוצמת ההורשה מה הופך את ההורשה לכלי כל כך עוצמתי? מעבר לכך שהוא מקל בהגדרת מחלקות חדשות על סמך מחלקות קיימות, יש לנו אפשרות להתייחס לאובייקט מסויים בכ

עוצמת ההורשה מה הופך את ההורשה לכלי כל כך עוצמתי? מעבר לכך שהוא מקל בהגדרת מחלקות חדשות על סמך מחלקות קיימות, יש לנו אפשרות להתייחס לאובייקט מסויים בכ עוצמת ההורשה מה הופך את ההורשה לכלי כל כך עוצמתי? מעבר לכך שהוא מקל בהגדרת מחלקות חדשות על סמך מחלקות קיימות, יש לנו אפשרות להתייחס לאובייקט מסויים בכמה אופנים. בואו ניקח מחלקת צעצוע. אנחנו מעונינים להגדיר

קרא עוד

Microsoft Word - דוגמאות ב

Microsoft Word - דוגמאות ב הפקולטה למדעי המחשב פרופ' חיים גוטסמן, מר רן רובינשטיין עומר סטרולוביץ, כרמי גרושקו, אלכסנדר ליבוב, מיכאל בלטקסה, ראידה נעאמנה, שי מרקנטי, גיא שקד הטכניון - מכון טכנולוגי לישראל 3.10.2011 מבוא לתכנות מערכות

קרא עוד

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש המתרגם משימה: תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם 2 שאלות האם כבר יש

קרא עוד

Microsoft Word B

Microsoft Word B מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: 1. ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב

קרא עוד

מבוא למדעי המחשב

מבוא למדעי המחשב מבוא למדעי המחשב 202-1-1011 תאריך הבחינה: שמות המרצים: 16.3.2011 מר שי זקוב ד"ר פז כרמי פרופ' מייק קודיש ד"ר חן קיסר ד"ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס: שנה: 202-1-1011 2011 משך הבחינה:

קרא עוד

מס' סידורי: ת.ז.: עמוד 1 מתוך 20 בחינה בתוכנה 1 סמסטר ב', מועד א',תשס"ט 5/7/2009 וולף, ליאור ליאור שפירא, נעמה מאיר, מתי שמרת הוראות )נא לקרוא!( משך ה

מס' סידורי: ת.ז.: עמוד 1 מתוך 20 בחינה בתוכנה 1 סמסטר ב', מועד א',תשסט 5/7/2009 וולף, ליאור ליאור שפירא, נעמה מאיר, מתי שמרת הוראות )נא לקרוא!( משך ה מס' סידורי: עמוד 1 מתוך 20 בחינה בתוכנה 1 סמסטר ב', מועד א',תשס"ט 5/7/2009 וולף, ליאור ליאור שפירא, נעמה מאיר, מתי שמרת הוראות )נא לקרוא!( משך הבחינה שלוש שעות - חלקו את זמנכם ביעילות. יש לענות על כל השאלות.

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תוכנה תרגול 7 :מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה == vs equals Point p = new Point(,2) Point p2 = new Point(,2) p == p2 p.equals(p2) מתי נכון להשתמש בכל אחד מהם? שימו לב, במחלקה שכתבתם בעצמכם

קרא עוד

Microsoft Word - pitaron222Java_2007.doc

Microsoft Word - pitaron222Java_2007.doc 1 מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א a mul k k a פלט b זוגי? b :1 Ï 3 1 5 1 5 F קלט: 3, 5, 8, 4 20 2 8 40 40 3 4 4 F :2 Ï m x x 0 פלט 70 x 50 0 א. 10 F 1 64 2 2 51 30 F -4 F ב. ג. 1- (כל

קרא עוד

Microsoft PowerPoint - 10_threads.ppt

Microsoft PowerPoint - 10_threads.ppt נוש אים מתקדמים ב Java תכ נות מ ר ובה חו ט י ם אוהד ברזילי אוניברסיטת תל אביב מק בי ל יות ריבוי מעבדים processors) (multi זמן עיבוד slicing) (time ל עו מת חלוק ת רמת התהליך (multithreading) ההפעלה processes)

קרא עוד

שאלהIgal : מערכים דו מימדיים רקורסיה:

שאלהIgal : מערכים דו מימדיים רקורסיה: אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג חשון תשע"ח 12/11/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד קיץ סמ' שנה תשע"ז 3 שעות משך

קרא עוד

מבוא למדעי המחשב - חובלים

מבוא למדעי המחשב - חובלים החוג למדעי המחשב אוניברסיטת חיפה מבוא למדעי המחשב סמסטר א' תשע"ג בחינת סיום, מועד ב', 20.02.2013 מרצה: ריטה אוסדצ'י מתרגלת: נעמה טוויטו מדריך מעבדה: מחמוד שריף משך המבחן: שעתיים חומר עזר: ספר של Kernighan

קרא עוד

Microsoft PowerPoint - rec3.ppt

Microsoft PowerPoint - rec3.ppt תכנו ת מונח ה עצ מים משתני מחלקה, עצמים מוכלים ועצמים מוצבעים א וה ד ברז יל י א ונ יברס י ט ת תל אביב משתנ י מח ל קה Static Members משתני מחלקה members) (static משתנים סטטיים מוגדרי ם בתוך מח לקה ואולם

קרא עוד

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

מספר מחברת: עמוד 1 מתוך 11 תז: תשעא מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה עמוד 1 מתוך 11 תשע"א מועד ב סמסטר א' 14.2.2011 תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי המחשב יש לענות על כל 5 השאלות. בכל השאלות במבחן יש לכתוב פונקציות יעילות

קרא עוד

יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן

יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל דר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן מתרגלים: הנחיות: השאלות. כל על לענות עליכם משקל. שוות

קרא עוד

שאלהIgal : מערכים דו מימדיים רקורסיה:

שאלהIgal : מערכים דו מימדיים רקורסיה: אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ח תשרי תשע"ז 30.10.16 שמות המורים: ציון סיקסיק א' תכנות ב- C מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' קיץ שנה תשע"ו 3 שעות משך

קרא עוד

מצגת של PowerPoint

מצגת של PowerPoint מבוא כללי לתכנות ולמדעי המחשב תרגול מס' 1 דין שמואל dshmuel110@gmail.com 1 1. מנהלות מרצה: אמיר רובינשטיין, amirr@tau.ac.il שעות קבלה: לשאלות קצרות - מייד לאחר השיעור. ניתן לתאם במייל שעות אחרות. מתרגל:

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש המתרגם משימה: תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם 2 שאלות האם כבר יש

קרא עוד

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשעג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג,.6.013 משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם 8 עמודי שאלון )כולל עמוד זה(. עליכם לכתוב את התשובות על

קרא עוד

איטרטורים: 1 תוכנה 1 סתיו תשע"ג תרגיל מספר 9 הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה moodl

איטרטורים: 1 תוכנה 1 סתיו תשעג תרגיל מספר 9 הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה moodl איטרטורים: 1 תוכנה 1 סתיו תשע"ג תרגיל מספר 9 הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה moodle בלבד.(http://moodle.tau.ac.il/) יש להגיש קובץ zip

קרא עוד

Microsoft Word - c_SimA_MoedB2005.doc

Microsoft Word - c_SimA_MoedB2005.doc מרצה: שולי וינטנר. מתרגל: עזרא דאיה. מבוא למדעי המחשב בחינת מועד ב', סמסטר א' תשס"ה,.2.2005 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות:. ודאו כי בטופס שבידיכם עמודים. יש לכתוב

קרא עוד

פייתון

פייתון שיעור 12: מילונים ברק גונן 1 או מילון, :hash table או,dictionary זוגות של מפתחות keys וערכים values מילון מוגדר על ידי סוגריים מסולסלים { } לדוגמה: מילון שמכיל ציונים, המפתח הוא מספר ת.ז ערך מפתח הגדרה

קרא עוד

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן שלוש שעות (180

קרא עוד

משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק

משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות 2 הפשטה שאלות כצעד ראשון נפתור בעיה הרבה יותר פשוטה האם כבר

קרא עוד

שאלה אחת

שאלה אחת עמוד 1 מתוך 19 פתרון הבחינה בתוכנה 1 ובתוכנה 1 א פרו"פ דני הלפרין, פרו"פ עמירם יהודאי, ד"ר ליאור וולף אוהד ברזילי, אורנית דרור, ליאור שפירא 24 בספטמבר 2008 מועד ב' משותף לסמסטר א' ו-ב' תשס"ח, משך הבחינה

קרא עוד

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשעב בחינת סיום, מועד א', הנחי אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', 6.2.2012 הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה מהכיתה במהלך

קרא עוד

לנץ קרן מרצה: תכנותמונחהעצמים) ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחי

לנץ קרן מרצה: תכנותמונחהעצמים) ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחי לנץ קרן מרצה: תכנותמונחהעצמים) 027622 ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחיות:.1.2.3.4.5.6.7 השאלות. כל על לענות עליכם משקל. שוות

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תרגול מס' 3: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש שלבי הפיתוח - חזרה קצרה ישנם שני שלבים נפרדים: שלב פיתוח התוכנית בשלב זה אנו משתמשים במהדר )קומפיילר( כדי להמיר קבצי.java )קבצי

קרא עוד

מבוא למדעי המחשב, סמסטר א', תשס"ח תרגול מס' 2

מבוא למדעי המחשב, סמסטר א', תשסח תרגול מס' 2 מבוא למדעי המחשב תרגול מס' 2 נושאים משתנים טיפוסים אופרטורים פונקציות מתמטיות מהמחלקה Math המרת טיפוסים תנאים ולולאות 1 2 תזכורת משיעור קודם תזכורת... תכנית מחשב נכתבת כטקסט בקובץ. הטקסט כתוב בשפת תכנות

קרא עוד

Slide 1

Slide 1 בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1 תרגול מספר 9: הורשה מחלקות אבסטרקטיות ואתחול עצמים 2 ירושה ממחלקות קיימות ראינו בהרצאה שתי דרכים לשימוש חוזר בקוד של מחלקה קיימת: הכלה + האצלה הכלה כאשר

קרא עוד

Microsoft PowerPoint - lec10.ppt

Microsoft PowerPoint - lec10.ppt תכנו ת מ ונחה ע צמ י ם בשפת ++C אוהד ברזילי אוניברסיטת תל אביב ירו ש ה מרו בה המצגת מכילה קטעים מתוך מצגת של פרופ' עמירם יהודאי ע"פ הספר: Object-Oriented Software Construction, 2nd edition, by Bertrand

קרא עוד

מקביליות

מקביליות PROMELA גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון עדכון אחרון: 21:40 15/06/2013 2 שפת מ פ ר ט עם ס מ נ ט יק ה מוגדרת באופן מתמטי "שפת תכנות" למודלים המטרה: לאפשר גם לכאלה שאינם חוקרים בתחום לבנות

קרא עוד

מבוא למדעי המחשב - חובלים

מבוא למדעי המחשב - חובלים אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב סמסטר ב' תשע"ב בחינת סיום, מועד ב',.02..9.7 מרצה: אורן וימן מתרגלים: נעמה טוויטו ועדו ניסנבוים מדריכי מעבדה: מחמוד שריף ומיקה עמית משך המבחן: שעתיים חומר

קרא עוד

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בינסקי הנחיות: יש לענות על כל השאלות. יש לענות על כל

קרא עוד

תרגול 3 - מערכים

תרגול 3 - מערכים Introduction to Programming in Java תרגול 5 1 היום בתרגול void מה הן פונקציות הגדרת פונקציה, קריאה לפונקציה העברת ארגומנטים, החזרת ערך או דוגמאות 2 מוטיבציה לעיתים,אנו נזקקים לבצע פעולה מסוימת או לעשות

קרא עוד

Microsoft PowerPoint - 07_tdd.ppt

Microsoft PowerPoint - 07_tdd.ppt המצגת מבו ס סת על הספר: Test-Driven Development By Example By Kent Beck Publisher: Addison Wesley Date: November 08, 2002 ISBN: 0-321-14653-0 Pages: 240 תכנות מונחה בדיקות (Test Driven Development) אוהד

קרא עוד

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים עליו כרגע )A מצביע עליו(. יש שני סוגי פקודות, פקודת

קרא עוד

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשעז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', 31.1.2017 מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבוני, דולב שרון הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה

קרא עוד

מתכונת עיצוב 3013

מתכונת עיצוב 3013 מדעי המחשב פרק ראשון Java שאלה 1 שאלה 1 נכתב ע"י ראמי ג'באלי C# Java 2 א. שאלה ב. הערה: במבחן כתוב שיש שלשה אחת בלבד של פנסים כאלו. ולמרות זאת נשאיר את המשתנה הבוליאני כך שאם נמצאו הפנסים בתחילת המערך

קרא עוד

תורת הקומפילציה

תורת הקומפילציה תורת הקומפילציה תרגיל בית 2 הוראות לתרגיל 2 בשפת MINI-PASCAL הפרוייקט המצורף הינו קוד שלד של מהדר לשפת mini-pascal עליכם לממש בסביבת (Eclipse (Java את הפונקציות המתאימות לפי החומר שנלמד בהרצאה ע"מ שהמהדר

קרא עוד

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תוכנה 1 אוניברסיטת תל אביב INTERFACES תרגול מס' 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה מנשקים )Interfaces( 2 מנשקים מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות

קרא עוד

Microsoft PowerPoint - rec1.ppt

Microsoft PowerPoint - rec1.ppt תכנות מונחה עצמים בשפת ++C תר גול מ ספר 1 אוהד ב ר זילי אוניברסיטת תל א ביב חדש חדיש ומחודש תוספות של + +C לשפ ת C 1 #include Hello World using namespace std; int main() cout

קרא עוד

Slide 1

Slide 1 בעיית התוכנית הגדולה C תוכנית גדולה המבצעת פעולות רבות, יכולה להפוך לקשה מאוד לניהול אם נשתמש רק בכלים שלמדנו עד כה: 1. קשה לכתוב ולנפות את התוכנית,. קשה להבין אותה, 3. קשה לתחזק ולתקן אותה, 4. קשה להוסיף

קרא עוד

Microsoft PowerPoint - 07_tdd.ppt

Microsoft PowerPoint - 07_tdd.ppt תכנו ת מונחה בדיק ו ת (Test Driven Development) תכנות מת קדם בש פ ת Java אוהד בר זיל י אוניברסיטת ת ל אביב המצגת מבוססת על הספר: Test-Driven Development By Example By Kent Beck Publisher: Addison Wesley

קרא עוד

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) ( פתרון 000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : num = 3, sif = r האם ספרת האחדות של sif שווה ל- num num 3 sif (1)-() (3) () אמת ) = ( 3 3 יודפס: 3. ב. פתרון שאלה 11 עבור הערכים: עבור סעיף

קרא עוד

Microsoft Word - c_SimA_MoedA2006.doc

Microsoft Word - c_SimA_MoedA2006.doc מבוא למדעי המחשב בחינת מועד א', סמסטר א' תשס"ו,..006 מרצה: מתרגלת: גב' יעל כהן-סיגל. גב' ליאת לוונטל. משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות:. יש לענות על כל השאלות.. קראו

קרא עוד

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מספיק עמדות לכולם ולכן מומלץ לעבוד ביחידים). במהלך המעבדה יהיה עליכם לבצע משימות. אם תצטרכו עזרה בשלב

קרא עוד

תרגול מס' 7: תרגילים מתקדמים ברקורסיה

תרגול מס' 7: תרגילים מתקדמים ברקורסיה תרגול מס' :7,Memoization Quicksort ותרגילים מתקדמים ברקורסיה תרגול זה הוא התרגול האחרון שיהיה לכם בנושא רקורסיה והוא מכיל מגוון שאלות מתקדמות בנשוא זה. השאלות שיכלול תרגול זה: Memoization פיבונאצ'י Quicksort

קרא עוד

תוכן העניינים

תוכן העניינים הוצאת חושבים קדימה הילה קדמן חלק ב יעוץ מקצועי: חיים אברבוך מותאם לתכנית הלימודים החדשה בבתי הספר התיכוניים מהדורה חמישית הוצאת חושבים קדימה ת.ד. 1293 רעות 71908 www.kadman.net הילה קדמן 0522 525527 kadman11@gmail.com

קרא עוד

מקביליות

מקביליות תכונות בטיחות Safety Properties גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 תזכורת: תכונות זמן ליניארי Linear Time Properties תכונות זמן-ליניארי מתארות קבוצת עקבות שהמערכת צריכה לייצר מכוונים ללוגיקה

קרא עוד

BIG DATA תיאור הקורס המונח Big Data הולך וצובר תאוצה בשנים האחרונות, הוא הופך למגמה רווחת בתעשייה. המשמעות הפרקטית של המונח Big Data הינה טכנולוגיות נ

BIG DATA תיאור הקורס המונח Big Data הולך וצובר תאוצה בשנים האחרונות, הוא הופך למגמה רווחת בתעשייה. המשמעות הפרקטית של המונח Big Data הינה טכנולוגיות נ BIG DATA תיאור הקורס המונח Big Data הולך וצובר תאוצה בשנים האחרונות, הוא הופך למגמה רווחת בתעשייה. המשמעות הפרקטית של המונח Big Data הינה טכנולוגיות ניתוח וניהול מאגרי מידע בעלי נתונים שאינם מאורגנים,

קרא עוד

תכנות דינמי פרק 6, סעיפים 1-6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח

תכנות דינמי פרק 6, סעיפים 1-6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח תכנות דינמי פרק 6, סעיפים -6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח בסוף את הטוב ביותר. סכום חלקי sum) (subset הקלט: סדרה

קרא עוד

שקופית 1

שקופית 1 Computer Programming Summer 2017 תרגול 5 מערכים חד-מימדיים )תזכורת( לדוגמא: מערך בשם Arr בגודל 8 שאיבריו מטיפוס int 3 7 5 6 8 1 23 16 0 1 2 3 4 5 6 7 ב - arr[0] ב יושב ערך שהוא המספר השלם 3 arr[1] - יושב

קרא עוד

1

1 תאריך הבחינה: 24.7.2016. שמות המרצים: ד"ר עזאם מרעי שם הקורס: עקרונות תכנות מונחה עצמים מספר הקורס: 202-15181 שנה: 2016 סמסטר: ב' מועד: א' משך הבחינה: שלוש שעות חומר עזר: אסור מבחן סיכום לקורס " עקרונות

קרא עוד

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - lec2.ppt מרחב הש מות (namespace) אוהד ברזילי אוניברסיטת תל אביב מה בתו כנית? לקוח וס פק במערכת תוכנה ממשקים הכרת מרחב השמות מניעת תלות פוטנציאלית בין רכיבים במערכת ע"י עיצוב חלופי של מבנה הממשקים 2 א ונ י ב רס

קרא עוד

מקביליות

מקביליות תכונות שמורה Invariant Properties גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 בדיקות מודל Checking( )Model מערכת דרישות מידול פירמול בדיקות מודל )Model Checking( מודל של המערכת תכונות פורמליות סימולציה

קרא עוד

Tutorial 11

Tutorial 11 מבוא לשפת C תרגול 8: מערכים רב-ממדיים תרגילים בנושא מערכים ורקורסיה מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקנשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב" נכתב ע"י טל כהן, עודכן ע"י

קרא עוד