Technologie informacyjne

Nowy Świat
Ilość witryn wynosi ponad 200 milionów. 3 miliardy internautów. Aukcje internetowe, strony internetowe, sklepy internetowe, serwisy internetowe. Przemysł informatyczny rośnie o 20%-30% rocznie. To potworne stawki. I ciągle rośnie. Od 10 lat w Dolinie Krzemowej (głównym ośrodku przemysłu high-tech świata) co 2 miesiące powstaje firma, która potem kosztuje miliardy dolarów. Nie mówiąc już o takich gwiazdach internetu jak Facebook (220 mld dolarów), Amazon (140 mld dolarów) czy Google (350 mld dolarów). Wszystkie te firmy nie pojawiłyby się, gdyby nie było Internetu. To wszystko powoduje duże zapotrzebowanie na specjalistów IT. Światowy przemysł high-tech potrzebuje: programistów, projektantów, testerów QA, architektów, managerów, administratorów systemów i innych specjalistów.Dobrze być informatykiem

Osiągnąłeś nowy poziom
Poziom 7

1 Elly, Tablice
- Hej, Amigo! - Co słychać, Elly? - Dzisiaj opowiem o nowej ciekawej jednostce - tablicach. Tablica to specjalny typ danych, który może przechowywać więcej niż jedną wartość.
TypeName[] variable_name
zamiast TypeName variable_name
. - Oto przykłady, co można zrobić z tablicami: 

- Tablica składa się z wielu komórek.
- Dostęp do każdej komórki uzyskuje się poprzez wskazanie jej numeru.
- Wszystkie komórki są tego samego typu.
- W tablicy n elementów komórki mają indeksy 0,1,2,...,n-1. W tablicy nie ma komórki o indeksie n.
- Wartość początkowa dla wszystkich komórek to null, dla typów pierwotnych – 0, 0.0 dla ułamkowych, false – dla typu boolowskiego, dokładnie tak samo jak w prostych niezainicjowanych zmiennych.
- Lista String[] to tylko deklaracja zmiennej. Najpierw musisz utworzyć tablicę (kontener) i umieścić ją w zmiennej, a następnie użyć. Zobacz przykład poniżej.
- Podczas tworzenia tablicy obiektowej (kontenera) konieczne jest określenie jej długości (ile komórek będzie miała). W tym celu należy napisać polecenie: TypeName to typ wartości, które będą przechowywane w komórkach tablicy.
new TypeName[n];


2 Risha, Układ tablic w pamięci
- Hej, Amigo! Pokażę ci, jak to wszystko działa w pamięci:

3 Risha, Przykłady tablic Tablica
- Chcę podać kilka przykładów interesujących rzeczy, które można zrobić z tablicami: Przykład 1.




4 Diego, Zadania tworzenia i wykorzystania tablic
- Hej, Amigo! Oto kilka zadań dla ciebie, kolego:Zadania | |
---|---|
1 | 1. Maksimum tablicy 20 liczb 1. W metodzie initializeArray() : 1.1. Utwórz tablicę 20 liczb 1.2. Odczytaj z klawiatury 20 liczb i wypełnij nimi tablicę 2. Metoda max(int[] array) powinna znaleźć maksymalną liczbę elementów tablicy |
2 |
2. Tablica ciągów w odwrotnej kolejności |
3 | 3. 2 tablice 1. Utwórz jedną tablicę złożoną z 10 łańcuchów. 2. Utwórz kolejną tablicę 10 liczb. 3. Odczytaj z klawiatury 10 ciągów i uzupełnij nimi tablicę. 4. Wpisz długość łańcucha z każdej komórki tablicy łańcuchów w komórce tablicy liczb o tym samym indeksie. Wyświetl na ekranie zawartość tablicy liczb. Każda wartość powinna znajdować się w nowej linii. |
4 | 4. Tablica liczb w odwrotnej kolejności 1. Utwórz tablicę 10 liczb. 2. Odczytaj z klawiatury 10 liczb i zapisz je w tablicy. 3. Ułóż elementy tablicy w odwrotnej kolejności. 4. Wyświetl na ekranie wynik. Każda wartość powinna znajdować się w nowej linii. |
5 | 5. Jedna duża i dwie małe tablice 1. Utwórz tablicę 20 liczb. 2. Odczytaj z klawiatury 20 cyfr i uzupełnij nimi tablicę. 3. Utwórz dwie tablice po 10 liczb każda. 4. Skopiuj liczby z dużej tablicy do dwóch małych tablic: połowę liczb do pierwszej tablicy, drugą połowę do drugiej. 5. Wyświetl na ekranie drugą małą tablicę. Każda wartość powinna znajdować się w nowej linii. |
5 Elly, ArrayList a tablica
- To ja. - Cześć, Elly! - Dziś mamy nowy ekscytujący temat! Teraz opowiem ci o interesującej nowej klasie, ArrayList . - Och, nowa klasa? Wow! Co to robi? - Zacznę od małej historii. Programistom nie spodobała się jedna właściwość tablicy: nie można zmienić jej rozmiaru. Co zrobić, jeśli chcesz przechowywać trzy wpisy więcej w tablicy, ale jest tylko jedno wolne miejsce? - Jedynym rozwiązaniem problemu braku miejsca było stworzenie bardzo dużej tablicy zawierającej wszystkie elementy. Ale to często prowadziło do nieefektywnego wykorzystania pamięci. Na przykład, jeśli w 99% czasu życia tablicy musiałbyś przechowywać tylko 3 elementy w tablicy, a tylko w 1% - 100 elementów, musiałbyś stworzyć tablicę ze 100 elementów. - Więc co wymyślili programiści? - Napisali klasę ArrayList , która wykonywała to samo zadanie co tablica, ale mogła zmieniać jej rozmiar. - Ciekawy ruch. A jak oni to zrobili? - Każdy obiekt ArrayList przechowuje w sobie zwykłą tablicę elementów. Kiedy czytasz elementy z ArrayList , odczytuje je ze swojej wewnętrznej tablicy. Kiedy piszesz elementy, zapisuje je do tablicy wewnętrznej. Porównaj:
- tworzona jest kolejna tablica, dwa razy większa.
- wszystkie elementy starej tablicy są kopiowane do nowej tablicy.
- nowa tablica jest przechowywana w wewnętrznej zmiennej obiektu ArrayList, stara tablica jest uznawana za śmieci (po prostu nie przechowujemy już jej referencji).


6 Diego, zadania ArrayList
- Znowu nic nie robisz? Jesteś robotem, prawda? Roboty są zawsze czymś zajęte. Oto kilka zadań, które pomogą Ci zachować spokój. Ale zacznijmy od kilku wskazówek. - Porada 1: Lista najczęściej oznacza ArrayList . - Porada 2: Ciąg znaków oznacza typ String . - Wskazówka 3: Aby utworzyć listę ciągów, najczęściej oznacza to, że ArrayList<String> list = new ArrayList<String>();Zadania | |
---|---|
1 | Zadanie 1. 5 różnych ciągów znaków na liście 1. Utwórz listę ciągów znaków. 2. Dodaj 5 różnych ciągów do listy. 3. Wyświetl na ekranie jego rozmiar. 4. Wyświetl na ekranie zawartość listy. Każda wartość powinna znajdować się w nowej linii. Użyj pętli. |
2 | Zadanie 2. 5 wierszy: «101», «102», «103», «104», «105» 1. Utwórz listę ciągów znaków. 2. Dodaj 5 ciągów do listy. „101”, „102”, „103”, „104”, „105”. 3. Usuń pierwszy, środkowy i ostatni. 4. Wyświetl na ekranie zawartość listy. Każda wartość powinna znajdować się w nowej linii. Użyj pętli. 5. Wyświetl na ekranie jego rozmiar. (Po usunięciu jednego wpisu zmieniają się indeksy innych wpisów. Na przykład, jeśli usuniemy pierwszy element, drugi staje się pierwszym). |
3 | Zadanie 3. 5 wierszy w odwrotnej kolejności 1. Utwórz listę ciągów znaków. 2. Odczytaj 5 ciągów z klawiatury, a następnie dodaj je do listy. 3. Ułóż je w odwrotnej kolejności. 4. Wyświetl na ekranie zawartość listy. Każda wartość powinna znajdować się w nowej linii. Użyj pętli. |
4 |
Zadanie 4. Dodaj 5 ciągów na początek listy |
5 | Zadanie 5. Usuń ostatni ciąg i dodaj go na początek listy 1. Utwórz listę ciągów. 2. Odczytaj z klawiatury 5 ciągów. Dodaj te ciągi do listy. 3. Usuń ostatni ciąg znaków i dodaj go na początek listy. Powtórz tę czynność 13 razy. 4. Wyświetl na ekranie zawartość listy. Każda wartość powinna znajdować się w nowej linii. Użyj pętli. |
7 Risza, Leki generyczne
- A teraz kolejny wspaniały temat. - Ten dzień jest pełen niespodzianek. To jak prawdziwe urodziny. - Dzisiaj powiem ci, czym są leki generyczne. Rodzaje to typy, które mają parametry. W Javie klasy kontenerów umożliwiają określenie typów ich obiektów wewnętrznych . - Kiedy deklarujemy zmienną ogólną, określamy dwa typy zamiast jednego: typ zmiennej i typ danych przechowywanych w zmiennej. Dobrym tego przykładem jest ArrayList. Kiedy tworzymy nowy obiekt/zmienną typu ArrayList, dobrze jest również określić typ wartości, które mają być przechowywane na liście.


8 Risha, Przykłady ArrayList, Generics






9 Diego, List<T> zadania
- Nareszcie jesteś wolny. Jestem zmęczony pamiętaniem o tych zadaniach dla ciebie. Oto jeszcze kilka, które pomogą Ci zachować spokój:Dodatkowe zadania do wykonania w Intellij Idea | |
---|---|
1 | 1. Trzy tablice 1. Odczytaj z klawiatury 20 liczb, zapisz je na liście, a następnie posortuj na trzy inne listy: Lista 1 przechowuje liczby podzielne przez 3 ( x%3==0 ) Lista 2 przechowuje liczby podzielne przez 2 ( x%2==0 ) Lista 3 przechowuje resztę liczb. Liczby podzielne jednocześnie przez 3 i 2 (np. 6) należą do obu list – listy 1 i listy 2. 2. Metoda printList() powinna wyświetlać każdy element listy w nowym wierszu. 3. Użyj metody printList() , aby wyświetlić na ekranie te trzy listy. Najpierw powinna zostać wyświetlona lista 1, następnie lista 2, po niej lista 3. |
2 | 2. 5 słów w odwrotnej kolejności Przeczytaj z klawiatury 5 słów. Dodaj je do listy ciągów i wyświetl na ekranie w odwrotnej kolejności. |
3 | 3. Słowo „tutaj” 1. Utwórz listę słów „stop”, „patrz”, „słuchaj”. 2. Po każdym słowie dodaj ciąg znaków zawierający słowo „tutaj”. 3. Wyświetl wynik. Każdy element listy powinien znajdować się w nowej linii. Użyj pętli „for”. |
4 | 4. Litery «r» i «l» 1. Stwórz listę słów/łańcuchów znaków i wypełnij ją czym tylko chcesz. 2. Metoda fix() powinna: 2.1. usuń wszystkie słowa zawierające literę «r» z listy ciągów znaków 2.2. podwoić wszystkie słowa zawierające literę «l». 2.3. pozostaw słowo bez zmian, jeśli zawiera ono obie litery „r” i „l”. 2.4. nie rób nic innymi słowami. Przykład: wierzba różana lira dąb Dane wyjściowe: wierzba wierzba lira dąb |
5 | 5. Powiel słowa 1. Odczytaj z klawiatury 10 słów/łańcuchów, dodaj je do listy ciągów. 2. Metoda doubleValues powinna zduplikować słowa według wzoru: a,b,c → a,a,b,b,c,c. 3. Wyświetl wynik. Każdy element listy powinien znajdować się w nowej linii. Użyj pętli „for”. |
10 Profesor

11 lipca
- Hej, Amigo! Cieszę się, że sobie z tym wszystkim poradziłeś - należy Ci się nagroda:12 kapitanów wiewiórek
- Cześć, żołnierzu! - Dzień dobry panu! - Mam dla ciebie wspaniałe wieści. Oto szybkie sprawdzenie, aby wzmocnić swoje umiejętności. Rób to codziennie, a szybko poprawisz swoje umiejętności. Zadania są specjalnie zaprojektowane do wykonywania w Intellij IDEA.Dodatkowe zadania do wykonania w Intellij Idea | |
---|---|
1 | 1. Wyświetl cyfry w odwrotnej kolejności Odczytaj z klawiatury 10 cyfr i uzupełnij nimi listę. Wyświetl na ekranie liczby w odwrotnej kolejności. Użyj pętli. |
2 | 2. Przenieś pierwsze M wierszy na koniec listy Odczytaj z klawiatury 2 cyfry: N i M . Odczytaj z klawiatury ciągi znaków N i uzupełnij nimi listę. Przesuń pierwsze M wierszy na koniec listy Wyświetl listę na ekranie. Każda wartość powinna znajdować się w nowej linii. |
3 | 3. Największa i najmniejsza liczba w tablicy Utwórz tablicę 20 liczb. Wypełnij go liczbami odczytanymi z klawiatury. Znajdź największą i najmniejszą liczbę w tablicy. Wyświetl na ekranie największą i najmniejszą liczbę oddzieloną spacją. |
4 | 4. Odczytuj napisy z klawiatury, aż użytkownik wprowadzi napis „koniec”. Utwórz listę napisów. Czytaj z ciągów klawiatury (cokolwiek chcesz), dodaj je do listy. Odczytuj napisy z klawiatury, aż użytkownik wprowadzi napis „koniec”. „koniec” należy pominąć. Wyświetl na ekranie ciągi znaków. Każdy ciąg powinien znajdować się w nowej linii. |
5 | 5. Uderz! Napisz program, który odlicza od 30 do 0 i wyświetla „Bang!” na końcu. Program powinien zmniejszać liczbę 10 razy na sekundę. Użyj poniższej funkcji, aby wstawić opóźnienie: Thread.sleep(100); //opóźnienie jednej dziesiątej sekundy. Przykład: 30 29 … 1 0 Bum! |
6 | 6. Rodzina Utwórz klasę Człowiek z polami: Nazwa ciągu znaków , płeć boolowska , wiek całkowity , Ojciec człowieka , Matka człowieka . Stwórz 9 obiektów klasy Człowiek i wypełnij je tak, aby otrzymać dwóch dziadków, dwie babcie, ojca, matkę i trójkę dzieci. Wyświetlaj na ekranie obiekty na ekranie. Wskazówka: jeśli napiszesz metodę String toString() w klasie Human, zostanie ona użyta do wyświetlenia obiektu. Przykładowe dane wyjściowe: Imię: Anna, płeć: kobieta, wiek: 21 lat, ojciec: Paweł, matka: Kate Imię: Kate, płeć: kobieta, wiek: 55 Imię: Ian, płeć: mężczyzna, wiek: 2 lata, ojciec: Michael, matka: Anna … |
7 | 7. Przenieś jeden modyfikator statyczny Przesuń jeden modyfikator statyczny, aby program się skompilował. |
Zadania bonusowe | |
---|---|
1 | 1. Program nie kompiluje się i nie uruchamia. Napraw to. Zadanie: Odczytaj z klawiatury dane kota i wyświetl je na ekranie. Przykład: Imię kota to Jinx, wiek 6 lat, waga 5 lat, ogon = 22 Imię kota Maisy, wiek 8 lat, waga 7 lat, ogon = 20 |
2 | 2. Dodaj nową funkcjonalność do programu. Stare zadanie: Program odczytuje ciągi, dopóki użytkownik nie wprowadzi pustej linii, naciskając klawisz Enter. Następnie zamienia małe litery na duże (mama zamienia się w MAMĘ) i wyświetla je na ekranie. Nowe zadanie: Program powinien czytać napisy, dopóki użytkownik nie wprowadzi pustej linii, naciskając enter. Następnie program tworzy nową listę. Jeśli łańcuch ma parzystą liczbę znaków, łańcuch jest duplikowany, jeśli jest nieparzysty, łańcuch jest potrojony. Przykładowe dane wejściowe: Cat Cats Me Przykładowe dane wyjściowe: Cat Cat Cat Cats Cats Me Me |
3 | 3. Uczenie się i ćwiczenie algorytmu. Odczytaj z klawiatury 20 cyfr i wyświetl je w kolejności malejącej. |
GO TO FULL VERSION