נושאים: רשימות. 1..Scheme LP interpreter.2 עקרונות שפות תכנות אביב תרגול 12. תכנות לוגי חלק ב' 1. רשימות. רשימות בפרולוג: מיוצגות באמצעות,functo

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

Download "נושאים: רשימות. 1..Scheme LP interpreter.2 עקרונות שפות תכנות אביב תרגול 12. תכנות לוגי חלק ב' 1. רשימות. רשימות בפרולוג: מיוצגות באמצעות,functo"

תמליל

1 נושאים: רשימות. 1..Scheme LP interpreter.2 עקרונות שפות תכנות אביב תרגול 12. תכנות לוגי חלק ב' 1. רשימות. רשימות בפרולוג: מיוצגות באמצעות,functor השקול לבנאי cons של.Scheme 1. ][ הוא קבוע המייצג את הרשימה ריקה. 2. [X Xs] - הוא ביטוי (term) המייצג רשימה ש- X הוא האיבר הראשון שלה, ו- Xs מייצג רשימה הכוללת את שאר האיברים. 3. רשימות באורך ידוע אפשר לייצג על ידי פירוט הביטויים המייצגים את אבריהן. למשל,.f(Y) קבוע 2, וביטוי X, מייצג רשימה בת שלושה איברים: משתנה ]X,2,f(Y)[ 4. הסימנים ) pipe ), פסיק וסוגריים מרובעים מהווים חלק מ" tostring " של הרשימות. למשל, [a A] הוא "tostring" של רשימה שהאיבר הראשון שלה הוא a והזנב הוא רשימת A. את הרשימה 5[ ]3, ניתן להציג בצורת ] []] [5.[3 דוגמה 1: מימוש דקדוק חסר הקשר בפרולוג. נתבונן בדקדוק הבא: S --> NP VP NP --> Det N VP --> V NP V Det --> a the N --> woman man V --> saw שאלה: מהי השפה המוגדרת על ידי דקדוק זה? לדוגמה, נוכל לגזור את המשפט man" a": woman saw the S --> NP VP --> Det N VP --> a N VP --> a woman VP --> a woman V NP --> --> a woman saw NP --> a woman saw Det N --> a woman saw the N --> --> a woman saw the man נמדל את הדקדוק באופן הבא: כל טרמינל יהפוך לקבוע, כל נון טרמינל למשתנה. רצף קטגוריות ייוצג כרשימה. כל קטגוריה הופכת לפרדיקט בן פרמטר אחד הטקסט שניתן לגזור בקטגוריה. את הטקסט עצמו נממש באמצעות רשימה של מילים.(terminals) s(z) :- np(x), vp(y), append(x,y,z). np(z) :- det(x), n(y), append(x,y,z). vp(z) :- v(x), np(y), append(x,y,z). vp(z) :- v(z). -1-

2 det([the]). det([a]). n([woman]). n([man]). v([saw]). אנו משתמשים בפרדיקט append/3 של פרולוג, המתאר את יחס השרשור בין שלוש רשימות האחרונה היא השרשור של שתי הראשונות. כדי להשתמש בתוכנית לגזירה, ניצור שאילתה מתאימה. למשל,?- s([a,woman,saw,a,man]). true?- s(x). X = [the, woman, saw, the, woman] ; X = [the, woman, saw, the, man] ; X = [the, woman, saw, a, woman] ; X = [the, woman, saw, a, man] ; X = [the, woman, saw]; "האם קיים משפט השייך לשפה של הדקדוק?": כלומר, אם השאילתה כוללת רק משתנים, החישוב מתפקד כ- generator עבור שאילתה זו יש 20 משפטים, מהם ראינו את חמשת הראשונים. של כל התשובות האפשריות.?- s([the,man X]). X = [saw, the, woman] ; X = [saw, the, man] ; X = [saw, a, woman] ; S --> NP VP NP --> Det N Det Adj N Adj --> vicious marvelous VP --> V NP V Det --> a the N --> woman man V --> saw נניח שהדקדוק כולל מספר כללים נוספים )השינויים מודגשים בקו תחתון(: np(z) :- det(x), adj(w), n(y), append([x,w,y],z). adj([vicious]). adj([marvelous]). נוסיף את הכלל והעובדות הבאים: -2-

3 של פרולוג, המתאר את יחס השרשור בין רשימות. הפרמטר הראשון השתמשנו בפרדיקט append/2 לפי הסדר. רשימה שמחברת את כל הרשימות הללו, והשני הוא רשימה של רשימות, למשל: alist([1, 2, 3, 4, 5]).?- alist(l), append([[1, 2], X, Y, [5]], L). L = [1, 2, 3, 4, 5], X = [], Y = [3, 4] ; L = [1, 2, 3, 4, 5], X = [3], Y = [4] ; L = [1, 2, 3, 4, 5], X = [3, 4], Y = [] ; false. לסיום: בחזרה לדיבוג. יש להיות זהירים מאוד בכתיבת הקוד, כי המשתנים בתכנות לוגי לא מוגדרים בשום מקום, ושימוש במשתנה לא מוגדר לא יגרור אזהרה. למשל, כתיבת תוכנית פשוטה find([elem Rest], Elem). find([something My_List], Elem) :- find (My_list, Elem) יכולה לגרום לבעיות, אם לא נזהר ונפספס כי My_list,My_List הם שני משתנים שונים לגמרי. כדאי להשתמש בדיבוג )הדפסות ו- trace (. במקרים שאינכם מבינים למה התוכנית לא עובדת. דוגמה 2: השוואת שעות בשבוע. דוגמה זו עוסקת בהשוואת זמנים המצוינים על ידי שעה ביממה ויום בשבוע. נציג ADT Type(,Abstract Data כלומר טיפוס חדש( המייצג זמן. נבנה שלושה ערכים: שעה, יום וזמן. נשתמש בפנקטורים בתור בנאי ערך:,h(Hour) time(hour, Weekday),d(Weekday) בהתאם. לצורך ההשוואה נספק רשימות סדורות של שעות ושל ימים. יחס הקדימות בין זמנים יקבע על פי מקומם ברשימות המסודרות של הזמנים. הפרדיקטים hour_list,weekday_list יתארו את הסדרים של ימי השבוע ושעות ביממה, בהתאמה. בתכנות הלוגי, בשונה משפות תכנות אחרות, לסמלים הדקדוקיים אין ערך. כלומר, הסמלים 2 ו- 9 נקראים כשמות, ואינם קשורים למספרים 2 ו- 9. מסיבה זו, אי אפשר להסתמך על יחס > בין מספרים. אילו היה מדובר ביחס סופי, אפשר היה לספק את כל העובדות עבורו )למשל, )0,3(<, )0,2(<, )0,1(<, אבל אנו נצטרך אינסוף עובדות בשביל כל המספרים האפשריים. לכן סדר השעות נקבע על ידי מיקומן ברשימת השעות. הערה: שפת פרולוג, בשונה מתכנות הלוגי, כוללת מרכיב א-לוגי של אריתמטיקה, המאפשר הכרה בסמלי מספרים כמספרים, ומאפשר חישובים אריתמטיים. % Type: Hour. % Constructor: functor h/1. % Signature: h(hour)/1. % Example: h(18). % Identifier: is_hour/1 % Set of elements: hour_list/1 % Order: hour_order/2-3-

4 % Signature: is_hour(hour)/1 % Purpose: Succeeds iff Hour is an hour of weekday. is_hour(h(h)) :- hour_list(hour_list), member(h(h),hour_list). % Signature: hour_list(list)/1 % Purpose: Holds the ordered list of weekday hours. hour_list([h(0),h(1),h(2),h(3),h(4),h(5),h(6),h(7),h(8), h(9),h(10),h(11),h(12),h(13),h(14),h(15),h(16),h(17), h(18),h(19),h(20),h(21),h(22),h(23)]). % Signature: hour_order(h1,h2)/2 % Purpose: hour H1 precedes the hour H2 in some weekday. hour_order(h(h1),h(h2)) :- is_hour(h(h1)), is_hour(h(h2)), hour_list(hour_list), precedes(h(h1),h(h2),hour_list). הפרדיקט precedes מוגדר על ידי שימוש ביחס השרשור הרב מקומי הבנוי בפרולוג: % Signature: precedes(a,b,list)/3 % Purpose: The element A precedes the element B in the List. precedes(a,b,list) :- append([_,[a],_,[b],_],list). הפרדיקט מזהה את כל האפשרויות על ידי,unification גם כש- A, B לא נתונים. אנו יכולים להוסיף גם :equals? equals(x, X). % Type: Weekday. % Constructor: functor d/1. % Signature: d(weekday)/1. % Example: d(tue). % Identifier: is_weekday/1 % Set of elements: weekday_list/1 % Order: weekday_order/2 % Signature: is_weekday(weekday)/1 % Purpose: Succeeds iff Weekday is a day of the week. is_weekday(d(d)) :- weekday_list(weekday_list), member(d(d),weekday_list). % Signature: weekday_list(list)/1 % Purpose: Holds the ordered list of week days. weekday_list([d(sun),d(mon),d(tue),d(wed),d(thu), d(fri),d(sat)]). % Signature: weekday_order(weekday1,weekday2)/2 % Purpose: Weekday1 precedes Weekday2 in some week. weekday_order(d(d1),d(d2)) :- is_weekday(d(d1)), is_weekday(d(d2)), weekday_list(weekday_list), precedes(d(d1),d(d2),weekday_list). -4-

5 % Type: Time. % Constructor: functor time/2. % Signature: time(hour,weekday)/2. % Example: time(h(18),d(tue)). % Identifier: is_time/1 % Order: time_order/2 % Signature: is_time(time)/1 % Purpose: Succeeds iff Time is an hour of some weekday. % Example:?- is_time(time(h(1),d(sun))). % true is_time(time(h(h),d(d))) :- is_hour(h(h)), is_weekday(d(d)). % Signature: time_order(t1,t2)/2 % Purpose: The time T1 precedes the time T2 in the week. % Example:?- time_order(time(h(5),d(mon)), % time(h(1),d(tue))). % true time_order(time(h(h1),d(d1)),time(h(h2),d(d2))) :- %1 is_time(time(h(h1),d(d1))), is_time(time(h(h2),d(d2))), weekday_order(d(d1),d(d2)). time_order(time(h(h1),d(d)),time(h(h2),d(d))) :- %2 is_time(time(h(h1),d(d))), is_time(time(h(h2),d(d))), hour_order(h(h1),h(h2)). מימשנו שלושה טיפוסים סופיים )24, 168 7, ערכים בהתאמה(. נשתמש בממשק הזה בהמשך. =\ הוא פרדיקט דוגמה 3 )חומר העשרה(: מחיקת איבר מרשימה. נממש פרוצדורה המגדירה את הקשר של מחיקת כל ההופעות של ביטוי מרשימה. הבנוי בפרולוג ופירושו שלילת = )המסמן.)unification כלומר ערכו true אם יוניפיקציה נכשלת. % Signature: delete(list,x,hasnoxs)/3 % Purpose: The list HasNoXs is the result of removing all % occurrences of X from the List. % Precondition: List should be bound. % Example:?- delete([2,3,2,4,5,2,4],2,x). % X = [3, 4, 5, 4] delete([],_,[]). delete([x Xs],Z,[X Ys]) :- X \= Z, delete(xs,z,ys). delete([x Xs],X,Ys) :- delete(xs,x,ys). דוגמה 4. מיזוג רשימות. נגדיר ממשק סדר של טיפוס מסוים, :less than % Signature: lt(obj1,obj2)/2 % Purpose: The object Obj1 precedes the object Obj2 % by some comparison criteria. -5-

6 lt(time1,time2) :- time_order(time1,time2). %1 למשל, נוכל לממש, נשתמש בממשק לבניית פרוצדורת לקוח למיזוג רשימות )למשל, כאחת מפעולת ה- mergesort (: ממוינות של ביטויים שקיים ביניהם יחס סדר % Signature: merge(xs,ys,zs)/3 % Purpose: Zs is the sorted merge of the sorted lists Xs and % Ys. The assumption is that there is a predicate % "lt" of order between the elements of Xs and Ys. merge([x Xs],[Y Ys],[X Zs]) :- lt(x,y), merge(xs,[y Ys],Zs). %1 merge([x Xs],[X Ys],[X,X Zs]) :- merge(xs,ys,zs). %2 merge([x Xs],[Y Ys],[Y Zs]) :- lt(y,x), merge([x Xs],Ys,Zs). %3 merge(xs,[ ],Xs). %4 merge([ ],Ys,Ys). %5?- merge([time(h(1),d(sun)),time(h(3),d(wed)), time(h(5),d(sat))], [time(h(2),d(sun)),time(h(3),d(wed))], Xs). Xs = [time(h(1), d(sun)), time(h(2), d(sun)), time(h(3), d(wed)), time(h(3), d(wed)), time(h(5), d(sat))]; false?- merge([time(h(5),d(sun)),time(h(5),d(mon))], X, [time(h(2),d(sun)),time(h(5),d(sun)), time(h(5),d(mon))]). X = [time(h(2),d(sun))] t1 = time(h(1), d(sun)) t2 = time(h(2), d(sun)) t3 = time(h(3), d(wed)) t5 = time(h(5), d(sat)) נסמן: -6-

7 merge([t1,t3,t5],[t2,t3],xs) {X_1=t1,Xs_1=[t3,t5], Y_1=t2,Ys_1=[t3], Xs=[t1 Zs_1]} 1 lt(t1,t2), merge([t3,t5],[t2,t3],zs_1) * merge([t3,t5],[t2,t3],zs_1) 3 failure branch 1 failure branch {X_2=t3,Xs_2=[t5], Y_2=t2,Ys_2=[t3], Zs_1=[t2 Zs_2]} 3 lt(t2,t3), merge([t3,t5],[t3],zs_2) * merge([t3,t5],[t3],zs_2) 1 failure branch {X_3=t3,Xs_3=[t5],Ys_3=[], Zs_2=[t3,t3 Zs_3]} 2 merge([t5],[],zs_3) 3 failure branch {Xs_4=[t5],Zs_3=[t5]} 4 true נבנה את התשובה מענף ההצלחה: {X_1=t1, Xs_1=[t3, t5], Y_1=t2, Ys_1=[t3], Xs=[t1 Zs_1]} º {X_2=t3, Xs_2=[t5], Y_2=t2, Ys_2=[t3], Zs_1=[t2 Zs_2]} º {X_3=t3, Xs_3=[t5], Ys_3=[], Zs_2=[t3, t3 Zs_3]} º {Xs_4=[t5], Zs_3=[t5]} /Xs = = {X_1=t1, Xs_1=[t3, t5], Y_1=t2, Ys_1=[t3], Xs=[t1 [t2 Zs_2]], X_2=t3, Xs_2=[t5], Y_2=t2, Ys_2=[t3], Zs_1=[t2 Zs_2]} º {X_3=t3, Xs_3=[t5], Ys_3=[], Zs_2=[t3, t3 Zs_3]} º {Xs_4=[t5], Zs_3=[t5]} /Xs = = {X_1=t1, Xs_1=[t3, t5], Y_1=t2, Ys_1=[t3], Xs=[t1 [t2 [t3, t3 Zs_3]]], X_2=t3, Xs_2=[t5], Y_2=t2, Ys_2=[t3], Zs_1=[t2 [t3, t3 Zs_3]], X_3=t3, Xs_3=[t5], Ys_3=[], Zs_2=[t3, t3 Zs_3]} º {Xs_4=[t5], Zs_3=[t5]} /Xs = -7-

8 = {X_1=t1, Xs_1=[t3, t5], Y_1=t2, Ys_1=[t3], Xs=[t1 [t2 [t3, t3 [t5]]]], X_2=t3, Xs_2=[t5], Y_2=t2, Ys_2=[t3], Zs_1=[t2 [t3, t3 [t5]]], X_3=t3, Xs_3=[t5], Ys_3=[], Zs_2=[t3, t3 [t5]], Xs_4=[t5], Zs_3=[t5]} /Xs = {Xs=[t1 [t2 [t3, t3 [t5]]]]} = {Xs=[t1, t2, t3, t3, t5]} = {Xs=[time(h(1), d(sun)), time(h(2), d(sun)), time(h(3), d(wed)), time(h(3), d(wed)), time(h(5), d(sat))]} דוגמה 5 )חומר העשרה(: בחירת איבר ברשימה. פרוצדורה המגדירה את הקשר של מחיקת ההופעה הראשונה של ביטוי מרשימה. % Signature: select(x,hasxs,onelessxs)/3 % Purpose: The list OneLessXs is the list X without % one occurrence of X. select(element, HasXs, OneLessXs) :- append([prefix, [Element], Suffix], HasXs), append(prefix, Suffix, OneLessXs).?- select(4,[2,3,2,4,5,2,4],x). X = [2, 3, 2, 5, 2, 4]; X = [2, 3, 2, 4, 5, 2]; false דוגמה 6 )חומר העשרה(: החלפת ערך בעץ. החלפת תוויות בעץ בינארי void void void void % Signature: replace(from,to,treefrom,treeto)/4 % Purpose: The binary tree TreeTo is result of replacing all % occurrences of From in binary tree TreeFrom by To. replace(_,_,void,void). replace(from,to,tree(node,lft,rht), tree(node1,lft1,rht1)) :- replace_help(from,to,node,node1), replace(from,to,lft,lft1), replace(from,to,rht,rht1). % Signature: replace_help(from,to,nodef,nodet)/4 % Purpose: If (NodeF = From) then NodeT is To % else NodeT is NodeF). -8-

9 replace_help(from,to,from,to). replace_help(from,_,nodef,nodef) :- From \= NodeF.?- replace(2,4,tree(2,tree(3,void,void),tree(2,void,void)),x). X = tree(4, tree(3, void, void), tree(4, void, void))?- replace(b,x,tree(a,tree(b,void,void), tree(c,tree(b,void,void),void)), tree(a,tree(c,void,void), tree(c,tree(c,void,void),void))). X = c אם נרצה להציג עץ בינארי כרשימה, נעשה את השינויים הבאים: העץ במקום Right) tree(node, Left, ייראה בתור Right] void,[node, Left, יהפוך להיות ][. אם נרצה עץ n -ארי ולא בינארי, נחליף את הקטע בקוד Right) (Left, ב- Children לרשימה של כל הילדים. נצטרך להוסיף פרוצדורה למעבר על העץ. LP-interpreter System description.2 The system consists of files (modules) in three layers: Syntax, ADTs, LP-solver. -9-

10 The overall system architecture is given in the following architecture diagram. 1. Syntax: This layer includes, so far, only an abstract syntax module LP-AST, which defines a convenient interface to all syntactic elements in an LP program. 2. ADTs: The LP related ADTs are Substitution and Term-equation, which are used for implementing a unification operation in Unify. lazy-tree-adt is an ADT of an n-ary labeled tree (has labels on internal nodes), whose depth might be not finite. Therefore, the constructor of such trees wraps the child-branches of a node with a lambda abstraction that enables laziness: Delays the construction of child-branches until requested. 3. LP-solver: The Answer-Query module, defines the LP Gsel and Rsel, and the algorithm for proof-tree construction and search. LP-AST A programs is represented as a list of the abstract representations of its procedures. Note that this list actually represents a set. For example, the program: Example1: % Signature: append(list1, List2, List3)/3 % Purpose: List3 is the concatenation of List1 and List2. append([], Xs, Xs). append([x Xs], Y, [X Zs] ) :- append(xs, Y, Zs). member(x, Ys) :- append(zs, [X Xs], Ys). Is represented as the list: ( ((append 3) (0 ((append empty (var Xs) (var Xs)) true)) (1 ((append (cons (var X) (var Xs)) (var Y) (cons (var X) (var Zs))) (append (var Xs) (var Y) (var Zs)))) ) ((member 2) (0 ((member (var X) (var Ys)) (append (var Zs) (cons (var X) (var Xs)) (var Ys)) )) ) Example2: ;% Signature: part(name). ;part(a). ;part(b). ;part(c). (define parta (make-fact '(part a))) (define partb (make-fact '(part b))) (define partc (make-fact '(part c))) (define part-proc (make-procedure (list parta partb partc))) ;red(a). ;green(b). ;yellow(c). -10-

11 (define reda (make-fact '(red a))) (define red-proc (make-procedure (list reda))) (define greenb (make-fact '(green b))) (define green-proc (make-procedure (list greenb))) (define yellowc (make-fact '(yellow c))) (define yellow-proc (make-procedure (list yellowc))) (define part-prog (make-program (list part-proc red-proc green-proc yellowproc))) Queries: ;?- part(x) (define query-partx (make-query (list '(part (var X))))) ;?- red(x) (define query-redx (make-query (list '(red (var X))))) ;?- part(x), red(x) (define query-part-redx (make-query (list '(part (var X)) '(red (var X))))) ;?- part(x), yellow(x) (define query-part-yellowx (make-query (list '(part (var X)) '(yellow (var X))))) For every syntactical category, the file includes an abstract-syntax ADT. For example, the compound-term abstract-syntax interface is: (define term->vars (lambda (term) (cond ((variable? term) (list term)) ((atomic-term? term) empty) ((compound-term? term) (flatmap term->vars (compound-term->args term)))))) Substitution-ADT The Substitution ADT and its operations: An adaptation of the substitution-adt module from the type inference system. The ADT consists of: Constructor: make-sub(variables,terms), which also checks for circularity. Getters: sub->variables, sub->terms, sub->get-var(sub,var) which returns the value of var, if defined, or error otherwise. Predicates: sub?, empty-sub?, non-empty-sub?, sub-equal? Operations: 1. extend-sub(sub,var,term) which extends sub with the binding var=term, 2. Application of a substitution to LP terms, atomic formulas and queries: sub-apply(sub,term), sub-apply-atomic-formula, sub-apply-query, sub-apply-rule 3. Restriction of a substitution: sub-restrict(sub, vars) 4. Substitution combination: sub-combine(sub1,sub2) -11-

12 Examples: > (sub-combine (make-sub '((var T7) (var T8)) '(Number [f (m (var T5) Number) (var T3)])) (make-sub '((var T5) (var T8)) '((var T7) Boolean))) '(sub ((var T5) (var T7) (var T8)) ((var T7) Number (f (m (var T7) Number) (var T3)))) > (sub-apply (make-sub '((var X)) '(1)) (make-compound-term 'f '((var X)))) '(f 1) Term-equation-ADT The term-equation ADT and its operations: An adaptation of the equation-adt module from the type inference system. The ADT consists of: Constructor: make-equation(term1, term2). Getters: equation->left, equation->right Predicates: equation? Unify The unification operation, for atomic formulas and for terms. This is an adaptation of the solve module from the type inference system. The unification algorithm uses the equationsolving method: 1. For atomic elements either compares if equal, different, or can create a substitution (non-circular); 2. For compound arguments with the same predicate or functor and the same arity, creates equations from corresponding elements, and repeats unification. Main procedure: unify-formulas. Equation solvers: solve-equations(equation-list), solve(equations, substitution) Helpers: unifiable-structure(equation), split-equation(equation) Examples: (test (unify-formulas 'true 'true) => '(sub () ())) (test (unify-formulas '(member (f (var X1)) (cons (f 2) empty)) '(member (var X) (var L))) => '(sub ((var L) (var X)) ((cons (f 2) empty) (f (var X1))))) Lazy-Tree-ADT A lazy tree is represented as a "lazy tree-list" whose head is the root-node and whose tail is a regular list of lazy-trees: (root (lambda () (list lzt1 lzt2... lztn))) This is a lazy representation for labeled trees with finite branching, but possibly infinite depth. -12-

13 empty-lzt represents the empty lazy-tree A leaf is represented by: (root (lambda () empty-lzt)) If n represents a node, and lzt1...lztn represent lazy-trees, then (make-lzt n (lambda () (list (make-lzt n1 (lambda () (make-lzt...))) (make-lzt n2 (lambda () (make-lzt...))) (make-lzt nm (lambda () (make-lzt...)))) )) represents the above lazy-tree. The ADT consists of: Constructors: make-lzt, empty-lzt, expand-lzt(node, node-expander). (define expand-lzt (lambda (root node-expander) (let ((child-nodes (node-expander root))) (make-lzt root (lambda () (map (lambda (node) (expand-lzt node node-expander)) child-nodes)))) )) Getters: lzt->root, leaf-data, lzt->branches, lzt->first-branch, lzt->rest-branches, lzt->take-branches(lzt,n), lzt->nth-level(lzt, n) Predicates: empty-lzt?, lzt?, composite-lzt? Operations: There are three procedures for scanning a lazy tree: lzt-filter(lzt, filterp) returns a list of nodes that satisfy the filter predicate; does not terminate on infinite lazy trees. (define lzt-filter (lambda (lzt filterp) (letrec ((collect (lambda (lzt) (let ((children (flatmap collect (lzt->branches lzt)))) (if (filterp (lzt->root lzt)) (cons (lzt->root lzt) children) children))))) (if (empty-lzt? lzt) empty (collect lzt))))) lzt-find-first(lzt, filterp) returns the first node that satisfies the filter predicate. Might not terminate for infinite lazy trees. lzt-filter->lzl(lzt, filterp) returns a lazy list of all nodes that satisfy the filter predicate. You can see examples of lazy tree usages in the course site, Class material, lazy-tree-adt-tests.rkt. -13-

14 Answer-query This is the main module, in which the answer-query algorithm is implemented, relying on Gsel and Rsel procedures. The main procedures in this module are: answer-query, which has two variants: answer-query-first and answer-query-lzl LP-node-expander, expand-query Gsel, Rsel Answer-query creates a proof tree as a lazy tree, whose nodes are labeled by a list of: Query and a substitution. The substitution is already the combination of all substitutions on the tree branches. The nodes of the proof tree are defined as the data structure PT-node, with the getters: PT-node->query and PT-node->sub. The proof tree is created using the expand-lzt constructor of lazy trees, using the procedure LP-node-expander, which performs the main actions of the LP interpreter: 1. Applying Gsel on the query. 2. Applying Rsel on the selected goal. 3. Creating the new queries for the child node. 4. Creating the new combined substitutions for the child nodes. (define LP-node-expander (lambda (PT-node program) (let ((query (PT-node->query PT-node)) (sub (PT-node->sub PT-node))) (if (success-query? query) empty (let* ((selected-goal (Gsel query)) (rule-subs (Rsel selected-goal program)) (new-queries (map (lambda (rule-sub) (expand-query query selected-goal rule-sub)) rule-subs)) (new-subs (map (lambda (rule-sub) (sub-combine sub (rule-sub->sub rule-sub))) rule-subs))) (map make-pt-node new-queries new-subs)))) )) ; Signature: expand-query(query, goal, rule-sub) ; Type: [Query * AtomicFormula * RuleSub -> Query] ; Purpose: Given a rule-sub (rule sub) ; and a query (G1... Gi-1 Goal Gi+1... Gn) ; where rule is ( Head -> Body ) ; and Unify(Goal, Head) = sub ; compute [G1... Gi-1 Body Gi+1... Gn] o sub (define expand-query (lambda (query goal rule-sub) (let ((prefix-suffix (split-list (query->goals query) goal))) -14-

15 (sub-apply-query (rule-sub->sub rule-sub) (make-query (append (car prefix-suffix) (rule->body (rule-sub->rule rule-sub)) (cdr prefix-suffix))))))) -15-

עקרונות שפות תכנות אביב תרגול 00. תכנות לוגי חלק ב' נושאים: רשימות. 1. אופטימיזציית ה- backtracking אופרטור קאט. 2. Meta circular interpreter..3

עקרונות שפות תכנות אביב תרגול 00. תכנות לוגי חלק ב' נושאים: רשימות. 1. אופטימיזציית ה- backtracking אופרטור קאט. 2. Meta circular interpreter..3 עקרונות שפות תכנות אביב 2102. תרגול 00. תכנות לוגי חלק ב' נושאים: רשימות. 1. אופטימיזציית ה- backtracking אופרטור קאט. 2. Meta circular interpreter..3 0. רשימות. רשימות בפרולוג מיוצגות בצורה הבאה: ][ רשימה

קרא עוד

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

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

קרא עוד

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

מבוא למדעי המחשב מבוא למדעי המחשב המחלקה 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(

קרא עוד

PowerPoint Presentation

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

קרא עוד

Slide 1

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

קרא עוד

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

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

קרא עוד

מקביליות

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

קרא עוד

מקביליות

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

תרגול 1

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

קרא עוד

PPL Moed A

PPL Moed A הנחיות כלליות: )1 )2 )3 )4 )5 )6 )7 תאריך הבחינה: 5.7.2017 שעה: 09:00 שם המרצה: מני אדלר,מיכאל אלחדד, מירה בלבן, ירון גונן, דנה פישמן מבחן בקורס: עקרונות שפות תכנות מס' קורס: 202-1-2001 מיועד לתלמידי:

קרא עוד

PowerPoint Presentation

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

קרא עוד

תרגול מס' 1

תרגול מס' 1 תרגול 6 הסתעפויות 1 מבוסס על שקפים מאת יאן ציטרין קפיצות לא מותנות Unconditional Branch br label PC לאחר ה- fetch של פקודת ה- branch PC לאחר הביצוע של פקודת ה- branch pc label br label הקפיצה מתבצעת תמיד,

קרא עוד

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

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

קרא עוד

מצגת של PowerPoint

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

קרא עוד

תרגיל 3 בקורס תוכנה 1

תרגיל 3 בקורס תוכנה 1 1 תוכנה תרגיל מספר 8 הנחיות כלליות: קראו בעיון את קובץ נוהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה VirtualTAU בלבד.(http://virtual2002.tau.ac.il/) יש להגיש קובץ zip יחיד הנושא את

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

Slide 1

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

PowerPoint Presentation

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

קרא עוד

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

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

קרא עוד

מקביליות

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

קרא עוד

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

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

קרא עוד

ex1-bash

ex1-bash ביה"ס למדעי המחשב סמסטר חורף תשע"ח 13.12.2017 יסודות מערכות פתוחות פתרון תרגיל מס' 7 המכללה האקדמית נתניה שימו לב: כל ההערות שבתחילת תרגילים 1-6 תקפות גם לתרגיל זה. הערה 1: החל מתרגיל זה והלאה, בכל פעם

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

Overview of new Office 365 plans for SMBs

Overview of new Office 365 plans for SMBs מעבר בין חבילות Online מעבר בין חבילות ב- Open Online to Open Current Plan Upgrade Options Current Plan Upgrade Options Business Essentials Business Premium Enterprise E1 Enterprise E3/E4 Enterprise E1

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

Microsoft Word B

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

קרא עוד

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

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

קרא עוד

Programming

Programming קורס תכנות שיעור עשירי: מיונים, חיפושים, קצת ניתוח זמני ריצה, קצת תיקון טעויות ועוד על רשימות 1 רשימה מקושרת רשימה היא אוסף סדור של פעולות רשימה לעומת מערך ערכים 3 5 7 9 typedef struct node { int data;

קרא עוד

Microsoft Word - c_SimA_MoedB2005.doc

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

קרא עוד

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

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

קרא עוד

שבוע 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 מצביע עליו(. יש שני סוגי פקודות, פקודת

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

Microsoft PowerPoint - lec2.ppt

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

קרא עוד

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

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

קרא עוד

תרגול 1

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

קרא עוד

PowerPoint Presentation

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

קרא עוד

Microsoft PowerPoint - rec3.ppt

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

קרא עוד

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

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשעב בחינת סיום, מועד א', הנחי אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', 6.2.2012 הנחיות: 1. משך הבחינה: 120 דקות. 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) אוהד

קרא עוד

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

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

קרא עוד

אתגר קוביות מחייכות תכולה: 12 קוביות חוברת הוראות ופתרונות ספרון הכולל 60 חידות חידות בדרגות קושי שונות תפיסה חזותית וחשיבה לוגית הקדמה המשחק פרצופים

אתגר קוביות מחייכות תכולה: 12 קוביות חוברת הוראות ופתרונות ספרון הכולל 60 חידות חידות בדרגות קושי שונות תפיסה חזותית וחשיבה לוגית הקדמה המשחק פרצופים אתגר קוביות מחייכות תכולה: 12 קוביות חוברת הוראות ופתרונות ספרון הכולל 60 חידות חידות בדרגות קושי שונות תפיסה חזותית וחשיבה לוגית הקדמה המשחק פרצופים בריבוע מכיל 60 חידות ברמת קושי עולה לשחקן יחיד או שני

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

Homework Dry 3

Homework Dry 3 Homework Dry 3 Due date: Sunday, 9/06/2013 12:30 noon Teaching assistant in charge: Anastasia Braginsky Important: this semester the Q&A for the exercise will take place at a public forum only. To register

קרא עוד

<4D F736F F D20FAF8E2E9EC203220E0F7E520EEE020FAF9F2E1>

<4D F736F F D20FAF8E2E9EC203220E0F7E520EEE020FAF9F2E1> 66-89 ד"ר דרורה קרוטקין אקונומטריקה למתקדמים א' תרגיל מס' 2 תרגיל חזרה על הפלטים.SPSS ו- GRETL, EVIEWS, STATA ) פלט (STATA שאלה נסמן: - q תפוקה k הון - l עבודה generate float lq= log(q) generate float

קרא עוד

תרגול 1

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

מבוא לאסמבלי

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

קרא עוד

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc הטכניון מכון טכנולוגי לישראל אלגוריתמים (3447) סמסטר חורף 006/007 הפקולטה למדעי המחשב תכנון דינאמי תרגיל תת מחרוזת משותפת ארוכה ביותר תת-מחרוזת z k שקיימת סדרה עולה ממש,... z = z של מחרוזת נתונה x m,...,,

קרא עוד

תרגול 1

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

קרא עוד

הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב הוראות הגשה: ההגשה בזוגות. הוסיפו שמות, ת.ז., אי-מייל, תא אליו יש להחזיר את התרגיל ואת תשובותיכם לתרג

הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב הוראות הגשה: ההגשה בזוגות. הוסיפו שמות, ת.ז., אי-מייל, תא אליו יש להחזיר את התרגיל ואת תשובותיכם לתרג הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב הוראות הגשה: ההגשה בזוגות. הוסיפו שמות, ת.ז., אי-מייל, תא אליו יש להחזיר את התרגיל ואת תשובותיכם לתרגיל, הדפיסו והגישו לתא הקורס בקומה. מבנה מחשבים ספרתיים

קרא עוד

Microsoft PowerPoint - rec1.ppt

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

קרא עוד

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

קרא עוד

PowerPoint Presentation

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

קרא עוד

PowerPoint Presentation

PowerPoint Presentation מבוא למדעי המחשב תירגול 2: מבוא לתיכנות ב- C 1 תוכנייה משתנים קלט/פלט משפטי תנאי מבוא למדעי המחשב מ' - תירגול 3 2 משתנים 3 משתנים- תמונת הזיכרון הזיכרון כתובת התא #1000 10-4 לא מאותחל 67 לכל תא בזיכרון

קרא עוד

Slide 1

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

קרא עוד

PowerPoint Presentation

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

קרא עוד

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

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

קרא עוד

Microsoft PowerPoint - meli-iso.ppt

Microsoft PowerPoint - meli-iso.ppt דגשים לעבודה עם פרוטוקול ISOILL בהשאלה בין-ספרייתית יוסי ט יסו נה המסלול האק דמי ה מכללה למי נהל יום הדרכה של מאלי בנושא השאלה והשאלה בין-ספרייתית יולי 2010 - אוניברסיטת בן-גוריון בנגב פרוטוקול ISOILL

קרא עוד

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

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

קרא עוד

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 - lec10.ppt

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

קרא עוד

Microsoft Word Viewer - Winter0708-MoedC.doc

Microsoft Word Viewer - Winter0708-MoedC.doc מבחן סוף סמסטר מועד ג' תאריך: 27.05.2008 מרצה אחראית: מתרגלים: דר' שירלי הלוי-גינסברג אלכס קוגן גלעד קותיאל הוראות: בטופס המבחן 5 עמודים ו- 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. א. משך המבחן שלוש שעות

קרא עוד

Slide 1

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

קרא עוד

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

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

קרא עוד

PowerPoint Presentation

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

קרא עוד

שעור 6

שעור 6 שעור 6 Open addressing אין רשימות מקושרות. (נניח שהאלמנטים מאוחסנים בטבלה עצמה, לחילופין קיים מצביע בהכנסה המתאימה לאלמנט אם אין שרשור). ב- addressing open הטבלה עלולה להימלא ב- factor α load תמיד. במקום

קרא עוד

Slide 1

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

קרא עוד

PowerPoint Presentation

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

קרא עוד

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

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

קרא עוד

ללא כותרת שקופית

ללא כותרת שקופית סביבת הלימוד החוץ כיתתית ניר אוריון המחלקה להוראת המדעים מכון ויצמן למדע גישה הוליסטית לסביבת הלימוד החוץ-כיתתית הגברת מידת ורמת השימוש בסביבה החוץ-כיתתית דורשת התמודדות עם השאלות הבאות: (1) מהי סביבה

קרא עוד

Slide 1

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

קרא עוד

תוכן העניינים: פרק צמצומים ומימושים של פונקציות בוליאניות... 2 צמצומים של פונקציות באמצעות מפת קרנו:...2 שאלות:... 2 תשובות סופיות:... 4 צמצום

תוכן העניינים: פרק צמצומים ומימושים של פונקציות בוליאניות... 2 צמצומים של פונקציות באמצעות מפת קרנו:...2 שאלות:... 2 תשובות סופיות:... 4 צמצום תוכן העניינים: פרק 2 3 צמצומים ומימושים של פונקציות בוליאניות 2 צמצומים של פונקציות באמצעות מפת קרנו: 2 שאלות: 2 תשובות סופיות: 4 צמצום באמצעות שיטת 6:QM שאלות: 6 תשובות סופיות: 7 מימושים בעזרת פונקציות

קרא עוד