מצגת יעל והילה
Download
Report
Transcript מצגת יעל והילה
אורט אבין ,רמת-גן
תיכון רבין ,כפר-סבא
[email protected]
1
תיכון צפית ,כפר-מנחם
www.kadman.net
השינויים בתכנית הלימודים
מהות השינוי:
מעבר משפות תכנות פרוצדוראליות
pascalו C -לשפות תכנות מונחה עצמים
Javaו.C# -
מועד השינוי המתוכנן:
שנה"ל תשס"ז – התחלת הניסוי.
שנה"ל תשס"ט – החלפת השפות.
2
כיצד ללמד
גישה I
המשך הוראה בגישת יסודות,
השוני הוא בשפה בלבד.
גישה II
שינוי הפרדיגמה התכנותית,
מתכנות פרוצדוראלי לתכנות . OOP
3
בעיית המבוך – פרק ב שאלה 6
בגרות ,899222תשס"ג
בגן משחקים יש כניסה המובילה לשני מבוכים:
bigו.small -
המבוך bigמיועד לאנשים שגובהם 1.70מ' ומעלה,
והמבוך smallמיועד לאנשים שגובהם פחות מ-
1.70מ'.
כתוב תכנית שתקלוט את הגובה של כל אחד מהאנשים
המגיעים לכניסה ,ותדפיס את שם המבוך שאליו ייכנס.
התכנית תמנה ותדפיס את מספר האנשים שנכנסו לכל
אחד מהמבוכים ביום מסויים.
קליטת הגבהים של האנשים תסתיים כאשר ייקלט
הגובה .0
4
בעיית המבוך – אלגוריתם לפתרון
בגרות ,899222תשס"ג
מבוך
()1
()2
()3
()4
5
איפוס מוניםcountBig 0, countSmall 0 :
קלט :גובה מבקר height
כל עוד ,height ≠ 0בצע
( )3.1אם - height ≥ 1.70
( )3.1.1הדפס ”“big
( )3.1.2הגדל את countBigב1 -
( )3.2אחרת -
( )3.2.1הדפס“small” :
( )3.2.2הגדל את countSmallב1-
( )3.3קלט :גובה מבקר height
הצג כפלט את ערכי המונים.
Java -בעיית המבוך – הפתרון ב
תשס"ג,899222 בגרות
//--- 2003 - 899222 בגרות- 6 שאלה--//--מבוך
--public class Maze {
public static void main(String[] args) {
int countBig=0, countSmall=0;
double height;
height = InputRequestor.requestDouble ("\n"+"Enter Your Height (0 to finish)");
while (height != 0){
if (height >= 1.7){
OutputWindow.print(height+" Big"+"\n");
countBig++;
}
else{
OutputWindow.print(height+" Small"+"\n");
countSmall++;
}
height = InputRequestor.requestDouble ("\n"+"Enter Your Height (0 to finish)");
}
OutputWindow.println ("\n"+"Number of big peaple enterd to Mase is "+countBig);
OutputWindow.println ("Number of small peaple enterd to Mase is "+countSmall);
}
}
6
C# -בעיית המבוך – הפתרון ב
תשס"ג,899222 בגרות
public class maze {
static void Main (string[] args) {
int countBig=0, countSmall=0;
float height;
Console.WriteLine("Enter Your Height (0 to finish)");
height = float.Parse(Console.ReadLine());
while (height != 0) {
if (height >= 1.7) {
Console.WriteLine("{0} Big", height);
countBig++;
}
else {
Console.WriteLine("{0} Small", height);
countSmall++;
}
Console.WriteLine("Enter Your Height (0 to finish)");
height = float.Parse(Console.ReadLine());
}
Console.WriteLine("Number of big peaple enterd to Mase is {0}",countBig);
Console.WriteLine("Number of small peaple enterd to Mase is {0}",countSmall);
}
}
7
תכנית הלימודים – יסודות 2 + 1
יסודות :1
מבוא
מודל חישוב בסיסי
מבוא לפיתוח אלגוריתמים
ביצוע מותנה
נכונות של אלגוריתם
ביצוע חוזר
יעילות של אלגוריתם
פונקציות
מערכים חד-ממדיים
שילוב והרכבה של מבני בקרה
8
יסודות :2
פיתוח אלגוריתמים
פרוצדורות
תווים ומחרוזות
בעיות אלגוריתמיות מתקדמות
יעלות ונכונות של אלגוריתמים
טיפוסים ומבני נתונים
יחידת ספריה
תכנית הלימודים – יסודות 2 + 1
יסודות :1
מבוא
מודל חישוב בסיסי
מבוא לפיתוח אלגוריתמים
ביצוע מותנה
נכונות של אלגוריתם
ביצוע חוזר
יעילות של אלגוריתם
פונקציות
מערכים חד-ממדיים
שילוב והרכבה של מבני בקרה
9
יסודות :2
פיתוח אלגוריתמים
פרוצדורות
תווים ומחרוזות
בעיות אלגוריתמיות מתקדמות
יעלות ונכונות של אלגוריתמים
טיפוסים ומבני נתונים
יחידת ספריה
תכנית הלימודים – יסודות 2 + 1
יסודות :1
מבוא
מודל חישוב בסיסי
מבוא לפיתוח אלגוריתמים
ביצוע מותנה
נכונות של אלגוריתם
ביצוע חוזר
יעילות של אלגוריתם
פונקציות
מערכים חד-ממדיים
שילוב והרכבה של מבני בקרה
10
יסודות :2
פיתוח אלגוריתמים
פרוצדורות
תווים ומחרוזות
בעיות אלגוריתמיות מתקדמות
יעלות ונכונות של אלגוריתמים
טיפוסים ומבני נתונים
יחידת ספריה
בעיית המבחן הארצי – פרק ג שאלה 10
בגרות ,899222תשס"ג
לקראת תחרות ארצית במדעי המחשב ,נערכה בחינת מיון ל-
1750תלמידים.
לתחרות הארצית יתקבלו תלמידים שציוניהם בבחינת המיון גבוה
מהציון הממוצע של כל הנבחנים בבחינה זו.
פתח אלגוריתם שיקלוט לכל מועמד רשומה הכוללת את הנתונים
האלה :שם ,כתובת ,מספר תעודת זהות ,שפת התכנות המועדפת
עליו (פסקל או )Cוציון בבחינת המיון.
האלגוריתם יציג כפלט שתי רשימות המכילות את שמות התלמידים
שיתקבלו לתחרות הארצית ,כתובותיהם ומספרי תעודות הזהות
שלהם.
הרשימה הראשונה תכלול את פרטי התלמידים ששפת התכנות
שלהם היא פסקל ,והרשימה השנייה תכלול את פרטי התלמידים
ששפת התכנות שלהם היא .C
11
בעיית המבחן הארצי – אלגוריתם לפתרון
בגרות ,899222תשס"ג
()1
()2
()3
קלט למערך הכללי
חישוב הציון הממוצע בבחינה avg
העברת כל התלמידים שציונם גבוה מavg-
ושפת התכנות שלהם היא פסקל ,למערך
מצטייני-פסקל.
העברת כל התלמידים שציונם גבוה מavg-
ושפת התכנות שלהם היא ,Cלמערך מצטייני.C-
הדפסת אברי מערך מצטייני-פסקל.
הדפסת אברי מערך מצטייני.C-
(*)
ניתן להדפיס את פרטי המצטיינים מבלי לשמור את הנתונים במערך.
()4
)) 5
()6
12
בעיית המבחן הארצי – קבצי הפתרון
תשס"ג,899222 בגרות
:C# קבצי
class StudentArr.cs
class contest
:Java קבצי
class StudentType.java
class Contest.java
13
רשומה/מבנה – אובייקט
14
טיפוס-תלמיד הוגדר בפסקל כרשומה וב C-כמבנה.
רשומה /מבנה הינו סוג של אובייקט (עצם).
אובייקט הינו מופע instanceשל מחלקה.
מחלקה classהינה ייצוג מופשט של טיפוס נתונים
שיש לו:
תכונות – attributesמשתנים/שדות הרשומה
ופעולות – methodsפונקציות שפועלות עליו.
רשומה/מבנה – אובייקט
ניתן להגדיר רשומה. בשפת C#
בשפת - Javaמושג הרשומה אינו קיים.
לא נוכל להימנע מלכתוב אובייקטים במידה
ונרצה לשמור על הרעיון של מבנים /רשומות.
15
התחרות כאובייקט
נפשט את הבעיה (של תרגיל :)10
נניח והמערך הוא מערך של ציונים (מערך של
מספרים שלמים) ולא של רשומות.
תרגיל 10עוסק בתחרות.
התחרות היא אובייקט.
16
התחרות כאובייקט
תכונות התחרות – רשימות הציונים.
פעולות של התחרות:
התחרות יודעת לאתחל את הרשימות שלה.
התחרות יודעת לקלוט את הציונים.
התחרות יודעת לחשב ציונים מנצחים.
התחרות יודעת להדפיס את המנצחים.
17
התחרות כאובייקט
אם רוצים לעשות סימולציה של "הדבר האמיתי",
יש להתחיל לחשוב מנקודת המבט של
האובייקט.
החלופות:
הוראה בשפה מונחת עצמים ללא אובייקטים,
ומכך -ללא סימולציות.
הוראת " OOPאמיתי".
התלמיד יחשוב OOPמהתחלה.
18
תכנות OOPבמבטא פרוצדוראלי
אחרת -יתקבל תכנות מונחה עצמים במבטא
פרוצדוראלי.
The Program Went Out Something
* Something. End Of The Road.
*
19
יצאה תכנית משהו משהו ,סוף הדרך.
תכנות OOPבמבטא פרוצדוראלי
דוגמא :1שימוש במחרוזת
מחרוזת היא אובייקט של המחלקה .String
פעולות על מחרוזת מופעלות דרך האובייקט:
;)(str.Length
;)str1.Equals(str2
הגדרת פעולות staticעל מחרוזת:
;)strDelete(str,5,3
20
תכנות OOPבמבטא פרוצדוראלי
דוגמא :2בדיקת תקינות תאריך
תכנות פונקציונאלי:
פונקציה המקבלת כפרמטר יום ,חודש ושנה:
;)valid = validate (day, month, year
פונקציה המקבלת תאריך:
;)valid = validate (today
OOP
התאריך בודק את עצמו:
;)(valid = today.validate
21
סכום ביניים
יסודות :1
מבוא
מודל חישוב בסיסי
מבוא לפיתוח אלגוריתמים
ביצוע מותנה
נכונות של אלגוריתם
ביצוע חוזר
יעילות של אלגוריתם
פונקציות
מערכים חד-ממדיים
שילוב והרכבה של מבני בקרה
22
יסודות :2
פיתוח אלגוריתמים
פרוצדורות
תווים ומחרוזות
בעיות אלגוריתמיות מתקדמות
יעלות ונכונות של אלגוריתמים
טיפוסים ומבני נתונים
יחידת ספריה
סכום ביניים
גישה I
המשך הוראה בגישת יסודות,
השוני הוא בשפה בלבד.
גישה II
שינוי הפרדיגמה התכנותית,
מתכנות פרוצדוראלי לתכנות . OOP
23
קשיים צפויים
:קושי שנובע ממבנה התכנית
. תכניות3-5 בבחינת הבגרות נדרש התלמיד לכתוב
:java-מבנה התכנית ב
public class mainClass {
public static void main(String[] args) {
…
}
}
:C# -מבנה התכנית ב
using System;
class MainClass {
public static void Main(string[] args){
…
}
}
24
קשיים צפויים
:"פלט "ארוכות/קושי שנובע מהוראות קלט
: java בשפת
x = InputRequestor.requestDouble (“…”);
OutputWindow.print(“…”);
:C# בשפת
x = int.Parse(Console.ReadLine());
Console.WriteLine(“…”);
25
קשיים צפויים
קושי שנובע מסביבת העבודה:
בשתי השפות ,סביבת העבודה מורכבת יותר.
יצירת פרוייקט חדש.
הוספת מחלקה קיימת לפרוייקט.
קשיים נוספים:
מוסכמות -מתי יש להשתמש באות גדולה ומתי לא.
תחביר – מתי יש לשים נקודה ומתי לא.
26
סיכום – הצעה לארגון מחדש של ת"ל
לפי הגישה האומרת שינוי בשפה בלבד:
יסודות – אלגוריתמיקה ,קלט/פלט ,מחרוזות ,מבני
בקרה ,מערכים חד-ממדיים ודו-ממדיים.
פונקציות staticתוך הקפדה של הפעלתן על
טיפוסים פשוטים בלבד (ללא סימולציות).
עיצוב תכנה – מחלקות ,אובייקטים ,שילוב של
אובייקטים והתקשורת ביניהם.
מבני נתונים מתקדמים.
יחידה – OOP - 5הורשה ופולימורפיזם.
27
סיכום – הצעה לארגון מחדש של ת"ל
לפי הגישה של שינוי בפרדיגמה התכנותית:
יסודות – אלגוריתמיקה ,קלט/פלט ,מחרוזות ,מבני
בקרה ,מערכים חד-ממדיים ודו-ממדיים.
אובייקט מהו ,שימוש באובייקט יחיד.
עיצוב תכנה – שילוב של אובייקטים והתקשורת
ביניהם .מבני נתונים מתקדמים.
יחידה – OOP - 5הורשה ופולימורפיזם.
28
29