PowerPoint Presentation

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

PowerPoint Presentation

PowerPoint Presentation

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

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

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

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

Slide 1

תרגול 1

PowerPoint Presentation

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

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

PowerPoint Presentation

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

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

Slide 1

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

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

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

מצגת של PowerPoint

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

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

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

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

PowerPoint Presentation

תרגול 1

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

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

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

תרגול 1

Microsoft Word - c_SimA_MoedB2005.doc

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

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

שקופית 1

Microsoft PowerPoint - rec1.ppt

Microsoft Word - pitaron222Java_2007.doc

Slide 1

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

PowerPoint Presentation

Microsoft PowerPoint - rec3.ppt

Tutorial 11

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

HTML - Hipper Text Makeup Language

Slide 1

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

PowerPoint Presentation

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

Slide 1

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

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

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

Slide 1

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

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

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

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

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

PRESENTATION NAME

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

Slide 1

פייתון

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

Slide 1

PowerPoint Presentation

תרגול 1

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

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

Slide 1

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

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

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

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

מתכונת עיצוב 3013

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

מקביליות

Microsoft PowerPoint - lec2.ppt

ex1-bash

Microsoft Word - דוגמאות ב

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

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

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

Python 2.7 in Hebrew

Slide 1

שעור 6

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

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

Microsoft PowerPoint - 10_threads.ppt

Slide 1

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

Microsoft Word B

Slide 1

234114

תרגול מס' 1

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

Slide 1

תמליל:

תכנות מתקדם בשפת Java אוניברסיטת תל אביב 1 תוכנה 1 תרגול 3: עבודה עם מחרוזות )Strings( מתודות )Methods( 1

תכנות מתקדם בשפת Java אוניברסיטת תל אביב 2 מחרוזות )STRINGS(

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

4 מחרוזות

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

6 מחרוזות פונקציות שימושיות 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 המימוש של הפונקציות לעיבוד מחרוזות יחזיר תמיד מחרוזת חדשה ולא יבצע שינויים על המחרוזת המקורית שעליה נקראה הפונקציה ( immutable Strings are.)in Java

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

8 הדפסת מחרוזות ומספרים int a=1805; double d=123.456789; System.out.println ("a=" + a); //"a=1805"; System.out.format ("a=%d\n",a); //"a=1805"; System.out.format ("d=%.2f%n",d); //"d=123.46" System.out.format ("d=%20.10f%n",d); //"d= 123.4567890000" %n - platform-specific line separator %d decimal %f float http://docs.oracle.com/javase/tutorial/java/data/numberformat.html

תכנות מתקדם בשפת Java אוניברסיטת תל אביב 9 מתודות )METHODS) בניית תוכנית תוך שימוש ראוי במתודות

10 - הגדרה Span בהינתן מערך של מספרים וערך כלשהו נגדיר את ה- span של הערך כמספר האברים )כולל( בין שני המופעים הקיצוניים של הערך במערך. [1,2,1,1,3] והערך 1 ה span הוא 4 [1,4,2,1,1,4,1,4] והערך 1 ה span הוא 7 [1,4,2,1,1,4,1,4] והערך 2 ה span הוא 1 דוגמאות: המערך המערך המערך

11 Max Span Max-Span מסוים יהיה ה span המקסימלי על פני כל הערכים במערך נרצה לממש פונקציה שבהינתן מערך של מספרים שלמים תחזיר את ה Max-Span שלו [1,2,1,1,3] ה maxspan- הוא 4 [1,4,2,1,1,4,1,4] ה maxspan- הוא 7 דוגמאות: המערך המערך

נתחיל לעבוד נפתח פרויקט חדש בשם MaxSpan נתחיל לכתוב תכנית בדיקה לפתרון שלנו 12

תכנית בדיקה נגדיר מחלקה חדשה עבור הבדיקות il.ac.tau.cs.sw1.maxspan.tests.testmaxspan החלק הראשון - חבילה (package) http://en.wikipedia.org/wiki/java_package כעת נכתוב את המקרים שנרצה לבדוק: 13

תכנית בדיקה int[] array = null; int maxspan; array = new int[]{1, 2, 1, 1, 3; maxspan = MaxSpan.maxSpan(array); if (maxspan!= 4) { System.out.println(Arrays.toString(array) + " expected: 4, result: "+ maxspan); else { System.out.println(Arrays.toString(array) + " correct!"); array = new int[]{1, 4, 2, 1, 1, 4, 1, 4; maxspan = MaxSpan.maxSpan(array); if (maxspan!= 7) { System.out.println(Arrays.toString(array) + " expected: 7, result: " + maxspan); else { System.out.println(Arrays.toString(array) + " correct!"); 14

למה המהדר כועס? לא מכיר את?Arrays import java.util.arrays; לא מכיר את?MaxSpan import il.ac.tau.cs.sw1.maxspan.maxspan; אבל לא מוגדרת מחלקה כזו...מה לעשות? בואו נקשיב להמלצה של אקליפס )QuickFix( קיצור מקשים: Ctrl+1 15

ועכשיו לפתרון public static int maxspan(int[] array) { int max = 0; for (int i = 0; i < array.length; i++) { int j = array.length - 1; for ( ; j >= i; j--) { if (array[i] == array[j]) { break; int span = j - i + 1; if (max < span) { max = span; return max; 16

)?( בדיקה, Refactor ושדרוג הקוד נבדוק שתכנית הבדיקה עובדת בואו נכתוב את הפונקציה בצורה יותר ראשית נשנה את שם המחלקה, דיון: כתיבת הפונקציה בצורה יעילות מודולריות, פתרון Top-down הבנת הקוד אפשרות לשינויים עתידיים "נכונה" נשתמש ב- Refactor "נכונה" 17

תכנון "top-down" int maxspan(int[]){ For each value in the array Compute its span in the array Return the largest span found int[] values(int[]){ int span(int, int[]){ Create an empty output array For every element in the input array If the output array does not already contain the current value, add it to the output array Find the first occurrence of value int lastindexof (int, int[]){ Find the last occurrence of value int firstindexof (int, int[]){ Span = last - first +1 boolean contains(int[], int, int) void add(int[], int, int){ We also need to adjust the output array size 18

הפונקציה הראשית public static int maxspan(int[] nums) { int max = 0; for (int value: values(nums)) { max = Math.max(max, span(value, nums)); return max; 19

וחלק מפונקציות העזר private static int span(int value, int[] nums) { return lastindexof(value, nums) - firstindexof(value, nums) + 1; private static int[] values(int[] nums) { int[] values = new int[nums.length]; int nextindex = 0; for (int i = 0; i < nums.length; i++) { if (!contains(values, nextindex, nums[i])) { add(values, nextindex++, nums[i]); return Arrays.copyOf(values, nextindex); 20

והשאר private static int lastindexof(int value, int[] nums) { for (int i = nums.length - 1; i >=0; i--) { if (nums[i] == value) { return i; // should never get here return -1; private static int firstindexof(int value, int[] nums) { int index = -1; for (int i = 0; i < nums.length; i++) { if (nums[i] == value) { index = i; break; return index; 21

והשאר private static void add(int[] values, int position, int value) { values[position] = value; private static boolean contains(int[] temp, int templength, int value) { for (int i = 0; i < templength; i++) { if (temp[i] == value) { return true; return false; 22