W dokumencie tym wymieniono cele kształcenia z przedmiotu Programowanie strukturalne i obiektowe, treści kształcenia oraz zadania do samodzielnego wykonania sprawdzające stopień opanowania treści kształcenia.
Egzamin poprawkowy składa się z jednej części i jest to egzamin praktyczny trwający 90min. Uczeń losuje zestaw składający się 3 pytań teoretycznych z zakresu treści kształcenia i 2 zadań do wykonania na komputerze. Ostateczna ocena ustalana jest jako suma uzyskanych punktów wg obowiązujących w PSO wymagań edukacyjnych.
Cele kształcenia
Uczeń w wyniku kształcenia w roku szkolnym 2007/2008 powinien umieć:
1) stosować zasady programowania strukturalnego,
2) wykorzystywać środowisko programowe języka, w szczególności edytor, kompilator i debbuger,
3) wykorzystywać wbudowane typy danych oraz konstruować własne struktury danych,
4) stosować instrukcje, funkcje i procedury danego języka,
5) tworzyć własne funkcje, procedury i moduły,
6) stosować metodologię programowania w danym języku,
7) odczytywać i opisywać działanie programów napisanych w danym języku programowania,
8) projektować programy (strukturę danych i algorytmy przetwarzania) prostych systemów informatycznych z uwzględnieniem specyfiki języka programowania przyjętego dla oprogramowania danego systemu informatycznego,
9) stosować odpowiednie struktury danych i algorytmy rozwiązujące zadania przetwarzania informacji, sformułowane przez projektanta systemu informatycznego,
10) pisać kody źródłowe realizujące zadania przetwarzania informacji w danym języku programowania i zadanym środowisku, w szczególności WINDOWS, UNIX,
11) kompilować i uruchamiać kody źródłowe,
12) testować i modyfikować działający program,
13) optymalizować działanie stworzonego programu,
14) korzystać z podręczników i dokumentacji języków programowania,
Treści kształcenia (działy programowe)
z programowania strukturalnego i obiektowego
w I semestrze roku szkolnego 2008/2009 w klasie III TI
Uczeń:
1) wyjaśnia podstawowe pojęcia (algorytm, program komputerowy, język programowania, kompilator, interpretator, konsolidator)
2) omawia rodzaje algorytmów i sposoby ich zapisu
3) wyjaśnia na czym polega programowanie strukturalne
z zakresu języka Turbo Pascal:
1) korzysta z funkcji edytora środowiska programistycznego Free Pascal
2) omawia podstawową strukturę programu (z jakich bloków składa się program w Pascalu
i co zawierają)
3) wymienia podstawowe typy danych i podaje ich zakresy (Byte, Integer, Word, LongInt, Boolean, Char, Real, tablicowy, rekordowy, łańcuchowy)
4) wymienia typy zmiennych (np. zmienna typu całkowitego, rzeczywistego, logicznego, tablicowego, rekordowego, łańcuchowego, itp.); deklaruje zmienne odpowiednich typów, wyświetla wartości zmiennych na ekranie (określa ilość miejsc po przecinku wyświetlanych w przypadku liczb rzeczywistych).
5) wymienia podstawowe operatory i wyrażenia [arytmetyczne (wraz z div i mod), logiczne (and, or, not), relacyjne(<, >, =, itd.)]
6) wyjaśnia pojęcie instrukcji prostej i złożonej
7) wymienia rodzaje instrukcji (wejścia, wyjścia, przypisania, porównania, warunkowa(2), skoku, złożona, iteracyjne(3));
8) odczytuje z kodu programu ile razy dana instrukcja się wykona oraz określa wynik jej działania
9) wymienia instrukcje wyboru i wskazuje na różnicę pomiędzy nimi
10) wymienia instrukcje iteracyjne i wskazuje na różnicę pomiędzy nim
11) tworzy i odczytuje schematy blokowe instrukcji wyboru oraz iteracyjnych
12) stosuje w programach instrukcje proste i strukturalne (złożone)
13) wyjaśnia pojęcia: funkcja, procedura i wskazuje różnicę pomiędzy nimi
14) tworzy i wykorzystuje funkcje i procedury w swoich programach
15) wyjaśnia pojęcia: zmienna lokalna i globalna
16) wskazuje w programach zastosowanie zmiennych lokalnych i globalnych
17) wyjaśnia pojęcia: parametr formalny i parametr aktualny
18) wskazuje w programach zastosowanie parametrów aktualnych i formalnych
19) definiuje typ tablicowy o elementach określonego typu, deklaruje zmienną tego typu, wypełnia tablicę i wypisuje jej zawartość na ekran; odnosi się do danego elementu tablicy, porównuje elementy tablicy
20) definiuje typ rekordowy, deklaruje zmienną tego typu; posługuje się zmienną typu rekordowego, wczytuje odpowiednie dane do pól rekordu, odnosi się do pól rekordu, porównuje wartości poszczególnych pól dla różnych rekordów; wypisuje zawartość rekordów na ekran
21) wyjaśnia pojęcie łańcucha i podaje jaką może mieć max długość; deklaruje zmienne typu łańcuchowego o określonej długości, posługuje się zmiennymi typu String: określa długość łańcucha, odwołuje się do poszczególnych elementów łańcucha, stosuje funkcje Length, Upcase oraz Copy.
3. Zadania do rozwiązania
W nawiasach podano pętle, instrukcje i operatory, które należy wykorzystać w programie.
1. Napisz procedurę sumującą kolejne podawane przez użytkownika liczby rzeczywiste dopóki użytkownik nie poda liczby 0. Problem zadania rozwiąż na 2 sposoby: Pierwsza procedura
z wykorzystaniem petli repeat..until.., druga - z wykorzystaniem pętli while...do... Sumę liczb wyświetl na ekranie.
2. Napisz program realizujący:
- znajdowanie wszystkich podzielników podanej przez użytkownika liczby a (wsk. pętla for...to..., instrukcja if ..then); wypisz na ekran liczbę i jej podzielniki;
- sprawdzanie czy podana liczba a jest parzysta (if... then); jeżeli nie, to wyświetlana jest reszta z dzielenia przez 2
- znajdowanie kolejnej liczby >a, podzielnej przez 5 (wsk. pętla repeat...until, mod, zwiększanie wartości a o 1 w każdym kroku)
3. Napisać procedurę, która dla pobranej krawędzi sześcianu oblicza sumę długości krawędzi, pole powierzchni bocznej, pole powierzchni całkowitej i objętość sześcianu oraz wyprowadza wyniki.
4. Napisz program zamieniający liczbę dziesiętną na binarną.
5. Napisać program, który pobiera od użytkownika trzy liczby rzeczywiste a, b, c oraz porządkuje je rosnąco i wyświetla na ekranie.
6. Napisz program, który dla wprowadzonego przez użytkownika n-elementowego ciągu liczb rzeczywistych, oblicza średnią arytmetyczną a) wszystkich liczb, b) liczb dodatnich. (wsk. Wykorzystaj tablicę)
7. Zbadaj czy z docinków a, b, c można zbudować trójkąt i określ typ tego trójkąta.
8. Napisz program zamieniający miejscami wartości dwóch zmiennych typu Byte i wyświetlający wynik zamiany.
9. Obliczanie NWD dwóch liczb - algorytmy Euklidesa i obliczanie NWW dwóch liczb
10. Napisz program, w którym użytkownik podaje numer miesiąca, w którym się urodził. Wyświetl na ekranie tekst: `Urodziłeś się w ............', gdzie miesiąc jest wyświetlany słownie (wykorzystać instrukcję case)
15. Napisz program sumujący wszystkie liczby całkowite od 1..n, gdzie n jest liczbą podaną przez użytkownika (zrobić na 2 sposoby: z pętlą while..do.. i repeat ... until)
16. Napisz program, w którym zdefiniujesz funkcję obliczającą wartość wyrażenia:
gdzie n jest liczbą podaną przez użytkownika (wsk. Sprawdź warunek dzielenia przez 0 !)
Przetestuj funkcję w programie.
17. Napisz procedurę obliczającą pierwiastki równania kwadratowego i sprawdź jej działanie
w programie.
18. Napisz program, w którym użytkownik podaje dowolny łańcuch o długości nie większej niż 50 znaków. Powtarzaj wczytywanie dopóki łańcuch nie będzie miał odpowiedniej długości.(wsk. pętla repeat ...until; w przypadku gdy łańcuch ma dł>50 znaków wyświetl komunikat i z powrotem informację `Podaj dowolny łańcuch o długości nie większej niż 50 znaków'). Następnie wyświetl na ekranie: długość podanego łańcucha, ilość wyrazów w tym łańcuchu (wsk. policz spacje) oraz wyświetl łańcuch tak, aby wszystkie litery a były wyświetlane A. W ostatnim kroku wyświetl pierwszy wyraz tego łańcucha (wsk. skorzystaj z f-cji Copy)
3