1 / 38

יסודות מדעי המחשב 1

יסודות מדעי המחשב 1. שעור 2. מהו מחשב. מחשב מכונה אלקטרונית הקולטת נתונים , מעבדת אותם ופולטת מידע הנוצר בתהליך העיבוד . קלט הנתונים שקולט המחשב פלט המידע שפולט המחשב העיבוד המבוצע במחשב מונחה על ידי אוסף הוראות הנקרא תוכנית מחשב. דוגמאות. קניית כרטיסים לסרט בקופה

Download Presentation

יסודות מדעי המחשב 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. יסודות מדעי המחשב 1 שעור 2

  2. מהו מחשב • מחשבמכונה אלקטרונית הקולטת נתונים, מעבדתאותםופולטתמידע הנוצר בתהליך העיבוד. • קלט הנתונים שקולט המחשב • פלט המידע שפולט המחשב • העיבוד המבוצע במחשב מונחה על ידי אוסף הוראות הנקרא תוכנית מחשב

  3. דוגמאות • קניית כרטיסים לסרט בקופה • קלט: מספר הכרטיסים, פלט:כרטיסים מסומנים • הגדרת תנועת אנימציה • קלט:נקודות התחלה וסיום, פלט: תנועת הדמות • עיבוד תלוש משכורת • קלט:פרטי עובד+ימי עבודה, פלט: תלוש משכורת אחרונה • חישוב מסלול תעופה של טיל • קלט: מקום השיגור, זמן, מהירות רוח, מהירות הטיל • פלט: נקודת נחיתה, מסלול

  4. דוגמאות נוספות הביאו דוגמאות נוספות

  5. מאפייני המחשב • מגוון שימושים רחב • ביצוע מהיר ומדוייק • נפח איכסון גדול • ניטרול רגשות • פלט שגוי תוצאה של קלט שגוי או תוכנה שגוייה • מהי תוכנה שגוייה?

  6. תוכנה שגוייה? • תוכנה שגוייה אינה מבצעת את העיבוד הדרוש • התוכנה נכתבת על ידי אנשים שעלולים לטעות • דוגמא: חישוב ממוצע של מספרים: • סיכום n המספרים בקלט וחלוקה ב n-1

  7. מרכיבי המחשב • חומרה: • הרכיבים הפיסיים שמרכיבים את המחשב • תוכנה: • אוסף תוכניות המחשב

  8. חומרה

  9. יע"מ (CPU) • היא ה״מוח של המחשב״. • מבצעת את ההוראות בתוכניות המחשב, • הוראות לביצוע פעולות חישוב, • פעולות השוואה , התנייות ובקרה • פונה אל הזיכרון ואל אמצעי הקלט והפלט

  10. הזיכרון • מורכב מאוסף גדול מאוד של תאים. • לכל תא בזיכרון מותאם מספר סידורי, הנקרא מען (כתובת). address • יחידת העיבוד המרכזית משתמשת במידע השמור בזיכרון ולעתים משנה אותו, • הפנייה לתאי הזיכרון: על ידי המען שלהם. address • יש שני סוגי פניות לזיכרון: • כתיבת מידע בזיכרון : למחיקת מידע ולשמירת מידע חדש במקומו • קריאת מידע מהזיכרון.: העברת המידע מהזיכרון אל היע"מ • כאשר אנו קוראים ספר, השורות אינן נעלמות מדפי הספר, אלא רק ״מועתקות״ לזיכרוננו

  11. הזכרון 2 • ייצוג על ידי סיביות. סיבית (bit) • קיצור של ספרה בינארית ((binary digit- היא אחת מן הספרות 0 או 1, כמו שספרה עשרונית היא אחת מן הספרות 0, ..., 9. • תא בזיכרון המחשב מכיל סדרה של סיביות, בדרך כלל 16, 32 או 64 סיביות, • כל המשימות המורכבות המתבצעות על ידי מחשב הן אוסף של פעולות על סדרות המורכבות מהספרות 0 ו-1 ! • המחשב מפרש סדרות של סיביות כמספרים או כאותיות, לעתים סדרות של סיביות מפורשות כהוראות לביצוע או כטיפוסי מידע אחרים.

  12. מה עושה ה יע"מ? • מבצעת הוראות פשוטות: • ״קרא את סדרות הסיביות שנמצאות בתאי הזיכרון שהכתובות שלהם הם 13 ו-37, התייחס לכל סדרת סיביות כאל מספר, חבר אותם וכתוב את התוצאה בתא שהכתובת שלו 116״.

  13. סוגי זכרון • זיכרון ראשי משמש לשמירת תוכניות בזמן ביצוען, ולשמירת נתונים ותוצאות ביניים של תוכניות שמתבצעות. • זיכרון משני משמש לאחסון לזמן בלתי מוגבל של מידע ושל תוכניות מחשב.

  14. סוגי זכרון 2 • הזיכרון הראשי • נפח קטן 2-8 Gbyte • מהירות הקריאה וכתיבה גדולה • ממוקם צמוד ליחידת העיבוד המרכזית, • הזיכרון המשני • נפח עצום 500 Gbyte • מהירות הקריאה וכתיבה נמוכה בהרבה • נמצא באמצעי אחסון חיצוניים כמו דיסק נייד או דיסק קשיח. • במהלך הביצוע , יחידת העיבוד המרכזית מעתיקה את התוכנית מהזיכרון המשני אל הזיכרון הראשי. במובנים רבים, ניתן להתייחס לזיכרון הראשי כאל זיכרון לטווח קצר, ואל הזיכרון המשני כאל זיכרון לטווח ארוך.

  15. דוגמאות לזכרון ראשי ומישני?

  16. אמצעי קלט • משמשים להעברת נתונים אל המחשב. • עכבר ולוח מקשים. • סורק דיגיטלי, מצלמה דיגיטלית • מיקרופון • דוגמאות נוספות?

  17. אמצעי פלט • משמשים להעברת מידע מן המחשב אל המשתמשים בו. • למשל, מסך ומדפסת. • מקרן או רמקול • דוגמאות נוספות?

  18. שאלות • מחשבון נועד לבצע פעולות חשבון. מהו אמצעי הקלט למחשבון? מהו אמצעי הפלט למחשבון? • המחשב קולט מידע, מעבד אותו ונותן כפלט את תוצאת העיבוד. גם מוח האדם קולט מידע, מעבד אותו ופולט את תוצאת העיבוד. א. הביאו דוגמאות לאיברים קולטי מידע ולאיברים פולטי מידע בגוף האדם. ב. הביאו דוגמאות למידע השמור בזיכרון האדם.

  19. תוכנה • אוסף תוכניות מחשב. • מנחות את העיבוד המתבצע על ידי החומרה. • דוגמאות: ביצוע חישובים מתמטיים, ניהול מאגרי מידע, בקרה על תהליכים, הדמיית מערכות, עיבוד תמלילים, למשחקים וליישומים שונים ורבים נוספים.

  20. מערכת הפעלה (OS) • מהווה את הקשר בין התוכנה לחומרה: • מנהלת את שאר התוכניות ומקצה לשימושן את משאבי החומרה השונים (יע״מ, זיכרון, אמצעי קלט ואמצעי פלט). • כל תוכנית מחשב נכתבת על ידי מתכנת בשפת תכנות.

  21. שפת תכנות • שפת תכנות (programming language) היא אוסף של כל הכללים הקובעים כיצד נכתבות ההוראות בתוכנית מחשב, ומה המשמעות של כל הוראה. • דןגמאות: JAVA, C, ++C,

  22. מתכנת • מתכנת (programmer) הוא אדם הכותב תוכניות בשפת מחשב. • עבודתו של מתכנת - תהליך התכנות – • ניתוח של משימות המיועדות לביצוע במחשב, • כתיבת מתכון לביצוע המשימה, • יישומו של המתכון בשפת מחשב.

  23. שפת מכונה (machine language) • הפעולות המתבצעות ביחידת העיבוד המרכזית הן פעולות על סיביות. • השפה שבאמצעותה ניתן לתקשר עם מחשב, צריכה להיות שפה מאוד פשוטה, הכוללת הוראות לביצוע פעולות על סיביות. שפת מכונה

  24. שפת מכונה (machine language) 2 • כל הוראה בשפת מכונה מורה על ביצוע פעולות על סדרות של סיביות (למשל, חיבור שתי סדרות). • גם ההוראות של שפת מכונה נכתבות בקוד המבוסס על סיביות, • תוכנית בשפת מכונה היא סדרה ארוכה של סיביות, כלומר, רצף ארוך של 0 ו-1. • לכל סוג מחשב שפת מכונה משלו.

  25. שפת מכונה (machine language) 3 • התוכניות הראשונות שנכתבו עבור מחשבים (שנות ה-40 של המאה העשרים) נכתבו בשפת מכונה. • תהליך הכתיבה היה מסורבל מאוד, לא נוח, • למה?

  26. חסרונות שפת מכונה • קשה מאוד לכתוב אותה • וקשה עוד יותר לקרוא אותה, לעקוב אחר מהלך ביצועה ולהבין את מטרתה. • לעתים מתגלות שגיאות בתוכנית וצריך לתקן, • לפעמים צריך לעדכן אותה כדי להתאימה לדרישות חדשות. • לא תמיד התיקונים והעדכונים מתבצעים על ידי הכותב המקורי,

  27. חסרונות שפת מכונה 2 • לכל סוג מחשב יש שפת מכונה יחודית • לא ניתן לקחת תוכנית שנכתבה בשפת מכונה של מחשב מסוג אחד, ולהריץ אותה כמו שהיא במחשב מסוג אחר. • מעבר בין סוגי מחשבים דורש כתיבה מחודשת של התוכנית.

  28. שפה עילית • שפה עילית (high level language) היא שפת תכנות, אשר ההוראות בה דומות למשפטים בשפה טבעית (כמו אנגלית) או לנוסחאות מתמטיות. • למרות הדמיון לשפה טבעית, ההוראות אינן נכתבות בכתיבה חופשית, אלא על פי כללים מוגדרים, שנקראים כללי התחביר של השפהsyntax)). • כיצד ניתן לגרום למחשב ״להבין״ תוכנית הכתובה בשפה עילית?

  29. מהדר • תוכנית הכתובה בשפה עילית מתורגמת לשפת מכונה. • התרגום נעשה על ידי תוכנית מחשב מיוחדת, הנקראת מהדר: • מהדר (compiler) היא תוכנית המתרגמת משפה עילית לשפת מכונה. תהליך התרגום נקרא הידור או קומפילציה (compilation). הקלט של המהדר הוא תוכנית בשפה עילית והפלט שלו הוא תוכנית בשפת מכונה, שהיא התרגום של תוכנית הקלט.

  30. מהדר 2 • שלב ההידור, במהלכו התוכנית בשפה העילית עוברת תרגום לתוכנית בשפת מכונה. • שלב ההרצה, במהלכו מתבצעת המשימה עצמה, כלומר, המחשב מבצע את ההוראות הכתובות בשפת מכונה, ונותן את תוצאת העיבוד כפלט. • לכל זוג של שפה עילית ושפת מכונה דרוש מהדר נפרד שיבצע את התרגום ביניהן. • כדי להריץ תוכניות הכתובות בכמה שפות עיליות, יש לדאוג שיהיה מותקן מהדר מתאים לכל אחת מהשפות העיליות . • כדי להריץ תוכניות בשפה עילית בכמה מחשבים מסוגים שונים, יש לדאוג שיהיה מהדר עבור כל סוג מחשב.

  31. מהדר 3

  32. שפה עילית • יותר נוחה לקריאה ולכתיבה, • מגשרת על פני ההבדלים בין סוגים שונים של מחשבים. • בעזרת מהדר מתאים ניתן לתרגם כל תוכנית בשפה עילית לתוכנית בשפת מכונה של מחשב זה או אחר. • תהליך ההידור מורכב משני שלבים: • בדיקת תחביר התוכנית בשפה העילית • תרגום התוכנית בשפה העילית לתוכנית בשפת מכונה.

  33. בדיקת תחביר • בדיקה שהתוכנית בשפה העילית עומדת בכללי התחביר של השפה שבה נכתבה. • אם לא: יש בה שגיאות תחביר.(syntax errors) • הפלט של המהדר הוא פירוט שגיאות התחביר שמצא. • יש לתקן את כל שגיאות התחביר שבה, כלומר, לעבור בהצלחה את השלב הזה. • למשל, תוכנית בשפת . Javaחייבת להכיל בתוכה לפחות פעם אחת את המילה .class. אם ננסה לתרגם תוכנית בשפת שאינה מכילה את המילה .classהמהדר יודיע על שגיאת תחביר.

  34. שגיאות ריצה • אם אין בתוכנית שגיאות תחביר, התוכנית מיתרגמת לשפת מכונה, ומתקבלת תוכנית שיכולה לרוץ במחשב. • במהלך הריצה של התוכנית עלולות להתגלות שגיאות שיגרמו לעצירת הריצה לפני סיומה, או להודעות שגיאה. אלו הן שגיאות ריצה,(run-time errors) • שגיאות ריצה אינן יכולות להתגלות בזמן ההידור. למשל, הניסיון לחלק ערך השמור בזיכרון המחשב ב-0 יגרום לשגיאת ריצה ולהדפסת הודעה מתאימה.

  35. באגים • תהליך איתור שגיאות ריצה ותיקונן נקרא ניפוי (debugging) • מקור המונח בשלבים המוקדמים של שימוש במחשבים, כאשר מחשבים היו כה גדולים עד כי מחשב אחד מילא אולם שלם. מחשב מסוים חדל לפעול, ולאחר זמן התגלה בין רכיביו חרק גדול שנתקע שם והפריע לפעולתו התקינה של מחשב. מאז נוהגים לקרוא לשגיאה בתוכנית באג - חרק באנגלית).

  36. למה יש הרבה שפות עיליות? • מאז תחילת פיתוח השפות העיליות, באמצע שנות ה-50 של המאה העשרים, פותח מספר גדול מאוד של שפות. • מדוע יש צורך בכל כך הרבה שפות? • האם לא עדיפה שפה אחת אחידה שבה ייכתבו כל התוכניות, ואשר אותה יוכל כל אחד ללמוד בקלות? • מה מבדיל בין השפות השונות? • מי משתמש באילו שפות ולאילו מטרות?

  37. כי • סיבה אחת צרכים המתעוררים בשטחים חדשים ושונים של יישומים. • לכל שפה מאפיינים ייחודיים משלה: חישובים מדעיים, לעיבוד נתונים מנהלי (הפקת משכורות, הנהלת חשבונות וכוי). • הסיבה השנייה היא התקדמות המחקר המדעי העוסק בשפות תכנות ומסייע בשיפור השפות.

  38. סוגי שפות עיליות • JAVA שייכת לקבוצת השפות הקרויות מונחות עצמים.(object oriented) • קבוצת השפות הפרוצדורליות (כמו פסקל או C), • קבוצת השפות הפונקציונליות (כמו scheme) • קבוצת השפות הלוגיות (כמו פרולוג).

More Related