matura z informatyki 2019 rozwiązania

Matura z informatyki 2019 rozwiązania

Pomimo panującej pandemii, dla większości uczniów rok szkolny ruszył już pełną parą, choć przez obowiązujące obostrzenia i przepisy nie było to łatwe. Ten trudny okres daje się na pewno we znaki maturzystom – w końcu kilkumiesięczna przerwa od nauki nie idzie w parze z dobrym przygotowaniem do matury, a przecież każdy chciałby osiągnąć jak najlepszy wynik. Matura z informatyki 2019 rozwiązania to wpis, który pomoże wam w osiągnięciu tego celu.

Matura z informatyki 2019 — część pierwsza (teoria)  

Tak jak co roku egzamin dojrzałości z informatyki został podzielony na dwa arkusze — część teoretyczną i część praktyczną. Standardowo w obu znajdziemy po 3 zadania o zróżnicowanej ilości podpunktów i ich trudności, a na ich wykonanie było 60 minut. Nie owijając dalej w bawełnę, przejdźmy do rozwiązywania zadań:

Matura z informatyki 2019: Zadanie 1 — ulubione liczby  

Z treści zadania możemy już wywnioskować, że operować będziemy na zbiorze liczb, w którym na początku znajdziemy same liczby nieparzyste, a następnie do samego końca liczby parzyste. Jak zdefiniować liczby parzyste/nieparzyste? Liczba rzeczywista n jest liczbą nieparzystą, gdy reszta z dzielenia n/2 jest różna od 0, zaś gdy ta reszta będzie równa 0, to n jest liczbą parzystą. W większości języków programowania do obliczania reszty z dzielenia służy operator modulo (symbol %) — przyda nam się on w tym zadaniu.

Zadanie 1 — podpunkt 1  

Podpunkt ten można rozwiązać na kilka sposobów. Poniżej znajdziesz rozwiązania w C++, Pythonie i Javie — trzech językach, które możesz wybrać na maturze z informatyki. Użyjemy również podanego przez CKE przykładowego zestawu danych, aby sprawdzić poprawność działania programu.

C++

Java

Python

Sposób ten, choć jest sam w sobie prawidłowy i najprostszy, nie uzyska maksymalnej ilości punktów. Dlaczego? Jego złożoność obliczeniowa jest liniowa, a z treści zadania wyczytać można, że aby uzyskać maksymalną ilość punktów, złożoność powinna być lepsza niż liniowa. W związku z tym przedstawiam drugi sposób:

C++

Java

Python

W powyższych kodach wykorzystaliśmy wyszukiwanie binarne, co dało nam logarytmiczną złożoność obliczeniową, a więc lepszą od liniowej. Zwracam uwagę, że w tym podpunkcie można było wykorzystać inne algorytmy o złożoności lepszej niż liniowa, np. o podanej w kluczu przez CKE złożoności pierwiastkowej.

Zadanie 1 — podpunkt 2  

Rozwiązanie zależy od wybranego wcześniej sposobu. Preferowanym przeze mnie sposobem jest ten wykorzystujący wyszukiwanie binarne — w tym przypadku odpowiedzią będzie złożoność logarytmiczna.

Matura z informatyki 2019: Zadanie 2 – algorytm  

Przeanalizujmy krok po kroku działanie tego algorytmu:

  1. Użytkownik wprowadza 3 zmienne: napis s, liczbę n (większa/równa od dł(s)) oraz liczbę k ze zbioru {2, 3, 4 … 10};
  2. Gdy dł(s) jest równa wprowadzonej liczbie n, funkcja drukuje wprowadzony napis i kończy działanie
  3. W innym wypadku uruchamia pętle iterującą k razy: funkcja wywołuje samą siebie, z napisem s, do którego dodany zostanie numer iteracji, z niezmienionymi wartościami n i k.

Schemat blokowy tego algorytmu wygląda tak:

Oczywiście w schemacie tym zakładamy, że wprowadzane dane są zgodne z założeniami z zadania, a wywołanie funkcji pisz() w najniższym bloku operacyjnym jest auto-odwołaniem do naszego algorytmu. Po dokładnej analizie zarówno kolejnych kroków, jak i schematu algorytmu łatwo zauważyć, że mamy do czynienia z rekurencją (czym jest rekurencja?).

Zadanie 2 — podpunkt 1  

Aby wykonać ten podpunkt musimy prześledzić krok po kroku jego działanie. Znacznym ułatwieniem jest fakt, że większość drzewa jest już uzupełniona, dzięki czemu łatwiej wywnioskować kolejne wywołania. Jako iż k jest równe 2, to do napisu dodawane będzie 0 i 1, aż nie będzie miał on dwóch znaków. Z kolei kolejność wywołań zdawać by się mogło, że wystarczy ponumerować po kolei od 2 do 7. Otóż nie. Jeżeli dokładniej przyjrzymy się algorytmowi, to można zauważyć, że w pętli wywoływane są kolejne pętle, aż do osiągnięcia odpowiedniej długości napisu, dlatego należy ponumerować wywołania dla każdej gałęzi. Prawidłowe rozwiązanie całego podpunktu jest widoczne na rysunku poniżej:

Zadanie 2 — podpunkt 2  

Podpunkt ten możemy rozwiązać na dwa sposoby. Można prześledzić działanie algorytmu dla wskazanych danych wejściowych, wypisać drukowane wartości, a następnie zliczyć ilość wywołań. Rozwiązanie poprawne, ale łatwo popełnić błąd przy obliczeniach, dlatego warto podejść do zadania nieco bardziej „logicznie”. Analizując działanie algorytmu i kilka jego wyników z poprzedniego podpunktu (dla wejściowego napisu s = ”), można zauważyć, że ma on na celu wydrukować wszystkie możliwe kombinacje liczb n-cyfrowych, ze zbioru {0 … k-1}. Śledząc działania algorytmu łatwo też wyliczyć ilość jego wywołań: dla s =”, funkcja ta wywoła się 1 + k + k^2 + … + k^n razy. Dysponując powyższymi informacjami możemy uzupełnić tabelę tak jak na poniższym zdjęciu:

Zadanie 2 — podpunkt 3  

Do tego wzoru udało nam się już dojść wyżej: 1 + k + k^2 + … + k^n. Zwracam uwagę, iż w kluczu odpowiedzi możemy znaleźć inne, równie poprawne odpowiedzi jak: (k^(n+1) — 1)/(k — 1) i (1 — k^(n+1))/(1- k). Wygodniej i łatwiej jest chyba jednak zapisanie tego tak jak podaliśmy wcześniej — jako ciąg.

Matura z informatyki 2019 odpowiedzi: zadanie 3 — prawda/fałsz  

W tym zadaniu musimy wykazać się przede wszystkim wiedzą teoretyczną. Nie można przy tym popełnić błędu — jedna skucha i tracimy cały podpunkt. Poniżej znajdziesz treść podpunktów wraz z prawidłowymi odpowiedziami:

Zadanie 3 — podpunkt 1  

Nie jest to trudny podpunkt — w każdym przypadku operujemy na tej samej kolumnie, nie zwracając uwagi na pozostałe dane. Trzeba jednak uważać na podchwytliwość tego zadania: samo COUNT zlicza wszystkie wartości z kolumny, dopiero dodanie DISTINCT przed nazwą kolumny zliczałoby ilość unikalnych wartości.

Zadanie 3 — podpunkt 2  

Dosyć proste zadanie wymagające po 1. umiejętność mnożenia (choć nikt nie broni najpierw zamienić obie liczby na liczby dziesiętne, a następnie normalne wymnożenie), a po 2. konwersji liczb z różnych systemów. Proponuje więc zapisać wynik mnożenia i wszystkich podanych liczb w bardziej „ludzkim”, dziesiętnym systemie, a następnie porównać ich wartości:

Zadanie 3 — podpunkt 3  

  1. Skrót DNS powinien być każdemu znany — łatwo też go wywnioskować z tłumaczenia z angielskiego.
  2. Dobrym przykładem potwierdzającym to zdanie jest strona YouTube: wpisanie w przeglądarce zarówno youtube.com, jak i youtu.be wyświetli nam tą samą stronę, mimo że są to różne nazwy (adresy WWW).
  3. Przy zmianie adresu IP serwera, owszem, jest wymagana również jego zmiana w konfiguracji DNS, jednakże nazwa domeny wciąż może być ta sama — nie jest potrzebna jej zmiana.
  4. Systemy DNS dysponują ponad trzynastoma, rozsianymi po całym świecie serwerami.
grupa wsparcia matura z informatyki

Matura z informatyki 2019 — część druga (praktyka)  

Przed nami kolejna, praktyczna część egzaminu często uznawana przez maturzystów jako ta trudniejsza. Klasycznie otrzymujemy zestaw plików, które zapewne pójdą w ogień w takich programach jak Excel, Access, czy
w wybranym języku programowania. Na wykonanie zadań mamy 150 minut, więc nie zwlekając przechodzimy do ich rozwiązywania:

Matura z informatyki 2019 rozwiązania: Zadanie 4 — liczby  

Z treści wynika, iż będziemy musieli odczytywać dane z pliku liczby.txt, dlatego przygotujmy bazowe kodu, które będą początkowo drukować wiersz po wierszu zawartość pliku w konsoli — modyfikując je rozwiążemy dalsze podpunkty. Poniżej kody źródłowe w Javie, Pythonie i C++:

C++

Java

Python

Pamiętaj również, że możesz sprawdzić czy zmodyfikowany kod działa zgodnie z warunkami polecenia, poprzez przepuszczenie przez niego pliku przyklad.txt i porównanie wyniku z tym podanym w zadaniu.

Zadanie 4 — podpunkt 1  

Aby wykonać zadanie należy sprawdzić każdą liczbę z osobna. Wiedząc, że każda liczba jest w oddzielnym wierszu, wystarczy zmodyfikować bazowy kod, aby sprawdzał warunki z zadania, a następnie zliczał ilość liczb spełniających warunki. Oto kody źródłowe takiego programu:

C++

Java

Python

Odpowiedzią jest 18 liczb. Zwracam uwagę, że niektóre kompilatory mogą mieć problem z odnalezieniem funkcji stoi() w języku C++(zamieniającej tekst na liczbę). W takim wypadku należy znaleźć opcje kompilatora i dodać -std=c++11 do wiersza poleceń konsolidatora. Dodatkowo należy pamiętać o dodaniu dodatkowej dyrektywy math.h w C++ i imporcie math w Pythonie, aby możliwe było policzenie logarytmu. W Javie zaś użyłem statycznej funkcji z klasy Math.

Zadanie 4 — podpunkt 2  

Kolejne polecenie, w którym wymagana jest iteracja przez cały plik. Dodatkowo będziemy musieli rozbić liczby na tablice znaków, a następnie porównywać sumę silni z całą liczbą. Wykorzystamy tu fakt, że w C++ i Javie każdy char może być reprezentowany jako int, przy odjęciu od niego chara ‚0’. W Pythonie zaś wystarczy wykonać rzutowanie do liczby całkowitej. Stworzymy również funkcje rekurencyjne liczące silnię (oczywiście, przy zastosowaniu odpowiednich warunków, możliwa jest jej implementacja przy użyciu funkcji iteracyjnej).

C++

Java

Python

Odpowiedzią są kolejno liczby: 2; 145; 1; 40585. Możliwe jest również rozbicie liczby z wiersza poprzez iteracyjne sprawdzanie wartości reszt z dzielenia (modulo) przez 10:

C++

Java

Python

Istotnie, powyższy sposób wygląda znacznie przejrzyściej niż konwersja symboli na liczby całkowite. Pamiętajcie jednak o dodaniu dyrektywy vector – potrzebna nam ona jest do przechowywania prawidłowych liczb.

Zadanie 4 — podpunkt 3  

Dosyć skomplikowane zadanie, w którym proponuje załadowanie liczb do oddzielnej tablicy, a następnie iteracje poprzez nią. Wykorzystamy podpowiedź Uwaga z treści zadania. Musimy jednak wziąć też pod uwagę możliwość, że ciągi mogą się pokrywać (pewien wyraz może być jednocześnie ostatnim wyrazem jednego ciągu, ale też i pierwszym wyrazem następnego ciągu). Do obliczenia największego wspólnego dzielnika wykorzystamy algorytm Euklidesa. Podczas pisania kodu należy więc wziąć pod uwagę powyższe spostrzeżenia:

C++

Java

Python

Oczywiście algorytm NWD może mieć postać pętli do…while – choć jest to bardziej „zasobożerne” rozwiązanie, jest ono jak najbardziej prawidłowe. Zwracam ponownie uwagę na dyrektywę vector w języku C++(rzecz jasna można zamiast niego użyć zwyczajnych tablic, jednak vectory są znacznie łatwiejsze w użytkowaniu), oraz na ArrayList z java.util w Javie. Powyższy program drukuje odpowiedź: Pierwsza liczba z ciagu: 31968, dzielnik: 74, dlugosc ciagu: 150.

Matura z informatyki 2019 arkusz: Zadanie 5 — chmury  

Przyjrzyjmy się zawartości pliku pogoda.txt: dane tworzą wiersze i kolumny pooddzielane średnikami. Do wykonania podpunktów wykorzystamy więc program Microsoft Excel. Aby rozpocząć pracę musimy więc zaimportować dane z pliku, a sposób, w jaki należy to zrobić przedstawiłem krok po kroku na poniższych zrzutach ekranu:

Z zakładki Dane wybieramy Z tekstu, a następnie wskazujemy plik z dysku.

 Uwaga: należy zaznaczyć Moje dane mają nagłówki.

Jako ogranicznik wybieramy średnik.

Tutaj bez zmian; klikamy Zakończ, a następnie OK.

Z tak zaimportowanym arkuszem możemy przystąpić do rozwiązywania podpunktów:

Zadanie 5 — podpunkt 1  

Prosty podpunkt, w którym stworzymy nową kolumnę, w której wykorzystamy funkcje JEŻELI i ORAZ, aby zwrócić wartość 1 dla dni spełniających warunki i wartość 0 w przeciwnym wypadku. Na koniec zliczymy wszystkie wartości w nowej kolumnie za pomocą funkcji SUMA:

Nowa kolumna wraz z formuła warunkową;

Kolumna z formułą zliczającą;

Wynik działania SUMY. Odpowiedzią jest więc 63 dni.

Zadanie 5 — podpunkt 2  

Posłużymy się dwiema kolumnami: pierwsza będzie zliczać ilość dni pod rząd, w których temperatura wzrastała, zaś druga odnajdzie nam maksymalną wartość z poprzedniej kolumny, aby łatwiej było wskazać odpowiedź. Trzeba pamiętać, aby w pierwszych wierszach wpisać odpowiednie wartości „ręcznie” — formuła najprawdopodobniej się posypie gdy zostanie wpisana w pierwszej komórce:

Pierwsza kolumna wraz z formułą zliczającą. Należy ją przypisać do całej kolumny poniżej poprzez podwójne kliknięcie kwadracika w prawym dolnym rogu.

Druga, pomocnicza kolumna. Wynikiem działania tej formuły jest 8, więc należy szukać wartości 8 w kolumnie Ilość dni pod rząd – będzie to ostatni dzień z rzędu, w którym rosła temperatura.

Na zrzucie widzimy zaznaczony cały okres, który spełnia warunki zadania. Trzeba uważać aby nie wziąć pod uwagę dnia 447, gdyż nie był on dniem, w którym nastąpił wzrost temperatury. Odpowiedzią jest więc okres od 448 dnia do 455 dnia.

Zadanie 5 — podpunkt 3  

Nieco bardziej skomplikowany podpunkt, w którym stworzymy drugi, pomocniczy arkusz, oraz kolumnę tworzącą rodzaj chmur z ich kategorii i wielkości. Pamiętaj, że kopiując cały arkusz lub jego część, zazwyczaj przy wklejaniu należy wybrać Wklej wartości. Przy kopiowaniu sum częściowych warto skorzystać z menu F5>Specjalne… – tak jak pokazałem na poniższym obrazku:

Dzięki temu unikniesz kopiowania całego „wnętrza” sumy częściowej.

Stwórzmy więc nową kolumnę Typ chmury, a w niej połączymy kolumny Kategoria i wielkość. Zaznaczam, że w sytuacji, gdy wielkość lub kategoria chmury będzie równa 0, to jej typ powinien być taki sam. Choć tych chmur (lub raczej ich braku 🙂 ) nie będziemy brać pod uwagę przy dalszych krokach, to wygląda to nieco estetyczniej:

Oczywiście formułę „rozciągamy” na całą kolumnę (w poleceniu wymagają od nas zbadanie pierwszych 300 dni, jednakże nic nie stanie się, gdy kolumna będzie obejmować wszystkie dni).

Następnym krokiem będzie skopiowanie części arkusza — najbardziej interesuje nas kolumna Opady i Typ chmury. Pamiętaj aby zaznaczyć pierwsze 300 dni. 

Skopiowaną część tabeli wklejamy w nowym arkuszu (sposób w jaki to zrobić pokazałem na obrazku z prawej strony). Pozbywamy się niepotrzebnych kolumn zostawiając tylko te widoczne na zrzucie.

Zaznaczamy wszystkie wartości, a następnie sortujemy je (zakładka Dane>Sortuj…) tak jak na obrazku — według kolumny Typ chmury.

Następnie zaznaczamy całą tabelę (ctrl+a), a następnie z zakładki Dane wybieramy suma częściowa i okienko uzupełniamy tak jak ja to zrobiłem powyżej.

Z menu widocznego od razu po lewo wybieramy zakładkę 2, a naszym oczom ukażą się wszystkie średnie. Zaznaczmy więc interesujące nas typy chmur i skopiujmy wraz z ich średnimi opadami (przy pomocy menu Specjalnie, które pokazałem na samym początku tego podpunktu). Skopiowane dane wklejamy w innym miejscu w arkuszu.

W zadaniu wymagają zaokrąglenia do drugiego miejsca po przecinku, więc zaznaczamy średnie i z zakładki Narzędzia główne, w polu liczba zamiast Ogólne wybierz Liczbowe. Następnie zaznacz nowo utworzoną tabelę i utwórz wykres z zakładki Wstawianie. Pamiętaj o czytelnym przedstawieniu danych na wykresie. Rozwiązanie widoczne jest na powyższym zdjęciu.

Zadanie 5 — podpunkt 4  

Do rozwiązania tego podpunktu potrzebne nam będą dwie nowe kolumny, które przedstawią dane zgodne z teorią profesora. Ich formuły widoczne są na poniższych zdjęciach:

Dosyć skomplikowana formuła sprawdzająca warunki narzucone przez zadanie. Najpierw sprawdza ona, czy poprzedni dzień był bezchmurny — w takim wypadku wielkość chmury będzie zawsze równa 1. W przeciwnym razie sprawdza, czy wielkość chmury z poprzedniego dnia jest różna (mniejsza) od 5, następnie sprawdza, czy nastąpił cykl trzech dni. Jeżeli tak, to zwiększa wartość o 1, a jeżeli nie to przepisuje ich wartość. Jeżeli wielkość była równa 5 i jednocześnie opad był większy lub równy 20mm, to przyjmie ona wartość 0.

  W kolejnej kolumnie należy najpierw zweryfikować, czy dzień nie jest bezchmurny, a następnie przyjąć odpowiednią wartość zależną od temperatury (o ile poprzedni dzień był bezchmurny — chmury przecież nie mogą nagle zmienić swojej kategorii).

Oczywiście podane formuły należy zastosować dla całych kolumn. Z tak przygotowanym zestawem danych możemy przystąpić do rozwiązywania pod-podpunktów:

  1. Proponuję skopiować nowo utworzone kolumny do nowego arkusza (pamiętaj, aby wkleić tylko wartości). Następnie z zakładki Dane>Sortuj należy posortować rosnąco według kolumny Wielkosc:  Następnie zaznacz kolumnę Wielkosc i wybierz Suma częściowa z zakładki Dane. W polu Użyj funkcji wybierz Liczba, tak jak pokazałem na zrzucie:. Oto wynik działania sumy częściowej — odpowiedź do tego podpunktu (z drugiej zakładki, z lewego menu):  
  2. Wróćmy do pierwszego arkusza, w którym dodaliśmy dwie kolumny. Aby sprawdzić, czy dane wg. teorii profesora zgadzają się z tymi faktycznymi, wystarczy wykorzystać formułę JEŻELI zwracającą 1 w przypadku, gdy będą się zgadzać i 0 w przeciwnym wypadku. Następni za pomocą formuły SUMA zliczymy ilość takich dni. Pamiętaj, aby uwzględnić pierwsze 300 dni w formułach: Ustawiamy formułę na całą kolumnę, a następnie sumujemy jej wartości dla pierwszych 300 dni: Odpowiedzią jest więc 296 dni.
  3. Podpunkt ten wykonujemy analogicznie do poprzedniego, porównując jednak kolumny Kategoria_chmur i Kategoria. Końcowy wynik powinien być podobny do tego na obrazku: Odpowiedzią jest 286 dni.

Matura z informatyki 2019 rozwiązania: zadanie 6 — Perfumeria  

Do rozwiązania tego zadania przyda nam się program Microsoft Access. Należy więc zaimportować podany przez CKE plik, a następnie połączyć tabele relacjami. Poniżej pokazane jest jak krok po kroku to zrobić:

Z menu Dane wybieramy Nowe źródło danych tak jak na zdjęciu;

Bez zmian;

Zaznaczamy Pierwszy wiersz zawiera nazwy pól;

Jeżeli pole jest identyfikatorem, to nie może być duplikatów — trzeba to zaznaczyć;

Pole z identyfikatorem będzie kluczem głównym. Można kliknąć Zakończ.

Powyższe operacje wykonujemy analogicznie dla wszystkich plików dołączonych do zadania. Uwaga: dla pliku sklad.txt, wybierz Bez klucza podstawowego i Tak (Duplikaty OK) – pole id_perfum jest w tej tabeli kluczem obcym. Następnym krokiem jest połączenie tabeli relacjami (Narzędzia bazy danych>Relacje) w sposób pokazany na zdjęciu (pamiętaj aby zaznaczyć Wymuszaj więzy integralności):

Gdy mamy już zaimportowaną bazę, możemy przejść do rozwiązywania zadania.

Zadanie 6 — podpunkt 1  

Wykorzystamy tutaj prostą kwerendę odnajdującą według warunku. Stwórz więc kwerendę i uzupełnij ją tak jak na zrzucie poniżej:

Wynik działania kwerendy i odpowiedź na zadanie widoczne są poniżej:

Zadanie 6 — podpunkt 2  

Do wykonania tego podpunktu potrzebna nam będzie pomocnicza kwerenda, która znajdzie najniższą cenę dla każdej z rodzin. Jej zawartość widoczna jest na poniższym zdjęciu:

Pamiętaj, że aby pogrupować pola musisz kliknąć Sumy z zakładki Projektowanie. Dla ułatwienia dobrym pomysłem jest też nadanie własnych nazw polom (Rodzina i CenaMinimum).

Następnym krokiem jest stworzenie finalnej kwerendy, która da nam odpowiedź. Musimy w niej dodać tabelę Perfumy oraz kwerendę, którą przed chwilą stworzyliśmy:

Uzupełniamy kwerendę tak jak pokazano.

Wywołanie kwerendy daje nam odpowiedź na ten podpunkt.

Zadanie 6 — podpunkt 3  

Ponownie potrzebne będzie wykorzystanie pomocniczej kwerendy. W tym podpunkcie skorzystamy również z języka SQL.

Najpierw stworzymy kwerendę, w której wybierzemy wszystkie marki, które w swoich perfumach posiadają składnik, który w nazwie ma „paczula” — później ze zbioru wszystkich marek usuniemy te wcześniej znalezione. W tej kwerendzie (w widoku SQL) konieczne jest dodanie słowa kluczowego DISCTINCT po słowie SELECT, aby marki nie powtarzały się w wynikach.

 Kod do zadania

Korzystamy tutaj z języka SQL i LEFT JOIN, które wybiera tylko te marki, których nie ma w poprzedniej kwerendzie.

Oto wynik kwerendy i odpowiedź do tego podpunktu.

Zadanie 6 — podpunkt 4  

W zadaniu wykorzystamy prostą kwerendę wybierającą nazwy i ceny perfum o określonych warunkach, która od razu przemnoży ceny przez 0.85.Pamiętajmy też o sortowaniu niemalejącym (czyli rosnącym):

Uruchomienie kwerendy daje nam odpowiedź:

Zadanie 6 — podpunkt 5  

Do rozwiązania tego podpunktu stworzymy tym razem dwie pomocnicze kwerendy. Pierwsza zliczy ilość wszystkich perfum dla każdej marki, druga zliczy ilość perfum z danej rodziny dla każdej marki. Ostatnia, finalna kwerenda zestawi dwie powyższe ze sobą dając nam wynik. Wszystkie kwerendy przedstawione są po kolei poniżej (ponownie przypomnę, że aby skorzystać z grupowania/sumowania należy wcisnąć Sumy z zakładki Dane):

Kwerenda licząca ilość perfum danej marki.

Kwerenda licząca ilość perfum danej rodziny dla każdej marki.

Połączenie dwóch kwerend pomocniczych: jeżeli ilość wszystkich perfum marki jest równa ilości perfum z danej rodziny w tej samej marce, to spełnia ona wymagania z polecenia.

Uruchomienie powyższej kwerendy daje nam odpowiedź:

Mam nadzieję, że dotarliście aż tutaj. Nie zapomnijcie o tym żeby samodzielnie rozwiązać powyższe zadania. Życzyłbym sobie, aby każdy z was mógł sobie wkrótce powiedzieć, ze matura z informatyki 2019 była banalnie prosta. Powodzenia!

You Might Also Like
Dodaj komentarz