שאלון קודגורו 18 – שלב א' רשומה רגילה פתחתם קובץ כלשהוא באמצעות notepad, וראיתם שהוא מתחיל ב: MZ. מבין האפשרויות הבאות סביר שמדובר ב (ניתן להיעזר בקישור הבא: http://www.garykessler.net/library/file_sigs.html): קובץ הרצה (exe) קובץ word תוסף של mozilla PDF מי אמר "אנו הופכים אותו לאקראי פחות, כדי שירגיש אקראי יותר" ביל גייטס לינוס טורוולדס מארק צוקרברג סטיב ג'ובס באסמבלי (שפת סף) x86, לאילו מהבאים מספר הביטים הקטן ביותר? (משאב לשימושכם: http://www.cyber.org.il/assembly/codeguru-guide.pdf) AL ECX BX SP למי מהבאים מספר הביטים הקטן ביותר (בארכטיקטורה בת 32 ביט) int unsigned int char * short מהדר (קומפיילר) תרגם תכנית בשפה עילית לשפת סף (אסמבלי) x86, האם הגיוני שבקוד תופיע פקודת CALL עם אופרנד שהינו אוגר, למשל CALL EAX? לא, כיוון שלאחר ההידור (קומפילציה) ידוע המיקום היחסי של כל הפונקציות בקוד, לכן תמיד ניתן להחליף את האוגר בכתובת. לא, שהרי בזמן קומפילציה ניתן לדעת אילו פונקציות נקראות. לא, פקודה כזאת לא נתמכת ב-X86. כן, כי ייתכן שרק בזמן ריצה ניתן יהיה לדעת לאיזו פונקציה לקרוא אילו מהבאות היא שפה שמשתמשים בה לרוב לצד-לקוח? PHP Ruby JavaScript Perl מה מצוייר באיור הבא? מפתח שמע קווינטה אוקטבה דיסוננט תוכנה בJAVA הפסיקה את מהלך ריצתה עם חריגה מסוג: java.lang.NumberFormatException,אילו מקטעי הקוד הבאים ייתכן וגרמו לשגיאה? קישור רלוונטי: http://docs.oracle.com/javase/7/docs/api/java/lang/NumberFormatException.html int code = guru/0 int code = Integer.parseInt(guru) int code = guru/ 2.1 String code = “guru +”+”5” מה מהבאים לא תוכלו לעשות בחינם? לשחק במחשב קוונטי דרך הדפדפן להעלות אפליקציה לapp store לקבל שם תחום (דומיין) ומרחב אחסון עבור האתר שלכם לאחסן 15GB בGoogle Drive ברשותכם כוס חלב וכוס מים. העברתם (בדיוק) כפית מים מכוס המים לכוס החלב. כעת, מכוס החלב לקחתם (בדיוק) כפית והעברתם בחזרה לכוס המים. נסמן ב-X את כמות המים, במ"ל, הנמצאת בכוס החלב ב-Y את כמות החלב, במ"ל, הנמצאת בכוס המים. מה מהבאים מדויק? X = Y Y ≥ X X ≥ Y X > Y אילו משמות התחום (דומיין) הבאים אינו חוקי? code.guru codegu.ru guruOFco.de uruged.oc 13.8 בערך היחס בין מספר משתמשי chrome למשתמשי internet explorer נכון לנובמבר 2016 בערך גיל היקום במיליארדי שנים בתאריך זה אירעה רעידת אדמה בעוצמה 10 בסולם ריכטר שתיים מתוך שלושת התשובות לעיל נכונות נתונה כתובת ה-ip הבאה: 217.130.120.5, מה מהבאים ניתן לומר עליה בוודאות: אין יותר מ254 מחשבים ברשת המשנה (subnet) בה היא נמצאת. היא נמצאת בערב הסעודית היא נמצאת בארה"ב זו איננה כתובת IP חוקית לוויני אירידיום מהווים רשת תקשורת לטלפונים לווייניים המשמשים חלופה (יקרה) לרשת הסלולארית. הבזקי אירידיום הם הבזקי אור קצרים של הלוויניים הנראים בשעות הערב המוקדמות או לפני עלות השחר. ההבזקים נראים בשעות אלה דווקא כי: בשעות אלה חשוך על פני האדמה אך הלוויין מואר באור השמש. הלוויינים מסונכרנים כך שיעברו מעלינו בשעות אלה. אלה השעות בהן יוצרים הלוויינים תקשורת בקרה עם תחנות ע"פ האדמה. אלה השעות בהן אנשים שמים לב להבזקים, אך ההבזקים נראים במשך כל הלילה. קטע קוד ב-Java for(int code=0 code<30 code++) {guru++ } הקוד לעיל רץ על שני חוטים שונים במקביל. מהו הערך המקסימלי שייתכן עבור guru בסיום ריצת שני החוטים? הניחו כי המשתנה guru הינו גלובלי מטיפוס int וערכו ההתחלתי הינו 0. קישור רלוונטי: https://en.wikipedia.org/wiki/Linearizability הערך המקסימלי של משתנה מטיפוס int 30 59 60 מהו הערך המינימלי שייתכן עבור guru בסיום ריצת שני החוטים? 0 2 30 60 מה מהבאים הינו הגדרה חוקית של מערך דו-מימדי בשפת C: int[3][3] arr int arr[3][] = {1,2,3,4,5,6} int arr[][3] = {1,2,3,4,5,6} int[3] arr[3] מה מהבאים מסודר לפי מהירות הזכרון בסדר יורד משמאל לימין?קישור רלוונטי: https://en.wikipedia.org/wiki/Memory_hierarchy cpu registers, L3 cache, DRAM, hard drive L3 cache, cpu registers, hard drive, DRAM cpu registers, DRAM, hard drive, L3 cache L3 cache, cpu registers, DRAM, hard drive מה מהבאים אינו מהווה בדיקה תקינה לזוגיות מספר ב-C? num%2==0 (num&1)==0 num/2 *2==num num*2 / 2==num קוד Python reduce(lambda code, guru: code + [t + [guru] for t in code], lis, [[]]) מה מחשבת השורה לעיל ב-Python? סכום רשימה הופכת רשימה לרשימה של רשימות בגודל 1 המכילות את איברי הרשימה המקורית קבוצת כל תתי הקבוצות פיבונאצי' לוויינים וטילים ששיגרו אותם וממשיכים להקיף את כדה"א נראים בעין בלתי מזוינת בשעות הערב המוקדמות ולפני עלות השחר כי: הלוויינים והטילים מסונכרנים כך שיעברו מעלינו בשעות אלה. אלה השעות בהן הם יוצרים תקשורת בקרה עם תחנות ע"פ הארץ. בשעות אלה חשוך על פני האדמה אך הלוויין או הטיל מואר באור השמש. אלה השעות בהן אנשים שמים אליהם לב, אך למעשה הם נראים במשך כל הלילה. אילו מהבאים לא נחשב טיפוס פרימיטיבי ב-Java? boolean long double Integer איזו מהחברות הבאות המציאה שפת תכנות? גוגל אפל פייסבוק כל התשובות נכונות אתם מנהלים שיחה בסקייפ. באיזה פרוטוקול של שכבת התעבורה יעברו חבילות המידע של הקול, ומאיזו סיבה? ב-TCP, כי הוא אמין יותר ב-UDP, כי הוא אמין יותר ב-TCP, כי יש לו תקורה (overhead) נמוכה יותר ב-UDP, כי יש לו תקורה (overhead) נמוכה יותר מה יותר מהיר: לכתוב קובץ של ספר על סרט גיבוי מגנטי תקני או להדפיס אותו במדפסת לייזר? לכתוב על טייפ להדפיס אותו אותו הדבר תלוי אם מדובר בצבע או שחור לבן איזו מהשפות הבאות יוצאת דופן מבין הארבע הנ"ל? שפת Java, כי אינה דורשת ניהול זיכרון מפורש שפת C, כי היא השפה היחידה שהומצאה באלף הקודם שפת Fortran, כי היא לא תומכת אף בגרסאותיה העדכניות במערכים שפת סף (אסמבלי) כי אין בה רקורסיה (יכולת של פונקציה לקרוא לעצמה) קטע קוד ב C int* flipArray (int code[], int guru) { int newArr[n] for(int i=0 i<n i++){ newArr[i] = arr[n-i] } return newArr } מה לא בסדר בקטע הקוד לעיל, שנועד לקבל מערך של מספרים ואת הגודל שלו, ולהחזיר מערך בו המספרים מסודרים הפוך מהסדר המקורי? המשתנה newArr מוגדר כמשתנה פנימי במקום guru צריך היה להיות n יש גלישה בפנייה למערך arr כל התשובות נכונות * בכמה דרכים ניתן להרכיב 30 שקלים ממטבעות ישראלים, מבלי להשתמש באותו מטבע יותר מ-10 פעם? קוד ב-Swift let wonder = { (code: [Double]?, guru: Double?) -> Double? in if (code == nil ){ if let v = guru{ return guru } return nil } else { var m = code![0] for i in 0..<code!.count{ if (code![i]>m){ m = code![i] } } return m } } doSomething( wonder ) * שפת Swift הינה שפת תכנות שהומצאה על-ידי חברת Apple. לעיל קטע קוד ב-Swift. עליכם לכתוב קוד שקול, גם כן ב-Swift, לקוד לעיל, תוך שימוש ב-40 תווים לכל היותר. הניחו שקיימת פונקציה בשם doSomething. רצוי ללמוד מכאן, וזה עשוי אף לעזור בשלב ב': https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/ מאיפה שמעת עלינו? הערות