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

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

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

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

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

תרגול 1

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

Slide 1

PowerPoint Presentation

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

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

PowerPoint Presentation

PowerPoint Presentation

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

Slide 1

PowerPoint Presentation

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

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

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

PowerPoint Presentation

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

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

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

PowerPoint Presentation

Tutorial 11

Slide 1

Microsoft Word - pitaron222Java_2007.doc

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

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

שקופית 1

Slide 1

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

Slide 1

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

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

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

Slide 1

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

PRESENTATION NAME

Slide 1

Slide 1

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

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (

Slide 1

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

Microsoft Word - c_SimA_MoedB2005.doc

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

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

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

Microsoft PowerPoint - rec3.ppt

Microsoft Word B

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

Slide 1

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

Slide 1

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

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

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

ex1-bash

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

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

מס' סידורי: ת.ז.: עמוד 1 מתוך 20 בחינה בתוכנה 1 סמסטר ב', מועד א',תשס"ט 5/7/2009 וולף, ליאור ליאור שפירא, נעמה מאיר, מתי שמרת הוראות )נא לקרוא!( משך ה

תרגול 1

Microsoft Word - c_SimA_MoedA2006.doc

Microsoft PowerPoint - rec1.ppt

Slide 1

תרגול 1

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

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

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

Microsoft Word - Ass1Bgu2019b_java docx

PowerPoint Presentation

מצגת של PowerPoint

234114

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

PowerPoint Presentation

Microsoft PowerPoint - 10_threads.ppt

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

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

תרגול 1

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

Microsoft Word - דוגמאות ב

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

PowerPoint Presentation

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

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

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

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

PowerPoint Presentation

PowerPoint Presentation

Slide 1

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

סיכום הוראות Touch touchend יקרא לפונקציה כשיסתיים המגע עם הסמארטפון. - touchmove יקרא לפונקציה במהלך תזוזת המגע עם הסמארטפון. touchstart יקרא לפונקצי

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

HTML - Hipper Text Makeup Language

אוניברסיטת תל אביב - בית הספר למדעי המחשב מבוא מורחב למדעי המחשב, אביב 2019 תרגיל בית מספר - 2 להגשה עד 02/04/2019 בשעה 23:55 קיראו בעיון את הנחיות הע

Python 2.7 in Hebrew

תמליל:

Introduction to Programming in Java תרגול 5 1

היום בתרגול void מה הן פונקציות הגדרת פונקציה, קריאה לפונקציה העברת ארגומנטים, החזרת ערך או דוגמאות 2

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

מבנה של פונקציה public static <return type> <func name> (<arg1_type> <arg1>, <arg2_type> <arg2>, ) <function body> חתימה של פונקציה מורכבת משם הפונקציה ומרשימת טיפוסי הארגומנטים שהפונקציה מקבלת )מספר,סוגי טיפוסים וסדר(. הערך המוחזר וכן מאפיינים נוספים של פונקציה public ) static אינם נכללים בחתימה של הפונקציה. לכל שתי פונקציות בתכנית חתימה שונה (כגון ו- public static int foo(int num) public static int foo(int num1, double num2) public static int foo(double num) public static double foo(int num) X 4

ערך החזרה של פונקציה יש פונקציות שלא צריכות להחזיר ערך, אלא רק לבצע משהו )למשל פונקציה שמדפיסה מערך(. במצב כזה נכתוב מילה.<return value type> בתור void פונקציה שמחזירה ערך חייבת להכיל את הפקודה <value> return (פעם אחת או יותר(. 5

דוגמא להגדרה ושימוש בפונקציות: 6

public class Sum public static void main(string[] args) int lastind = 10; int sum = sumnums(lastind ); System.out.println( The sum of numbers from 1 to + lastind + = + sum); System.out.println( The sum of numbers from 1 to + 8 + = + sumnums(8)); // returns the sum of numbers from 1 to end public static int sumnums(int end) int sum = 0; for(int i = 1; i <= end; i = i+1) sum = sum + i; return sum; main lastind int 10 sum int 55 sumnums(10) end int 10 sum int 0 i int 1 155 7

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

- פתרון תרגיל 1 public static void printarray(int[] arr) for(int i=0; i < arr.length; i=i+1) System.out.print(arr[i]+ ); System.out.println(); 9

, של תרגיל 2 חישוב המקדם הבינומי המציין את מספר תתי הקבוצות בגודל k קבוצה בגודל n. עליכם לכתוב את הפונקציה :nchoosek public class BinCoeff public static void main(string[] args) int n = 5, k = 3; System.out.print("The number of different subsets of size " + k + " in a set of size " + n + " is: "); System.out.println(nChooseK(n,k)) ; /* output : The number of different subsets of size 3 in a set of size 5 is: 10 */ 10

תרגיל - פתרון 2 // Assumes that n>=0 public static int factorial(int n) int result = 1; for(int i=2; i <= n; i = i+1) result = result * i; return result; public static int nchoosek(int n, int k) int ans = 0; if (n>=k && k>=0) ans = factorial(n) / (factorial(k) * factorial(n-k)); return ans; 11

תרגיל 3 s כתבו פונקציה המקבלת מחרוזת הפונקציה מחזירה מחרוזת שבה החל מהאינדקס i.,sub ומחרוזת i, מספר שלם s, "מושתלת" המחרוזת sub בתוך public static String insertsubstring(string s, int i, String sub) 12

- תרגיל 3 פתרון public static String insertsubstring(string s, int i, String sub) if (s == null sub == null i < 0 i >= s.length()) return null; String ans = s.substring(0,i) + sub + s.substring(i); return ans; 13

תרגיל 4 מערך דו-ממדי נקרא מטריצה אם אינו ריק ואם כל שורותיו שוות באורכן ואורך זה גדול מאפס. השלימו את הגדרת השיטה הסטטית (m,checkmatrix(int[][] אשר בודקת אם מערך דו-מימדי, m, הינו מטריצה ומחזירה ערך בוליאני בהתאם. הערה: אם קוראים לשיטה עם פרמטר שערכו.false על השיטה להחזיר את הערך,null בכל ריבוע ריק יש להשלים הוראה יחידה (כלומר לא יופיע בו ";"). && 14

public static void main (String[] args) לשם הבהרה, השיטה :main int[] line1 = 1,2,3,4; int[] line2 = 5,6,7,8; int[] line3 = 9; int[] line4 = new int[0]; int[][] m1 = line1,line2; int[][] m2 = line1,line2,line3; int[][] m3 = null; int[][] m4 = null,null; int[][] m5 = line4,line4; int[][] m6 = line2,null; int[][] m7 = new int[0][0]; System.out.println(checkMatrix(m1)); System.out.println(checkMatrix(m2)); System.out.println(checkMatrix(m3)); System.out.println(checkMatrix(m4)); System.out.println(checkMatrix(m5)); System.out.println(checkMatrix(m6)); System.out.println(checkMatrix(m7)); תדפיס: true false false false false false false 15

תרגיל - פתרון 4 (m!=null && m.length>0 && m[0]!=null && m[0].length>0); tmp && i<m.length && (m[i]!=null && m[0].length==m[i].length) 16

תרגיל 5 מערך דו-מימדי יקרא "ממויין שורות" אם כל השורות בו ממויינות בסדר עולה. מערך דו-מימדי ייקרא "ממויין עמודות" אם כל העמודות בו ממויינות בסדר עולה. מערך ייקרא "ממויין" אם המערך "ממויין שורות" וגם "ממויין עמודות". כתבו פונקציה המקבלת מערך דו-מימדי ומחזירה האם המערך לדוגמא: המערך הבא "ממויין": "ממויין". public static boolean issorted (int [][] arr) -1 0 3 4 4 6 10 14 6 10 21 52 7 14 25 60 17

- תרגיל 5 פתרון public static boolean issorted(int[][] arr) return iscolumnsorted(arr) && isrowsorted(arr); public static boolean isrowsorted(int[][] arr) for (int i = 0; i < arr.length; i++) for (int j = 1 ; j < arr[i].length; j++) if (arr[i][j - 1] > arr[i][j]) return false; return true; public static boolean iscolumnsorted(int[][] arr) for (int i = 1; i < arr.length; i++) for (int j = 0 ; j < arr[i].length; j++) if (arr[i-1][j] > arr[i][j]) return false; return true; 18

תרגיל 6 0 0 3 0 2 0 2 1 0 0 2 3 1 4 8 11 0-2 9 7 נגדיר "פרח" במערך דו מימדי כך: - האיברים מתוך תת מערך בגודל 3X3 - האיבר המרכזי במערך הוא "לב הפרח". - ארבעת האיברים הצמודים לו בפינותיו הם "עלי הפרח". - הערך של "לב הפרח" שווה לסכום ערכי "עלי הפרח". א. כתוב תוכנית הקולטת למערך בגודל 15X18 מספרים שלמים ב. מערך נקרא "פרחוני", אם יש בו לפחות 5 "פרחים". כתבו תוכנית שתחזיר אמת במידה ומערך הוא "פרחוני" ושקר אחרת public static void main( String [] args) int arr[][] = new int[15][18];//input array inputarr(arr); if (isflowery(arr)) System.out.println("The array is flowery"); else System.out.println("The array isn't flowery"); 19

פתרון חלק א' תרגיל 6 public static void inputarr(int[][] arr) int i,j;//loop counters System.out.println("Please enter 15 rows and 18 columns"); for(i=0;i<arr.length;i++) for(j=0;j<arr[i].length;j++) arr[i][j] = sc.nextint(); 20

פתרון חלק ב' תרגיל 6 private static boolean isflowery(int[][] arr) int count=0;//number of flowers for(int i=0;i<arr.length;i++) for(int j=0;j<arr[i].length;j++) if (isflower(arr,i,j)) count++; return count >= 5; public static boolean isflower(int[][] arr, int i, int j) int sum;//sum of flower's elements if(i==0 i == arr.length-1 j==0 j == arr[0].length-1) return false; sum=arr[i-1][j-1]+arr[i-1][j+1]+arr[i+1][j-1]+arr[i+1][j+1]; if(arr[i][j]==sum) return true; else return false; 21

תרגיל 7 תרגיל: כתבו פונקציה המקבלת מערך של שמות סטודנטים בקורס ומערך של ציונים ומחזירה מערך המכיל את כל שמות הסטודנטים בעלי ציון גדול מהממוצע ממויינים לפי הציונים. לדוגמא: public static void main (String[] args) String [] students = "A", "B", "C", "D", "E", "F", "G" ; int [] grades = 100, 80, 90, 100, 40, 90, 70 ; String[] excellent = getexcellentstudents(students, grades); for (int i = 0; i < excellent.length; i++) System.out.print(excellent[i] + " "); C F D A יודפס )הממוצע הוא 81.42(: 22

- פתרון תרגיל 7 public static String[] getexcellentstudents(string[]students, int[]grades) double avg = calcaverage(grades); int excellentcount = aboveaverage(grades, avg); String [] excellentstudent = new String[excellentCount]; int [] excellentgrades = new int [excellentcount]; for (int i = 0, j = 0; i < grades.length; i++) if (grades[i] >= avg) excellentgrades[j] = grades[i]; excellentstudent[j] = students[i]; j++; selectionsort(excellentgrades, excellentstudent); return excellentstudent; 23

- פתרון תרגיל 7 public static int aboveaverage(int[] grades, double avg) int count = 0; for (int i = 0; i < grades.length; i++) if (grades[i] > avg) count++; return count; public static double calcaverage(int[] grades) double avg = 0; for (int i = 0; i < grades.length; i++) avg += grades[i]; return avg / grades.length; 24

- פתרון תרגיל 7 public static void selectionsort (int [] arr, String[] strs) for(int i=0; i<arr.length; i++) int min_pos=i; for(int j=i+1; j<arr.length; j++) if ( arr[j] < arr[min_pos] ) min_pos=j; String tmp = strs[i]; // help variable strs[i] = strs[min_pos]; strs[min_pos] = tmp; int temp = arr[i]; // help variable arr[i]=arr[min_pos]; arr[min_pos]=temp; 25

תרגיל 8 כתבו פונקציה המקבלת מערך של מחרוזות המייצגות קבצים,files מחרוזת,extension ומחרוזת נוספת,newExtension על הפונקציה לשנות את כל הסיומות של הקבצים המסתיימות ב- extension ל- newextension ולהחזיר מערך של הקבצים לאחר השינוי. a.txt b.rar c.rar d.txt e.rar a.txt b.zip c.zip d.txt e.zip לדוגמא: עבור הקבצים: המחרוזת: rar והמחרוזת להחלפה: zip נקבל מערך: הערה: הניחו כי בשם הקובץ מופיע נקודה אחת בלבד. 26

תרגיל - פתרון 8 public static String[] replaceextensions(string[] files, String extension, String newextension) String [] ans = new String[files.length]; for (int i = 0; i < files.length; i++) ans[i] = files[i].replaceall("."+extension, "."+newextension); return ans; 27