C++ OD PODSTAW DO MATURY

Działki - zadanie maturalne z roku 2019

(rozszerzenie, stara formuła)

Zadanie 1

Treść zadania

Oblicz, ile jest działek, w których co najmniej 70% powierzchni jest porośnięte trawą.

Dla pliku przyklad.txt odpowiedź to 1.

Omówienie i przykładowe rozwiązanie

Spróbuj rozwiązać zadanie samodzielnie. Tylko w taki sposób możesz przygotować się do matury. Poniżej znajdziesz przykładowe rozwiązanie wraz z omówieniem. Zaglądnij tam dopiero po uzyskaniu przez Ciebie wyników. Porównaj Twoje rozwiązanie z przykładowym. Życzę, aby Twoje było lepsze.

Dane z pliku tekstowego można wpisać do tablicy dwuwymiarowej (Listing 1). Być może łatwiej jest posłużyć się tablicą w analizowaniu danych. Jest to oczywiście kwestią przyzwyczajenia i nie jest jedynym sposobem prowadzącym do rozwiązania zadania.

Zadeklarowana tablica (Listing 1, linia 7) posiada wymiary 1500 X 30. 1500, gdyż jest 50 działek kwadratowych o boku 30.

W kolejnym kroku czytamy kolejne wartości zapisane w tablicy. Jeżeli wartość zapisana jest znakiem gwiazdki, zostaje zwiększona wartość zmiennej, która zlicza pola z trawą (Listing 2, linia 5).

Każda działka posiada wymiary 30 X 30, stąd po przeczytaniu 30 linii poziomych w tablicy dwuwymiarowej (Listing 2, linia 6) wiemy, że zostało zakończone czytanie danych należących do jednej działki. Można wtedy sprawdzić, czy liczba pól z trawą jest większa lub równa liczbie 630 (70% z 900 - pole działki).

Następnie należy zresetować wartość zmiennej "trawa" (Listing 2, linia 9). Ostatecznie pozostaje już tylko wyświetlenie podsumowania działania programu i zapisanie wyniku do pliku tekstowego.


Wynik działania programu

Rysunek 1 - Wynik działania programu

Klucz CKE

Zwróć uwagę na to, że inaczej rozwiązuje się zadanie z kluczem odpowiedzi, a inaczej, gdy nieznane są nam wyniki. Na maturze nie ma dostępu do klucza, dlatego zapoznanie się z kluczem odłóż na sam koniec Twoich ćwiczeń.

W nagłówku zdjęcie z Wenecji

Źródło: https://fshoq.com/free-photos/p/267/panorama-of-venice (publikowane na wolnych licencjach)