שאלות ממבחנים לי-טל משיח

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

ממיבחניםC שאלות ++.
תוכנה 1 סמסטר א ' תשע " ב תרגול מס ' 7 * מנשקים, דיאגרמות וביטים * לא בהכרח בסדר הזה.
Files 1 יום חמישי 16 אפריל 2015 יום חמישי 16 אפריל 2015 יום חמישי 16 אפריל 2015 יום חמישי 16 אפריל 2015 יום חמישי 16 אפריל 2015 יום חמישי 16 אפריל 2015.
מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
מבוא כללי למדעי המחשב תרגול 1. כתיבת התוכנה כתיבת התוכנית עצמה נעשית ע " י כתיבת קובץ טקסט רגיל אשר תוכנו מקיים את כללי שפת C כתיבת התוכנית עצמה נעשית.
כתיבת עבודת גמר מבנה העבודה  מבחינה צורנית - יש להקפיד על אחידות בכתיבה  כותרות אחידות  רווחים זהים, פונט בגודל אחיד (12, רווח וחצי)  הצגת.
תרגול מס' 2  העברת פרמטרים לתוכניות ב-C  קלט ופלט ב-C  I/O redirection  זיכרון דינמי  מצביעים  מערכים  גישות לא חוקיות לזיכרון.
דוד שוורץ, עידן זק, נטע צור וחיה כהן. הפונקציונאליות : המשתמש יבחר קובץ שעליו הוא רוצה לבצע את האנליזה, וילחץ עליו עם כפתור ימני בעכבר. יפתח תפריט ובו.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
דקדוקים חסרי הקשר Word categories (part of speech): NNountable, dogs, justice, oil VVerbrun, climb, love, ignore ADJAdjective green, fast, angry ADVAdverbsquickly,
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
אתר הקורס: צוות הקורס: מרצה: אלדר פישר, טאוב
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
שאלות ממבחנים לי-טל משיח
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
מבוא למדעי המחשב תרגול 4 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
חלון הפקודות מיועד לבצע פעולה אחת בכל פעם. כיצד אפשר לבצע רשימת פקודות או אפליקציות מורכבות ?
1 מבוא למדעי המחשב מבנה של תכנית. 2 מבנה של תכנית – חלוקה לקבצים  תכנית בשפת C הינה אוסף של הגדרות של:  משתנים (חיצוניים)  פונקציות  ניתן לפרוש תכנית.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
דוד שוורץ, עידן זק, נטע צור וחיה כהן. הפונקציונאליות:  המשתמש בוחר קובץ שעליו הוא רוצה לבצע את האנליזה, ולוחץ עליו עם כפתור ימני בעכבר.  נפתח תפריט.
ברוכים הבאים למת"ם! אדמיניסטרציה מטרת הקורס: לימוד תכנון וכתיבת תוכניות מורכבות תוך שמוש בכלי פתוח תוכנה מתקדמים. אתר הבית:
Backpatching 1. תזכורת מתרגול קודם קוד ביניים - שפת הרביעיות שיטות לייצור קוד ביניים –שימוש בתכונת code –כתיבה ישירה ל-buffer של פקודות שיטות לתרגום מבני.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
ברוכים הבאים למת"ם! אדמיניסטרציה מטרת הקורס: לימוד תכנון וכתיבת תוכניות מורכבות תוך שמוש בכלי פתוח תוכנה מתקדמים. אתר הבית:
אתר הקורס: צוות הקורס: מרצה: אלדר פישר, טאוב
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תחשיב היחסים (הפרדיקטים)
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
אתר הקורס: צוות הקורס: פרופ' עודד שמואלי-
מבוא מורחב למדעי המחשב בשפת Scheme תרגול 10. אג'נדה שאלות מבחינות חזרה על מימוש stream אפשרי 2.
מתמטיקה בדידה תרגול 2.
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
(C) סיון טל גילוי מידע וזיהוי תבניות תרגול מס. 9 גילוי מידע וזיהוי תבניות תרגול מס. 9 דחיסת נתונים מהו קידוד תכונות של קידודים אי - שוויון קרפט.
1 מבוא למדעי המחשב backtracking. 2 מוטיבציה בעיית n המלכות: נתון: לוח שחמט בגודל. המטרה: לסדר על הלוח n מלכות כך שאף אחת לא תאיים על השנייה. דוגמא: עבור.
Text to speech In Mobile Phones איתי לוי. הקדמה שימוש בהודעות טקסט על המכשירים הסלולארים היא דרך תקשורת מאוד פופולארית בימינו אשר משתמשים בה למטרות רבות,
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Operating Systems Practical Session 10 File Systems 1.
תכנות מכוון עצמים ושפת ++C וויסאם חלילי. TODAY TOPICS: 1. Function Overloading & Default Parameters 2. Arguments By Reference 3. Multiple #include’s 4.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
. Sequence Alignment Tutorial #3 © Ydo Wexler & Dan Geiger.
יסודות מערכות פתוחות ג ' בארה אחמד המכללה האקדמית נתניה The Awk Utility.
1 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Tirgul 12 Trees 1.
Formal Specifications for Complex Systems (236368) Tutorial #1
קבצי script ניהול תהליכים ב-UNIX
כתיבת תסריטים ב-bash בקרת תהליכים ב-UNIX שאלות ממבחנים
SQL בסיסי – הגדרה אינדוקטיבית
תירגול 14: מבני נתונים דינאמיים
שאלות ממבחנים - ADT שאלות ממבחנים - C-Shell
Computer Programming Fall 2012 תרגול
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
תזכורת על מה דיברנו שיעור שעבר? בנינו אתר אינטרנט עם כותרות
תרגול Introduction to C - Fall Amir Menczel.
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

שאלות ממבחנים לי-טל משיח

מבחן כתוב תוכנית ב - cshell ששמהarrange אשר מעבירה קבצים מהמדריך הנוכחי (שאינם מדריכים) לתוך תת-מדריכים לפי הכללים הבאים: לכל קובץ שאינו מדריך, 1.אם קיים תת-מדריך למדריך הנוכחי ששמו זהה ל-4 האותיות הראשונות בשם הקובץ, הקובץ יועבר לתוך המדריך. (שים לב שהכוונה להעברת הקובץ ולא להעתקתו). 2.אם תנאי 1 לא מתקיים, וקיימים לפחות שני קבצים נוספים במדריך הנוכחי שאינם מדריכים, כך ש-4 האותיות הראשונות בשמם זהות ל-4 האותיות הראשונות בשם הקובץ, התוכנית תיצור תת-מדריך חדש ששמו זהה ל-4 האותיות הראשונות בשם הקובץ, והקובץ יועבר לתוך תת-מדריך זה.

מבחן דוגמה: אם במדריך הנוכחי קיימים הקבצים הבאים: file1 file2 file3 prog1 prog2 prog script1 script2 כאשר רק הקובץ prog הינו מדריך, file1prog1prog2progscript1script2file2file3

מבחן אזי לאחר הפעלת התוכנית arrange במדריך הנוכחי, יהיו הקבצים הבאים במדריך זה: file script1 script2 prog כאשר רק file ו – prog הינם מדריכים. במדריך file יהיו הקבצים file1 file2 file3, ובמדריך prog יהיו הקבצים prog1 ו - prog2 (בנוסף לקבצים שהיו בתוכו לפני הפעלת התוכנית arrange). file1 file prog1 prog2 progscript1 script2 file2file3

מבחן הנחות: 1.ניתן להניח שבמדריך הנוכחי לא קיימים קבצים ששמם מתחיל ב - temp. 2.ניתן להניח שמותר לבצעoverwrite לקבצים קיימים במידה ויש צורך בכך. 3.בפתרון מותר להיעזר בקובץ ביניים אחד ולא יותר.אין הגבלה על מספר קבצי ה- script.

פתרון ראשון #!/usr/local/bin/tcsh -f foreach f (*) if (-f $f) then set a = `echo $f | cut -c1-4` echo $a >>! temp_file endif end foreach f (*) if (-f $f) then set a = `echo $f | cut -c1-4` if (-d $a) then mv $f $a else set b = `grep $a temp_file| wc -l` if ($b > 2) then mkdir $a mv $f $a endif end נשמור בקובץ בשם temp_file את 4 האותיות הראשונות בשמו של כל קובץ. לאחר מכן נעבור על כל הקבצים מחדש ונעבירם למדריך ששמו כארבעת האותיות הראשונות בשמם, אם קיים כזה מדריך או שישנם יותר משני קבצים אשר שמם מתחיל באותן ארבע אותיות.

פתרון שני arrange #!/usr/local/bin/tcsh -f FirstFourLetters | sort | uniq –c | MakeDirs InsertToDirs FirstFourLetters #!/usr/local/bin/tcsh -f foreach F (*) if (-f $F) then echo `$F | cut –c1-4` endif end ראשית ניצור "רשימה" שתכיל את ארבעת האותיות הראשונות בכל קובץ (FirstFourLetters). לאחר מכן נספור את התחיליות. עבור כל תחילית אשר מופיעה יותר מפעמיים נייצר מדריך כשם התחילית, במידה שלא קיים עדיין, (MakeDirs). בסופו של דבר נעביר כל קובץ אשר קיים מדריך ששמו כארבע האותיות הראשונות בשם הקובץ ל directory זה.

פתרון שני MakeDirs #!/usr/local/bin/tcsh -f set line = ($<) while ($#line >0) if ($line[1] > 2) then if !( -d $line[2] ) then mkdir $line[2] endif set line = ($<) end InsertToDirs #!/usr/local/bin/tcsh -f foreach F (*) if (-f $F) then set init = `echo $F | cut –c1-4` if (-d $init) then mv $F $init endif end ראשית ניצור "רשימה" שתכיל את ארבעת האותיות הראשונות בכל קובץ (FirstFourLetters). לאחר מכן נספור את התחיליות. עבור כל תחילית אשר מופיעה יותר מפעמיים נייצר מדריך כשם התחילית, במידה שלא קיים עדיין, (MakeDirs). בסופו של דבר נעביר כל קובץ אשר קיים מדריך ששמו כארבע האותיות הראשונות בשם הקובץ ל directory זה.

מבחן מועד ג' סמסטר אביב 06 חברת Moogle, שהחליטה זה מכבר לפתוח סניף בחיפה, הכריזה על יום ראיונות בפקולטה למדעי המחשב בטכניון (אשר בהם יכולים להשתתף רק בוגרי קורס מת"ם כמובן). במהלך הראיונות נוכחים מספר מראיינים ובינהם גם מנהל Moogle. כל מראיין נותן ציון למרואיין בין 0 ל-100. הציון הסופי יקבע ע"י שיקלול כל הציונים. למנהל יש זכות וטו ולא יתכן כי יתקבל לעבודה מרואיין שהמנהל החליט לא לקבל. בסיום הראיונות כל מראיין מכין קובץ בפורמט הבא על האנשים אותם הוא ראיין: כאשר השדות מופרדים זה מיזה בטאבים. שם הקובץ הינו.grades. FULL NAME<>GRADE<

מבחן מועד ג' סמסטר אביב Moshe Levi Shimon Cohen David David Moshe Levi David David-NO Shimon Cohen80 דוגמה לקובץ בשם :eyal.grades הקובץ של מנהל Moogle יקרא Moogle.grades ויכול להראות כך:

מבחן מועד ג' סמסטר אביב 06 עליכם לכתוב סקריפט בשם BestToWork אשר ינתח את הקבצים הללו ויחזיר את קבוצת המרואיינים הטובים ביותר. הסקריפט יקבל כפרמטר את מס' מקומות העבודה הפנויים ויחזיר מס' שכזה של מרואיינים מצטיינים ממויינים לפי מידת ההצלחה. במיקרה שאין מספיק מרואיינים שהתראיינו / עברו את הראיון, תוחזר הודעה: “not enough interviewees” לדוגמה, עבור שורת ההרצה:BestToWork 2 על שני הקבצים שבדוגמה, נקבל: 1) Shimon Cohen 2) Moshe Levi

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

פתרון #! /bin/tcsh -f if (`cat Moogle.grades | grep -v "\-NO\-" | wc -l` < $1) then echo "not enough interviewees" else cat Moogle.grades | grep -v "\-NO\-" | CalcGrades | \ sort -n -r -k 4 | PrintBest | head -$1 endif BestToWork:

המשך פתרון #! /bin/tcsh -f set line = ($<) while (${#line} != 0) set grade = `cat *.grades | grep $line[1] | CalcOneGrade` echo $line[1] $line[2] $line[3] $grade set line = ($<) end CalcGrades:

המשך פתרון #! /bin/tcsh -f set line = ($<) set total_grade = 0 while (${#line} != total_grade+= `echo $line | cut -d” “ -f4` set line = ($<) end echo $total_grade CalcOneGrade:

המשך פתרון #! /bin/tcsh -f set line = ($<) set num = 1 while (${#line} != 0) echo "${num}) $line[1] $line[2] num++ set line = ($<) end PrintBest:

מבחן מועד א' סמסטר אביב 06 לאחרונה התקבלו תלונות רבות על כך שקיימים דפים באתר הפקולטה שהלינקים היוצאים מהם הינם לינקים שבורים, כלומר לינקים אשר מצביעים לדפים שאינם קיימים. ברצוננו לעבור בצורה אוטומטית על כל הדפים באתר הפקולטה ולהפיק דו"ח על כל הדפים הלא תקינים. לצורך כך יש לעבוד עם קבצי html כקבצי טקסט. לינק בדף html ניתן לזהות באופן הבא: כאשר דף X מצביע לכתובת Y, יופיע בקוד ה- html של דף X: תווים נוספים עשויים להופיע לפני ואחרי ה-string הנ"ל. ניתן להניח (לצורך פשטות), כיstring שכזה עשוי להופיע רק פעם אחת בשורה. href="Y"

מבחן מועד א' סמסטר אביב 06 להלן דוגמה של חלק מתוכן קובץ html של דף מסוים מאתר הפקולטה (הקוד המתאר לינקים מודגש וניתן לראות כי מדף זה יש לינקים ל-3 כתובות באינטרנט). Technion Haifa

מבחן מועד א' סמסטר אביב 06 לצורך הבדיקה האם בכתובת האינטרנט אכן קיים דף עליכם להשתמש בסקריפט קיים שהוכן מראש בשם check_link. סקריפט זה מקבל כתובת של דף באינטרנט ובודק האם דף זה אכן קיים. לדוגמה, הפקודה: check_link תדפיס SUCCESS במיקרה שהדף בכתובת קיים. במידה והדף אינו קיים, יודפס ERROR: PAGE NOT FOUND. עליכם לכתוב סקריפט בשם check_web_pages. סקריפט זה יקבל כפרמטר שם של קובץ המכיל רשימת קבצי html לבדיקה וידפיס עבור כל קובץ לא תקין את מספר הלינקים הלא תקינים מכלל הלינקים בדף. במקרה וקיים בדף לינק אשר חוזר על עצמו, יש לספור אותו פעם אחת בלבד (שימו לב שגם הלינק הבא יחשב כחוזר על עצמו: ו- ( השורות יודפסו בסדר ממויין לפי מס' הלינקים השבורים מהגדול לקטן. שמות קבצי ה-html התקינים לא יודפסו.

מבחן מועד א' סמסטר אביב 06 idex.html courses.html staff.html graduate_students.html graduate_students.html: 7 broken links out of 231 courses.html: 2 broken links out of 123 לדוגמה עבור הקובץ technion_webs.txt המכיל: הפלט של הפקודה: check_web_pages technion_webs.txt כאשר רק לקבצים courses.html ו- graduate_students לינקים שבורים הינו:

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

פתרון CheckWebPages #! bin/tcsh -f cat $1 | PrintLinksSummary | sort -k 2 -n -r PrintLinksSummary #! bin/tcsh -f set page = ($<) while (${#page} != 0) set num_links = `cat $page | GetLinks | sort -f -u | CountLinks` if ($num_links[1] != 0) then printf "%s: %s broken links out of %s\n“ \ $page $num_links[1] $num_links[2] endif set page = ($<) end

המשך פתרון GetLinks #! bin/tcsh -f set line = ($<) while (${#line} != 0) foreach word( $line ) if ($word =~ href=*) then echo $word | cut -c6- | cut -d">" -f1 endif end set line = ($<) end

המשך פתרון CountLinks #! bin/tcsh -f set total_links = 0 set broken_links = 0 set link = ($<) while (${#link} != total_links ++ if(`check_links $link` =~ *ERROR*) broken_links ++ endif set link = ($<) end echo $broken_links $total_links