קורס מחשב לרפואנים 274121 הרצאה :1 מבוא מבוסס על השקפים שחוברו ע"י שי ארצי , גיתית רוקשטיין , איתן אביאור , טל כהן וסאהר אסמיר בעבור הקורס.

Download Report

Transcript קורס מחשב לרפואנים 274121 הרצאה :1 מבוא מבוסס על השקפים שחוברו ע"י שי ארצי , גיתית רוקשטיין , איתן אביאור , טל כהן וסאהר אסמיר בעבור הקורס.

‫קורס מחשב לרפואנים‬
‫‪274121‬‬
‫הרצאה ‪ :1‬מבוא‬
‫מבוסס על השקפים שחוברו ע"י שי ארצי‪ ,‬גיתית רוקשטיין‪ ,‬איתן אביאור‪,‬‬
‫טל כהן וסאהר אסמיר בעבור הקורס "מבוא למדעי המחשב"‬
‫נכתב על‪-‬ידי רון פינטר‪ ,‬שינויים ותוספות שלמה מורן‪ © .‬כל הזכויות שמורות לטכניון – מכון‬
‫טכנולוגי לישראל‬
‫אתר הקורס‪ :‬מידע ועדכונים על הקורס‬
‫• אתר הקורס‪:‬‬
‫– ‪http://webcourse.cs.technion.ac.il/274121‬‬
‫– רשימת תפוצה‪ ,‬סילבוס‪ ,‬ספר לימוד‪ ,‬מבנה הציון‪ ,‬צוות הקורס‪ ,‬שעות‬
‫קבלה‪ ,‬הרצאות‪ ,‬תרגולים‪ ,‬שיעורי בית‪ ,‬חיפוש שותף‪/‬ה לתרגילי בית‪.‬‬
‫– באתר הקורס יש הפניה לאתר של סמסטר קודם בו הועבר הקורס‪ ,‬עם‬
‫הרצאות תרגולים וכו'‪.‬‬
‫• רשימת התפוצה‬
‫–‬
‫–‬
‫–‬
‫–‬
‫‪2‬‬
‫הרישום לרשימת התפוצה הוא חובה‪.‬‬
‫אמור להתבצע אוטומטית לכל הסטודנטים הרשומים‪.‬‬
‫מי שרשום‪ ,‬היה אמור לקבל הודעת "ברוכים הבאים" בדואר האלקטרוני‪.‬‬
‫מי שלא קיבל‪ ,‬מתבקש להסדיר הרשמתו\לפנות בדוא"ל למישהו מצוות‬
‫הקורס‪.‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫אדמיניסטרציה‬
‫• מרצה‪ :‬שלמה מורן‬
‫• מתרגלים‪ :‬ישראל גוטר (מתרגל אחראי)‪ ,‬טארק טוקאן‪.‬‬
‫• מידע על‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫שעות הרצאה ושעות תרגול‬
‫ספרות‬
‫דוא"ל וטלפון של צוות הקורס‬
‫שעות קבלה‬
‫כל מידע אחר הקשור בקורס‬
‫באתר הקורס‬
‫‪3‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫מטלות הקורס ומבנה הציון‬
‫•‬
‫•‬
‫•‬
‫•‬
‫הציון הסופי ייקבע על סמך תרגילי בית ובחינה סופית‪.‬‬
‫אם ציון הבחינה הסופית יהיה נמוך מ ‪ ,55‬ציון זה יהיה הציון הסופי‬
‫בקורס (כלומר ציון תרגילי הבית לא יילקח בחשבון)‪.‬‬
‫אם הציון בבחינה הסופית יהיה ‪ 55‬ומעלה‪ ,‬הציון הסופי יורכב מ‪:‬‬
‫‪ 10-15%‬ציון תרגילי הבית ‪ 85-90% +‬ציון בחינה סופית*‬
‫פרוט נוסף‪ :‬באתר הקורס‬
‫‪--------------------------------------‬‬‫*במקרים נדירים יתכנו שינויים מקלים במדיניות זו – למשל הורדת ציון הסף‪.‬‬
‫‪4‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫מוטיבציה‬
‫• "אני בכלל רוצה להיות <רופא\מהנדס\מדען‪ ,>...‬למה עלי להבין משהו‬
‫במחשבים?"‬
‫• המחשבים נוגעים היום בכל תחום מתחומי חיינו‪.‬‬
‫• (כמעט) כל מכשיר מדידה מדעי‪ ,‬מטוס‪ ,‬מכונית‪ ,‬תנור מיקרוגל‪ ,‬מכונת‬
‫כביסה‪,‬‬
‫טלפון סלולרי ונגן ‪ DVD‬מכיל בתוכו מחשב‪.‬‬
‫• מהנדסים ומדענים משתמשים במחשבים באופן שוטף לצרכי חישוב‪,‬‬
‫מידול‪ ,‬תכנון‪ ,‬ביצוע ניסויים ועוד‪.‬‬
‫‪6‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫מטרת הקורס‬
‫• הקורס הזה יספק לכם‪:‬‬
‫– הכרות בסיסית עם מבנה המחשב ‪ -‬חומרה (שבועיים)‪.‬‬
‫– הכרות בסיסית עם שפת תכנות אחת (‪)Matlab‬‬
‫ויכולת לכתוב תוכניות פשוטות – תוכנה (‪ 11‬שבועות)‪.‬‬
‫‪10‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫למה זה טוב?‬
‫• תוכלו לכתוב תוכניות קצרות לפתרון בעיות חישוב שתתקלו בהן‬
‫בעבודתכם‪.‬‬
‫• בעבור בעיות גדולות יותר‪ ,‬הקורס הזה יעזור לכם להבין אם ניתן‬
‫בכלל לפתור את הבעיה בעזרת מחשב‪.‬‬
‫• כמו כן‪ ,‬הקורס יעזור לכם לתקשר טוב יותר עם מתכנתים מקצועיים‬
‫שיכתבו עבורכם תוכנה מתאימה‪.‬‬
‫– תוכלו להסביר להם טוב יותר מה צרכי התוכנה שלכם‪.‬‬
‫– תוכלו להבין את ההסברים שלהם לגבי אופן פעולת התוכנה‪.‬‬
‫• כתיבת תוכנה טובה לתחום מורכב (פיזיקה‪ ,‬כימיה‪ ,‬ביולוגיה‪ ,‬רפואה‪)...‬‬
‫דורשת שיתוף פעולה הדוק בין המתכנת למדען או המהנדס‪.‬‬
‫‪11‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫נתחיל‪...‬‬
‫‪12‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫חומרה ותוכנה‬
‫• חומרה היא אוסף הרכיבים הפיזיים של המחשב‪.‬‬
‫– כל מה שאפשר לבעוט בו‪.‬‬
‫• תוכנה היא סוג מיוחד של מידע השמור במחשב‪:‬‬
‫הוראות לביצוע‪ .‬אותה חומרה יכולה לשמור סוגים‬
‫שונים של תכנות‪.‬‬
‫– הקשר חמרה\תכנה דומה במקצת‬
‫לקשר מוח\חשיבה‪.‬‬
‫‪13‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫חומרה‬
‫אוסף הרכיבים הפיזיים של המחשב‪:‬‬
‫‪ .1‬יחידת עיבוד מרכזית )‪(CPU‬‬
‫‪ .2‬יחידות קלט ופלט לתקשורת עם המשתמש‬
‫‪ .3‬זיכרון לשמירת מידע‪ :‬ראשי‪ ,‬משני‪ ,‬נייד‬
‫‪ .4‬אמצעים לתקשורת פנימית בין ‪ 1-3‬לעיל‪.‬‬
‫‪14‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫לב המחשב‬
‫• "לב" המחשב הוא יחידת העיבוד המרכזית (‪.)CPU‬‬
‫מעבד פנטיום (שנת ‪ .)1996‬גודל פיזי‪ :‬כ‪ 5x5-‬ס"מ‪.‬‬
‫‪15‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫לב המחשב‬
‫• מה יודעת יחידת העיבוד המרכזית (או בקיצור‪" ,‬המעבד")‬
‫לעשות?‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫קריאה וכתיבה של מידע המאוכסן מחוץ למעבד‪.‬‬
‫חישובים אריתמטיים על מידע (חיבור‪ ,‬חיסור‪ ,‬כפל וכו')‪.‬‬
‫כמה סוגי חישובים אחרים על מידע (חישובים לוגיים)‪.‬‬
‫קבלת החלטות בסיסיות על‪-‬סמך מידע ("אם ‪ x=0‬אז‪.)"...‬‬
‫באופן כללי‪ ,‬דברים מאוד‪ ,‬מאוד בסיסיים‪...‬‬
‫• איך מגיע מידע (למשל נתונים) אל המעבד?‬
‫דרך אמצעי קלט‪.‬‬
‫• איך מקבלים מידע (למשל תוצאות) מהמעבד ?‬
‫דרך אמצעי פלט‪.‬‬
‫‪16‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫אמצעי קלט‬
‫‪17‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫אמצעי פלט‬
‫‪18‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫זיכרון‬
‫• זיכרון המחשב הוא חומרה מיוחדת‪ ,‬שהמחשב יכול גם‬
‫לכתוב אליה וגם לקרוא ממנה (גם פלט וגם קלט)‪.‬‬
‫• סוגי זיכרון שונים נבדלים זה מזה‪:‬‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫‪19‬‬
‫בנפח (כמה מידע ניתן לשמור באמצעי הזיכרון?)‬
‫בניידות (האם ניתן להעביר את הזיכרון ממחשב למחשב‪ ,‬או‬
‫שהוא מחובר דרך קבע למחשב יחיד?)‬
‫בשרידות (האם המידע נשמר גם לאחר שמכבים את‬
‫המחשב?)‬
‫במהירות הגישה לזיכרון (קריאה\כתיבה)‬
‫במחיר‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫הזיכרון הראשי‬
‫• לכל מחשב יש אמצעי זיכרון המורכב ממעגלים אלקטרוניים ("ג'וקים")‬
‫המכונה זיכרון ראשי‪.‬‬
‫– נקרא גם ‪.)Random Access Memory( RAM‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪20‬‬
‫לא נייד (שמור בתוך המחשב)‪.‬‬
‫יקר מאוד ליחידת נפח יחסית לאמצעי זיכרון אחרים‪ ,‬ולכן למרבית‬
‫המחשבים יש זיכרון ראשי בנפח קטן (יחסית)‪.‬‬
‫נמחק בכל פעם שמכבים את המחשב‪.‬‬
‫מהיר מאוד‪.‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫הזיכרון המשני‬
‫• למרבית המחשבים יש גם זיכרון משני‪.‬‬
‫• הזיכרון המשני הוא בדרך‪-‬כלל דיסק קשיח‪ ,‬אמצעי זיכרון שאופן‬
‫פעולתו דומה במקצת למקול עם תקליט‪.‬‬
‫– אבל המידע השמור עליו הוא מידע "דיגיטלי"‪ ,‬כלומר ספרֹות‪.‬‬
‫– המידע שמור באופן מגנטי‪.‬‬
‫• אינו נייד‪.‬‬
‫• בעל נפח רב (באופן טיפוסי‪ ,‬פי ‪50‬‬
‫עד פי ‪ 500‬ויותר מהזיכרון הראשי)‪.‬‬
‫• איטי (בהשוואה לזיכרון הראשי)‪.‬‬
‫‪21‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫התקני זיכרון נייד‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪22‬‬
‫זיכרון נייד הוא בדרך‪-‬כלל איטי יחסית‪.‬‬
‫הנפח משתנה בין התקנים שונים‪.‬‬
‫המידע נשמר גם לאחר שמכבים את המחשב‪.‬‬
‫יתרונו העיקרי בעצם היותו נייד!‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫ערוץ התקשורת (‪)Bus‬‬
‫• הרכיבים השונים מעבירים ביניהם מידע דרך "פס תקשורת" משותף‪.‬‬
‫‪( Bus‬ערוץ תקשורת בין הרכיבים)‬
‫אמצעי פלט‬
‫זיכרון‬
‫ראשי‬
‫‪CPU‬‬
‫אמצעי קלט‬
‫התקני‬
‫זיכרון‬
‫אחרים‬
‫‪23‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫מהו המידע השמור בזיכרון?‬
‫• ראינו אמצעי זיכרון שונים שהמחשב משתמש בהם‪.‬‬
‫• הם שומרים מידע באופנים שונים ומגוונים‪:‬‬
‫– אלקטרוני (זיכרון ראשי‪ ,‬זיכרון ‪)disk-on-key‬‬
‫– אופטי (תקליטור‪)DVD ,‬‬
‫– מגנטי (דיסקטים‪ ,‬דיסק קשיח)‬
‫• אבל בעצם‪ ,‬מהו המידע השמור בכל אותם אמצעי זיכרון?‬
‫‪24‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫מידע דיגיטלי‬
‫• סוג המידע היחיד שהמעבד "מבין" הוא קיום או העדר זרם חשמלי‪.‬‬
‫– יש זרם‪ :‬כן‪ ,‬אין זרם‪ :‬לא‬
‫– אפשר לייצג זאת פשוט כ‪ "1"-‬או "‪."0‬‬
‫• הזיכרון – כל זיכרון – מורכב למעשה מכמות גדולה של "ספרות‬
‫בינאריות"‪ ,‬או סיביות (‪ binary digits‬בלעז)‪..‬‬
‫• כל סיפרה כזו יכולה להיות במצב ‪ 0‬או במצב ‪.1‬‬
‫• "נפח" אמצעי זיכרון הוא למעשה מספר הסיביות שניתן לשמור עליו‪.‬‬
‫– למשל‪ ,‬תקליטור יחיד מכיל כ‪ 6,000,000,000-‬סיביות‪.‬‬
‫– למחשב ביתי ממוצע (נכון ל‪ )2006-‬יש זיכרון ראשי בנפח של ‪ 2‬עד ‪8‬‬
‫מיליארד סיביות‪.‬‬
‫‪25‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫סיביות‪ ,‬יותר סיביות‪ ,‬עוד יותר סיביות‪...‬‬
‫• המידע הטמון בסיבית יחידה מאד מוגבל‪.‬‬
‫• לכן מקובל לעבוד עם יחידות המכונות בייט (‪ ,)byte‬המורכב משמונה‬
‫סיביות‪.‬‬
‫– לבייט יתכנו ‪ 256‬מצבים שונים (מ ‪ 00000000‬עד ‪,)11111111‬‬
‫שממוספרים מ ‪ 0‬עד ‪.255‬‬
‫• יחידות נפח גדולות יותר נמדדות בכפולות של (בערך) ‪:1000‬‬
‫– קילו‪-‬בייט (‪ ,)KB‬מגה‪-‬בייט (‪ ,)MB‬ג'יגה‪-‬בייט (‪ ,)GB‬טרה‪-‬בייט (‪...)TB‬‬
‫‪• 1 KB = 1,024 bytes‬‬
‫‪• 1 MB = 1,024 KB = 1,048,576 bytes‬‬
‫‪• 1 GB = 1,024 MB = 1,048,576 KB = 1,073,741,824 bytes‬‬
‫• למשל‪ ,‬הנפח של תקליטור הוא כ‪.700 MB -‬‬
‫‪26‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫מה כבר אפשר לעשות עם מספרים?‬
‫• ראינו שניתן לייצג מספרים – המון מספרים – באמצעי הזיכרון השונים‬
‫של המחשב‪.‬‬
‫• אבל מה כבר אפשר לעשות עם כל‪-‬כך הרבה מספרים?‬
‫• התשובה‪ :‬כל מה שנרצה‪ ,‬כמעט‪.‬‬
‫‪27‬‬
‫‪128‬‬
‫‪182‬‬
‫‪161‬‬
‫‪250‬‬
‫‪175‬‬
‫‪63‬‬
‫‪6‬‬
‫‪63‬‬
‫‪244‬‬
‫‪62‬‬
‫‪237‬‬
‫‪215‬‬
‫‪248‬‬
‫‪159‬‬
‫‪145‬‬
‫‪179‬‬
‫‪229‬‬
‫‪198‬‬
‫‪102‬‬
‫‪201‬‬
‫‪30‬‬
‫‪46‬‬
‫‪95‬‬
‫‪154‬‬
‫‪203‬‬
‫‪215‬‬
‫‪97‬‬
‫‪189‬‬
‫‪23‬‬
‫‪137‬‬
‫‪252‬‬
‫‪227‬‬
‫‪255‬‬
‫‪250‬‬
‫‪114‬‬
‫‪124‬‬
‫‪117‬‬
‫‪240‬‬
‫‪53‬‬
‫‪225‬‬
‫‪11‬‬
‫‪163‬‬
‫‪181‬‬
‫‪34‬‬
‫‪216‬‬
‫‪250‬‬
‫‪96‬‬
‫‪229‬‬
‫‪176‬‬
‫‪100‬‬
‫‪153‬‬
‫‪82‬‬
‫‪36‬‬
‫‪134‬‬
‫‪81‬‬
‫‪53‬‬
‫‪69‬‬
‫‪174‬‬
‫‪141‬‬
‫‪152‬‬
‫‪37‬‬
‫‪47‬‬
‫‪132‬‬
‫‪240‬‬
‫‪201‬‬
‫‪175‬‬
‫‪5‬‬
‫‪69‬‬
‫‪222‬‬
‫‪61‬‬
‫‪69‬‬
‫‪87‬‬
‫‪226‬‬
‫‪28‬‬
‫‪7‬‬
‫‪40‬‬
‫‪215‬‬
‫‪181‬‬
‫‪249‬‬
‫‪96‬‬
‫‪82‬‬
‫‪192‬‬
‫‪34‬‬
‫‪74‬‬
‫‪255‬‬
‫‪11‬‬
‫‪140‬‬
‫‪201‬‬
‫‪190‬‬
‫‪155‬‬
‫‪58‬‬
‫‪224‬‬
‫‪28‬‬
‫‪242‬‬
‫‪16‬‬
‫‪49‬‬
‫‪35‬‬
‫‪159‬‬
‫‪186‬‬
‫‪25‬‬
‫‪1‬‬
‫‪205‬‬
‫‪24‬‬
‫‪40‬‬
‫‪40‬‬
‫‪90‬‬
‫‪90‬‬
‫‪145‬‬
‫‪43‬‬
‫‪28‬‬
‫‪156‬‬
‫‪149‬‬
‫‪13‬‬
‫‪244‬‬
‫‪140‬‬
‫‪65‬‬
‫‪13‬‬
‫‪148‬‬
‫‪116‬‬
‫‪12‬‬
‫‪130‬‬
‫‪227‬‬
‫‪219‬‬
‫‪137‬‬
‫‪141‬‬
‫‪208‬‬
‫‪207‬‬
‫‪250‬‬
‫‪157‬‬
‫‪10‬‬
‫‪207‬‬
‫‪47‬‬
‫‪239‬‬
‫‪89‬‬
‫‪239‬‬
‫‪115‬‬
‫‪28‬‬
‫‪81‬‬
‫‪133‬‬
‫‪27‬‬
‫‪142‬‬
‫‪140‬‬
‫‪253‬‬
‫‪91‬‬
‫‪46‬‬
‫‪236‬‬
‫‪125‬‬
‫‪101‬‬
‫‪170‬‬
‫‪214‬‬
‫‪196‬‬
‫‪179‬‬
‫‪167‬‬
‫‪42‬‬
‫‪242‬‬
‫‪238‬‬
‫‪157‬‬
‫‪77‬‬
‫‪184‬‬
‫‪236‬‬
‫‪209‬‬
‫‪11‬‬
‫‪236‬‬
‫‪32‬‬
‫‪94‬‬
‫‪5‬‬
‫‪34‬‬
‫‪136‬‬
‫‪92‬‬
‫‪205‬‬
‫‪250‬‬
‫‪151‬‬
‫‪48‬‬
‫‪115‬‬
‫‪58‬‬
‫‪254‬‬
‫‪105‬‬
‫‪5‬‬
‫‪245‬‬
‫‪254‬‬
‫‪35‬‬
‫‪72‬‬
‫‪204‬‬
‫‪23‬‬
‫‪10‬‬
‫‪92‬‬
‫‪150‬‬
‫‪72‬‬
‫‪36‬‬
‫‪22‬‬
‫‪102‬‬
‫‪110‬‬
‫‪81‬‬
‫‪164‬‬
‫‪56‬‬
‫‪62‬‬
‫‪236‬‬
‫‪122‬‬
‫‪233‬‬
‫‪19‬‬
‫‪112‬‬
‫‪220‬‬
‫‪208‬‬
‫‪71‬‬
‫‪128‬‬
‫‪181‬‬
‫‪135‬‬
‫‪246‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫למשל‪...‬‬
‫• אם נחליט שכל מספר מייצג אות שונה (‪ = 1‬א‪ = 2 ,‬ב‪ = 3 ,‬ג‪= 28 ... ,‬‬
‫רווח‪ = 29 ,‬פסיק‪ = 30 ,‬נקודה‪ = 122 ... ,‬קמץ‪ = 123 ,‬פתח‪)... ,‬‬
‫‪244‬‬
‫‪62‬‬
‫‪237‬‬
‫‪215‬‬
‫‪248‬‬
‫‪159‬‬
‫‪145‬‬
‫‪179‬‬
‫‪203‬‬
‫‪215‬‬
‫‪97‬‬
‫‪189‬‬
‫‪23‬‬
‫‪137‬‬
‫‪252‬‬
‫‪227‬‬
‫‪11‬‬
‫‪163‬‬
‫‪181‬‬
‫‪34‬‬
‫‪216‬‬
‫‪250‬‬
‫‪96‬‬
‫‪229‬‬
‫‪69‬‬
‫‪174‬‬
‫‪141‬‬
‫‪152‬‬
‫‪37‬‬
‫‪47‬‬
‫‪132‬‬
‫‪240‬‬
‫‪226‬‬
‫‪28‬‬
‫‪7‬‬
‫‪40‬‬
‫‪215‬‬
‫‪181‬‬
‫‪249‬‬
‫‪96‬‬
‫‪190‬‬
‫‪155‬‬
‫‪58‬‬
‫‪224‬‬
‫‪28‬‬
‫‪242‬‬
‫‪16‬‬
‫‪49‬‬
‫‪40‬‬
‫‪90‬‬
‫‪90‬‬
‫‪145‬‬
‫‪43‬‬
‫‪28‬‬
‫‪156‬‬
‫‪149‬‬
‫‪130‬‬
‫‪227‬‬
‫‪219‬‬
‫‪137‬‬
‫‪141‬‬
‫‪208‬‬
‫‪207‬‬
‫‪250‬‬
‫‪28‬‬
‫‪81‬‬
‫‪133‬‬
‫‪27‬‬
‫‪142‬‬
‫‪140‬‬
‫‪253‬‬
‫‪91‬‬
‫‪167‬‬
‫‪42‬‬
‫‪242‬‬
‫‪238‬‬
‫‪157‬‬
‫‪77‬‬
‫‪184‬‬
‫‪236‬‬
‫‪92‬‬
‫‪205‬‬
‫‪250‬‬
‫‪151‬‬
‫‪48‬‬
‫‪115‬‬
‫‪58‬‬
‫‪254‬‬
‫‪10‬‬
‫‪92‬‬
‫‪150‬‬
‫‪72‬‬
‫‪36‬‬
‫‪22‬‬
‫‪102‬‬
‫‪110‬‬
‫‪112‬‬
‫‪220‬‬
‫‪208‬‬
‫‪71‬‬
‫‪128‬‬
‫‪181‬‬
‫‪135‬‬
‫‪246‬‬
‫‪28‬‬
‫ָׁשלוֹם ָׁרב שּובֵ ְך‪ִ ,‬צפ ָֹׁרה נ ְֶחמֶ ֶדת‪,‬‬
‫ַארצוֹת הַ חֹם אֶ ל‪-‬חַ ּל ֹונִי‪-‬‬
‫מֵ ְ‬
‫אֶ ל ק ֹולְֵך כִ י עָׁ ֵרב מַ ה‪-‬נַפְ ִשי כָׁ לָׁתָׁ ה‬
‫בַ ח ֶֹרף בְ עָׁ זְ בֵ ְך ְמע ֹונִי‪.‬‬
‫זַ ְמ ִרי‪ ,‬סַ פֵ ִרי‪ִ ,‬צפו ִֹרי הַ יְ ָׁק ָׁרה‪,‬‬
‫מֵ אֶ ֶרץ מֶ ְרחַ ִקים נִפְ לָׁאוֹת‪,‬‬
‫ָארץ הַ חַ מָׁ ה‪ ,‬הַ יָׁפָׁ ה‪,‬‬
‫הֲ גַם ָׁשם בָׁ ֶ‬
‫ִת ְרבֶ ינָׁה הָׁ ָׁרעוֹת‪ ,‬הַ ְתלָׁאוֹת?‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫למשל‪...‬‬
‫• אם נחליט שכל מספר מייצג צבע או גוון שונה (‪ = 0‬שחור‪ = 1 ,‬ירוק‬
‫בהיר מאוד‪ = 2 ,‬ירוק בהיר‪ = 255 ... ,‬לבן)‬
‫‪226‬‬
‫‪28‬‬
‫‪7‬‬
‫‪40‬‬
‫‪215‬‬
‫‪181‬‬
‫‪249‬‬
‫‪96‬‬
‫‪190‬‬
‫‪155‬‬
‫‪58‬‬
‫‪224‬‬
‫‪28‬‬
‫‪242‬‬
‫‪16‬‬
‫‪49‬‬
‫‪40‬‬
‫‪90‬‬
‫‪90‬‬
‫‪145‬‬
‫‪43‬‬
‫‪28‬‬
‫‪156‬‬
‫‪149‬‬
‫‪130‬‬
‫‪227‬‬
‫‪219‬‬
‫‪137‬‬
‫‪141‬‬
‫‪208‬‬
‫‪207‬‬
‫‪250‬‬
‫‪167‬‬
‫‪42‬‬
‫‪242‬‬
‫‪238‬‬
‫‪157‬‬
‫‪77‬‬
‫‪184‬‬
‫‪236‬‬
‫‪92‬‬
‫‪205‬‬
‫‪250‬‬
‫‪151‬‬
‫‪48‬‬
‫‪115‬‬
‫‪58‬‬
‫‪254‬‬
‫‪10‬‬
‫‪92‬‬
‫‪150‬‬
‫‪72‬‬
‫‪36‬‬
‫‪22‬‬
‫‪102‬‬
‫‪110‬‬
‫‪112‬‬
‫‪220‬‬
‫‪208‬‬
‫‪71‬‬
‫‪128‬‬
‫‪181‬‬
‫‪135‬‬
‫‪246‬‬
‫‪28‬‬
‫‪81‬‬
‫‪133‬‬
‫‪27‬‬
‫‪142‬‬
‫‪140‬‬
‫‪253‬‬
‫‪91‬‬
‫‪244‬‬
‫‪62‬‬
‫‪237‬‬
‫‪215‬‬
‫‪248‬‬
‫‪159‬‬
‫‪145‬‬
‫‪179‬‬
‫‪203‬‬
‫‪215‬‬
‫‪97‬‬
‫‪189‬‬
‫‪23‬‬
‫‪137‬‬
‫‪252‬‬
‫‪227‬‬
‫‪11‬‬
‫‪163‬‬
‫‪181‬‬
‫‪34‬‬
‫‪216‬‬
‫‪250‬‬
‫‪96‬‬
‫‪229‬‬
‫‪69‬‬
‫‪174‬‬
‫‪141‬‬
‫‪152‬‬
‫‪37‬‬
‫‪47‬‬
‫‪132‬‬
‫‪240‬‬
‫‪29‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫למשל‪...‬‬
‫• אם נחליט שכל מספר מייצג תו מוזיקלי שונה (‪ = 0‬דו‪ = 1 ,‬רה‪)... ,‬‬
‫‪11‬‬
‫‪163‬‬
‫‪181‬‬
‫‪34‬‬
‫‪216‬‬
‫‪250‬‬
‫‪96‬‬
‫‪229‬‬
‫‪69‬‬
‫‪174‬‬
‫‪141‬‬
‫‪152‬‬
‫‪37‬‬
‫‪47‬‬
‫‪132‬‬
‫‪240‬‬
‫‪226‬‬
‫‪28‬‬
‫‪7‬‬
‫‪40‬‬
‫‪215‬‬
‫‪181‬‬
‫‪249‬‬
‫‪96‬‬
‫‪190‬‬
‫‪155‬‬
‫‪58‬‬
‫‪224‬‬
‫‪28‬‬
‫‪242‬‬
‫‪16‬‬
‫‪49‬‬
‫‪40‬‬
‫‪90‬‬
‫‪90‬‬
‫‪145‬‬
‫‪43‬‬
‫‪28‬‬
‫‪156‬‬
‫‪149‬‬
‫‪130‬‬
‫‪227‬‬
‫‪219‬‬
‫‪137‬‬
‫‪141‬‬
‫‪208‬‬
‫‪207‬‬
‫‪250‬‬
‫‪28‬‬
‫‪81‬‬
‫‪133‬‬
‫‪27‬‬
‫‪142‬‬
‫‪140‬‬
‫‪253‬‬
‫‪91‬‬
‫‪167‬‬
‫‪42‬‬
‫‪242‬‬
‫‪238‬‬
‫‪157‬‬
‫‪77‬‬
‫‪184‬‬
‫‪236‬‬
‫‪112‬‬
‫‪220‬‬
‫‪208‬‬
‫‪71‬‬
‫‪128‬‬
‫‪181‬‬
‫‪135‬‬
‫‪246‬‬
‫‪92‬‬
‫‪205‬‬
‫‪250‬‬
‫‪151‬‬
‫‪48‬‬
‫‪115‬‬
‫‪58‬‬
‫‪254‬‬
‫‪10‬‬
‫‪92‬‬
‫‪150‬‬
‫‪72‬‬
‫‪36‬‬
‫‪22‬‬
‫‪102‬‬
‫‪110‬‬
‫‪244‬‬
‫‪62‬‬
‫‪237‬‬
‫‪215‬‬
‫‪248‬‬
‫‪159‬‬
‫‪145‬‬
‫‪179‬‬
‫‪203‬‬
‫‪215‬‬
‫‪97‬‬
‫‪189‬‬
‫‪23‬‬
‫‪137‬‬
‫‪252‬‬
‫‪227‬‬
‫‪30‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫והכי חשוב‪ :‬קוד!‬
‫• משמעות נוספת‪ ,‬מיוחדת‪ ,‬של הערכים המספריים בזיכרון היא קריאה‬
‫שלהם כרצף של הוראות לביצוע‪.‬‬
‫– למשל‪ = 0 ,‬קרא מספר מהזיכרון‪ = 1 ,‬חבר שני מספרים‪ = 2 ,‬חסר שני‬
‫מספרים‪ ,‬וכו'‪.‬‬
‫• לכל סוג מעבד יש "שפה" שונה – תרגום שונה של מספרים להוראות‬
‫לביצוע‪ .‬זוהי שפת המכונה של המעבד‪.‬‬
‫– זוהי למעשה השפה היחידה שהמעבד "מבין"!‬
‫איך נראות פקודות בשפת מכונה?‬
‫‪32‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫•‬
‫‪33‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫‪34‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫דוגמה‪ :‬רשימת פקודות "שפת מכונה" (שפת‬
‫אסמבלי) למעבד מסויים‬
‫‪35‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫איך המעבד מבצע את התכנית?‬
‫•‬
‫•‬
‫•‬
‫‪36‬‬
‫כל תכנית בשפת מכונה היא רצף של פקודות מהסוג שמופיע בשקף הקודם‪.‬‬
‫המעבד שומר לעצמו‪ ,‬בכל רגע נתון את הכתובת של ההוראה הבאה לביצוע‪.‬‬
‫– זהו פשוט מספר של "תא" בזיכרון‪ ,‬כאשר כל "תא" הוא (למשל) בגודל בייט‪.‬‬
‫בכל "צעד"‪ ,‬המעבד‪:‬‬
‫– קורא את המספר השמור בכתובת האמורה‪.‬‬
‫– מפענח את המספר הזה כהוראה‪.‬‬
‫– מבצע את ההוראה הזו‪.‬‬
‫– מתקדם ל"תא" הבא בתור‪.‬‬
‫• אלא אם ההוראה ציוותה עליו להתקדם לתא אחר כלשהו‪.‬‬
‫‪11‬‬
‫‪163‬‬
‫‪181‬‬
‫‪34‬‬
‫‪216‬‬
‫‪250‬‬
‫‪96‬‬
‫‪229‬‬
‫‪69‬‬
‫‪174‬‬
‫‪141‬‬
‫‪152‬‬
‫‪37‬‬
‫‪47‬‬
‫‪132‬‬
‫‪240‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫קצב עבודה של המעבד‬
‫• מחזורי הפקודות מבוצעים תחת פיקוחו של השעון הפנימי‪ .‬מקובל לכן‬
‫למדוד את מהירות ה – ‪ CPU‬על פי תדירות השעון (מספר הפעימות‬
‫בשנייה)‪.‬‬
‫• דוגמאות‪:‬‬
‫‪( Apple ][ .1‬מתחילת שנות ה‪( ~1MHz :)80-‬מיליון תקתוקי שעון בשניה)‪.‬‬
‫‪ .2‬מחשב ‪ 486‬מ‪ :93-‬עם כ‪ 33( 33MHz -‬מיליון בשניה)‪.‬‬
‫‪ .3‬כיום‪ ,‬מחשבי ‪( 3.5GHz :Pentium IV‬כשלושה מיליארד בשניה)‪.‬‬
‫• ביצוע פקודה אחת עשוי להמשך מספר מחזורי שעון‪.‬‬
‫• במעבדים מודרניים‪ ,‬לפעמים מבצעים כמה פקודות‬
‫במחזור שעון יחיד‪.‬‬
‫‪37‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫קשה מאד לתכנת בשפת מכונה‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪38‬‬
‫לכל סוג מחשב יש שפת מכונה משלו‪ ,‬המפותחת על ידי‬
‫האנשים שתכננו את המחשב‪.‬‬
‫אפילו ביצוע פעולות פשוטות עלול לדרוש הרבה (מאד)‬
‫פקודות בשפת מכונה‪ ,‬והבנת המשמעות של פקודות אלו‬
‫עלולה לדרוש זמן רב‪.‬‬
‫לכן בדרך כלל מתכנתים כותבים תכניות ב"שפה עילית"‪.‬‬
‫‪ MATLAB‬היא דוגמה לשפה עילית כזו‪.‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫שפות תכנות עיליות‬
‫•‬
‫•‬
‫•‬
‫•‬
‫תוכנית מחשב הינה סדרת פקודות שנועדו לבצע משימה מסוימת‪.‬‬
‫פקודות התוכנית‪ ,‬בשעת ריצתה‪ ,‬נמצאות בזיכרון הראשי‪.‬‬
‫כפי שאמרנו‪ ,‬המעבד מבין רק שפת מכונה‪.‬‬
‫אבל‪ ,‬בדרך‪-‬כלל‪ ,‬אנחנו כמתכנתים לא נכתוב את התוכנה בשפת‬
‫מכונה‪.‬‬
‫– זוהי עבודה מייגעת ומועדת לטעויות‪.‬‬
‫• במקום זאת‪ ,‬נכתוב את התוכנה בשפה עילית‪ ,‬וכלי מיוחד יתרגם את‬
‫התוכנה שלנו לשפת מכונה (כדי שתוכל "לרוץ" על המחשב)‪.‬‬
‫– הכלי הזה הוא בעצמו תוכנית מחשב‪ ,‬כמובן‪.‬‬
‫‪39‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫תוכנית ראשונה – הגדרת הבעיה‬
‫•‬
‫נכתוב תכנית מחשב הקוראת ‪ 10‬מספרים מהמשתמש ומדפיסה את‬
‫סכומם‪.‬‬
‫•‬
‫הגדרת הבעיה‪:‬‬
‫– קלט‪ :‬סדרה של ‪ 10‬מספרים‪ ,‬מוזנים כקלט על ידי המשתמש‪.‬‬
‫– פלט‪ :‬סכום המספרים‪.‬‬
‫‪40‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫תוכנית ראשונה – תכנון‬
‫• האלגוריתם‪:‬‬
‫– אפס את הסכום‪.‬‬
‫– בצע ‪ 10‬פעמים‬
‫• קרא את הערך הבא‪.‬‬
‫• הוסף ערך זה לסכום‪.‬‬
‫– הוצא את הסכום כפלט‪.‬‬
‫מה זה?‬
‫• מבנה נתונים אפשרי ‪ 3 -‬תאי זיכרון שישמשו לשמירת מספרים‪:‬‬
‫‪ .1‬הסכום (‪)sum‬‬
‫‪ .2‬המספר הנקרא הנוכחי (‪)value‬‬
‫‪ .3‬מספר הערכים שקראנו עד כה (‪)i‬‬
‫• אפשר גם אחרת‬
‫– קרא את הנתונים למערך )‪ (values‬המכיל ‪ 10‬ערכים‬
‫– סכם והדפס את ערכי האברים במערך‬
‫‪41‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫תכנות בשפה עילית‬
‫• שפה עילית (‪:)....,Pascal ,C # ,C++ ,Java ,BASIC, C‬‬
‫– דמוית אנגלית‪.‬‬
‫– פקודות מורכבות יותר‬
‫מפקודות מכונה‪.‬‬
‫– שונות בפרטים‬
‫וברמת הפשטה‪.‬‬
‫– תכנית ב‪:C-‬‬
‫– תכנית ב‪:Matlab-‬‬
‫>‪#include <stdio.h‬‬
‫)(‪int main‬‬
‫{‬
‫;‪int i, sum, value‬‬
‫;‪sum = 0‬‬
‫{ ) ‪for( i = 0; i < 10; i++‬‬
‫;)‪scanf("%d", &value‬‬
‫;‪sum = sum + value‬‬
‫}‬
‫;)’‪values=input(‘enter numbers‬‬
‫;)‪printf("%d \n", sum‬‬
‫;)‪s=sum(values‬‬
‫;‪return 0‬‬
‫}‬
‫– תכנית בשפה עילית מתאימה לריצה על מחשבים שונים ואינה תלויה‬
‫בשפת המכונה של מעבד ספציפי‪.‬‬
‫‪42‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫עיבוד תוכניות בשפה עילית‬
‫– ‪( compiler‬מהדר)‪ :‬תכנית המתרגמת תכניות משפה עילית לתכניות‬
‫בשפת מכונה של מעבד נתון‪.‬‬
‫• את קוד המכונה (קובץ הרצה) המתקבל ניתן להריץ פעמים רבות על‬
‫קלטים שונים‪.‬‬
‫– ‪ :interpreter‬קורא הוראות בשפה עילית ומבצע אותן מיד‬
‫• קוד המכונה נוצר כל פעם מחדש‬
‫• מאפשר עבודה בסביבה אינטראקטיבית‬
‫‪43‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫מקוד המקור לתוכנית שרצה – התהליך ‪I‬‬
‫‪44‬‬
‫תוכנית בשפת מכונה‬
‫‪my_prog.exe‬‬
‫מהדר‬
‫שגיאות הידור‬
‫(אם יש)‬
‫תוכנית בשפה עילית‬
‫‪my_prog.c‬‬
‫פלט התוכנית‬
‫תוכנית בשפת מכונה‬
‫‪my_prog.exe‬‬
‫שגיאות הרצה‬
‫קלט לתוכנית‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫מקוד המקור לתוכנית שרצה – התהליך ‪II‬‬
‫‪interpreter‬‬
‫שגיאות‬
‫(אם יש)‬
‫הוראות בשפה עילית‬
‫פלט התוכנית‬
‫קלט לתוכנית‬
‫‪45‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫שגיאות וסוגיהן‬
‫• שגיאות תחביר (‪ – (Syntax Errors‬קוד מקור "בלתי חוקי"‪ :‬המהדר‬
‫מגלה בקלות‪.‬‬
‫• שגיאות משמעות\שגיאות לוגיות (‪ – )Semantic/logical Errors‬קוד‬
‫מקור "חוקי" אבל שגוי‪ :‬התכנית "תרוץ" אבל לא תבצע את המצופה‬
‫ממנה‪ .‬שגיאות אלו קשות יותר לגילוי‪.‬‬
‫• שגיאות זמן ריצה (‪ – )Run-time Errors‬כגון חלוקה ב‪ 0-‬וכד'‪ :‬מתגלות‬
‫בזמן הריצה‪.‬‬
‫!‪Bug‬‬
‫‪46‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫מחזור החיים של תוכנה‬
‫‪ .1‬ניתוח הבעיה (הגדרת הקלט והפלט הרצוי)‬
‫‪ .2‬תכנון ‪: Design -‬‬
‫‪ .i‬מציאת האלגוריתם (‪ )algorithm‬לפתרון‪.‬‬
‫‪ .ii‬תכנון מבנה הנתונים‪.‬‬
‫‪ .iii‬חלוקת האלגוריתם לפרוצדורות‪.‬‬
‫‪ .3‬מימוש ‪ :‬קידוד באמצעות שפת התכנות שנבחרה‪.‬‬
‫‪ .4‬מציאת שגיאות (‪ ,)debug‬שימוש ותחזוקה‪.‬‬
‫כאשר כותבים תוכניות גדולות ומורכבות‪ ,‬שלב ‪ 4‬הינו הארוך ביותר‪ .‬ככל‬
‫ששלבים ‪ 1,2‬יסודיים יותר‪ ,‬כך שלב ‪ 3‬קל יותר ו‪ 4-‬קצר ופשוט יותר‪.‬‬
‫‪47‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬
‫מערכת ההפעלה‬
‫• מערכת הפעלה – תוכנה (אוסף תוכניות) אשר‪:‬‬
‫– מפקחת על ומנהלת את המחשב על התקניו‪ ,‬משאביו ומשימותיו‪.‬‬
‫– מאתחלת ביצוע משימות (תוכניות)‪.‬‬
‫– מקצה משאבים למשימות (תוכניות)‪.‬‬
‫• מערכת ההפעלה מתווכת בין התוכניות לבין ההתקנים השונים‪.‬‬
‫• גרעין מערכת ההפעלה )‪ – (kernel‬התוכנה האחראית על ניהול‬
‫ההתקנים‪ ,‬המשאבים והמשימות‪.‬‬
‫• דוגמאות‪:‬‬
‫‪48‬‬
‫מבוא למחשב שפת מטלאב ‪234127‬‬
‫הרצאה ‪1‬‬