Zadanie 2. Owocowa przekąska

Do szkoły sportowej aktualnie uczęszcza 36 uczniów. Codziennie po treningu dzieci dostają na deser zdrową przekąskę. Niestety, jedna z dostaw jest niekompletna i jabłek nie wystarczy dla wszystkich dzieci. Dyrektorka szkoły musi zdecydować, jak w tej sytuacji rozdzielić jabłka między uczniów. Postanowiła ustawić dzieci zgodnie ze strukturą trójkąta Pascala – tak, aby każde dziecko odpowiadało dokładnie jednej liczbie tworzącej trójkąt. Wykorzystała w tym celu numery uczniów. Jabłka mają zostać rozdane tylko uczniom stojącym w miejscach, gdzie w trójkącie Pascala znajdują się liczby parzyste. Dyrektorka chciałaby sprawdzić, kto otrzyma owoc.

Dyrektorka ustawiła uczniów zgodnie z budową trójkąta Pascala: najpierw uczniowie zajmowali miejsca w wierszach od góry, od lewej do prawej strony. Wiadomo, że dzieci było tyle, że utworzyły trójkąt składający się z 8 wierszy.

Trójkąt Pascala to trójkątna tablica liczb. W pierwszym wierszu znajduje się liczba 1, w następnym – dwie jedynki. W kolejnych wierszach jedynki umieszczone są na początku i końcu każdego wiersza. Każda liczba „środkowa” jest sumą dwóch liczb bezpośrednio znajdujących się nad nią. Więcej na temat tego zagadnienia znajdziesz w e‑materiale z matematyki Trójkąt PascalaDGA3V0mbpTrójkąt Pascala.

RCKeHLeUbSaBP
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

W pliku dzieci.txt znajduje się 36 unikalnych liczb naturalnych z przedziału [1, 36]. Każda liczba odpowiada numerowi jednego ucznia i jest zapisana w osobnym wierszu.

R1E326iUYkSQW

Przycisk do pobrania pliku TXT z liczbami naturalnymi.

Plik TXT o rozmiarze 135.00 B w języku polskim
Przykład 1

Poniżej przedstawione się wyniki dla numerów sześciu uczniów, które zapisane są w pierwszych sześciu liniach pliku dzieci.txt:

Linia 1. 27. Linia 2. 32. Linia 3. 35. Linia 4. 23. Linia 5. 10. Linia 6. 1.

Zgodnie z przyjętą zasadą dzieci zostaną ustawione w następujący sposób:

R1L8Laeuk35ME
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Dziecko z numerem 27 stoi na miejscu, w którym w trójkącie Pascala jest liczba 1. Nie otrzyma ono jabłka.

Dziecko z numerem 32 stoi na miejscu, w którym w trójkącie Pascala jest liczba 1. Nie otrzyma ono jabłka.

Dziecko z numerem 35 stoi na miejscu, w którym w trójkącie Pascala jest liczba 1. Nie otrzyma ono jabłka.

Dziecko z numerem 23 stoi na miejscu, w którym w trójkącie Pascala jest liczba 1. Nie otrzyma ono jabłka.

Dziecko z numerem 10 stoi na miejscu, w którym w trójkącie Pascala jest liczba 2. Otrzyma ono jabłko, ponieważ liczba 2 jest parzysta.

Dziecko z numerem 1 stoi na miejscu, w którym w trójkącie Pascala jest liczba 1. Nie otrzyma ono jabłka.

Polecenie 1

Napisz program, który wypisze numery uczniów zajmujących w ustawieniu dyrektorki takie miejsca, w których w trójkącie Pascala znajdowałyby się liczby parzyste. Zapisz wyniki do pliku wynik.txt.

Do oceny oddajesz:

  • plik wynik.txt zawierający odpowiedź do zadania (liczby całkowite – numery dzieci, które powinny dostać jabłka),

  • plik(i) z komputerową realizacją zadania (kodem programu).

Przedstaw rozwiązanie zadania w postaci programu napisanego w wybranym języku (C++, Java lub Python). Zadbaj o prawidłowe wczytanie danych z pliku tekstowego do programu. Odpowiedź do zadania znajdziesz w osobnym pliku umieszczonym pod omówieniem pseudokodu.

Rozwiązanie

Polecenie 2

Zapoznaj się z prezentacją przedstawiającą rozwiązanie w formie pseudokodu.

RwDOG6D3TBODI1
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Ważne!

W pseudokodzie wykorzystaliśmy operator mod (obliczanie reszty z dzielenia).

Odpowiedź

Odpowiedź do zadania dla danych z pliku dzieci.txt:

R1CnzBT6wRceX

Przycisk do pobrania pliku TXT z wynikiem zadania.

Plik TXT o rozmiarze 39.00 B w języku polskim
Polecenie 3

Dodaj do swojego programu komentarze tak, żeby był zrozumiały dla osoby, która nie potrafi programować.