CodeGym /בלוג Java /Random-HE /רמה 07 הישנה
John Squirrels
רָמָה
San Francisco

רמה 07 הישנה

פורסם בקבוצה

טכנולוגיות מידע

רמה ישנה 07 - 1מהפכת המחשבים, שהחלה בסוף המאה ה-20 הביאה ליצירת האינטרנט (האינטרנט) בשנות ה-90. וזו הייתה התחלה של מהפכה גדולה עוד יותר. ההשפעה של יצירת אינטרנט היא כמו תיעוש. אבל הכי טעים זה שהתהליך הזה רק התחיל.

עולם חדש

כמות האתר היא מעל 200 מיליון. 3 מיליארד משתמשי אינטרנט בחוץ. מכירות פומביות באינטרנט, אתרי אינטרנט, חנויות מקוונות, שירותי אינטרנט. תעשיית טכנולוגיית המידע צומחת ב-20%-30% בשנה. זה תעריפים מפלצתיים. וזה ממשיך לגדול. במשך 10 השנים האחרונות בעמק הסיליקון (המרכז העיקרי של תעשיית ההייטק בעולם), כל חודשיים נוצרת חברה, שעולה לאחר מכן מיליארדי דולרים. שלא לדבר על כוכבי אינטרנט כמו פייסבוק (220 מיליארד דולר), אמזון (140 מיליארד דולר) וגוגל (350 מיליארד דולר). כל החברות הללו לא היו מופיעות, אם לא היה אינטרנט. כל זה מביא לביקוש גבוה אצל מומחי IT. תעשיית ההייטק העולמית דורשת: מפתחי תוכנה, מעצבים, בודקי QA, אדריכלים, מנהלים, מנהלי מערכות ומומחים אחרים.

זה טוב להיות מומחה IT

רמה ישנה 07 - 2אם אתה מומחה IT, זה זמן זהב עבורך. אתה יכול לעבוד בחברה גדולה ולגור בעיירה קטנה או לעבוד בחברה זרה. אתה עשוי להרוויח פעמיים פחות מאשר באיחוד האירופי, למשל, אבל תקבל פי 3-10 יותר מאשר בשוק העבודה המקומי. ככל שהעיר קטנה יותר ההבדל גדול יותר. תקבל ניסיון רב ערך, כסף טוב ועתיד מזהיר. לפעמים תצא לנסיעות עסקים למשרד המעסיק שלך. ואם אתה אוהב את זה מאוד, אתה יכול לעבור לשם. גאות עולה מרים את כל הסירות. למה לא תהיה סירה כזו שנמצאת בזמן הנכון ובמקום הנכון? גם זו אומנות.

הגעת לרמה חדשה

רמה 7

רמה ישנה 07 - 3

1 אלי, מערכים

היי, אמיגו! - מה קורה, אלי? - היום אספר לכם על ישות מעניינת חדשה - מערכים. מערך הוא סוג נתונים מיוחד שיכול לאחסן יותר מערך אחד. רמה ישנה 07 - 4אני אתחיל באנלוגיה. בואו נשווה בין בית רגיל לבית רב קומות. בית מאוכלס על ידי משפחה יחידה, ואילו בניין רב קומות מחולק לדירות. יש לציין את הכתובת הייחודית כדי לכתוב מכתב למשפחה המתגוררת בבית. למשפחה המתגוררת בדירה יש לציין בנוסף את מספר הדירה. - כן, זה ברור. - אז, משתנה מערך הוא כמו בניין רב קומות. אתה יכול לאחסן בו מספר ערכים. למשתנה כזה יש כמה דירות (תאים). לכל אחת מהדירות ניתן לגשת לפי מספרה (אינדקס). לשם כך, לאחר שם המשתנה בסוגריים מרובעים עליך לציין את האינדקס של התא שאליו ניגש. זה די פשוט. - אני מקווה. - משתנה מערך (בניין רב קומות) יכול להיות מכל סוג, אז אתה רק צריך לכתוב TypeName[] variable_nameבמקום TypeName variable_name. - הנה דוגמאות למה שאתה יכול לעשות עם מערכים: רמה ישנה 07 - 5- כמה מרגש! - משתנה מערך זקוק לאתחול נוסף. - למה ככה? - משתנה רגיל מוכן לשימוש מיד לאחר ההכרזה שלו. לגבי מערכים, זה קצת יותר מסובך: - ראשית, אתה צריך ליצור מיכל של N אלמנטים, ואז אתה יכול להציב בו ערכים. רמה ישנה 07 - 6- כן. זה נעשה ברור יותר עכשיו. - היסודות על מערכים :
  1. המערך מורכב ממספר תאים.
  2. כל תא ניגשים על ידי ציון המספר שלו.
  3. כל התאים הם מאותו סוג.
  4. במערך של n אלמנטים, לתאים יש אינדקסים 0,1,2,...,n-1. אין תא עם אינדקס n במערך.
  5. הערך ההתחלתי של כל התאים הוא null, עבור טיפוסים פרימיטיביים - 0, 0.0 עבור חלקים, שקר - עבור סוג בוליאני, בדיוק כמו במשתנים פשוטים לא מאותחלים.
  6. רשימה של מחרוזת[] היא רק הצהרה של משתנה. ראשית אתה צריך ליצור מערך (מיכל) ולשים אותו במשתנה, ולאחר מכן להשתמש בו. ראה את הדוגמה למטה.
  7. כאשר אתה יוצר מערך אובייקטים (מיכל), יש צורך לציין את אורכו (כמה תאים יהיו לו). לשם כך עליך לכתוב פקודה: TypeName הוא סוג הערכים אשר יאוחסנו בתאים של המערך.new TypeName[n];
רמה ישנה 07 - 7- דוגמאות: רמה ישנה 07 - 8

2 רישא, סידור מערכים בזיכרון

היי, אמיגו! תן לי להראות לך איך הכל עובד בזיכרון: רמה ישנה 07 - 9ומה זה ה-345 הזה? - למעשה, הוצאתי אותו מהאוויר, אבל בדרך כלל, זו הכתובת של המחרוזת המכילה את המילה "עצור". - לגבי מערכים, זה קצת יותר מסובך:
רמה ישנה 07 - 10
- האם 155,166,177 גם מספרים שנשלפו מתוך כובע המייצגים את כתובת המחרוזות בצד ימין? - כן. טוב שניחשת נכון. שימו לב שבתמונה השנייה יש אובייקט נוסף - מערך של 10 תאים. - הכל ברור, תודה. תמונה שווה אלף מילים. תודה לך, רישה.

3 רישא, דוגמאות של מערכים מערך

- אני רוצה לתת לך כמה דוגמאות לדברים מעניינים שאתה יכול לעשות עם מערכים: דוגמה 1. רמה ישנה 07 - 11דוגמה 2. רמה ישנה 07 - 12דוגמה 3. רמה ישנה 07 - 13דוגמה 4. רמה ישנה 07 - 14דוגמה 5. רמה ישנה 07 - 15

4 דייגו, משימות ליצירה ושימוש במערכים

היי, אמיגו! הנה כמה משימות בשבילך, חבר:
משימות
1 1. מקסימום מערך של 20 מספרים
1. בשיטה initializeArray() :
1.1. צור מערך של 20 מספרים
1.2. קרא מהמקלדת 20 מספרים ומלא בהם את המערך
2. השיטה max(int[] array) אמורה למצוא את המספר המרבי של רכיבי המערך

2

2. מערך מחרוזות בסדר הפוך
1. צור מערך של 10 מחרוזות.
2. קרא מהמקלדת 8 מחרוזות ואחסן אותן במערך.
3. הצג למסך את תוכן המערך כולו (10 פריטים) בסדר הפוך. כל פריט צריך להיות בשורה חדשה.

3 3. 2 מערכים
1. צור מערך אחד של 10 מחרוזות.
2. צור מערך נוסף של 10 מספרים.
3. קראו מהמקלדת 10 מיתרים ומלאו בהם את מערך המיתרים.
4. כתוב אורך של מחרוזת מכל תא של מערך המחרוזות במערך תא המספרים עם אותו אינדקס. הצג למסך את התוכן של מערך המספרים. כל ערך צריך להיות בשורה חדשה.
4 4. מערך מספרים בסדר הפוך
1. צור מערך של 10 מספרים.
2. קרא מהמקלדת 10 מספרים ואחסן אותם במערך.
3. מסדרים את רכיבי המערך בסדר הפוך.
4. הצג למסך את התוצאה. כל ערך צריך להיות בשורה חדשה.
5 5. מערך אחד גדול ושני קטן
1. צור מערך של 20 מספרים.
2. קרא מהמקלדת 20 מספרים ומלא בהם את המערך.
3. צור שני מערכים של 10 מספרים כל אחד.
4. העתק מספרים של המערך הגדול לשני מערכים קטנים: חצי המספרים למערך הראשון, החצי השני לשני.
5. הציגו למסך את המערך הקטן השני. כל ערך צריך להיות בשורה חדשה.

5 Elly, ArrayList לעומת Array

- זה אני. היי, אלי! - היום יש לנו נושא חדש ומרגש! עכשיו אני אספר לכם על מחלקה חדשה ומעניינת, ArrayList . - אה, כיתה חדשה? וואו! מה זה עושה? הרשו לי להתחיל בסיפור אחורי קטן. המתכנתים לא אהבו תכונה אחת של מערך: אי אפשר לשנות את גודלו. מה לעשות אם אתה רוצה לאחסן שלושה ערכים נוספים במערך, אבל יש רק מקום פנוי אחד? - הפתרון היחיד לבעיית חוסר המקום היה ליצור מערך גדול מאוד שמכיל את כל האלמנטים. אבל זה הוביל לעתים קרובות לשימוש לא יעיל בזיכרון. לדוגמה, אם ב-99% מאורך חיי המערך היית צריך לאחסן רק 3 אלמנטים במערך, ורק ב-1% - 100 אלמנטים, תצטרך ליצור מערך של 100 אלמנטים. - אז מה עלו המתכנתים? - הם כתבו את המחלקה ArrayList שעשתה את אותה עבודה כמו המערך, אבל יכולה לשנות את הגודל שלה. - מהלך מעניין. ואיך הם עשו את זה? - כל אובייקט ArrayList מאחסן בתוכו מערך רגיל של אלמנטים. כאשר אתה קורא אלמנטים מתוך ArrayList , הוא קורא אותם מהמערך הפנימי שלו. כאשר אתה כותב את האלמנטים, הוא כותב אותם למערך הפנימי. השווה: רמה ישנה 07 - 16- אז מה היתרון של ArrayList? מבחינתי, הקוד נעשה ארוך יותר. - ראשית, ArrayList תומך בכמה תכונות נוספות שאינן זמינות במערך, בהן מתכנתים משתמשים לעתים קרובות מאוד. לדוגמה, הכנס אלמנטים לתוך ומחק אותם מאמצע המערך מבלי להשאיר חורים. שנית, ArrayList יכול לשנות את הגודל שלו . כאשר ArrayList צריך לאחסן אלמנט אחד נוסף במערך הפנימי שלו, ואין מקום פנוי, הדברים הבאים מתרחשים בתוך ArrayList :
  1. נוצר מערך אחד נוסף, גדול פי שניים.
  2. כל הרכיבים של המערך הישן מועתקים למערך החדש.
  3. מערך חדש מאוחסן במשתנה פנימי של האובייקט ArrayList, המערך הישן מוכרז כזבל (אנחנו פשוט לא מאחסנים את ההתייחסות שלו יותר).
רמה ישנה 07 - 17ואיך עובדים עם ArrayList? - למעשה, באותו אופן כמו עם מערך. תסתכל כאן. בואו נשווה עבודה עם ArrayList ונעבוד עם מערך. כדוגמה, בואו נפתור את המשימה הבאה: « התוכנית צריכה לקרוא ממקלדת 10 מחרוזת ולהציג אותן למסך בסדר הפוך ». - סמן את זה: רמה ישנה 07 - 18- ציירתי פעולות שוות בשתי העמודות בצבע אחד. - זה נראה אחרת, אבל אם תסתכל מקרוב הכל אותו דבר. - כן. כעת אין לנו סוגריים מרובעים בעת שימוש ב- ArrayList . במקום זאת , אנו משתמשים בשיטות get , set והוספה . -שמתי לב לזה. אבל זה עדיין מאוד דומה.

6 משימות דייגו, ArrayList

- אתה שוב לא עושה כלום? אתה רובוט, נכון? רובוטים תמיד עסוקים במשהו. הנה כמה משימות כדי לשמור עליך. אבל נתחיל עם כמה טיפים. - טיפ 1: רשימה בדרך כלל פירושה ArrayList . - טיפ 2: מחרוזת פירושה סוג String . - טיפ 3: כדי ליצור רשימה של מחרוזות פירושו לרוב ArrayList<String> list = new ArrayList<String>();
משימות
1 משימה 1. 5 מחרוזות שונות ברשימה
1. צור רשימה של מחרוזות.
2. הוסף 5 מחרוזות שונות לרשימה.
3. הצג למסך את גודלו.
4. הצג למסך את תוכן הרשימה. כל ערך צריך להיות בשורה חדשה. השתמש בלולאה.
2 משימה 2. 5 שורות: «101», «102», «103», «104», «105»
1. צור רשימה של מחרוזות.
2. הוסף 5 מחרוזות לרשימה. «101», «102», «103», «104», «105».
3. מחק את הראשון, את האמצעי ואת האחרון.
4. הצג למסך את תוכן הרשימה. כל ערך צריך להיות בשורה חדשה. השתמש בלולאה.
5. הצג למסך את גודלו. (לאחר מחיקת ערך אחד, האינדקסים של ערכים אחרים משתנים. לדוגמה, אם נמחק אלמנט ראשון, השני הופך לראשון).
3 משימה 3. 5 שורות בסדר הפוך
1. צור רשימה של מחרוזות.
2. קרא 5 מחרוזות מהמקלדת, ואז הוסף אותן לרשימה.
3. מסדרים אותם בסדר הפוך.
4. הצג למסך את תוכן הרשימה. כל ערך צריך להיות בשורה חדשה. השתמש בלולאה.
4

משימה 4. הוסף 5 מחרוזות לתחילת הרשימה
1. צור רשימה של מחרוזות.
2. קרא מהמקלדת 5 מיתרים. הוסף מחרוזות אלה לתחילת הרשימה, לא לסוף.
3. הצג למסך את תוכן הרשימה. כל ערך צריך להיות בשורה חדשה. השתמש בלולאה.

5 משימה 5. מחק את המחרוזת האחרונה והוסף אותה לתחילת הרשימה
1. צור רשימה של מחרוזות.
2. קרא מהמקלדת 5 מיתרים. הוסף מחרוזות אלה לרשימה.
3. מחק את המחרוזת האחרונה והוסף אותה לתחילת הרשימה. חזור על פעולה זו 13 פעמים.
4. הצג למסך את תוכן הרשימה. כל ערך צריך להיות בשורה חדשה. השתמש בלולאה.

7 רישה, גנריות

- עכשיו, עוד נושא מדהים. - היום הזה מלא בהפתעות. זה כמו יום הולדת אמיתי. - היום אני אגיד לך מה זה גנריות. גנריות הם טיפוסים שיש להם פרמטרים. ב-Java, מחלקות מיכל מאפשרות לך לציין סוגים של האובייקטים הפנימיים שלהם . - כאשר אנו מצהירים על משתנה גנרי, אנו מציינים שני סוגים במקום אחד: סוג המשתנה וסוג הנתונים המאוחסנים במשתנה. דוגמה טובה לכך היא ArrayList. כאשר אנו יוצרים אובייקט/משתנה חדש מסוג ArrayList, טוב גם לציין סוג ערכים שיש לאחסן בתוך הרשימה. רמה ישנה 07 - 19- זה נשמע מרגש. אהבתי במיוחד את מה שאמרת על כל סוג שהוא. - זה פשוט נראה טוב. למעשה, אם בשיטה אחת מכניסים מחרוזות לתוך ArrayList, ובשיטה השנייה עובדים עם התוכן שלה ומצפים שיהיו רק מספרים, התוכנית תקרוס. - אני רואה. - עד כה, אנחנו לא מתכוונים ליצור מחלקות משלנו עם פרמטרים מסוג, נלמד להשתמש במחלקות שנכתבו על ידי יוצרי Java. - האם אני יכול להשתמש בכל מחלקה כפרמטר-טיפוס, אפילו זה שנכתב על ידי עצמי? - כן, כל סוג, למעט פרימיטיביים. כל פרמטרי המחלקה צריכים לעבור בירושה מ-Object של המחלקה. - אז אני לא יכול לכתוב ArrayList<int> , נכון? - אתה לא יכול. אבל מפתחי Java כתבו עבור טיפוסים פרימיטיביים את האנלוגים הלא-פרימיטיביים שלהם - מחלקות בירושה מ- Object . כך זה נראה: רמה ישנה 07 - 20- טיפוסים פרימיטיביים ומחלקות אנלוגיות (מחלקות עטיפה) ניתן להקצות זה לזה בקלות: רמה עתיקה 07 - 21- בסדר. אז אני מניח שאשתמש ב- ArrayList לעתים קרובות יותר.

8 רישה, דוגמאות ל-ArrayList, גנריות

רמה ישנה 07 - 22עכשיו אני אתן לך דברים מועילים באמת. הנה כמה דוגמאות שימושיות לעבודה עם ArrayList וגנריות: - דוגמה 1. רמה ישנה 07 - 23- דוגמה 2. רמה ישנה 07 - 24- דוגמה 3. רמה עתיקה 07 - 25- דוגמה 4. רמה ישנה 07 - 26- דוגמה 5. רמה ישנה 07 - 27- מדהים! אז דייגו הולך לתת לי חבורה של משימות דומות עכשיו, לא? - כן!

9 דייגו, רשימה<T> משימות

- סוף סוף אתה חופשי. נמאס לי לזכור את המשימות האלה בשבילך. הנה עוד כמה שיעזרו לך להמשיך:
משימות נוספות לעשות ב-Intellij Idea
1 1. שלושה מערכים
1. קרא מהמקלדת 20 מספרים, שמור אותם ברשימה, ואז מיין אותם לשלוש רשימות אחרות:
רשימה 1 מאחסנת מספרים המתחלקים ב-3 ( x%3==0 )
רשימה 2 מאחסנת מספרים המתחלקים ב-2 ( x%2==0 )
רשימה 3 מאחסנת את שאר המספרים.
המספרים המתחלקים ב-3 ו-2 בו-זמנית (לדוגמה 6) שייכים לשתי הרשימות – רשימה 1 ורשימה 2.
2. השיטה printList() צריכה להציג כל רכיב ברשימה בשורה חדשה.
3. השתמש בשיטה printList() כדי להציג למסך את שלוש הרשימות הללו. ראשית יש להציג רשימה 1, ולאחר מכן רשימה 2, לאחר רשימה 3.
2 2. 5 מילים בסדר הפוך
קרא מהמקלדת 5 מילים. הוסף אותם לרשימת מחרוזות והצג אותם למסך בסדר הפוך.
3 3. המילה «כאן»
1. צור רשימה של המילים «עצור», «להסתכל», «להקשיב».
2. הוסף מחרוזת המכילה «כאן» אחרי כל מילה.
3. הצג את התוצאה. כל רכיב ברשימה צריך להיות בשורה חדשה. השתמש בלולאה "עבור".
4 4. אותיות «r» ו- «l»
1. צרו רשימה של מילים/מחרוזות, מלאו אותה במה שתרצו.
2. השיטה fix() צריכה:
2.1. מחק את כל המילים המכילות את האות «r» מרשימת המחרוזות
2.2. להכפיל את כל המילים המכילות את האות «l».
2.3. השאר את המילה ללא שינוי אם היא מכילה את שתי האותיות «r» ו- «l».
2.4. אל תעשה שום דבר עם מילים אחרות.

דוגמה:
ורד
ערבה
ליר
אלון

נתוני פלט:
ערבה
ערבה
ליר
אלון
5 5. שכפל את המילים
1. קרא מהמקלדת 10 מילים/מחרוזות, הוסף אותן לרשימת מחרוזות.
2. השיטה doubleValues ​​צריכה לשכפל מילים לפי התבנית:
a,b,c → a,a,b,b,c,c.
3. הצג את התוצאה. כל רכיב ברשימה צריך להיות בשורה חדשה. השתמש בלולאה "עבור".

10 פרופסור

רמה ישנה 07 - 28- מצאתי את ההרצאות הנפלאות שלי! אז היום תקבל את הידע היקר ביותר במערכים וברשימות. הנה הם: טיפים על ArrayList ב-Java

11 חוליו

היי, אמיגו! אני שמח שהתמודדת עם כל זה - מגיע לך פרס:

12 קפטן סנאים

– שלום חייל! - בוקר טוב אדוני! - יש לי חדשות מדהימות בשבילך. הנה בדיקה מהירה כדי לחזק את הכישורים שלך. עשה זאת כל יום, ותשפר את הכישורים שלך ממש מהר. משימות תוכננו במיוחד לביצוע ב-Intellij IDEA.
משימות נוספות לעשות ב-Intellij Idea
1 1. הצג מספרים בסדר הפוך
קרא מהמקלדת 10 מספרים ומלא בהם את הרשימה.
הצג למסך את המספרים בסדר הפוך. השתמש בלולאה.
2 2. העבר M שורות ראשונות לסוף הרשימה
קרא מהמקלדת 2 מספרים: N ו- M.
קרא ממקלדת N מחרוזות ומלא בהן רשימה. הזז את M
שורות ראשונות לסוף הרשימה הצג למסך את הרשימה. כל ערך צריך להיות בשורה חדשה.
3 3. המספר הגדול והקטן ביותר במערך
צור מערך של 20 מספרים.
מלא אותו במספרים הנקראים מהמקלדת.
מצא את המספר הגדול והקטן ביותר במערך.
הצג למסך את המספרים הגדולים והקטנים ביותר מופרדים ברווח.
4 4. קרא מחרוזות מהמקלדת עד שהמשתמש יזין את המחרוזת "סוף"
צור רשימה של מחרוזות.
קרא ממחרוזות המקלדת (מה שתרצה), הוסף אותם לרשימה.
קרא מחרוזות מהמקלדת עד שהמשתמש יזין את המחרוזת "סוף". יש להשמיט את "סוף".
הצג למסך את המיתרים. כל מחרוזת צריכה להיות על שורה חדשה.
5 5. באנג!
כתוב תוכנית שסופרת לאחור מ-30 ל-0, ומציגה "באנג!" בסופו של דבר. התוכנית צריכה להפחית את המספר 10 פעמים בשנייה. השתמש בפונקציה שלהלן כדי להוסיף השהיה:
Thread.sleep(100); //עיכוב של עשירית שנייה.
דוגמה:
30
29

1
0
באנג!
6 6. משפחה
צור כיתה אנושית עם השדות: שם מחרוזת , מין בוליאני , גיל אינט , אב אנושי , אמא אנושית . צור 9 חפצים מכיתה אנושית ומלא אותם בצורה כזו שתשיג שני סבים, שתי סבתות, אבא, אמא ושלושה ילדים. הצג למסך את האובייקטים למסך.
טיפ:
אם תכתוב את השיטה שלך String toString() במחלקה Human, היא תשמש להצגת אובייקט.
פלט לדוגמה:
שם: אנה, מין: נקבה, גיל: 21, אב: פול, אמא: קייט
שם: קייט, מין: נקבה, גיל: 55
שם: איאן, מין: זכר, גיל: 2, אבא: מייקל, אמא : אנה
7 7. הזז שינוי סטטי אחד
הזז שינוי סטטי אחד כך שהתוכנית קומפילציה.
המשימות האלה היו לירוקים. הוספתי משימות בונוס בעלות מורכבות גבוהה יותר. עבור רובים מובילים בלבד.
משימות בונוס
1 1. התוכנית אינה קומפילציה ופועלת. תתקן את זה.
משימה: קרא מהמקלדת את נתוני החתול והצג אותם למסך.
דוגמה:
שם החתול הוא ג'ינקס, גיל 6, משקל 5, זנב = 22
שם החתול הוא מייזי, גיל 8, משקל 7, זנב = 20
2 2. הוסף פונקציונליות חדשה לתוכנית.
משימה ישנה: התוכנית קוראת מחרוזות עד שהמשתמש נכנס לשורה ריקה על ידי לחיצה על אנטר. ואז הוא ממיר אותיות קטנות לאותיות גדולות (אמא הופכת לאמא) ומציג אותן על המסך.
משימה חדשה: התוכנית צריכה לקרוא מחרוזות עד שהמשתמש יכנס לשורה ריקה על ידי לחיצה על אנטר. לאחר מכן התוכנית בונה רשימה חדשה. אם למחרוזת יש מספר זוגי של תווים, המחרוזת משוכפלת, אם מספר אי זוגי, המחרוזת משולשת.
קלט לדוגמה:
Cat
Cats
Me
פלט לדוגמה:
Cat Cat Cat
Cats Cats
Me Me
3 3. לימוד ותרגול אלגוריתם.
קרא מהמקלדת 20 מספרים והצג אותם בסדר יורד.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION