Klucz odpowiedzi

Etap II

Punktowanie zadań

5 punktów za prawidłową odpowiedź

0 punkty za odpowiedź brak odpowiedzi

0 punktów za błędną odpowiedź

Za każde pytanie można otrzymać 5 punktów. Za poprawnie napisany program można otrzymać 50 punktów (po 5 punktów za każdy test).

Uczniowie klas 4-6 mogli otrzymać maksymalnie 300 punktów, natomiast uczniowie klas 7-8 mieli możliwość zdobyć 400 punktów za wszystkie zadania.


Odpowiedzi na pytania, przykładowy poprawny program oraz wymagane testy dla zadania Handelek

Odpowiedzi na pytania (po 5 punktów)

Przykładowe rozwiązanie (50 punktów)

Testy sprawdzające

  • Pytanie 1.1: 11
  • Pytanie 1.2: 2
  • Pytanie 1.3: 3
  • Pytanie 1.4: 3
  • Pytanie 1.5: 43
  • Pytanie 1.6: 7
  • Pytanie 1.7: 5
  • Pytanie 1.8: 50
  • Pytanie 1.9: 4
  • Pytanie 1.10: 6

Rozwiązanie polegało na dodaniu dwukrotnie ceny pomidorów i trzykrotnie ceny papryki:

Rozwiązanie wzorcowe:

1. Wczytaj do A
2. Wczytaj do B
3. Zwiększ A o A
4. Zwiększ A o B
5. Zwiększ A o B
6. Zwiększ A o B
7. Wypisz pudełko A

Do zliczenia ceny można było również użyć dodatkowego pudełka:

Rozwiązanie wzorcowe:

1. Wczytaj do A
2. Wczytaj do B
3. Ustaw C na 0
4. Zwiększ C o A
5. Zwiększ C o A
6. Zwiększ C o B
7. Zwiększ C o B
8. Zwiększ C o B
9. Wypisz pudełko C
1. ? 2 ? 3 13
2. ? 4 ? 4 20
3. ? 3 ? 5 21
4. ? 0 ? 0 0
5. ? 0 ? 3 9
6. ? 82 ? 11 197
7. ? 1000 ? 1000 5000
8. ? 74 ? 834 2650
9. ? 420 ? 696 2928
10. ? 245 ? 313 1429

Odpowiedzi na pytania, przykładowy poprawny program oraz wymagane testy dla zadania Rowerem czy biegiem?

Odpowiedzi na pytania (po 5 punktów)

Przykładowe rozwiązanie (50 punktów)

Testy sprawdzające

  • Pytanie 1.1: 12
  • Pytanie 1.2: 10
  • Pytanie 1.3: 31
  • Pytanie 1.4: 16
  • Pytanie 1.5: 20
  • Pytanie 1.6: 26
  • Pytanie 1.7: 19
  • Pytanie 1.8: 4
  • Pytanie 1.9: 15
  • Pytanie 1.10: 0

Aby rozwiązać zadanie należało policzyć czas pokonania trasy rowerem oraz biegiem, a następnie na podstawie otrzymanych wyników wypisać mniejszą z otrzymanych liczb:

Rozwiązanie wzorcowe:

1. Wczytaj do A
2. Ustaw B na 10
3. Zwiększ B o A
4. Ustaw C na A
5. Zwiększ C o A
6. Zwiększ C o A
7. Jeżeli C > B skocz do następnej inaczej skocz do 10
8. Wypisz pudełko B
9. Skocz do końca
10. Wypisz pudełko C

Można było również sprawdzić wszystkie trzy przypadki:

Rozwiązanie wzorcowe:

1. Wczytaj do A
2. Zwiększ B o A
3. Zwiększ B o A
4. Zwiększ B o A
5. Zwiększ C o 10
6. Zwiększ C o A
7. Jeżeli C > B skocz do następnej inaczej skocz do 10
8. Wypisz pudełko B
9. Skocz do końca
10. Jeżeli B > C skocz do następnej inaczej skocz do 13
11. Wypisz pudełko C
12. Skocz do końca
13. Jeżeli B = C skocz do następnej inaczej skocz do końca
14. Wypisz pudełko B
15. Skocz do końca

Inne rozwiązanie wymagało wcześniejszego zauważania, że dla trasy dłuższej niż 5 najlepszym sposobem zawsze będzie podróż rowerem:

Rozwiązanie wzorcowe:

1. Wczytaj do A
2. Jeżeli A ≥ 5 skocz do następnej inaczej skocz do 5
3. Zwiększ A o 10
4. Skocz do 8
5. Zwiększ C o A
6. Zwiększ A o A
7. Zwiększ A o C
8. Wypisz pudełko A
1. ? 3 9
2. ? 6 16
3. ? 9 19
4. ? 5 15
5. ? 4 12
6. ? 100 110
7. ? 1000 1010
8. ? 1 3
9. ? 145 155
10. ? 999 1009

Odpowiedzi na pytania, przykładowy poprawny program oraz wymagane testy dla zadania Turbo Skakanie 2000

Odpowiedzi na pytania (po 5 punktów)

Przykładowe rozwiązanie (50 punktów)

Testy sprawdzające

  • Pytanie 1.1: 1-4
  • Pytanie 1.2: 8-7
  • Pytanie 1.3: 7-8
  • Pytanie 1.4: 2-1
  • Pytanie 1.5: 7-1
  • Pytanie 1.6: 8-3
  • Pytanie 1.7: 7-1
  • Pytanie 1.8: 5-10
  • Pytanie 1.9: 10-9
  • Pytanie 1.10: 11-4

Najprostsze rozwiązanie polegało na sprawdzeniu wszystkich możliwych przypadków ruchu i wypisaniu odpowiedniej odpowiedzi dla każdego z nich:

Rozwiązanie wzorcowe:

1. Wczytaj do A
2. Jeżeli A = 0 skocz do następnej inaczej skocz do 4
3. Wypisz napis '1-1'
4. Jeżeli A = 1 skocz do następnej inaczej skocz do 6
5. Wypisz napis '1-2'
6. Jeżeli A = 2 skocz do następnej inaczej skocz do 8
7. Wypisz napis '1-3'
8. Jeżeli A = 3 skocz do następnej inaczej skocz do 10
9. Wypisz napis '1-4'
10. Jeżeli A = 4 skocz do następnej inaczej skocz do 12
11. Wypisz napis '1-5'
12. Jeżeli A = 5 skocz do następnej inaczej skocz do 14
13. Wypisz napis '1-6'
14. Jeżeli A = 6 skocz do następnej inaczej skocz do 16
15. Wypisz napis '1-7'
16. Jeżeli A = 7 skocz do następnej inaczej skocz do 18
17. Wypisz napis '1-8'
18. Jeżeli A = 8 skocz do następnej inaczej skocz do 20
19. Wypisz napis '2-8'
20. Jeżeli A = 9 skocz do następnej inaczej skocz do 22
21. Wypisz napis '3-8'
22. Jeżeli A = 10 skocz do następnej inaczej skocz do 24
23. Wypisz napis '4-8'
24. Jeżeli A = 11 skocz do następnej inaczej skocz do 26
25. Wypisz napis '5-8'
26. Jeżeli A = 12 skocz do następnej inaczej skocz do 28
27. Wypisz napis '6-8'
28. Jeżeli A = 13 skocz do następnej inaczej skocz do 30
29. Wypisz napis '7-8'
30. Jeżeli A = 14 skocz do następnej inaczej skocz do 32
31. Wypisz napis '8-8'
32. Jeżeli A = 15 skocz do następnej inaczej skocz do 34
33. Wypisz napis '8-7'
34. Jeżeli A = 16 skocz do następnej inaczej skocz do 36
35. Wypisz napis '8-6'
36. Jeżeli A = 17 skocz do następnej inaczej skocz do 38
37. Wypisz napis '8-5'
38. Jeżeli A = 18 skocz do następnej inaczej skocz do 40
39. Wypisz napis '8-4'
40. Jeżeli A = 19 skocz do następnej inaczej skocz do 42
41. Wypisz napis '8-3'
42. Jeżeli A = 20 skocz do następnej inaczej skocz do 44
43. Wypisz napis '8-2'
44. Jeżeli A = 21 skocz do następnej inaczej skocz do 46
45. Wypisz napis '8-1'
46. Jeżeli A = 22 skocz do następnej inaczej skocz do 48
47. Wypisz napis '7-1'
48. Jeżeli A = 23 skocz do następnej inaczej skocz do 50
49. Wypisz napis '6-1'
50. Jeżeli A = 24 skocz do następnej inaczej skocz do 52
51. Wypisz napis '5-1'
52. Jeżeli A = 25 skocz do następnej inaczej skocz do 54
53. Wypisz napis '4-1'
54. Jeżeli A = 26 skocz do następnej inaczej skocz do 56
55. Wypisz napis '3-1'
56. Jeżeli A = 27 skocz do następnej inaczej skocz do końca
57. Wypisz napis '2-1'

Inne poprawne rozwiązanie wymagało zauważenia zależności pomiędzy sposobem obliczenia wyniku a tym, na którym z czterech boków planszy zakończymy ruch:

Rozwiązanie wzorcowe:

1. Wczytaj do A
2. Jeżeli A < 8 skocz do następnej inaczej skocz do 7
3. Ustaw B na 1
4. Ustaw C na A
5. Zwiększ C o 1
6. Skocz do 20
7. Jeżeli A < 15 skocz do następnej inaczej skocz do 12
8. Ustaw B na A
9. Zmniejsz B o 6
10. Ustaw C na 8
11. Skocz do 20
12. Jeżeli A < 22 skocz do następnej inaczej skocz do 17
13. Ustaw B na 8
14. Ustaw C na 22
15. Zmniejsz C o A
16. Skocz do 20
17. Ustaw C na 1
18. Ustaw B na 29
19. Zmniejsz B o A
20. Wypisz pudełko B
21. Wypisz napis '-'
22. Wypisz pudełko C
1. ? 17 8-5
2. ? 23 6-1
3. ? 8 2-8
4. ? 27 2-1
5. ? 1 1-2
6. ? 21 8-1
7. ? 7 1-8
8. ? 22 7-1
9. ? 14 8-8
10. ? 13 7-8

Odpowiedzi na pytania, przykładowy poprawny program oraz wymagane testy dla zadania Średnie zadanie (dla klas 7-8)

Odpowiedzi na pytania (po 5 punktów)

Przykładowe rozwiązanie (50 punktów)

Testy sprawdzające

  • Pytanie 1.1: 4
  • Pytanie 1.2: 3
  • Pytanie 1.3: 3
  • Pytanie 1.4: 6
  • Pytanie 1.5: 3
  • Pytanie 1.6: 2
  • Pytanie 1.7: 2
  • Pytanie 1.8: 5
  • Pytanie 1.9: 4
  • Pytanie 1.10: 3

Aby policzyć odpowiedź wystarczyło dodać do siebie pięć wczytanych liczb, a następnie na podstawie ich sumy wypisać odpowiedni wynik:

Rozwiązanie wzorcowe:

1. Wczytaj do A
2. Zwiększ B o A
3. Wczytaj do A
4. Zwiększ B o A
5. Wczytaj do A
6. Zwiększ B o A
7. Wczytaj do A
8. Zwiększ B o A
9. Wczytaj do A
10. Zwiększ B o A
11. Jeżeli B < 10 skocz do następnej inaczej skocz do 14
12. Wypisz napis '1'
13. Skocz do końca
14. Jeżeli B < 15 skocz do następnej inaczej skocz do 17
15. Wypisz napis '2'
16. Skocz do końca
17. Jeżeli B < 20 skocz do następnej inaczej skocz do 20
18. Wypisz napis '3'
19. Skocz do końca
20. Jeżeli B < 25 skocz do następnej inaczej skocz do 23
21. Wypisz napis '4'
22. Skocz do końca
23. Jeżeli B < 30 skocz do następnej inaczej skocz do 26
24. Wypisz napis '5'
25. Skocz do końca
26. Wypisz napis '6'

Poszczególne części programu można było również bardziej rozdzielić:

Rozwiązanie wzorcowe:

1. Wczytaj do A
2. Wczytaj do B
3. Zwiększ A o B
4. Wczytaj do C
5. Zwiększ A o C
6. Wczytaj do D
7. Zwiększ D o A
8. Wczytaj do A
9. Zwiększ A o D
10. Jeżeli A = 30 skocz do 16 inaczej skocz do następnej
11. Jeżeli A ≥ 25 skocz do 18 inaczej skocz do następnej
12. Jeżeli A ≥ 20 skocz do 20 inaczej skocz do następnej
13. Jeżeli A ≥ 15 skocz do 22 inaczej skocz do następnej
14. Jeżeli A ≥ 10 skocz do 24 inaczej skocz do następnej
15. Jeżeli A ≥ 5 skocz do 26 inaczej skocz do końca
16. Wypisz napis '6'
17. Skocz do końca
18. Wypisz napis '5'
19. Skocz do końca
20. Wypisz napis '4'
21. Skocz do końca
22. Wypisz napis '3'
23. Skocz do końca
24. Wypisz napis '2'
25. Skocz do końca
26. Wypisz napis '1'
27. Skocz do końca

Rozwijając powyższy przykład, można było zauważyć sposób na skrócenie programu poprzez warunkowe zwiększanie wyniku:

Rozwiązanie wzorcowe:

1. Wczytaj do A
2. Wczytaj do B
3. Zwiększ A o B
4. Wczytaj do B
5. Zwiększ A o B
6. Wczytaj do B
7. Zwiększ A o B
8. Wczytaj do B
9. Zwiększ A o B
10. Ustaw C na 1
11. Jeżeli A ≤ 9 skocz do 21 inaczej skocz do następnej
12. Jeżeli A ≤ 14 skocz do 20 inaczej skocz do następnej
13. Jeżeli A ≤ 19 skocz do 19 inaczej skocz do następnej
14. Jeżeli A ≤ 24 skocz do 18 inaczej skocz do następnej
15. Jeżeli A ≤ 29 skocz do 17 inaczej skocz do następnej
16. Zwiększ C o 1
17. Zwiększ C o 1
18. Zwiększ C o 1
19. Zwiększ C o 1
20. Zwiększ C o 1
21. Wypisz pudełko C

Bardziej zaawansowane rozwiązanie pozwalało na obliczenie wyniku za pomocą odejmowania liczby w pętli. Jednak w etapie II nie zakładaliśmy konieczności wykorzystania takiej konstrukcji. Jej użycie będzie jedną z umiejętności przydatnych w III etapie.

Rozwiązanie wzorcowe:

1. Ustaw A na 0
2. Wczytaj do B
3. Zwiększ A o B
4. Wczytaj do B
5. Zwiększ A o B
6. Wczytaj do B
7. Zwiększ A o B
8. Wczytaj do B
9. Zwiększ A o B
10. Wczytaj do B
11. Zwiększ A o B
12. Ustaw C na 0
13. Ustaw D na 0
14. Zwiększ C o 5
15. Zwiększ D o 1
16. Jeżeli C ≤ A skocz do 14 inaczej skocz do następnej
17. Zmniejsz D o 1
18. Wypisz pudełko D
1. ? 3 ? 3 ? 3 ? 3 ? 3 3
2. ? 5 ? 5 ? 5 ? 5 ? 4 4
3. ? 1 ? 2 ? 3 ? 4 ? 5 3
4. ? 1 ? 1 ? 1 ? 1 ? 5 1
5. ? 6 ? 6 ? 6 ? 6 ? 6 6
6. ? 6 ? 6 ? 6 ? 6 ? 5 5
7. ? 1 ? 6 ? 5 ? 1 ? 2 3
8. ? 4 ? 4 ? 2 ? 2 ? 5 3
9. ? 2 ? 2 ? 2 ? 5 ? 1 2
10. ? 6 ? 5 ? 4 ? 3 ? 1 3
Powrót