Zadanie 1: System rezerwacji miejsc w kinie
Stwórz program, który obsługuje rezerwację miejsc w kinie. Miejsca są reprezentowane w tablicy jako 0 (wolne) i 1 (zajęte). Dane wejściowe (tablica miejsc oraz numer miejsca do rezerwacji) powinny być zdefiniowane na początku programu w postaci zmiennych. Program rezerwuje konkretne miejsce (np. miejsce numer 2) i wyświetla odpowiedni komunikat.
Wskazówki:
- Zacznij od zdefiniowania tablicy reprezentującej miejsca w kinie. Każde miejsce może być wolne (0) lub zajęte (1).
- Następnie zdefiniuj numer miejsca, które ma zostać zarezerwowane.
- Skorzystaj z instrukcji warunkowej if, aby sprawdzić, czy miejsce jest wolne (czyli ma wartość 0).
- Jeśli miejsce jest wolne, zaktualizuj tablicę, zmieniając wartość na 1 (oznaczając miejsce jako zajęte).
- W przypadku, gdy miejsce jest już zajęte, wyświetl odpowiedni komunikat.
Dane wejściowe:
$miejsca = [0, 1, 0, 0, 1];
$numer = 2; // Miejsce do rezerwacji
Zadanie 2: Inwentaryzacja sklepu
Stwórz program, który przechowuje stan magazynowy produktów w tablicy asocjacyjnej (klucz to nazwa produktu, wartość to liczba sztuk). Dane wejściowe (tablica magazynu oraz lista zakupów) powinny być zdefiniowane na początku programu w postaci zmiennych. Program redukuje stan magazynowy na podstawie ustalonej tablicy zakupów.
Wskazówki:
- Stwórz tablicę asocjacyjną, w której klucze to nazwy produktów, a wartości to ich ilości w magazynie.
- Zdefiniuj drugą tablicę reprezentującą zakupy – z nazwami produktów i liczbą sztuk do odjęcia.
- Użyj pętli foreach, aby przejść przez zakupy i dla każdego produktu sprawdź, czy istnieje w magazynie.
- Jeśli produkt znajduje się w magazynie, zaktualizuj jego ilość, odejmując liczbę zakupionych sztuk.
- Pamiętaj o sprawdzeniu istnienia klucza w tablicy magazynu przed próbą jego modyfikacji (użyj funkcji isset).
Dane wejściowe:
$magazyn = ["chleb" => 10, "mleko" => 20, "jajka" => 30];
$zakupy = ["chleb" => 2, "mleko" => 1];
Zadanie 3: Analiza wyników egzaminu
Stwórz program, który analizuje wyniki egzaminu na podstawie zdefiniowanej tablicy ocen studentów. Dane wejściowe (tablica ocen) powinny być zdefiniowane na początku programu w postaci zmiennej. Program oblicza średnią, najwyższą i najniższą ocenę.
Wskazówki:
- Zdefiniuj tablicę, która będzie przechowywać oceny studentów.
- Użyj funkcji array_sum, aby obliczyć sumę wszystkich ocen.
- Policz liczbę ocen w tablicy za pomocą funkcji count.
- Oblicz średnią ocen przez podzielenie sumy ocen przez ich liczbę.
- Wykorzystaj funkcje min i max, aby znaleźć najniższą i najwyższą ocenę w tablicy.
- Na koniec wyświetl wszystkie wyniki w odpowiednim formacie.
Dane wejściowe:
$oceny = [3, 4, 5, 2, 5];
Zadanie 4: System zarządzania użytkownikami
Stwórz program, który przechowuje użytkowników w tablicy asocjacyjnej (klucz to ID, wartość to dane użytkownika). Dane wejściowe (tablica użytkowników oraz dane nowego użytkownika) powinny być zdefiniowane na początku programu w postaci zmiennych. Program dodaje nowego użytkownika z unikalnym ID.
Wskazówki:
- Stwórz tablicę asocjacyjną przechowującą dane użytkowników. Klucze to ID, a wartości to dane użytkownika (np. imię, wiek).
- Zdefiniuj dane nowego użytkownika, który ma zostać dodany do systemu.
- Oblicz nowe unikalne ID użytkownika, używając funkcji max do znalezienia najwyższego ID w istniejącej tablicy i dodając 1.
- Dodaj nowego użytkownika do tablicy, przypisując mu unikalne ID.
- Na końcu wyświetl zaktualizowaną tablicę użytkowników.
Dane wejściowe:
$uzytkownicy = [1 => ['imie' => 'Jan', 'wiek' => 30]];
$daneNowego = ['imie' => 'Anna', 'wiek' => 25];
Zadanie 5: System oceniania uczniów
Stwórz program, który analizuje oceny uczniów na podstawie ustalonej tablicy ocen (każdy uczeń ma swoje ID oraz tablicę ocen). Dane wejściowe (tablica uczniów) powinny być zdefiniowane na początku programu w postaci zmiennych. Program powinien zwrócić średnią ocen dla każdego ucznia.
Wskazówki:
- Zdefiniuj tablicę asocjacyjną, w której klucze to identyfikatory uczniów, a wartości to tablice ocen poszczególnych uczniów.
- Utwórz pustą tablicę, która będzie przechowywać średnie ocen dla każdego ucznia.
- Użyj pętli foreach, aby przejść przez tablicę uczniów.
- Dla każdego ucznia oblicz średnią ocen, używając funkcji array_sum (do sumowania ocen) i count (do liczenia ich liczby).
- Przechowaj średnią ocen w nowej tablicy, używając identyfikatora ucznia jako klucza.
- Na końcu wyświetl tablicę średnich ocen wszystkich uczniów.
Dane wejściowe:
$uczniowie = [
1 => [5, 4, 3],
2 => [3, 3, 4],
3 => [5, 5, 5]
];
$raport = [];
Zadanie 6: Wyszukiwanie najczęściej występującego elementu w tablicy
Stwórz program, który znajduje najczęściej występujący element w tablicy. Dane wejściowe (tablica liczb) powinny być zdefiniowane na początku programu w postaci zmiennej.
Wskazówki:
- Zdefiniuj tablicę, która zawiera liczby lub inne dane.
- Skorzystaj z funkcji array_count_values, aby policzyć, ile razy każdy element występuje w tablicy.
- Użyj funkcji max, aby znaleźć największą liczbę wystąpień.
- Funkcja array_search pozwoli Ci znaleźć element, który występuje najczęściej w tablicy.
- Wyświetl wynik, wskazując, która liczba lub wartość występuje najczęściej.
Dane wejściowe:
$liczby = [1, 2, 3, 2, 1, 2, 4];
Zadanie 7: Obracanie tablicy o zadany kąt
Stwórz program, który obraca tablicę o zadany kąt (np. o 90 stopni w prawo lub w lewo). Tablica powinna zawierać liczby. Dane wejściowe (tablica oraz kąt obrotu) powinny być zdefiniowane na początku programu.
Wskazówki:
- Zdefiniuj tablicę, którą chcesz obrócić, oraz zmienną, która będzie określała kąt obrotu.
- Zastosuj warunki do określenia, jakiej operacji na tablicy należy użyć (np. array_reverse do odwrócenia tablicy przy obrocie o 90 stopni).
- W zależności od kąta obrotu (np. 90, 180), zastosuj odpowiednie operacje na tablicy.
- Użyj funkcji implode, aby ładnie wyświetlić wynik.
Dane wejściowe:
$tablica = [1, 2, 3, 4, 5];
$kat = 90; // Kąt obrotu
Zadanie 8: Generowanie tablicy z liczbami pierwszymi
Stwórz program, który generuje tablicę liczb pierwszych do zadanej liczby. Dane wejściowe (liczba graniczna) powinny być zdefiniowane na początku programu.
Wskazówki:
- Zdefiniuj liczby, które będą sprawdzane pod kątem bycia liczbami pierwszymi.
- Użyj pętli for, aby iterować po wszystkich liczbach od 2 do zadanej liczby granicznej.
- Wewnątrz pętli sprawdź, czy liczba jest liczbą pierwszą, dzieląc ją przez wszystkie liczby mniejsze od siebie (do pierwiastka tej liczby).
- Jeśli liczba jest pierwsza, dodaj ją do tablicy wynikowej.
- Na koniec wyświetl tablicę liczb pierwszych.
Dane wejściowe:
$max = 20; // Graniczna liczba
$liczbyPierwsze = [];
Zadanie 9: Łączenie dwóch tablic
Stwórz program, który łączy dwie tablice w jeden ciąg. Dane wejściowe (dwie tablice) powinny być zdefiniowane na początku programu.
Wskazówki:
- Zdefiniuj dwie tablice, które chcesz połączyć.
- Użyj funkcji array_merge, aby połączyć obie tablice w jedną.
- Wyświetl wynik, używając print_r, aby zobaczyć rezultat.
Dane wejściowe:
$tablica1 = [1, 2, 3];
$tablica2 = [4, 5, 6];
Zadanie 10: Filtrowanie liczb większych niż zadana wartość
Stwórz program, który filtruje liczby większe niż zadana wartość z tablicy liczb. Dane wejściowe (tablica oraz wartość do porównania) powinny być zdefiniowane na początku programu.
Wskazówki:
- Zdefiniuj tablicę liczb oraz wartość, do której będą porównywane elementy tablicy.
- Użyj funkcji array_filter, aby przefiltrować tablicę, pozostawiając tylko liczby większe niż zadana wartość.
- Zdefiniuj funkcję zwrotną (callback), która sprawdzi, czy liczba w tablicy jest większa od zadanej wartości.
- Wyświetl wynik za pomocą print_r, aby zobaczyć przefiltrowaną tablicę.
Dane wejściowe:
$liczby = [1, 5, 8, 3, 7, 2, 9];
$wartosc = 5;