· עיוני
- 60 שעות
· מעשי
- 30 שעות
היחידה נועדה הן לתלמידי הרמה
הרגילה והן לתלמחדי הרמה המוגברת.
לתלמידי הרמה המוגברת נוספו
תכנים המהווים דרישת קדם ליחידה "עיצוב תכנה" שהיא חובה לתלמידי הרמה
המוגברת.
· להעמיק
ולהרחיב את החומר שנלמד ב"יסודות מדעי המחשב 1".
· להוסיף
כלים לפיתוח ולמימוש אלגוריתמים, למשל פרוצדורות, רקורסיה ומערכים רב-ממדיים.
· להעמיק
את הדיון בנושאי נכונות ויעילות.
· להציג
אלגוריתמים לבעיות חשובות (למשל
מיון), המשמשות אמצעי למידה והדגמה לנושאים שנלמדו.
|
מעשי |
עיוני |
פרקי הלימוד |
|
-- |
8 |
פרק 1 - פיתוח אלגוריתמים |
|
10 |
8 |
פרק 2 - פרוצדורות |
|
4 |
6 |
פרק 3 - תווים, מחרוזות ופעולות עליהן |
|
6 |
18 |
פרק 4 - בעיות אלגוריתמיות מתקדמות |
|
-- |
10 |
פרק 5 - יעילות ונכונות של אלגוריתמים - הרחבה |
|
6 |
8 |
פרק 6 – טיפוסים ומבוא למבני-נתונים |
|
4 |
2 |
פרק 7 – יחידת ספריה |
|
30 |
60 |
סה"כ |
נבחרה שפת פסקל כסביבת העבודה
להמחשת העקרונות העיוניים של היחידה. קיימים מהדרים שונים של שפת פסקל עבור
פלטפורמות שונות ( למשל, עבור DOS, חלונות, UNIX). היחידה נכתבה בצורה גנרית ללא תלות במהדר
זה או אחר.
· האונ'
הפתוחה (1987), מבוא למדעי המחשב ושפת פסקל.
· E. Koffman (1992), Pascal: Problem solving and program
design, 4th Ed,
Addison-Wesely
· J.S.Rohl (1984),Recursion via Pascal, Cambridge
University Press.
· R. Sedgwick (1988), Algorithms, 2nd edition,
Addison-Wesely.
· N. Wirth, K. Jensen (1988), Pascal: User manual and
report, 3rd Ed., Springer-Verlang.
מטרת
הפרק
· לתרגל
ולהעמיק בניתוח בעיה ובפתרונה.
פירוט
התכנים
ניתוח
בעיה מורכבת יותר ופיתוח פתרונה בשלבים מלמעלה למטה (top-down); תכנות מודולרי.
מטרות
הפרק
· להבין
שהפרוצדורה היא אמצעי נוסף לפתרון
בעיה בעזרת תתי -בעיות.
· להעמיק
את הידע בנושא פרוצדורות ופונקציות
וההבדלים ביניהן.
פירוט
התכנים
שימוש בפרוצדורה כפתרון לתת-בעיה; סוגי פרמטרים; הצהרת
פרוצדורה; קריאה לפרוצדורה; חזרה על פרמטר ערך; פרמטר משתנה; scope של משתנה; תיעוד של פרוצדורה, כולל ציון
טענות הכניסה ויציאה לפרוצדורה.
הערה: יש לקשור לכאן את הנלמד בפרק 8 של "יסודות
מדעי המחשב 1" ולעמוד על ההבדלים שבין פרוצדורה לבין פונקציה.
מטרת
הפרק
· להקנות כלים לפתרון בעיות לעיבוד טקסט.
פירוט
התכנים
מחרוזות;
יחס סדר מילוני; ייצוג מחרוזות כמערכי תווים; בניית אלגוריתמים עבור מחרוזות.
המחרוזת
היא מערך של תווים; דחיסת התווים על ידי packed
או על ידי שימוש בטיפוס לא-תקני ( למשל על ידי string ).
אורך
מחרוזת, השוואת מחרוזות, העתקת מחרוזות, מחיקת מחרוזות, שרשור מחרוזות, מציאת תת
מחרוזת.
מטרות
הפרק
· להכיר
את בעיית המיון והמיזוג ואלגוריתמים שונים לפתרונן.
· לתרגל
ולהעמיק בנושאים הנלמדים ביחידה.
פירוט
התכנים
חיפוש ומיון; מיזוג מערכים ממוינים; בעיות נוספות, כולל
כאלה המשתמשות במספרים אקראיים.
הערות: יש לשלב כאן פרוצדורות ופונקציות מערכת נוספות
שטרם נלמדו ככלי עזר לפתרון הבעיות הנ"ל.
יש
ללמד שתי שיטות חיפוש: עם זקיף וחיפוש בינרי. תלמידי הרמה המוגברת ילמדו לפחות שתי שיטות מיון, מיון דחיפה
ומיון בועות. חיפוש בינרי ילמדו רק תלמידים ברמה המוגברת.
פרק 5 : יעילות
ונכונות של אלגוריתמים - הרחבה ( 10 שעות )
פרק רשות לתלמידי הרמה הרגילה
(3 י"ל). חובה לתלמידי הרמה המוגברת.
מטרות
הפרק
· להעמיק
בלימוד נושא היעילות והנכונות של אלגוריתמים.
· ללמוד
כלים ושיטות לניפוי שגיאות.
פירוט
התכנים
ספירת מספר הביצועים של פעולות עיקריות בהתאם לסוג הבעיה (למשל: במיון - מספר
ההשוואות; בבדיקת ראשוניות - מספר פעולות הכפל והחילוק); ניפוי של חלקי תכניות
לפני הרכבתם לתכנית אחת; ניפוי חלקי תכניות על-ידי שימוש בפיגומים (תכנית עזר).
שימוש בכלים ממוחשבים לניפוי שגיאות.
הערה: בעת בניית האלגוריתם לפתרון בעיה יש לקשר בין
פירוק בעיה לתת-בעיות לבין בדיקת הנכונות של האלגוריתם על חלקיו.
מטרות
הפרק
· להכיר
את המושג 'טיפוס נתונים'.
· להכיר את מבנה הנתונים 'רשומה'.
· לבנות
מבנים מורכבים.
פירוט
התכנים
המושג טיפוס: הצהרת טיפוס, טיפוס מפורט.
מבני
נתונים מורכבים: מערכים. רשומות
ושילובם; שדה ברשומה; הגדרת רשומות; גישה לשדה בתוך רשומה; קליטה לתוך רשומה.
הגדרת מערך דו-ממדי; מציינים למערך דו-ממדי.
הבהרה:
במערך חד ממדי
כלולות גם הפעולות הבאות: השוואה
בין מערכים ממוינים, מיזוג מערכים ממוינים, חיפוש סדרתי למציאה או הוספה של איבר, פיצול
מערך ל- 2 מערכים, בניית מערך חלקי, לדוגמה: נתון מערך ממוין עם חזרות – יש לבנות מערך ללא חזרות
במערך דו ממדי
כלולות גם הפעולות הבאות: חיפוש סדרתי לפי שורות ולפי עמודות, בדיקת מיון בשורות,
עמודות ואלכסונים ראשיים, בדיקת לקיום תנאי בשורות, עמודות ואלכסונים ראשיים, השוואת
שורה או עמודה למערך חד מימדי, הוספת שורה או עמודה למערך
הערה:
תלמידי הרמה המוגברת ילמדו גם קבצים של רשומות תוך הדגשת נושאים אלה: גישה סדרתית; אורך לא חסום; קבצים
כזיכרון עמיד; זמן גישה והשפעה על זמני ביצוע של תכנית.
לתלמידי
הרמה הרגילה כפרק רשות.
מומלץ
לתלמידי הרמה המוגברת לבצע בחופשת הקיץ עבודה מסכמת ליחידת הספרייה אשר תכיל מבני
נתונים מורכבים, ותת תוכניות עם פרמטרים.
מטרות הפרק
· לערוך היכרות מעמיקה עם יחידת
הספרייה בסביבת העבודה.
· לחדד את רעיון המודולריות של
מערכת תכנה באמצעות בנייה של יחידות ספרייה ושימוש בהן.
פירוט התכנים
בניית יחידת ספרייה בסביבת העבודה; משתנה פנימי; שגרה פנימית; קישור יחידת
ספרייה לתכנית.
מציינים
למערך דו-ממדי.