INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

Podobne dokumenty
INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Projektowanie rozwiązania prostych problemów w języku C++ obliczanie pola trójkąta

SCENARIUSZ LEKCJI. Miejsca zerowe funkcji kwadratowej i ich graficzna prezentacja

Laboratorium 1 - Programowanie proceduralne i obiektowe

Zapisywanie algorytmów w języku programowania

Programowanie obiektowe

Programowanie i techniki algorytmiczne

SCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera

INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

SCENARIUSZ LEKCJI: TEMAT LEKCJI: Postać kanoniczna funkcji kwadratowej. Interpretacja danych w arkuszu kalkulacyjnym

SCENARIUSZ LEKCJI. Autorzy scenariusza: Krzysztof Sauter (informatyka), Marzena Wierzchowska (matematyka)

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

SCENARIUSZ TEMATYCZNY. Prawa Keplera (fizyka, informatyka poziom rozszerzony)

Algorytmika i programowanie usystematyzowanie wiadomości

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Programowanie proceduralne w języku C++ Podstawy

SCENARIUSZ LEKCJI Przesuwanie paraboli - wykorzystanie arkusza kalkulacyjnego na lekcjach matematyki

Funkcje i instrukcje języka JavaScript

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

1. Zarządzanie informacją w programie Access

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Konspekt do lekcji informatyki dla klasy II gimnazjum. TEMAT(1): Baza danych w programie Microsoft Access.

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. Scenariusz lekcji. 2.1 Wiadomości: 2.

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

SCENARIUSZ LEKCJI. TEMAT LEKCJI: O czym mówią współczynniki funkcji liniowej? - wykorzystanie arkusza kalkulacyjnego na lekcjach matematyki

Temat 5. Programowanie w języku Logo

SCENARIUSZ LEKCJI. Czas realizacji. Podstawa programowa

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Scenariusz lekcji. rozpoznać prawidłową deklarację tablicy; podać odwołanie do określonego elementu tablicy.

Sposoby przedstawiania algorytmów

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Scenariusz lekcji. scharakteryzować budowę procedury w języku Logo; rozróżnić etapy tworzenia i wykonania procedury;

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

5.4. Tworzymy formularze

Programowanie obiektowe

Do czego służą klasy?

SCENARIUSZ LEKCJI. Tajemniczy ciąg Fibonacciego sztuka przygotowania dobrej prezentacji

Programowanie obiektowe

Wymagania edukacyjne na ocenę z informatyki klasa 3

Informatyka I : Tworzenie projektu

Wymagania edukacyjne na ocenę z informatyki KLASA III

Podstawy Programowania Obiektowego

SCENARIUSZ LEKCJI. Opracowywanie wielostronicowego dokumentu o rozbudowanej strukturze, stosowanie stylów i szablonów, tworzenie spisu treści.

Scenariusz lekcji. podać przykłady zalet użycia takiej instrukcji; opisać algorytm obliczania średniej n liczb;

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Programowanie obiektowe

Temat: Programujemy historyjki w języku Scratch tworzymy program i powtarzamy polecenia.

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Budowa atomu. Układ okresowy pierwiastków chemicznych. Promieniotwórczość naturalna i promieniotwórczość sztuczna

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Część I. Uwaga: Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania. Zadanie 1.1. (0 3)

Autorski program nauczania

1 TEMAT LEKCJI 2 CELE LEKCJI 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE 5 UWARUNKOWANIA TECHNICZNE. Scenariusz lekcji. 2.1 Wiadomości. 2.

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

INFORMATYKA POZIOM ROZSZERZONY

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

PRZEWODNIK PO PRZEDMIOCIE

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Programowanie w środowisku Baltie

EGZAMIN MATURALNY W ROKU SZKOLNYM 2014/2015

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Języki i metody programowania Java Lab2 podejście obiektowe

SCENARIUSZ LEKCJI. Autorzy scenariusza: Krzysztof Sauter (informatyka), Marzena Wierzchowska (matematyka)

PRZEWODNIK PO PRZEDMIOCIE

EGZAMIN MATURALNY W ROKU SZKOLNYM 2014/2015

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI 2 CELE LEKCJI. 2.1 Wiadomości. 2.2 Umiejętności 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE

- 1 - Liczba godzin. Nr lekcji. Nr punktu w podręczniku. Zagadnienia do realizacji według podstawy programowej (treści nauczania)

Programowanie II. Lista 3. Modyfikatory dostępu plik TKLientBanku.h

APL_03_scenariusz_lekcji. Rodzaje kontrolek i ich obsługa w programach. Informatyka. Jadwiga Jezierska. Osiedle Stawki 39/27

i działanie urządzeń związanych równieŝ budowę i funkcje urządzeń

Programowanie obiektowe

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

SCENARIUSZ LEKCJI. Temat może zostać zrealizowany jako wprowadzający do zagadnień opracowywania i prezentowania informacji.

Temat 1. Więcej o opracowywaniu tekstu

Technologie i usługi internetowe cz. 2

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Podstawy algorytmiki i programowania - wykład 4 C-struktury

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

SCENARIUSZ LEKCJI. Jedno z doświadczeń obowiązkowych ujętych w podstawie programowej fizyki - Badanie ruchu prostoliniowego jednostajnie zmiennego.

Instrukcja laboratoryjna cz.3

Aplikacje w środowisku VBA. Visual Basic for Aplications

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA.

INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

Utworzenie pliku. Dowiesz się:

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Programowanie obiektowe

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

CEL zapoznanie z programem do tworzenia rysunków i ukazanie możliwości Edytora obrazów do sporządzania rysunków i ikon.

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 1 Wprowadzenie do narzędzia CASE. Materiały dla nauczyciela

ZAŁOŻENIA OGÓLNE. Cele konkursu

Programowanie obiektowe

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Transkrypt:

INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH Informatyka poziom rozszerzony Strukturalnie czy obiektowo czyli droga do sukcesu Andrzej Ptasznik Człowiek - najlepsza inwestycja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Tytuł: Strukturalnie czy obiektowo czyli droga do sukcesu Autor: Andrzej Ptasznik Redaktor merytoryczny: prof. dr hab. Maciej M. Sysło Materiał dydaktyczny opracowany w ramach projektu edukacyjnego Informatyka mój sposób na poznanie i opisanie świata. Program nauczania informatyki z elementami przedmiotów matematyczno-przyrodniczych www.info-plus.wwsi.edu.pl infoplus@wwsi.edu.pl Wydawca: Warszawska Wyższa Szkoła Informatyki ul. Lewartowskiego 17, 00-169 Warszawa www.wwsi.edu.pl rektorat@wwsi.edu.pl Projekt graficzny: Marzena Kamasa Warszawa 2013 Copyright Warszawska Wyższa Szkoła Informatyki 2013 Publikacja nie jest przeznaczona do sprzedaży Człowiek - najlepsza inwestycja 2 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

SCENARIUSZ TEMATYCZNY Strukturalnie czy obiektowo czyli droga do sukcesu INFORMATYKA POZIOM ROZSZERZONY OPRACOWANY W RAMACH PROJEKTU: INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA. PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH Streszczenie Programowanie obiektowe to nie tylko znajomość składni języka programowania - przede wszystkim to sposób myślenia o rozwiązywanym problemie. W ramach planowanych lekcji omówiony i zrealizowany zostanie przykładowy program, który dobrze wyjaśnia i pozwala zrozumieć jedną z podstawowych cech programowania obiektowego hermetyzację. Na rysunku 1 pokazano fragment programu, w języku C++, w którym zaznaczono jego podział na kilka części. 3

#include <iostream> #include <conio.h> using namespace std; Deklaracja bibliotek struct Osoba{ string Nazwisko; string Imie; int RokUrodzenia; }; int ile=0; Osoba Lista[20]; Deklaracja struktur danych i zmiennych int PokazMenu() { return 0;} void PokazListe() { } Deklaracja funkcji void DodajOsobe() {} int main() { int wybor=pokazmenu(); while (wybor!=3) { switch (wybor) { case 1: DodajOsobe(); break; case 2: PokazListe(); break; } wybor=pokazmenu(); } return 0; } Program Rysunek 1. Fragment programu. W pokazanym na rysunku 1 przykładzie, struktury danych i funkcje są deklarowane oddzielnie bez jawnego powiązania z sobą, co jest uważane za jedną z głównych wad programowania strukturalnego. Program główny opisuje szczegółowo wszystkie ścieżki logiczne jego działania. W programowaniu obiektowym podstawową strukturą jest klasa, w której zawarte są struktury danych oraz funkcje, które z tych danych korzystają. Na podstawie definicji klasy w programie obiektowym tworzymy obiekty, które do realizacji przewidzianych zadań posiadają własne zasoby danych. Jest to przedstawiona w skrócie idea hermetyzacji, która jest podstawową cechą programowania obiektowego. Realizowany w ramach scenariusza przykład dobrze pokazuje istotę hermetyzacji i powinien ułatwić zrozumienie obiektowego podejścia do opisywania zadanych problemów. W ramach kolejnych lekcji scenariusza będziemy pisać program, w którym na ekranie będzie poruszała się dowolna liczba kolorowych kuleczek, przemieszczających się w różnych kierunkach i z różnymi prędkościami. Piłeczki będą odbijały się od krawędzi okna, w którym będą się poruszały, oraz będą odbijały się wzajemnie od siebie. Na bazie wykonanego wspólnie z uczniami programu, należy im zaproponować jego modyfikacje. 4

Na rysunku 2 pokazano przykładową definicję klasy. class Kulka: Panel { int dx; int dy; Timer silnik; Pola klasy public Kulka() {} Metoda konstruktora } Lec() {} Metoda klasy Rysunek 2. Deklaracja klasy. W ramach lekcji pierwszej należy omówić i wyjaśnić pojęcie klasy i obiektu, metody konstruktora, zdefiniować przykładową klasę i napisać program, który będzie tworzył obiekty zadeklarowanej klasy. Czas realizacji 2 x 45 minut Tematy lekcji 1 Klasa to podstawa 2 Symulacja ruchu, czyli szaleństwo na ekranie 5

LEKCJA NR 1 TEMAT: Klasa to podstawa Streszczenie Podstawowym zadaniem realizowanym w ramach lekcji jest zdefiniowanie klasy o nazwie Kulka, która wykorzystana będzie do symulacji chaotycznego ruchu kulek w zamkniętym obszarze. Kulki powinny odbijać się od krawędzi obszaru oraz odbijać się od innych kulek (symulacja zderzenia). Zadanie realizujemy w następujących krokach: 1. Uruchomienie środowiska Visual Studio i wybór odpowiedniego wzorca projektu. Na rysunku 2 pokazano wybór odpowiedniego wzorca, po uruchomieniu programu Visual Studio 2012. Rysunek 2. Wybór Windows Forms Application w środowisku Visual Studio 2012. Wybieramy język programowania C#, który jest obiektowym językiem programowania opracowanym przez firmę Microsoft oraz wzorzec Windows Forms Application. Po uruchomieniu opcji wskazanej na rysunku 2 zostanie wyświetlony podstawowy widok projektu (rysunek 3). Podstawowy widok projektu zawiera formularz, który po uruchomieniu programu będzie jego oknem, w którym prezentowane będzie działanie. Widoczne jest także okno o nazwie Solution Explorer, w którym jest dostęp do wszystkich elementów składowych projektu oraz okno Properties, które zapewnia dostęp do właściwości i metod wybranego obiektu. Po uruchomieniu, w oknie Properties widoczne są właściwości i metody formularza. Rysunek 3. Widok okien projektu. Możemy teraz przystąpić do definiowania klasy Kulka. 6

2. Otworzenie pliku i zdefiniowanie klasy o nazwie Kulka. W kolejnym kroku wybieramy menu Project i wybieramy opcję Add Class, jak pokazano na rysunku 4. Rysunek 4. Wybór zadania Add Class. Po wyborze opcji otrzymujemy okno, w którym będziemy mogli definiować klasę Kulka. Na rysunku 5 pokazano kod deklaracji klasy Kulka. W klasie zdefiniowano cztery pola oraz dwie metody. Deklaracja przestrzeni nazw Właściwości klasy Konstruktor Metoda klasy Rysunek 5. Deklaracja klasy Kulka. Pola dx i dy przechowują wartości wektora przesunięcia kulki i będą wykorzystywane przy implementacji metody Lec, która będzie opisywała ruch kulki na ekranie. Pole Silnik klasy Timer będzie wykorzystane do 7

symulacji ruchu, a pole los klasy Random będzie umożliwiało generowanie wartości losowej. Metoda Kulka, której nazwa jest taka sama jak nazwa klasy, to konstruktor, czyli metoda odpowiedzialna za tworzenie obiektu danej klasy. W dalszych krokach, w konstruktorze ustalony zostaje kolor tworzonego obiektu jako losowa kombinacja trzech składowych RGB. Kolejnymi elementami, których wartość ustalamy w konstruktorze to wektor przesunięcia dx i dy oraz rozmiar kulki reprezentowany przez właściwości Width i Height. Na rysunku 6 pokazano kod klasy Kulka z gotowym kodem konstruktora. Rysunek 6. Deklaracja klasy Kulka z kodem konstruktora. Przedstawiona na rysunku 6 deklaracja klasy Kulka nie jest pełnym rozwiązaniem zadania, ponieważ nie zaimplementowaliśmy metody Lec, która będzie realizowała symulację ruchu kulki i odbicia od ścian okna oraz od innych kulek. Na rysunku 7 pokazano interpretację właściwości Top, Left, Height i Width, które określają rozmiar kulki i jej położenie względem okna, w którym będą wyświetlane. Top Left Height Kulka Width Rysunek 7. Interpretacja wybranych właściwości klasy Kulka. 8

W tym miejscu należy wyjaśnić skąd klasa Kulka posiada właściwości Top, Left, Height i Width, mimo że w deklaracji klasy nie widzimy ich jawnej deklaracji. Klasa Kulka została zadeklarowana jako klasa dziedzicząca z klasy o nazwie Panel, a to znaczy, że omawiane właściwości zostały odziedziczone z klasy Panel. 3. Zdefiniowanie na formularzu menu z opcją Nowa kulka. W kolejnym kroku przygotujemy prezentację tworzonych kulek na formularzu. W tym celu dodajemy do formularze obiekt menu, jak pokazano na rysunku 8. Rysunek 8. Dodawanie do formularza obiektu MenuStrip. W pierwsze pole menu wpisujemy tekst Nowa kulka (rysunek 9). Rysunek 9. Konfigurowanie obiektu MenuStrip. Ostatnim krokiem, który zostanie zrealizowany w ramach tej lekcji jest napisanie kodu, który będzie się wykonywał, gdy klikniemy na opcję Nowa kulka. Kod obsługi tego zdarzenia pokazano na rysunku 10. 9

Rysunek 10. Kod obsługi opcji Nowa Kulka. Po wykonaniu ostatniego zadania program jest gotowy do prezentacji, ale musimy pamiętać, że kulki nie będą się jeszcze przemieszczać na ekranie. Proces definiowania klasy Kulka został szczegółowo omówiony i pokazany w filmie instruktażowym o nazwie Definiowanie klasy w środowisku Visual Studio. 4. Prezentacja działania programu i omówienie zakresu dalszych prac. Po uruchomieniu programu, każde kliknięcie na opcję Nowa kulka powoduje umieszczenie kulki w losowym miejscu ekranu. Przykładową postać ekranu aplikacji uwidacznia rysunek 11. Rysunek 11. Przykładowy wygląd ekranu aplikacji. 10

W ramach kolejnej lekcji zostanie napisany kod metody Lec klasy Kulka co spowoduje, że statyczne kulki pokazane w oknie aplikacji zostaną wprawione w ruch. Podstawa programowa Etap edukacyjny: IV, przedmiot: informatyka (poziom rozszerzony) Cele kształcenia wymagania ogólne I. Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera, stosowanie podejścia algorytmicznego. Treści nauczania wymagania szczegółowe Uczeń: 1) analizuje, modeluje i rozwiązuje sytuacje problemowe z różnych dziedzin; 2) stosuje podejście algorytmiczne do rozwiązywania problemu; 3) formułuje przykłady sytuacji problemowych, których rozwiązanie wymaga podejścia algorytmicznego i użycia komputera; 4) dobiera efektywny algorytm do rozwiązania sytuacji problemowej i zapisuje go w wybranej notacji; 5) posługuje się podstawowymi technikami algorytmicznymi; 6) ocenia własności rozwiązania algorytmicznego (komputerowego), np. zgodność ze specyfikacją, efektywność działania; 7) opracowuje i przeprowadza wszystkie etapy prowadzące do otrzymania poprawnego rozwiązania problemu: od sformułowania specyfikacji problemu po testowa nie rozwiązania. Cel Podstawowym celem lekcji jest wyjaśnienie podstaw programowania obiektowego. Wyjaśnienie pojęcia klasa i obiekt. Nauczenie podstawowych konstrukcji składniowych. Słowa kluczowe klasa, obiekt, konstruktor, metoda, Visual Studio Co przygotować y Zainstalować Microsoft Visual Studio Express 2012 for Windows Desktop oprogramowanie, które jest darmową wersją pakietu Visual Studio 2012, można pobrać pod adresem internetowym: Przebieg zajęć http://www.microsoft.com/en-us/download/details.aspx?id=40787 Nauczyciel może wykorzystać inne środowisko programistyczne, o ile zna je dobrze. Wprowadzenie do cyklu lekcji scenariusza omówić z wykorzystaniem prezentacji, zawartej w plikach dodatkowych, o nazwie Co to znaczy obiektowo Wprowadzenie (15 minut) W trakcie wprowadzenia wykorzystujemy prezentację o nazwie Co to znaczy obiektowo. 1. Na początku zajęć nauczyciel podaje temat lekcji Klasa to podstawa, omawia krótko istotę hermetyzacji w programowaniu obiektowym i przystępuje do wyjaśnienia pojęcia klasy i obiektu. 11

2. Po omówieniu podstaw, nauczyciel przystępuje do opisu zadania, które będzie realizowane, zwracając szczególną uwagę na fakt, że do jego pełnej realizacji wystarczy zdefiniowanie jednej klasy. 3. Na zakończenie tej części lekcji omawia sposób uruchomienia środowiska Visual Studio 2012 i przystępuje do realizacji zadania. Szczegóły zadania opisane zostały w streszczeniu do lekcji. Zasadnicza część lekcji (25 minut) W zasadniczej części lekcji wspólnie z uczniami definiowana jest klasa o nazwie Kulka oraz opracowany zostanie program prezentujący tworzenie obiektów klasy Kulka i prezentowanie ich na ekranie. Należy wyraźnie zaznaczyć, że zadania wykonywane w ramach lekcji stanowią wstęp do dalszej pracy i przygotowany przykład klasy i jej zastosowania zostanie zmodyfikowany na kolejnych zajęciach. Podsumowanie (5 minut) W ramach dyskusji należy zwrócić szczególną uwagę na fakt, że jedna definicja klasy pozwala na tworzenie dowolnej liczby obiektów, które mogą różnić się pewnymi cechami. Sprawdzenie wiedzy Podstawowe sprawdzenie wiedzy można zrealizować na podstawie testu o nazwie test1.docx. Ocenianie Oceny na podstawie testu oraz aktywności uczniów w trakcie zajęć. Dostępne pliki 1. Prezentacja z opisem procesu normalizacji Co to znaczy obiektowo.pptx 2. Film instruktażowy 1 Definiowanie klasy w środowisku Visual Studio 3. Test 1 12

LEKCJA NR 2 TEMAT: Symulacja ruchu, czyli szaleństwo na ekranie Streszczenie Zadaniem, które będziemy realizować w ramach tej lekcji to modyfikacja deklaracji klasy kulka w celu symulacji jej ruchu oraz odbić od ścian okna i innych kulek. Efekt ruchu osiągniemy dzięki umieszczonemu w klasie Kulka obiekcie Silnik klasy Timer. Klasa Timer istotny element: właściwość Interval, w której określamy, co ile milisekund ma być generowane zdarzenie o nazwie Tick. Naszym zadaniem będzie napisanie kodu metody Lec klasy Kulka oraz dowiązanie tej metody do zdarzenia Tick klasy Timer. Efektem zmian będzie automatyczne wymuszenie co określoną liczbę milisekund wykonania metody obsługującej symulację ruchu kulki. Na rysunku 12 pokazano modyfikacje deklaracji klasy Kulka po ustaleniu, że metoda Lec będzie uruchamiana jako obsługa zdarzenia o nazwie Tick klasy Timer. Rysunek 12. Deklaracja klasy Kulka po zmianach. W konstruktorze klasy Kulka dodano polecenia inicjujące działanie obiektu klasy Timer: y Silnik.Interval = 50; - co 50 milisekund będzie generowane zdarzenie Tick klasy Timer, y Silnik.Tick += new EventHandler(lec); - zdarzenie Tick będzie wykonywało kod metody Lec, y Silnik.Start(); - inicjalizacja obiektu klasy Timer. Dodano dwa parametry do metody Lec, jest to wymóg składniowy w sytuacji, gdy metoda będzie dowiązana do obsługi zdarzenia. 13

Kolejnym krokiem jest napisanie kodu metody Lec. Na rysunku 13 widzimy kod metody Lec realizujący sprawdzenie, czy kulka dotarła do krawędzi okna i w przypadku stwierdzenia tego faktu następuje zmiana kierunku ruchu kulki. Kod metody Lec realizujący obsługę zderzeń ze ścianami okna pokazano na rysunku 13. Rysunek 13. Kod metody Lec. Po uruchomieniu programu każda utworzona kulka będzie poruszała się wewnątrz obszaru okna, a po dotarciu do jego krawędzi zmieni kierunek ruchu. Ostatnie zadanie to napisanie kodu, w metodzie Lec, który będzie identyfikował kolizję z inną kulką i w przypadku kolizji kulki zamienia się właściwościami dx i dy. Kod metody Lec po uzupełnieniu ilustruje rysunek 14. Rysunek 14. Końcowa postać kodu metody Lec. 14

Po wykonaniu modyfikacji można przystąpić do testowania programu. Szczegółowe omówienie procesu zmiany deklaracji klasy Kulka zaprezentowano w filmie instruktażowym o nazwie Programowanie ruchu kulki. Podstawa programowa Etap edukacyjny: IV, przedmiot: informatyka (poziom rozszerzony) Cele kształcenia wymagania ogólne I. Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera, stosowanie podejścia algorytmicznego. Treści nauczania wymagania szczegółowe Uczeń: 1) analizuje, modeluje i rozwiązuje sytuacje problemowe z różnych dziedzin; 2) stosuje podejście algorytmiczne do rozwiązywania problemu; 3) formułuje przykłady sytuacji problemowych, których rozwiązanie wymaga podejścia algorytmicznego i użycia komputera; 4) dobiera efektywny algorytm do rozwiązania sytuacji problemowej i zapisuje go w wybranej notacji; 5) posługuje się podstawowymi technikami algorytmicznymi; 6) ocenia własności rozwiązania algorytmicznego (komputerowego), np. zgodność ze specyfikacją, efektywność działania; 7) opracowuje i przeprowadza wszystkie etapy prowadzące do otrzymania poprawnego rozwiązania problemu: od sformułowania specyfikacji problemu po testowa nie rozwiązania. Cel Podstawowym celem lekcji jest kontynuacja wyjaśnienia podstaw programowania obiektowego. Wyjaśnienie pojęcia zdarzenie i hermetyzacja. Nauczenie podstawowych konstrukcji składniowych. Słowa kluczowe zdarzenie, właściwość Parent, klasa Timer Co przygotować y W ramach lekcji wykorzystywany jest program, który przygotowany został w trakcie lekcji 1. Przebieg zajęć Wprowadzenie (15 minut) W trakcie wprowadzenia należy przypomnieć i pokazać program, który wykonany został w ramach lekcji 1. Omówić należy istotę zadania, czyli realizację symulacji poruszania się kulek i ich odbić. Zasadnicza część lekcji (25 minut) Wspólnie z uczniami omawiamy i wykonujemy zmiany w deklaracji klasy Kulka. Dyskusja podsumowująca (10 minut) W ramach dyskusji należy ocenić wykonany program i omówić możliwości jego modyfikacji. 15

Sprawdzenie wiedzy W celu sprawdzenia wiedzy można wykorzystać, zamieszczony w materiałach scenariusza test 2. Ocenianie Ocena uczniów na podstawie aktywności w trakcie realizowania zadania. Dostępne pliki 1. Test 2 2. Film instruktażowy 2 Programowanie ruchu kulki 3. Zadanie 16

Człowiek - najlepsza inwestycja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego