טכנולוגיות מידע
מהפכת המחשבים, שהחלה בסוף המאה ה-20 הביאה ליצירת האינטרנט (האינטרנט) בשנות ה-90. וזו הייתה התחלה של מהפכה גדולה עוד יותר. ההשפעה של יצירת אינטרנט היא כמו תיעוש. אבל הכי טעים זה שהתהליך הזה רק התחיל.עולם חדש
כמות האתר היא מעל 200 מיליון. 3 מיליארד משתמשי אינטרנט בחוץ. מכירות פומביות באינטרנט, אתרי אינטרנט, חנויות מקוונות, שירותי אינטרנט. תעשיית טכנולוגיית המידע צומחת ב-20%-30% בשנה. זה תעריפים מפלצתיים. וזה ממשיך לגדול. במשך 10 השנים האחרונות בעמק הסיליקון (המרכז העיקרי של תעשיית ההייטק בעולם), כל חודשיים נוצרת חברה, שעולה לאחר מכן מיליארדי דולרים. שלא לדבר על כוכבי אינטרנט כמו פייסבוק (220 מיליארד דולר), אמזון (140 מיליארד דולר) וגוגל (350 מיליארד דולר). כל החברות הללו לא היו מופיעות, אם לא היה אינטרנט. כל זה מביא לביקוש גבוה אצל מומחי IT. תעשיית ההייטק העולמית דורשת: מפתחי תוכנה, מעצבים, בודקי QA, אדריכלים, מנהלים, מנהלי מערכות ומומחים אחרים.זה טוב להיות מומחה IT
אם אתה מומחה IT, זה זמן זהב עבורך. אתה יכול לעבוד בחברה גדולה ולגור בעיירה קטנה או לעבוד בחברה זרה. אתה עשוי להרוויח פעמיים פחות מאשר באיחוד האירופי, למשל, אבל תקבל פי 3-10 יותר מאשר בשוק העבודה המקומי. ככל שהעיר קטנה יותר ההבדל גדול יותר. תקבל ניסיון רב ערך, כסף טוב ועתיד מזהיר. לפעמים תצא לנסיעות עסקים למשרד המעסיק שלך. ואם אתה אוהב את זה מאוד, אתה יכול לעבור לשם. גאות עולה מרים את כל הסירות. למה לא תהיה סירה כזו שנמצאת בזמן הנכון ובמקום הנכון? גם זו אומנות.הגעת לרמה חדשה
רמה 7
1 אלי, מערכים
היי, אמיגו! - מה קורה, אלי? - היום אספר לכם על ישות מעניינת חדשה - מערכים. מערך הוא סוג נתונים מיוחד שיכול לאחסן יותר מערך אחד. אני אתחיל באנלוגיה. בואו נשווה בין בית רגיל לבית רב קומות. בית מאוכלס על ידי משפחה יחידה, ואילו בניין רב קומות מחולק לדירות. יש לציין את הכתובת הייחודית כדי לכתוב מכתב למשפחה המתגוררת בבית. למשפחה המתגוררת בדירה יש לציין בנוסף את מספר הדירה. - כן, זה ברור. - אז, משתנה מערך הוא כמו בניין רב קומות. אתה יכול לאחסן בו מספר ערכים. למשתנה כזה יש כמה דירות (תאים). לכל אחת מהדירות ניתן לגשת לפי מספרה (אינדקס). לשם כך, לאחר שם המשתנה בסוגריים מרובעים עליך לציין את האינדקס של התא שאליו ניגש. זה די פשוט. - אני מקווה. - משתנה מערך (בניין רב קומות) יכול להיות מכל סוג, אז אתה רק צריך לכתובTypeName[] variable_name
במקום TypeName variable_name
. - הנה דוגמאות למה שאתה יכול לעשות עם מערכים: - כמה מרגש! - משתנה מערך זקוק לאתחול נוסף. - למה ככה? - משתנה רגיל מוכן לשימוש מיד לאחר ההכרזה שלו. לגבי מערכים, זה קצת יותר מסובך: - ראשית, אתה צריך ליצור מיכל של N אלמנטים, ואז אתה יכול להציב בו ערכים. - כן. זה נעשה ברור יותר עכשיו. - היסודות על מערכים :
- המערך מורכב ממספר תאים.
- כל תא ניגשים על ידי ציון המספר שלו.
- כל התאים הם מאותו סוג.
- במערך של n אלמנטים, לתאים יש אינדקסים 0,1,2,...,n-1. אין תא עם אינדקס n במערך.
- הערך ההתחלתי של כל התאים הוא null, עבור טיפוסים פרימיטיביים - 0, 0.0 עבור חלקים, שקר - עבור סוג בוליאני, בדיוק כמו במשתנים פשוטים לא מאותחלים.
- רשימה של מחרוזת[] היא רק הצהרה של משתנה. ראשית אתה צריך ליצור מערך (מיכל) ולשים אותו במשתנה, ולאחר מכן להשתמש בו. ראה את הדוגמה למטה.
- כאשר אתה יוצר מערך אובייקטים (מיכל), יש צורך לציין את אורכו (כמה תאים יהיו לו). לשם כך עליך לכתוב פקודה: TypeName הוא סוג הערכים אשר יאוחסנו בתאים של המערך.
new TypeName[n];
2 רישא, סידור מערכים בזיכרון
היי, אמיגו! תן לי להראות לך איך הכל עובד בזיכרון: ומה זה ה-345 הזה? - למעשה, הוצאתי אותו מהאוויר, אבל בדרך כלל, זו הכתובת של המחרוזת המכילה את המילה "עצור". - לגבי מערכים, זה קצת יותר מסובך:3 רישא, דוגמאות של מערכים מערך
- אני רוצה לתת לך כמה דוגמאות לדברים מעניינים שאתה יכול לעשות עם מערכים: דוגמה 1. דוגמה 2. דוגמה 3. דוגמה 4. דוגמה 5.4 דייגו, משימות ליצירה ושימוש במערכים
היי, אמיגו! הנה כמה משימות בשבילך, חבר:משימות | |
---|---|
1 | 1. מקסימום מערך של 20 מספרים 1. בשיטה initializeArray() : 1.1. צור מערך של 20 מספרים 1.2. קרא מהמקלדת 20 מספרים ומלא בהם את המערך 2. השיטה max(int[] array) אמורה למצוא את המספר המרבי של רכיבי המערך |
2 |
2. מערך מחרוזות בסדר הפוך |
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 , הוא קורא אותם מהמערך הפנימי שלו. כאשר אתה כותב את האלמנטים, הוא כותב אותם למערך הפנימי. השווה: - אז מה היתרון של ArrayList? מבחינתי, הקוד נעשה ארוך יותר. - ראשית, ArrayList תומך בכמה תכונות נוספות שאינן זמינות במערך, בהן מתכנתים משתמשים לעתים קרובות מאוד. לדוגמה, הכנס אלמנטים לתוך ומחק אותם מאמצע המערך מבלי להשאיר חורים. שנית, ArrayList יכול לשנות את הגודל שלו . כאשר ArrayList צריך לאחסן אלמנט אחד נוסף במערך הפנימי שלו, ואין מקום פנוי, הדברים הבאים מתרחשים בתוך ArrayList :- נוצר מערך אחד נוסף, גדול פי שניים.
- כל הרכיבים של המערך הישן מועתקים למערך החדש.
- מערך חדש מאוחסן במשתנה פנימי של האובייקט ArrayList, המערך הישן מוכרז כזבל (אנחנו פשוט לא מאחסנים את ההתייחסות שלו יותר).
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 מחרוזות לתחילת הרשימה |
5 | משימה 5. מחק את המחרוזת האחרונה והוסף אותה לתחילת הרשימה 1. צור רשימה של מחרוזות. 2. קרא מהמקלדת 5 מיתרים. הוסף מחרוזות אלה לרשימה. 3. מחק את המחרוזת האחרונה והוסף אותה לתחילת הרשימה. חזור על פעולה זו 13 פעמים. 4. הצג למסך את תוכן הרשימה. כל ערך צריך להיות בשורה חדשה. השתמש בלולאה. |
7 רישה, גנריות
- עכשיו, עוד נושא מדהים. - היום הזה מלא בהפתעות. זה כמו יום הולדת אמיתי. - היום אני אגיד לך מה זה גנריות. גנריות הם טיפוסים שיש להם פרמטרים. ב-Java, מחלקות מיכל מאפשרות לך לציין סוגים של האובייקטים הפנימיים שלהם . - כאשר אנו מצהירים על משתנה גנרי, אנו מציינים שני סוגים במקום אחד: סוג המשתנה וסוג הנתונים המאוחסנים במשתנה. דוגמה טובה לכך היא ArrayList. כאשר אנו יוצרים אובייקט/משתנה חדש מסוג ArrayList, טוב גם לציין סוג ערכים שיש לאחסן בתוך הרשימה. - זה נשמע מרגש. אהבתי במיוחד את מה שאמרת על כל סוג שהוא. - זה פשוט נראה טוב. למעשה, אם בשיטה אחת מכניסים מחרוזות לתוך ArrayList, ובשיטה השנייה עובדים עם התוכן שלה ומצפים שיהיו רק מספרים, התוכנית תקרוס. - אני רואה. - עד כה, אנחנו לא מתכוונים ליצור מחלקות משלנו עם פרמטרים מסוג, נלמד להשתמש במחלקות שנכתבו על ידי יוצרי Java. - האם אני יכול להשתמש בכל מחלקה כפרמטר-טיפוס, אפילו זה שנכתב על ידי עצמי? - כן, כל סוג, למעט פרימיטיביים. כל פרמטרי המחלקה צריכים לעבור בירושה מ-Object של המחלקה. - אז אני לא יכול לכתוב ArrayList<int> , נכון? - אתה לא יכול. אבל מפתחי Java כתבו עבור טיפוסים פרימיטיביים את האנלוגים הלא-פרימיטיביים שלהם - מחלקות בירושה מ- Object . כך זה נראה: - טיפוסים פרימיטיביים ומחלקות אנלוגיות (מחלקות עטיפה) ניתן להקצות זה לזה בקלות: - בסדר. אז אני מניח שאשתמש ב- ArrayList לעתים קרובות יותר.8 רישה, דוגמאות ל-ArrayList, גנריות
עכשיו אני אתן לך דברים מועילים באמת. הנה כמה דוגמאות שימושיות לעבודה עם ArrayList וגנריות: - דוגמה 1. - דוגמה 2. - דוגמה 3. - דוגמה 4. - דוגמה 5. - מדהים! אז דייגו הולך לתת לי חבורה של משימות דומות עכשיו, לא? - כן!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 פרופסור
- מצאתי את ההרצאות הנפלאות שלי! אז היום תקבל את הידע היקר ביותר במערכים וברשימות. הנה הם: טיפים על ArrayList ב-Java11 חוליו
היי, אמיגו! אני שמח שהתמודדת עם כל זה - מגיע לך פרס: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 מספרים והצג אותם בסדר יורד. |
GO TO FULL VERSION