Algorytmika nie tylko na maturze z informatyki

Download Report

Transcript Algorytmika nie tylko na maturze z informatyki

Algorytmika (nie tylko)
na maturze z informatyki
Prezentuje :
Dorota Roman-Jurdzińska
Opis egzaminu z informatyki
• Dwa poziomy: podstawowy i rozszerzony.
• Każdy poziom składa się z dwóch części:
– część pierwsza: rozwiązywanie zadań bez
korzystania z komputera;
– część druga: rozwiązywanie zadań przy użyciu
komputera.
Arkusz I – na kartce:
Arkusz I
bez
komputera
• analiza algorytmów,
• konstruowanie algorytmów i
dobór struktur danych,
• znajomość pojęć i metod
związanych z algorytmiką.
Ponadto w każdym arkuszu występują zadania
zamknięte lub krótkiej odpowiedzi sprawdzające pierwszy standard wymagań
egzaminacyjnych.
Za pierwszy arkusz można uzyskać maksymalnie 20 punktów.
Arkusz II – przy komputerze:
Arkusz II
z
komputerem
• sprawdzanie w praktyce
umiejętności programowania,
• rozwiązywanie problemów „z
życia codziennego”,
• przetwarzanie danych
(sortowanie, filtrowanie,
łączenie, wyszukiwanie) w
postaci kilku tabel.
Za drugi arkusz można uzyskać maksymalnie 30 punktów.
Zasady oceniania arkuszy
egzaminacyjnych
• Rozwiązania poszczególnych zadań oceniane są na podstawie szczegółowych
kryteriów oceniania, jednolitych w całym kraju.
• Egzaminatorzy, w szczególności, zwracają uwagę na:
 poprawność merytoryczną rozwiązań,
 kompletność i dokładność prezentacji rozwiązań zadań, np. wygląd,
czytelność i przejrzystość tworzonych dokumentów, zachowanie
odpowiednich zasad w zapisie programów i algorytmów.
• Ocenianiu podlegają tylko te fragmenty pracy zdającego, które dotyczą
polecenia. Komentarze, nawet poprawne, nie mające związku z poleceniem nie
podlegają ocenianiu.
• Gdy do jednego polecenia zdający podaje kilka rozwiązań (jedno prawidłowe,
inne błędne), to egzaminator nie przyznaje punktów.
• Całkowicie poprawne rozwiązania zadań, uwzględniające inny tok
rozumowania niż podany w schemacie punktowania, są oceniane pełną
liczbą punktów.
Arkusz I
Algorytmy:
Analiza działania
Konstruowanie
Weryfikacja poprawności
Ocena efektywności (czas, pamięć)
Wiedza z zakresu informatyki i technologii informacyjnej:
Budowa komputera, organizacja danych
Sieci komputerowe
Bezpieczeństwo, zagadnienia etyczne
Cyfrowy zapis danych
Arkusz I: algorytmika
Zadanie 1 (poziom podstawowy)
Na jednej z uczelni informatycznych nad wejściem do auli umieszczony został elektroniczny
zegar odliczający sekundy od rozpoczęcia wykładu do jego zakończenia. Zegar jest nietypowy,
ponieważ liczba sekund, która upływa od rozpoczęcia wykładu wyświetlana jest w systemie o
podstawie 2.
Przed rozpoczęciem odliczania zegar jest wyzerowany, tzn. na pierwszym polu od prawej
strony jest wyświetlane zero i pozostałe pola są wygaszone.
Przykład:
Po upływie 10 sekund na zegarze wyświetlone są 4 pola z napisem: 1010.
Po upływie 25 sekund – 5 pól z napisem: 11001.
a) Oblicz, na ilu polach tego zegara będzie wyświetlony czas najdłuższego wykładu, który może
trwać 240 minut, czyli 14400 sekund.
……………..
Odp.: Czas najdłuższego wykładu będzie wyświetlony na ………………. polach
Łatwość: 0,72
Typowe błędy:
•
•
•
przeliczanie minut zamiast sekund,
podawanie przeliczonej wartości zamiast liczby pól,
BRAK UMIEJĘTNOŚCI KONWERSJI POMIĘDZY SYSTEMAMI POZYCYJNYMI.
b) Oblicz, ile minut trwał ostatni wykład, jeżeli na zegarze, na koniec wykładu, wyświetlony został
następujący napis: 1111110100100. Odpowiedź zapisz w układzie dziesiętnym. Pamiętaj o
zamianie sekund na minuty.
……………………………
Odp.: Ostatni wykład trwał ………………. minut.
Łatwość: 0,59
Typowe błędy:
•
•
•
brak przeliczanie sekund na minuty, błędne przeliczanie,
konwersja „od prawej do lewej” (najmniej znaczące bity tratkowane jako najbardziej znaczące),
BRAK UMIEJĘTNOŚCI KONWERSJI POMIĘDZY SYSTEMAMI POZYCYJNYMI..
c) Dla podanej poniżej specyfikacji zapisz algorytm (w postaci listy kroków, schematu blokowego
lub w wybranym języku programowania, który wybrałeś/aś na egzamin), który dla czasu
wykładu podanego w sekundach obliczy, ile jedynek zostanie wyświetlonych na zegarze w
momencie zakończenia wykładu.
Specyfikacja:
Dane: s – liczba całkowita dodatnia określająca czas trwania wykładu w sekundach
Wynik: l – liczba wyświetlonych jedynek
Przykłady:
s – czas wykładu
napis na zegarze
l – liczba wyświetlonych jedynek
3600
111000010000
4
5400
1010100011000
5
Łatwość: 0,22
?
?
?
!
O rozwiązaniu:
 Algorytm i stosowane w nim metody:
 z lekcji matematyki (zamiana systemów pozycyjnych)
 z lekcji informatyki (licznik, pętla).
 Wyzwania:
 Zapisz algorytm w postaci listy kroków
 Uwzględnij sytuacje brzegowe
 Użyj formalnych konstrukcji programistycznych
 Sprawdź/popraw swoje rozwiązanie
Problemy i ich przyczyny:
 Zliczanie zer a nie jedynek (sprawdź rozwiązanie na
przykładowych danych)
 Niepoprawne użycie licznika (sprawdź na przykładach; trenuj
podstawowe konstrukcje, z nich zbudujesz każdy algorytm)
 Jaki warunek zakończenia pętli? (klucz do poprawnych
algorytmów)
Arkusz I: algorytmika
Od algorytmu na lekcji matematyki do algorytmu na lekcji informatyki:
Matematyka
Dopóki liczba większa od zera, dziel ją przez dwa, podaj ilokrotnie reszta
wynosiła jeden.
Informatyka
Specyfikacja
Dane: n – liczba naturalna
Wynik: liczba jedynek w binarnej reprezentacji n
Algorytm
1. licznik  0
2. Dopóki ( n > 0 )
 Jeśli (n mod 2 = 1): licznik  licznik + 1
 nn/2
3. Zwróć licznik jako wynik
Arkusz I: algorytmika
Problemy ze zliczaniem jedynek raz jeszcze:
 działanie licznika:
 Warunek zakończenia pętli
 Warunek zliczania
Algorytm
1. licznik  0
2. Dopóki ( n > 0 )
 Jeśli (n mod 2 = 1): licznik  licznik + 1
 nn/2
3. Zwróć licznik jako wynik
Arkusz I: algorytmika
Zadanie (poziom rozszerzony)
Ustal liczbę mnożeń wykonywaną przez podany algorytm jako funkcję
argumentu n:
Algorytm (szybkie potęgowanie):
 p  1; b  a

Dopóki ( n > 0 ) wykonuj:

Jeśli (n mod 2 ≠ 0): p  p  b

b  b  b; n  n div 2
Problemy:
 stosowanie pojęcia funkcji
 funkcja logarytmiczna
Arkusz I – typowe problemy
 Zapis algorytmu w postaci listy kroków
 Koszt czasowy jako funkcja!
 Przypadki brzegowe w algorytmach
 Zgodność rozwiązań z poleceniem!
 Zrozumienie i formalny zapis pojęć i metod
(algorytmów) z zakresu matematyki
Arkusz II
Typowe zadanie:
 Dane – w plikach tekstowych.
 Rozwiązanie:
 Import danych do aplikacji;
 Obliczenia, grupowanie, sortowanie, filtrowanie;
 Łączenie danych rozproszonych w różnych plikach.
Metody rozwiązywania zadań:
 programowanie;
 arkusz kalkulacyjny;
 baza danych.
Arkusz II: algorytmika (również) bez
programowania
Zadanie (poziom rozszerzony)
Wyznacz najdłuższy podciąg rosnący w ciągu liczb zapisanych w pliku.
Rozwiązania
1. Program komputerowy:
 zaleta: naturalne i proste rozwiązanie
 problem: powyżej część większego zadania, którego pozostałe elementy
najłatwiej rozwiązać w arkuszu kalkulacyjnym
2. Arkusz kalkulacyjny
 problem: jak rozwiązać?
Arkusz II: algorytmika (również) bez
programowania
Zadanie (poziom rozszerzony)
Wyznacz najdłuższy podciąg rosnący w ciągu liczb zapisanych w pliku.
Arkusz kalkulacyjny – podział na podproblemy:
Dane: komórki A[1], A[2], A[3], …
Krok 1: B[i] = 1 gdy A[i] może kontynuować ciąg
rosnący
=JEŻELI(A7>A6;1;0)
Krok 2: C[i] to długość ciągu rosnącego kończącego
się na A[i]
=JEŻELI(B7=1;C6+1;1)
Krok 3: rozwiązaniem maksimum z kolumny C
Algorytmika: rady dla ucznia i
nauczyciela
 Ćwicz stosowanie konstrukcji algorytmicznych (instrukcja
warunkowa, pętla, podstawienie, zmienna, rekurencja…).
 Zapisuj znane algorytmy (z lekcji matematyki bądź z życia
codziennego).
 Symuluj działania algorytmu „na papierze”.
 Stosuj systematyczne podejście do problemu: specyfikacja,
rozwiązanie, weryfikacja poprawności, ocena efektywności
 Stosuj zstępującą metodę rozwiązywania problemów
Wniosek: algorytmika w kanonie
ścisłego wykształcenia
 Systematyzacja wiedzy, język opisu metod rozwiązywania
problemów/zadań
 Zstępująca metoda rozwiązywania problemów
 Konieczność (i możliwość) weryfikacji projektowanych
rozwiązań
 Matematyczne kryteria jakości rozwiązań (czas, pamięć jako
funkcja)
Średni wynik procentowy egzaminu
maturalnego z informatyki
Poziom
podstawowy
Poziom
rozszerzony
Arkusz I
54 %
70 %
Arkusz II
30 %
47 %
RAZEM
40 %
56 %
Trudność arkuszy
80%
70%
60%
50%
Arkusz I
40%
Arkusz II
30%
20%
10%
0%
Poziom podstawowy
Poziom rozszerzony
Po co matura z informatyki?
 Punkty rekrutacyjne na studia wyższe.
 Programowanie– obowiązkowe zajęcia na studiach
ścisłych i technicznych.
 Algorytmy – algorytmizacja nauk przyrodniczych
(genetyka, funkcjonowanie układów biologicznych).
 Analiza danych pomiarowych, eksperymentalnych –
kierunki ścisłe, techniczne, przyrodnicze, ekonomiczne.
 Wiedza z zakresu funkcjonowania sieci komputerowych,
składowania danych, funkcjonowania systemu
komputerowego.
 Bazy danych (zapytania, tworzenie baz, zestawień) – życie
codzienne.
Dziękuję