PowerPoint Presentation

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

PowerPoint Presentation

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

PowerPoint Presentation

PowerPoint Presentation

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

Slide 1

PowerPoint Presentation

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

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

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

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

תרגול 1

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

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

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

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

PowerPoint Presentation

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

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

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

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

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

Slide 1

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

ex1-bash

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

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

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

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

Microsoft Word - pitaron222Java_2007.doc

מצגת של PowerPoint

שקופית 1

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

Slide 1

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

Microsoft Word - c_SimA_MoedB2005.doc

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

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

PowerPoint Presentation

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

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

HTML - Hipper Text Makeup Language

Slide 1

PowerPoint Presentation

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

Slide 1

Slide 1

PowerPoint Presentation

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

Slide 1

Tutorial 11

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

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

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

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

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

regular_expression_examples

Python 2.7 in Hebrew

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

תרגול 1

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

תרגול 1

Slide 1

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

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

PowerPoint Presentation

Microsoft PowerPoint - 10_threads.ppt

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

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

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

פייתון

Slide 1

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

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

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

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

PRESENTATION NAME

תרגול 1

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

Microsoft Word - Ass1Bgu2019b_java docx

WinZIP תוכנה לדחיסת קבצים ספטמבר 2007

מערכות הפעלה קורס מס'

Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office

PowerPoint Presentation

שעור 6

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

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

Microsoft PowerPoint - Lecture1

234114

Microsoft PowerPoint - lec10.ppt

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

תרגול מס' 1

תוכנה 1 תרגול מספר 12: GUI כתיבת מחלקות גנריות בית הספר למדעי המחשב אוניברסיטת תל אביב 1

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

תמליל:

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

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

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

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

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

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

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

שלב ב' 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); } 8

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

המחלקה 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 10

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

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

שלב ג' 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); 13

קבצים במקום לקרוא את שורת הקלט מהמשתמש נקרא אותה מקובץ קובץ מיוצג ע"י המחלקה java.io.file נאתחל את האובייקט עם המסלול לקובץ File f = )path( new File( C:\\Software1\\example.txt ); 14

מסלול )Path( לקובץ מסלול יחסי path Relative new File) example.txt ( ב- eclipse המיקום הנוכחי במהלך ריצה הוא ה- Project root מסלול מלא path Absolute new File) C:\\Software1\\example.txt ( 15

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

תלות בסביבה - המשך פתרון ב': שימוש ב- בהתאם לסביבה File.separator המוגדר מתאים בעיקר לקבצים במיקום יחסי לפרוייקט לדוגמא: new File("Software1" + File.separator + "example.txt") פתרון ג': נקבל את המסלול לקובץ כקלט מהמשתמש 17

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

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

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

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

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(); 22

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

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

שלב ו' public class TranslatorEngine6 { private static final String FILE_NAME =..."; public static void main(string[] args) throws Exception { } } Scanner s = new Scanner(new File(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)); 25

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

מחרוזות מחרוזות הן אובייקטים המכילים רצף של תווים. 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 29

מחרוזות פונקציות בדיקה 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() כדי להשוות שתי מחרוזות מבחינת תוכנן יש == שבודק אם מדובר באותו אובייקט להשמש בפונקצייה ולא באופרטור 30

מחרוזות פונקציות שימושיות 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 31

מחרוזות פיצול לחלקים 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 } 32