סמסטר ב' 3102 יש לכתוב את כל התשובות בטופס הבחינה. המחברת תשמש כטיוטה בלבד ולא תיבדק.

Σχετικά έγγραφα
סיכום- בעיות מינימוםמקסימום - שאלון 806

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

תרגיל 13 משפטי רול ולגראנז הערות

גבול ורציפות של פונקציה סקלרית שאלות נוספות

תרגול פעולות מומצאות 3

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin(

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד

ל הזכויות שמורות לדפנה וסטרייך

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן

חורף תש''ע פתרון בחינה סופית מועד א'

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

gcd 24,15 = 3 3 =

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

תרגול מס' 6 פתרון מערכת משוואות ליניארית

TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE סמסטר אביב תשס"ו מס' סטודנט:

שאלה 1 V AB פתרון AB 30 R3 20 R

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

מבני נתונים מבחן מועד ב' סמסטר חורף תשס"ו

מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015)

סדרות - תרגילים הכנה לבגרות 5 יח"ל

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

(ספר לימוד שאלון )

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות

תרגילים באמצעות Q. תרגיל 2 CD,BF,AE הם גבהים במשולש .ABC הקטעים. ABC D נמצאת על המעגל בין A ל- C כך ש-. AD BF ABC FME

לוגיקה ותורת הקבוצות אביבתשס ז מבחןסופי מועדב בהצלחה!

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

תרגיל 7 פונקציות טריגונומטריות הערות

ניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים (

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

חידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.

אוסף שאלות מס. 3 פתרונות

מצולעים מצולעהוא צורה דו ממדית,עשויה קו"שבור"סגור. לדוגמה: משולש, מרובע, מחומש, משושה וכו'. לדוגמה:בסרטוט שלפappleיכם EC אלכסוןבמצולע.

Logic and Set Theory for Comp. Sci.

3-9 - a < x < a, a < x < a

תרגול 8: מטלאב לולאות

קיום ויחידות פתרונות למשוואות דיפרנציאליות

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

השאלות..h(k) = k mod m

אלגברה מודרנית פתרון שיעורי בית 6

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

מבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם.

Charles Augustin COULOMB ( ) קולון חוק = K F E המרחק סטט-קולון.

Domain Relational Calculus דוגמאות. {<bn> dn(<dn, bn> likes dn = Yossi )}

אלגברה ליניארית (1) - תרגיל 6

אלגברה ליניארית 1 א' פתרון 2

מבני נתונים מבחן מועד א' סמסטר חורף תשס"ו

{ : Halts on every input}

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1

"קשר-חם" : לקידום שיפור וריענון החינוך המתמטי

סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 005 שנכתב על-ידי מאיר בכור

מתמטיקה בדידה תרגול מס' 2

אלגברה לינארית מטריצות מטריצות הפיכות

(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p;

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V )

תשובות מלאות לבחינת הבגרות במתמטיקה מועד חורף תשע"א, מיום 31/1/2011 שאלון: מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן.

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות

s ק"מ קמ"ש מ - A A מ - מ - 5 p vp v=

ב ה צ ל ח ה! /המשך מעבר לדף/

מתמטיקה בדידה תרגול מס' 12

הרצאה. α α פלוני, וכדומה. הזוויות α ל- β שווה ל-

תורת הגרפים - סימונים

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

מבחן במודלים חישוביים + פתרון מוצע

רשימת בעיות בסיבוכיות

אלגוריתמים 1, סמסטר אביב 2017

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.

מתמטיקה בדידה תרגול מס' 13

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

הגדרה: מצבים k -בני-הפרדה

אינפי - 1 תרגול בינואר 2012

33 = 16 2 נקודות. נקודות. נקודות. נקודות נקודות.

The No Arbitrage Theorem for Factor Models ג'רמי שיף - המחלקה למתמטיקה, אוניברסיטת בר-אילן

מבני נתונים מבחן מועד א' סמסטר אביב תשס"ו

מבני נתונים מדעי המחשב שאלון: מועד ב' תשע"ו מדעי המחשב פתרון בחינת הבגרות. Java שאלה 1. blog.csit.org.

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

אוסף שאלות מס. 5. שאלה 1 בדוגמאות הבאות, נגדיר פונקציה על ידי הרכבה: y(t)).g(t) = f(x(t), בשתי דרכים:

. {e M: x e} מתקיים = 1 x X Y

מבני נתונים ואלגוריתמים תרגול #11

x a x n D f (iii) x n a ,Cauchy

טריגונומטריה הגדרות הפונקציות הטריגונומטריות הבסיסיות

אם לא דברנו בסוף מספיק על שרשראות עם מספר מצבים אינסופי פשוט תתעלמו מהתרגילים המתאימים.

םיאלמ תונורתפ 20,19,18,17,16 םינחבמל 1 להי רחש ןולאש הקיטמתמב סוקופ

שיעור 1. זוויות צמודות

שאלה 1 נתון: (AB = AC) ABC שאלה 2 ( ) נתון. באמצעות r ו-. α שאלה 3 הוכח:. AE + BE = CE שאלה 4 האלכסון (AB CD) ABCD תשובה: 14 ס"מ = CD.

TECHNION Israel Institute of Technology, Faculty of Mechanical Engineering מבוא לבקרה (034040) גליון תרגילי בית מס 5 ציור 1: דיאגרמת הבלוקים

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

פרק 6: מסכמים, בוררים, מפענחים

דיאגמת פאזת ברזל פחמן

-107- גיאומטריה זוויות מבוא מטרתנו בפרק זה היא לחזור על המושגים שנלמדו ולהעמיק את הלימוד בנושא זה.

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

ושל (השטח המקווקו בציור) . g(x) = 4 2x. ו- t x = g(x) f(x) dx

מתמטיקה בדידה תרגול מס' 5

החשמלי השדה הקדמה: (אדום) הוא גוף הטעון במטען q, כאשר גוף B, נכנס אל תוך התחום בו השדה משפיע, השדה מפעיל עליו כוח.

Transcript:

CS1001.py מבחן בקורס מבוא מורחב למדעי המחשב, סמסטר ב' 3102 ב מועד מרצים: פרופ' חיים וולפסון, פרופ' עמירם יהודאי מתרגלים: יואב רם, אמיר רובינשטיין משך הבחינה: 3 שעות. חומר עזר מותר: שני דפי עזר )דו צדדיים( בגודל A4 כ"א. יש לכתוב את כל התשובות בטופס הבחינה. המחברת תשמש כטיוטה בלבד ולא תיבדק. במבחן 11 עמודים בידקו שכולם בידיכם. יש לענות על כל חמש השאלות. מספר הנקודות של כל שאלה הוא 02, אך זה לא משקף בהכרח את רמת הקושי או את הזמן הנדרש לפתרון השאלה. אנו ממליצים לא "להיתקע" על אף שאלה בודדת, אלא להמשיך לשאלות אחרות ולחזור לשאלה אח"כ. בכל סעיף בשאלות הפתוחות ניתן לכתוב "איני יודע/ת" ולא לכתוב שום טקסט נוסף. במקרה זה יינתן 02% מציון הסעיף )מעוגל כלפי מעלה(. בכל השאלות מותר להסתמך על סעיפים קודמים, גם אם לא עניתם עליהם. יש לכתוב את כל התשובות במקום המוקצב ובכתב קריא. חריגות משמעותיות מהמקום המוקצב, או תשובות הכתובות בכתב קטן מדי, לא ייקראו; תשובות שדורשות מאמצים רבים להבנתן עלולות לגרור הורדת ציון. ניתן לצטט טענות שנטענו בהרצאה או בשיעורי התרגול. אם לא צוין אחרת, אפשר להניח כי הקלט והארגומנטים לכל פונקציה תקינים. בהצלחה טבלת ציונים: )לשימוש הבודקים( שאלה ניקוד 1 2 3 4 5 סה"כ!

שאלה )20 0 נק'( השאלה עוסקת בדחיסת זיו-למפל, עם ערכי ברירת המחדל שראינו בשיעור: אורך חזרה מירבי 31, גודל חלון מירבי 4905. כמו כן דוחסים רק חזרות באורך 3 או יותר. א. להלן שני ייצוגי ביניים של דחיסת זיו-למפל. לכל אחד מהם עליכם לציין האם ייצוג ביניים כזה יכול להתקבל מהאלגוריתם שלמדנו. אם לא עליכם להסביר מדוע לא. אם כן עליכם לרשום את הטקסט המקורי לפני הדחיסה. 1. ['a', 'b', 'c', 'd', (3,5), 'x', (6,5), 'x'] 2. ['a', 'b', 'c', 'd', (3,20)] ב. השלימו את המחרוזת הבאה באורך 7 תווים, כך שיחס הדחיסה של אלגוריתם זיו-למפל עבורה יהיה.6/7 a b c הבהרה: יחס הדחיסה = מספר הביטים במחרוזת הדחוסה חלקי מספר הביטים במחרוזת ללא דחיסה. הניחו כי ללא דחיסה כל תו מיוצג ע"י 7 ביטים. 2

שאלה )31 3 נק'( השאלה עוסקת בקוד גילוי שגיאות המשלב קוד זוגיות bit( )parity עם קוד חזרות.)repetition( בהינתן הודעה באורך 3, נוסיף בסוף ביט זוגיות )XOR( עבור שלושת הביטים, ואז נשכפל את כל 4 הביטים. בסה"כ, עבור הודעה של 3 ביטים משדרים 8 ביטים. למשל )הביטים שנוספו מודגשים בקו(: שדר הודעה 0 1 0 0 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 1 0 0 א. כמה שדרים חוקיים )codewords( יש? ב. מהו d, מרחק Hamming המינימלי של הקוד )המרחק המינימלי בין שני שדרים חוקיים כלשהם(? ג. להלן 3 שדרים שנתקבלו. באחד מהם לא נפלו שום שגיאות, באחד מהם נפלה שגיאה אחת, ובאחד נפלו שתי שגיאות. ציינו ליד כל שדר כמה שגיאות נפלו בו, ואם ניתן לשחזר את ההודעה המקורית - רישמו גם את ההודעה המקורית )3 ביטים(. כרגיל, אנחנו מניחים כי שגיאות בביטים שונים הן בלתי תלויות וכי ההסתברות לשגיאה בכל ביט נמוכה מאוד, ומתייחסים תמיד להודעה המקורית הסבירה ביותר. שדר שנתקבל 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 0 0 1 1 מספר השגיאות הודעה מקורית )אם אפשר לשחזר( 3

שאלה )20 2 נק'( להלן תיאור של משחק פשוט בין שחקן אנושי למחשב: נתונים שני שלמים חיוביים N1 ו- N2, כאשר.N1<N2 השחקן האנושי בוחר מספר בין N1 ל- N2, כולל )מספר זה ייקרא "סוד"(. המחשב מנסה לנחש את הסוד שוב ושוב, עד שהוא מצליח. כל ניחוש מתבצע ע"י קריאה לפונקציה guess שנתונה להלן. הארגומנט g הוא הניחוש של המחשב, והשחקן משיב למחשב האם הסוד שלו שווה לניחוש )ע"י הקלדת "="(, גדול מהניחוש )ע"י הקלדת "<"(, או קטן ממנו )ע"י הקלדת "<"(. כאמור, המשחק ממשיך כל עוד המחשב לא הצליח לנחש את הסוד. def guess(g): print("my guess is:", g) return input("enter '=', '>' or '<' ") מותר להניח שהשחקן לא מרמה, כלומר נותן תמיד תשובות נכונות, והמספר שבחר הוא אכן בטווח שצוין לעיל. א. עליכם להשלים את הפונקציה,find_secret(N1,N2) שמחזירה את הסוד שבחר השחקן, ועושה זאת בעזרת O(log(N2-N1)) ניחושים )כלומר קריאות לפונקציה.)guess def find_secret(n1,n2): return 4

ב. נניח כעת כי לא ידועים N1 ו- N2, וכי הסוד אותו בוחר השחקן הוא מספר שלם חיובי כלשהו. עליכם להשלים את הפונקציה find_secret2 הבאה כך שתפתור בעיה זו. הנחיות:.1.2 השתמשו בפונקציה find_secret מסעיף א'. על התוכנית לבצע (S O(log ניחושים, כאשר S הוא המספר אותו בחר השחקן )הסוד(. על הפתרון לבצע כמה שפחות ניחושים. def find_secret2(): low = 1 high = 2 answer = guess( ) while : answer = guess( ) if answer == "=": return return 5

שאלה )31 4 נק'( שאלה זאת עוסקת במספרים שלמים, הגורמים הראשוניים שלהם, והמחלקים שלהם. א. בסעיף זה נכתוב את הפונקציה factors שמקבלת מספר שלם n גדול מ- 1 ומחזירה את רשימת הגורמים הראשוניים שלו, לדוגמא: >>> factors(12) [2, 2, 3] >>> factors(600) [2, 2, 2, 3, 5, 5] כפי שניתן לראות מהדוגמא, הרשימה מכילה מספרים ראשוניים שמכפלתם היא n )ולכן יכולות להיות חזרות(, מסודרת בסדר עולה. כדי לסייע למימוש הפונקציה, נוסיף לה פרמטר אופציונלי start שמציין שניתן להניח שאין ל- n גורמים קטנים מ- start. השלימו את כתיבת המימוש הרקורסיבי של הפונקציה.factors תזכורת - הניחו ש- n גדול מ- 1. def factors(n,start=2): # assert - n does not have a factor that is smaller than start while : start +=1 if start>n: return else: return בסעיפים הבאים נתייחס לסכום המחלקים של מספר שלם. אלה כל המספרים השלמים שהמספר מתחלק אליהם )מלבד המספר עצמו(. נתונה הפונקציה sumdivisors שמקבלת כפרמטר מספר שלם גדול מ- 1, ומחזירה את סכום המחלקים שלו. לדוגמא: >>> sumdivisors(12) # 1+2+3+4+6 16 >>> sumdivisors(13) # 1 1 זוג מספרים שלמים שונים הם ידידותיים (amicable) אם כל אחד מהם שווה לסכום המחלקים של השני. זוג המספרים הידידותיים הקטן ביותר הוא )284 229(:, >>> sumdivisors(220) # 1+2+4+5+10+11+20+22+44+55+110 284 >>> sumdivisors(284) # 1+2+4+71+142 220 6

ב. כיתבו פונקציה areamicable שמקבלת שני מספרים שלמים ומחזירה ערך אמת אם הם ידידותיים, וערך שקר אם לא. השתמשו בפונקציה.sumDivisors def areamicable(m, n): ג. בסעיף זה נגדיר גנרטור allamicable שמייצר את הקבוצה האינסופית של זוגות מספרים ידידותיים. לדוגמא: >>> p = allamicable() >>> next(p) (220, 284) >>> next(p) (1184, 1210) השלימו את המימוש של :allamicable def allamicable(): n = while : m = if sumdivisors(m) == n and : yield # increment 7

שאלה )31 5 נקודות( א. בשאלה זו נגדיר מחלקה חדשה בשם Circle שתממש מספר תכונות של עיגול. העיגול יוגדר לפי נקודת המרכז שלו )a,b( והרדיוס שלו R. להזכירכם, עיגול הוא קבוצת הנקודות )x,y( שמרחקן מנק' המרכז )a,b( קטן או שווה ל- R כלומר, שמקיימות את המשוואה.(a - x) 2 + (b - y) 2 R 2 בנוסף, היקף העיגול הוא 2πR ושטחו.πR 2 השלימו את הקוד בעמוד הבא. יש לממש את המתודות הבאות, ניתן להניח שהקלט תקין, מלבד במתודה, mul ניתן להשתמש בקבוע pi מתוך המחלקה math לפי הצורך: a העיגול(, )רדיוס R מקבלת ארגומנטים לפי הצורך ומציבה אותם בשדות init )קורדינטת ה- X של מרכז העיגול( ו- b )קורדינטת ה- Y של מרכז העיגול(. area אינה מקבלת ארגומנטים. מחזירה ערך מספרי ששווה לשטח העיגול )בקירוב(. circumference אינה מקבלת ארגומנטים. מחשבת ומחזירה את היקף העיגול )בקירוב(. mul מקבלת מספר כארגומנט ( שי לוודא כי הקלט הוא אכן מספר שלם או ממשי בעזרת )assert ומחזירה עיגול חדש בעל אותו מרכז אך עם רדיוס גדול פי הארגומנט של המתודה. move מקבלת tuple בשם point ובו שני מספרים אשר מייצגים קורדינטות x ו- y של נקודה ומזיזה את מרכז העיגול לנקודה זו. המתודה אינה מחזירה דבר. contains מקבלת tuple בשם point ובו שני מספרים אשר מייצגים קורדינטות x ו- y של נקודה ומחזירה ערך אמת אם הנקודה נמצאת בתוך העיגול, וערך שקר אם הנקודה אינה בתוך העיגול. נקודה על שפת העיגול נחשבת כאילו היא בתוך העיגול. intersect מקבלת עיגול נוסף כארגומנט, ומחזירה True אם יש לשני העיגולים שטח משותף, ו- False אחרת. השקה )מגע בין שפות העיגולים( אינה נחשבת לשטח משותף, הכלה נחשבת לשטח משותף. >>> A = Circle(R=3, a=0, b=0( >>> A Circle center (0.000000,0.000000) with radius 3.000000 >>> A.area)(, A.circumference)( 28.274333882308138, 18.84955592153876 >>> A.contains(0,4) False >>> A.move(0,1) >>>A.contains(0,4) True >>> A.intersect(A*2) True >>> A.intersect(Circle(1,4,0( ( False דוגמאות לשימוש: 8

import math class Circle: # Constructor: def init (self, ): self.r = self.a = self.b = def repr (self): return "Circle center " + self.a + ", " + self.b + " with radius " + self.radius def area(self): return def circumference(self): return def mul (self, factor): assert return def move(self, point): def contains (self, point): def intersect(self, other): 9

)המשך שאלה 5( כפי שראינו בשיעור, ניתן לייצג תמונה ע"י מטריצה A בעלת n שורות ו- m עמודות. ערכי המטריצה מייצגים פיקסלים בעלי רמות אפור הנעות מערך מינימלי 9 )שחור( לערך מקסימלי 255 )לבן(. עליכם לכתוב מתודה חדשה paint למחלקה,Circle אשר תקבל מטריצה בשם img בגודל nxm )ניתן להניח שגודל המטריצה מספיק כדי להכיל את העיגול,)n,m>2R תמקם את מרכז העיגול במרכז המטריצה ותשחיר את הפיקסלים המתאימים - לאחר הפעלת המתודה כל הפיקסלים שבתוך העיגול יקבלו ערך 9. המתודה אינה מחזירה דבר אלא משנה את.img מירב הניקוד יינתן לאלגוריתם שסיבוכיותו ) 2.O(R ב. ציינו מה סיבוכיות הפתרון שלכם, ונמקו בקצרה. ג. השלימו את הקוד של paint בעמוד הבא. 01

def paint (self, img): n,m = img.dim() סוף! 00