תכנות פרוצדורלי - I
-
Upload
erasmus-lopez -
Category
Documents
-
view
31 -
download
0
description
Transcript of תכנות פרוצדורלי - I
I - תכנות פרוצדורלי
:מקור
Sethi, R. (1996). Programming Languages concepts & constructs, Addison-Wesley, 2nd Ed.
עבודה בקבוצות
סטודנטים. 3-4התחלקו לקבוצות של
אילו עקרונות לדעתכם מאפיינים את תכנות 1.
פרוצדורלי?
חברו בעיה שבפתרונה מבוטאים העקרונות 2.
שניסחתם.
עבודה בקבוצות
סטודנטים. 3-4התחלקו לקבוצות של
אילו עקרונות לדעתכם מאפיינים את תכנות 1.
פרוצדורלי?
חברו בעיה שבפתרונה מבוטאים העקרונות 2.
שניסחתם.
פתרו את הבעיה בפרדיגמות תכנותיות אחרות 3.
והסיקו מסקנות.
עיצוב התוכנית: הבניה structured programming
שאלהכתבו תוכנית הקולטת מטריצת מספרים ומחזירה
את מספר השורה שבה טווח המספרים הוא הגדול ביותר.
שאלה אם הספרות מספר קסם: מספר שלם הוא הגדרה
המרכיבות אותו יוצרות סדרה לא יורדת ואחריה סדרה לא עולה (כל אחת מהסדרות יכולה להיות ריקה).
.1532, 246541, 13889, 4למספרי קסם: דוגמאות
.15328, 1324דוגמאות למספרים שאינם מספרי קסם:
כך ש-i שקיים בו אינדקס מערך קסם: מערך הוא הגדרה
(arr[0]<arr[1]<…<arr[i]) and ( arr[i]> arr[i+1] > … > arr[n-1] )
) i=n-1 או i=0 יתכן )
.int a[ ] = {0, 3, 4 , 43, 15, 1 }לדוגמה :
הינה מטריצה שכל מטריצת קסםהמספרים בה הם מספרי קסם, וגם כל
השורות והעמודות הם מערכי קסם.
כתוב תוכנית הקולטת מטריצת מספרים
שלמים ובודקת האם זוהי מטריצת קסם.
נכונות
טבלאות מעקב ומגבלותיהןשאלה
כתבו תוכנית הקולטת מטריצת מספרים בגודל ומחזירה את סכום איברי המטריצה 3*3
המשולשת התחתונה.
invariantsאינווריאנטות שאלה
כתבו פונקציה המקבלת מערך מספרים ומסדרת אותו בצורה הבאה: כל המספרים הזוגיים
יופיעו בתחילת המערך וכל המספרים האי זוגיים יופיעו בסוף המערך.
(סדר המספרים אינו חשוב).
- המשךinvariantsאינווריאנטות שאלה
כתבו פונקציה המקבלת מחרוזת ובודקת האם הוא פולינדרום.
מקרי קצהשאלה
כתבו פונקציה המקבלת מחרוזת המורכבת מספרות וכוכבים. הפונקציה מחירה את סכום המספרים המרכיבים את המחרוזת. ידוע שבין
כל שני מספרים ישנו רצף של כוכבים.
דוגמה למחרוזת: 123***22*13***1****5554***
efficiencyיעילות שאלה
כתבו פונקציה המקבלת מערך ממוין של . הפונקציה x ומספר שלם aמספרים שלמים
?a נמצא ב xעונה על השאלה הבאה: האם
שני פתרונות: חיפוש לינאריO(n) חיפוש בינאריO(log n)