PowerPoint Presentation

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

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

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

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

PowerPoint Presentation

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

Slide 1

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

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

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

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

תרגול 1

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

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

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

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

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

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

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

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

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

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

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

Slide 1

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

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

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

ex1-bash

מצגת של PowerPoint

Microsoft Word - pitaron222Java_2007.doc

Microsoft Word - c_SimA_MoedB2005.doc

PowerPoint Presentation

שקופית 1

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

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

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

Slide 1

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

Microsoft PowerPoint - T-10.ppt [Compatibility Mode]

PowerPoint Presentation

Slide 1

Microsoft PowerPoint - Lecture1

תוכנה 1 אביב תשע"ח תרגיל מספר 8 אוספים גנריים ו- framework collection הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת ה

HTML - Hipper Text Makeup Language

PowerPoint Presentation

תרגיל בית מספר 1#

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

PowerPoint Presentation

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

Tutorial 11

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

Slide 1

Python 2.7 in Hebrew

Slide 1

Microsoft Word - Ass1Bgu2019b_java docx

Microsoft PowerPoint - 10_threads.ppt

Slide 1

תרגול מס' 7: תרגילים מתקדמים ברקורסיה

regular_expression_examples

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

Microsoft PowerPoint - lec10.ppt

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

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

שאלה 2. תכנות ב - CShell

בס"ד תרגיל 3 מועד אחרון ל כללי בתרגיל זה עליכם לכתוב תוכנה שמדמה מאגר נתונים של חנות. את מוצרי החנות תייצגו באמצעות עצים ורשימות מקושרות יהיה עליכם לנ

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

תרגול 1

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

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

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

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

תרגול 1

Slide 1

Slide 1

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

שעור 6

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

תרגול 1

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

BIG DATA תיאור הקורס המונח Big Data הולך וצובר תאוצה בשנים האחרונות, הוא הופך למגמה רווחת בתעשייה. המשמעות הפרקטית של המונח Big Data הינה טכנולוגיות נ

Microsoft Word B

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

פייתון

דוגמאות שהוצגו בהרצאה 10 בקורס יסודות מערכות פתוחות דוגמה 1 דוגמאות של פונקציות ב- awk שמראות שהעברת פרמטרים של משתנים פשוטים היא by value והעברת פרמט

Slide 1

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

Data Structure Assignment no.3 תאריך הגשה: p.m. 11/09/16, 23:59 את העבודה יש להגיש בזוגות במערכת ההגשות.submission system על העבודה להיות מוגשות כקובץ

PowerPoint Presentation

Microsoft Word - דוגמאות ב

PRESENTATION NAME

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

תמליל:

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

שלבי הפיתוח - חזרה קצרה ישנם שני שלבים נפרדים: שלב פיתוח התוכנית בשלב זה אנו משתמשים במהדר )קומפיילר( כדי להמיר קבצי.java )קבצי טקסט הקריא למתכנת(, לקבצי.class שנועדו עבור המפרש )אינטרפרטר(. קומפילצייה 2

שלבי הפיתוח - חזרה קצרה ישנם שני שלבים נפרדים: שלב הרצת התוכנית בשלב זה אנו משתמשים במפרש כדי להריץ את קבצי ה- class שייצרנו. ב- Java אותו קובץ class יכול לרוץ בסביבות שונות אם קיים עבורן מפרש. הרצה 3

שלבי הפיתוח חזרה קצרה קומפיילר ה JDK- )Java Development Kit( נדרש לתהליך הפיתוח ה JRE- )Jave Runtime Environment( נדרש להרצת תוכניות )Java Virtual Machine( JVM הספריות הסטנדרטיות 4

חזרה קצרה JVM- הוא ה יודע לטעון תוכניות "מכונה" המריצה תוכניות Java יודע לוודא את תקינות הקבצים הנטענים מכיל את המפרש )Interpreter( 5

המתרגם 6

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

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

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

API Application Programming Interface ממשק המאפשר לאפליקציה לתקשר עם תוכנה אחרת עבור ג'אווה קיימים כלים רבים הזמינים ברשת כקוד פתוח Translate בתרגול זה נשתמש ב- API לתרגום כללי בשם במציאות, קיימים ברשת כלים שונים של,Google Microsoft ועוד 10

שלב א' public class TranslatorEngine1 { public static void main(string[] args) throws Exception { String TranslatedText = Translate.execute("Hello", Language.ENGLISH, Language.FRENCH); } } System.out.println(TranslatedText); 11

אינטראקציה עם המשתמש נתחיל להתקדם עקב בצד אגודל אל היעד שלנו קלט מהמשתמש יינתן בשורת הפקודה פרמטר ראשון: המילה לתרגום פרמטר שני: שפת המקור פרמטר שלישי: שפת היעד 12

שלב ב' public class TranslatorEngine2 { } public static void main(string[] args) throws Exception { String TranslatedText = Translate.execute(args[0], Language.fromString(args[1]), Language.fromString(args[2])); System.out.println(TranslatedText); } 13

קריאת קלט נקרא קלט מהמשתמש )console( עדיין מילה אחת אין שימוש בקבצים נשתמש במחלקה Scanner מה הפורמט של הקלט? 14

המחלקה Scanner סורק טקסט פשוט "שובר" את הקלט לרכיביו השונים )מילה, מספר וכדומה( בעת יצירה מקבל כפרמטר מהיכן לקרוא את הקלט Scanner s = new Scanner(System.in); int anint = s.nextint(); float afloat = s.nextfloat(); String astring = s.next(); String aline = s.nextline(); http://docs.oracle.com/javase/7/docs/api/index.html?jav a/util/scanner.html 15

המחלקה Scanner המחלקה Scanner מייצגת משאב מערכת שנפתח לקריאה( )קובץ משאבים כאלו יש להחזיר למערכת מהר ככל הניתן. ע"י שימוש מפורש בשירות close() ע"י שימוש בבלוק try() שנלמד בהמשך הקורס 16

פורמט הקלט מהו הפרוטוקול המשותף שחולקים האפליקציה והמשתמש לצורך התקשורת ביניהם איזה מידע דרוש כיצד הוא מקודד )מספר, מחרוזת, מה סדר הפרמטרים )... נבחר: לדוגמא, <word> <source-lang> <target-lang> הקלט: הפלט: hello English French bonjour 17

דוגמא קרא מ- standard input Scanner s = new Scanner(System.in); System.out.println("enter line:"); while (s.hasnext()) System.out.println(s.next()); s.close(); קרא את ה- Token הבא 18

שלב ג' public class TranslatorEngine3 { public static void main(string[] args) throws Exception { } } Scanner s = new Scanner(System.in); String[] fragments = s.nextline().split(" "); String TranslatedText = Translate.execute(fragments[0], Language.fromString(fragments[1]), Language.fromString(fragments[2])); System.out.println(TranslatedText); s.close(); 19

קבצים במקום לקרוא את שורת הקלט מהמשתמש נקרא אותה מקובץ קובץ מיוצג ע"י : המחלקה )path( java.io.file המחלקה java.nio.file.path נאתחל את האובייקט עם המסלול לקובץ Path p = Paths.get( C:\\Software1\\example.txt ); Path p = Paths.get( C:, Software1, example.txt ); 20

מסלול )Path( לקובץ מסלול יחסי path Relative Paths.get( subfolder, example.txt ) ב- eclipse המיקום הנוכחי במהלך ריצה הוא ה- Project root מסלול מלא path Absolute Paths.get( C:, Software1, example.txt ); 21

תלות בסביבה ג'אווה היא שפת תכנות חוצת סביבות, הקבצים תלויה בסביבה! למשל, המפריד בסביבת )slash( / הוא Unix אבל מערכת /usr/local/software1/example.txt ובסביבת )backslash( C:\Software1\example.txt Windows הוא \ אך היא תומכת גם ב- כמפריד. / נשתדל להימנע משימוש מפורש במפריד! לדוגמא: ניתן להשתמש בפונקציות Path של resolvexxx() 22

שלב ד' public class TranslatorEngine4 { private static final String FILE_NAME = example.txt ; public static void main(string[] args) throws Exception { } } Scanner s = new Scanner(Paths.get(FILE_NAME)); String[] fragments = s.nextline().split(" "); String TranslatedText = Translate.execute(fragments[0], System.out.println(TranslatedText); s.close(); Language.fromString(fragments[1]), Language.fromString(fragments[2])); 24

קלטים מרובים מספר שורות קלט מקובץ נקרא מספר קלטים עד לסוף הקובץ שימוש במתודות hasnextline ו- nextline 25

שלב ה' public class TranslatorEngine5 { private static final String FILE_NAME =..."; public static void main(string[] args) throws Exception { } } Scanner s = new Scanner(Paths.get(FILE_NAME)); while (s.hasnextline()) { } s.close(); String[] fragments = s.nextline().split(" "); System.out.println(Translate.execute(fragments[0], Language.fromString(fragments[1]), Language.fromString(fragments[2]))); 26

פיסקה פיסקה ולא רק מילה אחת מה יהיה הפורמט החדש? נבחר: <source-lang>#<target-lang>#<paragraph> 27

Scanner Set Delimiter Example String input = "1 fish 2 fish red fish blue fish "; Scanner s = new Scanner(input).useDelimiter(" fish "); while (s.hasnext()) System.out.println(s.next()); s.close(); 28

קריאת פיסקה מהקובץ פיסקה יכולה להכיל מספר שורות בינתיים על קלטים מרובים(. )נוותר נרצה לקרוא ולצרף אותן למחרוזת אחת. ניתן להשתמש באופרטור +, שיוצר בכל פעם מחרוזת חדשה אנו נשתמש במחלקה StringBuilder 29

המחלקה StringBuilder מייצגת מחרוזת ניתנת לשנוי )mutable( מאפשרת לבצע שינוי במחרוזת קיימת מבלי ליצור עצמים חדשים עם כל שינוי שירותים חשובים: append insert ו- StringBuilder sb = new StringBuilder("abc"); sb.append("d"); 30

שלב ו' public class TranslatorEngine6 { } private static final String FILE_NAME =..."; public static void main(string[] args) throws Exception { } Scanner s = new Scanner(Paths.get(FILE_NAME)); s.usedelimiter("#"); Language from = Language.fromString(s.next()); Language to = Language.fromString(s.next()); s.skip("#"); StringBuilder text = new StringBuilder(); while (s.hasnextline()) { } text.append(s.nextline()); text.append(' '); System.out.println(Translate.execute(text.toString(), from, to)); s.close(); 31

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

חזרה קצרה על מחרוזות 35

מחרוזות מחרוזות הן אובייקטים המכילים רצף של תווים. String s = Hello ; index 0 1 2 3 4 character H e l l o כל אלמנט במחרוזת הוא מסוג.char length() האינדקס של התו הראשון הוא 0. אורך המחרוזת מוחזר ע"י הפונקציה שרשור מחרוזות נעשה ע"י האופרטור + String s2 = s + World + 5 // Hello World5 36

מחרוזות פונקציות בדיקה Method equals(str) Description whether two strings contain the same characters equalsignorecase(str) whether two strings contain the same characters, ignoring upper vs. lower case startswith(str) endswith(str) contains(str) whether one contains other's characters at start whether one contains other's characters at end whether the given string is found within this one equals() כדי להשוות שתי מחרוזות מבחינת תוכנן יש == שבודק אם מדובר באותו אובייקט להשמש בפונקצייה ולא באופרטור 37

מחרוזות פונקציות שימושיות indexof(str) Method name substring(index1, index2) or substring(index1) tolowercase() touppercase() Description index where the start of the given string appears in this string (-1 if not found) the characters in this string from index1 (inclusive) to index2 (exclusive); if index2 is omitted, grabs till end of string a new string with all lowercase letters a new string with all uppercase letters המימוש של הפונקציות לעיבוד מחרוזות יחזיר תמיד מחרוזת חדשה ולא יבצע שינויים על המחרוזת המקורית שעליה נקראה הפונקציה Java(.)Strings are immutable in 38

מחרוזות פיצול לחלקים Method name split(delimiterstring) Description Splits the string into tokens using the given delimiter string. Returns an array of Strings. String str= Another useful example"; String[] tokens = str.split( ); //tokens = { Another, useful, example } 39