PowerPoint Presentation

מסמכים קשורים
PowerPoint Presentation

PowerPoint Presentation

מבוא למדעי המחשב

תרגול 1

מבוא למדעי המחשב

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק

מהוא לתכנות ב- JAVA מעבדה 3

PowerPoint Presentation

PowerPoint Presentation

Slide 1

אוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ

מבוא למדעי המחשב

מבוא למדעי המחשב, סמסטר א', תשס"ח תרגול מס' 2

Slide 1

מבוא לתכנות ב- JAVA תרגול 7

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

Microsoft PowerPoint - rec1.ppt

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

מבוא לתכנות ב- JAVA תרגול 11

PowerPoint Presentation

Slide 1

PowerPoint Presentation

Microsoft PowerPoint - Lecture1

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

מצגת של PowerPoint

תורת הקומפילציה

מבוא למדעי המחשב

תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(

מבוא למדעי המחשב

Slide 1

תכנות מונחה עצמים א' – תש"ע

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

שאלהIgal : מערכים דו מימדיים רקורסיה:

PowerPoint Presentation

המשימה תרגול מס' 5: קלט-פלט במערכות הפעלה שונות יש סימונים שונים עבור ירידת שורה :)newline( ב- UNIX/Linux )Line Feed( \n ב- Windows )Carriage Return +

שאלהIgal : מערכים דו מימדיים רקורסיה:

מבוא למדעי המחשב

Microsoft Word - Ass1Bgu2019b_java docx

תרגול 3 - מערכים

Slide 1

יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן

PowerPoint Presentation

Microsoft PowerPoint - rec3.ppt

סדנת תכנות ב C/C++

T01-1page

PowerPoint Presentation

מדריך להתקנת Code Blocks מדריך זה נועד לתאר את תהליך התקנת התוכנה של הקורס "מבוא למחשב שפת C". בקורס נשתמש בתוכנת Code::Blocks עם תוספת )אשף( המתאימה

Microsoft Word - c_SimA_MoedB2005.doc

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

שאלהIgal : מערכים דו מימדיים רקורסיה:

HTML - Hipper Text Makeup Language

PowerPoint Presentation

Microsoft PowerPoint - lec10.ppt

PowerPoint Presentation

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

Slide 1

Microsoft Word - pitaron222Java_2007.doc

תוכן העניינים

<4D F736F F D20E7E5F7E920E0E9EEE5FA20E1E8E1ECE42E646F63>

Slide 1

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

מבוא למדעי המחשב

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

Slide 1

מבוא למדעי המחשב

Slide 1

תרגיל 1 בקורס תוכנה 1

תוכן העניינים

1 תבניות טקסט מהי תבנית טקסט? שימוש ב- Characters Meta שימוש ב- Expression Grouping שימוש ב- Quantifiers תת תבניות הפונקציה preg_match הפונקציה preg_m

ייבוא וייצוא של קבצי אקסל וטקסט

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - 10_threads.ppt

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

ex1-bash

1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle ב

מבחן בפיתוח מערכות תוכנה בשפת Java ( )

הגשה תוך שבוע בשעת התרגול

תרגול 1

לנץ קרן מרצה: תכנותמונחהעצמים) ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחי

Slide 1

תרגול 1

מבוא למדעי המחשב

Tutorial 11

תוכנה 1 בשפת Java שיעור מספר 3: "חתיכת טיפוס"

Slide 1

מבוא למדעי המחשב - חובלים

תכנות בשפת פייתון ברק גונן

פייתון

תרגול 1

Slide 1

שקופית 1

תמליל:

1 תוכנה 1 תרגול 1: מנהלות, סביבת העבודה ומבוא ל- Java 1

2 מנהלות I מתרגלים: יעל אמסטרדמר )שעת קבלה: חמישי ב- 12, בתיאום מראש( דביר נתנאלי )שעת קבלה: רביעי ב- 17, בתיאום מראש( http://courses.cs.tau.ac.il/software1/1415a אתר הקורס: אתר הקורס ב- moodle הגשת תרגילים פורום הקורס )שאלות ותשובות על תרגילי הבית ובכלל( הודעות המרצה מי שאינו רשום לקורס באתר,Moodle שישלח מייל למתרגל עם שם משתמש אוניברסיטאי, שם מלא ות"ז. 2

3 מנהלות II תרגילי בית יינתנו 10 תרגילים המהווים 15 נקודות מהציון הסופי בקורס )כל תרגיל יהיה במשקל 1 או 2 נקודות(. הגשה בימי רביעי אחת לשבוע או שבועיים, דרך מערכת המודל. יש להגיש לפחות 6 תרגילים, ולצבור לפחות 9 נקודות כדי לגשת למבחן. מבחינת הציון הסופי, אין חשיבות לציון התרגילים כל זמן שעברתם. לזכותכם 5 "ימי חסד" המאפשרים הגשה באיחור ללא בקשת אישור. class חשוב להגיש את התרגילים בצורה מדויקת ובלי להעתיק. מימוש מדויק על פי ההוראות בתרגיל להקפיד על פלטים מדויקים כי הבדיקה עשויה להיות אוטומטית הגשת קובץ zip עם שם נכון הכולל קבצי קוד עם סיומת java ולא קבצי! הגשת תרגיל מספר 1 ביום רביעי הבא

4 מנהלות III עבודה במעבדות האוניברסיטה סביבת העבודה היא.Linux נדרש חשבון אישי במחשבי האוניברסיטה. הנחיות לפתיחת חשבון והכרת סביבת העבודה באתר הקורס. הסבר על הפעלת אקליפס במחשבי האוניברסיטה: http://courses.cs.tau.ac.il/software1/1415a/misc/lab-eclipse.pdf עבודה מהמחשב הביתי יש להתקין Java 8 ו- Eclipse. הסבר מפורט לגבי השמשת סביבת העבודה מהבית: http://courses.cs.tau.ac.il/software1/1415a/misc/workenv.pdf 4

5 חבילות הפיתוח וההרצה של Java גרסת ה- Java שעמה נעבוד: Java SE (Standard Edition) 8.0 חבילת סביבת ההרצה )נדרשת להרצת תוכניות ג'אווה(: JRE (Java Runtime Environment) that includes: JVM (Java Virtual Machine) Standard Class Library חבילת ערכת הפיתוח )נדרשת לפיתוח תוכניות ג'אווה(: JDK (Java Development Kit) that includes: JRE Command line tools: compiler, debugger etc. הורדה ותיעוד ב- http://www.oracle.com/technetwork/java/javase/downloads/index.html 5

6 תהליך הפיתוח וההרצה של תוכנית ג'אווה ישנם שני שלבים נפרדים: 1. שלב פיתוח התוכנית בשלב זה אנו משתמשים במהדר )Compiler( כדי להמיר קבצי.java )קבצי טקסט הקריאים למתכנת( לקבצי.class שנועדו עבור המפרש )אינטרפרטר(. המהדר מוודא את תקינות הקוד ומציג הודעות קומפילציה במקרה הצורך. הקומפיילר ניתן להרצה משורת הפקודה ע"י.javac קומפילציה

7 תהליך הפיתוח וההרצה של תוכנית ג'אווה ישנם שני שלבים נפרדים: 2. שלב הרצת התוכנית בשלב זה אנו משתמשים במפרש )Interpreter( כדי להריץ את קבצי ה- class שיצרנו. ב- Java אותו קובץ class יכול לרוץ בסביבות שונות אם קיים עבורן מפרש. קבצי ה- class כתובים בפורמט.bytecode ניתן להריץ קובץ class משורת הפקודה ע"י הרצת הפקודה.java הרצה

8 תכנות מתקדם בשפת Java אוניברסיטת תל אביב Java Virtual Machine ה- JVM היא "מכונה וירטואלית" המפרשת ומריצה Java ByteCode משמשת גביה. יודעת כשכבת תיווך בין מערכת ההפעלה לבין תוכניות הרצות על לטעון תוכניות יודעת לוודא את תקינות הקבצים הנטענים מכילה את המפרש )Interpreter( השימוש במכונה וירטואלית הוא ממאפייני היסוד של פלטפורמת Java והוא מאפשר לתוכניות שנכתבו בשפת Java ועברו הידור באמצעות המהדר של השפה, לרוץ על מגוון רחב של פלטפורמות חומרה ומערכות הפעלה.

9 :IDE סביבת פיתוח שלובה IDE = Integrated Development Environment סביבה המשלבת רכיבי/כלי פיתוח עצמאיים: עורך טקסט )editor( סייר הקבצים )browser( מהדר )compiler( סביבת זמן ריצה )JRE( מנפה השגיאות )debugger( ועוד... Eclipse ה IDE - ניתן לערוך, בו נשתמש בקורס. לקמפל ולהריץ תוכניות ג'אווה מתוך אקליפס בצורה נוחה. 9

10 Eclipse IDE מתקדם המתאים גם לפיתוח תוכנה ב- Java. ניתן להתקנה ב- Windows,Linux דורש התקנה בנפרד של JRE ועוד... )או )JDK אתר הבית: www.eclipse.org מכיל אוסף גדול של מאמרים. הכרות: דפי עבודה ללימוד Eclipse מדריך מומלץ באתר הקורס לאקליפס: Vogella.com 10

11 Data Types טיפוסי השפה טיפוסים יסודיים )פרימיטיביים(: 8 טיפוסים מוגדרים בשפה שמיועדים להכיל ערכים פשוטים: מספרים שלמים: byte, short, int, long מספרים ממשיים: float, double תווים: char ערכים בוליאניים: boolean טיפוסי הפנייה :)References( טיפוסים מורכבים היכולים גם להכיל מידע וגם לספק שירותים )יוסבר בהמשך( המתכנת יכול להגדיר טיפוסי הפנייה חדשים דוגמאות מיוחדות: מחרוזות ומערכים 11

12 הטיפוסים הפרימיטיביים בזיכרון המחשב נשמר המידע בפורמט בינארי סיבית :)bit( ספרה בינארית )'0' או '1'( בייט byte( :(octet, קבוצה של 8 סיביות Type Size Value Range long 64 bits -2 63 2 63-1 שלמים int short 32 bits 16 bits -2 31 2 31-1 -2 15 2 15-1 byte 8 bits -128 127 ממשיים double float 64 bits 32 bits beyond the scope of the discussion char תווים 16 bits most alphabet languages boolean ערכים לוגיים "1 bit" true, false 12

13 הטיפוסים הפרימיטיביים

ASCII Table char values 14 14

15 ערכי ברירת מחדל Data Type Default Value (for fields) byte 0 short 0 int 0 long 0L float 0.0f double 0.0d char '\u0000' boolean false String (or any object) null

16 טיפוסים לא פרימיטיביים Reference Types ג'אווה תומכת גם בטיפוסים מורכבים שאינם פרימיטיביים. טיפוסים אלו מוגדרים ע"י מחלקה שבתוכה נתונים ופונקציות רלבנטיות. מכל טיפוס ניתן ליצור מופעים רבים מקביל ליצירת משתנים רבים מטיפוס )אובייקטים(. פרימטיבי מסויים. אנו כמתכנתים נוכל להשתמש בקוד שלנו ב- אלפי הטיפוסים המוגדרים בספריה התקנית של - ה, Java http://docs.oracle.com/javase/8/docs/api/ Java API (Application Programming Interface) נוכל גם להגדיר מחלקות שייצגו טיפוסים לא פרימיטיביים נוספים על פי צרכינו. 16

17 טיפוסים לא פרימיטיביים טיפוסי הפניה )references( הם משתנים שמצביעים אל אובייקטים. דוגמא: הגדרת מחרוזת :)String( String mystring = new String("Hello World ); עצם )object( Non-primitive type Almost the same as: String mystring = Hello World ; 17

18 מחרוזות מחרוזות הן אובייקט המחזיק אוסף של תווים. אופרטור שרשור: "Hello " + "World" is "Hello World" "19" + 8 + 9 is "1989" String str1 = "Hello"; char c = str1.charat(0); String str2 = str1.touppercase(); int strlength = str1.length(); דוגמאות לפונקציות מהמחלקה :String // c == H // str2 == "HELLO" // i == 5 עוד ב- http://docs.oracle.com/javase/8/docs/api/index.html?java/lang/string.html 18

19 המרת מחרוזות למספרים Long.parseLong Integer.parseInt Short.parseShort Byte.parseByte Double.parseDouble Float.parseFloat Boolean.parseBoolean public static void main(string[] args){ int i = Integer.parseInt("1"); double d = Double.parseDouble("-12.45e2"); } // i==1 // d==-1245.0 19

20 איך נדע אילו פקודות קיימות...?

21 והתשובה

22 מערכים בקצרה int[] odds = new int[8]; מבנה נתונים פשוט אוסף של פריטים מאותו טיפוס גישה באמצעות אינדקס נשתמש ב ][ לציין טיפוס מסוג מערך. הגדרת מערך של int בשם :odds אינדקס )מתחיל מ- 0 ( 0 1 2 3 4 5 6 7 odds reference 1 3 5 7 9 11 13 15 odds.length == 8 הרחבה על מערכים בתרגול הבא

23 מערכים

24 העברת ארגומנטי שורת פקודה לתוכנית public class MyClass { public static void main(string[] args) { System.out.print(args.length + "\t"); System.out.print(args[0] + "\t"); System.out.print(args[args.length - 1]); } } מערך המכיל את הארגומנטים שהועברו לתוכנית עם הרצתה כיצד מעבירים ארגומנטים לתוכנית? 2 דרכים אפשריות: :command line Run Run Configurations Arguments :Eclipse Output: 4 1 hello world

25 מחרוזות ותווים כתוב תוכנית שמקבלת תו כארגומנט ומדפיסה: את התו את התו העוקב לו public static void main(string[] args){ char c = args[0].charat(0); char c1 = (char)(c + 1); System.out.println(c + "\t" + c1); } 25

26 תווים מיוחדים Escape Sequences Escape Sequence \t Tab Description \n Newline \r Carriage return \ Single quote \ Double quote \\ Backslash 26

27 מחרוזות ותווים כתוב תוכנית המקבלת תו מ- {a,b,...,z} Uppercase שלו ומדפיסה את ה- נחשב את המיקום של התו ב abc מיקום( ב ABC ונמיר אותו לאותו תו )אותו פתרון א': public static void main(string[] args){ char c = args[0].charat(0); System.out.println((char) (c 'a' + 'A')); } 27

28 דרכים נוספות?

29 מחרוזות ותווים בעזרת String.toUpperCase() public static void main(string[] args){ System.out.println (args[0].touppercase()); } בעזרת Character.toUpperCase() פתרון ב': פתרון ג': public static void main(string[] args){ char c = args[0].charat(0); System.out.println(Character.toUpperCase(c)); } 29

30

31 המרת טיפוסים פרימיטיביים public static void main(string[] args){ long l = 2000000000+2000000000; int i = (int) 1.99999999; float f = (float) 1.99999999; } f = 5/2; f = (float) (5/2); f = (float) 5/2; f = 5 / (float) 2; short a = 2; short c = a*a; // f == 2 // f == 2 // f == 2.5 // f == 2.5 // l == -294967296 // i == 1 // f == 2 // compilation error: cannot convert from int to short עוד על המרות ב- http://java.sun.com/docs/books/jls/third_edition/html/conversions.html 31

32 הסוף... 32