Professional Documents
Culture Documents
יסודת 100-200
יסודת 100-200
{
התנאי שאנחנו בודקים ( if בתוך הלולאה
ערך המונה counterגדל ב 1
)מתקיים כאשר התנאי מתקיים
;//counter = counter +1
;counter ++
אחרי הלולאה
} הצגת ערך המונה כפלט או
שימוש בו בחישובים נוספים
;)Console.WriteLine(counter
class Program
{
static void Main(string[] args)
{ :מעל ללולאה
int BikeOwners = 0; הגדרת המונה
for (int i = 1; i <= 20; i++) אתחול המונה
{
}
}
class Program
{
static void Main(string[] args)
{
int bikeOwners = 0;
for (int i = 1; i <= 20; i++)
{
Console.WriteLine("Student #" + i + " do you have bike? (y/n)");
String hasbike = (Console.ReadLine());
}
}
}
Min
מינימום Min = 3450
תורן
מציאת ערך המינימום
אם
תנאי Min = 3450
מציאת ערך המינימום
Min = 3399
מה נשנה באלגוריתם שלנו כדי למצוא
את המקסימום?
התנאי למקסימום:
אם המחיר גבוה התנאי למינימום:
אם המחיר נמוך
מהמקסימום התורן Max
מהמינימום התורן Min
שמור את המחיר בתור
שמור את המחיר בתור Min
Max
בכמה פעולות תנאי השתמשנו?
Int count = 0, n = 0;
while (count < 3)
{
Console.WriteLine("enter n");
n = int.Parse(Console.ReadLine());
if (n % 2 == 0)
count ++;
}
לולאה אין סופית
;n = 0
)while (n <10
while ,כאשר יוצרים לולאת
)Consle.WriteLine(n
עלינו למנוע מצב של לולאה
אין סופית
לולאת זקיף
זקיף :נתון קלט חריג שקליטתו וזיהויו מסמנים את סיום תהליך
הקלט
דוגמאות
סוף סדרת שמות "" " :משה" "רבקה" "דויד" "שרה" ""
סוף סדרת ציונים -1 87 80 100 90 : -1
דוגמא
לולאת מעבר חוסם
כתוב תוכנית המקבלת כקלט מספר שלם ומציגה כפלט את מספר
הספרות של המספר
סיכום
כתבו קטע קוד הקולט מספרים חיובים עד אשר ייקלט מספר שלילי .יש להדפיס את המספרים החיובים שנקלטו.
לפניכם קטע קוד .הריצו ובידקו מה הקוד מבצע .מה תפקיד 2המשתנים בקוד.
כתבו קטע קוד אשר קולט מספרים חיוביים עד אשר נקלט מספר שלילי .יש להדפיס את סכום המספרים.
הערה :ניתן להשתמש בקוד המצורף בסעיף קודם.
sum = 0
num = 0 יש לשנות רק את תנאי העצירה של הלולאה.
while num >= 0: תנאי העצירה – קלטנו מספר שלילי.
sum += num
))'num = int(input('Enter number
)print ('Total: ',sum
לולאות מקוננות
לולאות מקוננות
לולאות מקוננות
לולאות מקוננות
תרגול –
עמוד 168תרגיל 14מספר מושלם
פעולות סטטיות
מהי פעולה?
כתבו פעולה אשר מקבלת שני מספרים ומחזירה את המקסימלי מביניהם
כתבו פעולה אשר מקבלת מספר ומחזירה אמת/שקר האם מתחלק בשלוש
זימון פעולה
יש להבדיל בין הגדרת הפעולה לבין זימון הפעולה
זימון הפעולה )קריאה לפעולה( ייעשה לרוב מהתכנית הראשית
זימון פעולה דומה לאופן שבו השתמשנו בפעולות :Math
כיצד משתמשים בערך המוחזר מהפעולה:
הדפסת הערך:
השוואה:
הגדרת פעולה לעומת זימון פעולה
הגדרת פעולה כוללת:
כותרת הפעולה – שם ,פרמטרים אשר מקבלת,
האם מחזירה תוצאה כלשהי
גוף הפעולה עצמה – סדרת פקודות אשר
הפעולה אמורה לבצע
זימון פעולה:
לאחר הגדרת הפעולה ניתן לזמן אותה )לקרוא לה(
הזימון יכול להתבצע מתוך הפעולה הראשית או מתוך כל
פעולה אחרת
תרגול – זימון פעולה
הפעולה public static int Factorial (int n) :מחשבת את !) nעצרת( .כתוב
זימון מתאים לחישובים הבאים:
!5
!num
!)(n1-n2
!a!+b
תרגול
כתבו תכנית אשר קולטת 3מספרים מהמשתמש ,מחשבת את סכומם ומדפיסה האם
תזכורת:
כתבו פעולה אשר מקבלת מספר ומחזירה אמת/שקר האם מתחלק בשלוש
ההבדל בין פרמטרים ובין משתנים מקומיים:
פרמטרים הם משתנים המוגדרת בכותרת הפעולה
מהזימון עצמו:
למשתנים מקומיים המוגדרים בתוך הפעולה אין "כל קשר" למשתנים בפעולות אחרות
ערכו של משתנה המופיע במשפט זימון הפעולה לא משתנה עקב זימון הפעולה
בזימון הפעולה מעבירים ערכים לפרמטרים – הערכים יכולים להיות של קבוע ,משתנה
כתבו פעולה אשר מקבלת מספר ומדפיסה את כל המספרים הקטנים ממנו אשר מתחלקים
ב7-
כתבו פעולה אשר מקבלת מספר מ 1-עד 12ומדפיסה את החודש שמייצג אותו
תרגול נוסף:
שאלה :1
א .כתבו פעולה שמקבלת מספר שלם וחיובי ,ומחזירה trueאם הספרה 5מופיעה במספר.
ב .כתבו פעולה ראשית שתקלוט מספר טבעי ,תזמן עבורו את הפעולה מסעיף א ותדפיס את הערך שהוחזר
מהפעולה.
שאלה :2
א .כתבו פעולה המקבלת זמן בשני פרמטרים המייצגים שעות ודקות ומחזירה את משך הזמן הכולל בדקות
ב .כתבו פעולה המקבלת שני זמנים -כל זמן מיוצג ע"י שני משתנים )שעות ודקות( ,ומחזירה את הפרש
הזמנים בדקות) .היעזרו בפעולה מסעיף א(
ג .כתבו תכנית המקבלת כקלט את זמן תחילת העבודה של עובד ואת זמן סיום העבודה של עובד בכל אחד מ-
30ימי החודש .פלט התכנית הוא מספר היום שבו עבד העובד את הזמן הרב ביותר )היעזרו בפעולה מסעיף
ב' (
תכנות מונחה עצמים
OBJECT ORIENTED PROGRAMMING
תוכן עניינים
תרגילים
השלמות
מבנה הזיכרון – הפניות o
הכנסת
שם פרטי
פרטי
לקוח
לקוח
שם משפחה
הדפסת
יצרן
פרטי
כלי רכב מכונית
דגם/מודל
הכנסת
פרטי
מכונית
הדפסת
פרטי
לקוח
תכנות פרוצדורלי -חסרונות
אין קשר בין המשתנים לפעולות ובין הפעולות לבין עצמן .הם יושבים היכן שהוא בקוד של התכנית .
אם בעתיד נרצה לתקן שגיאה או להחליף פעולה נצטרך לחפש היכן השגיאה ומי בנוסף משתמש
בפעולה ובאיזה הקשר .
כאשר התכנית נהיית גדולה מאוד ,יותר קשה לאתר באגים .מאוד קשה לשנות או להוסיף דברים
לפעולות .מאוד קשה לתחזק את התכנית )נניח במקרה שהמפתח עוזב ומישהו אחר צריך לתחזק(
תכנות מונחה עצמים – נבנה ישויות
Customer Car
FirstName Manufactur
er
LastName Model
input input
Displa Displa
y y
אם קיים באג בנוגע ללקוח אנו נדע לאתר בייתר קלות את המקום שמטפל בלקוח ולתקן אותו .ניתן אפילו
להחליף את כל התיאור של לקוח ולכתוב מחדש – הקוד מודולארי ) .כמו תיקון של חלק במכונית
/טלוויזיה /מקרר( .
אם קיים צורך ניתן להוסיף ישות חדשה .ישות כזו היא נפרדת ומייצגת את עצמה ולא מפריעה לישויות
הקיימות .כל רעיון ,שם עצם ,תפקיד שקיים בתכנית ניתן לייצוג באמצעות ישות נפרדת
תכנות מובנה עצמים – סיכום למה
קרובות יותר לשיח האנושי ,למציאות האמיתית ולעולם המושגים של הבעיה הנפתרת.
לכל עצם יש תכונות המתארות אותו ופעולות שניתן לבצע עליו .
טלפון סלולארי הוא עצם שיש לו תכונות כמו מספר-מנוי ,חברה מפעילה ,זיכרונות ,סוללה,
המספרים .על הטלפון ניתן לבצע פעולות כמו לשלוף מספר מהזיכרון ,לחייג ,לסיים שיחה
ולבדוק את מצב הסוללה.