Kalina G+-ra- SPN

Transkrypt

Kalina G+-ra- SPN
INFORMATYCZNE
ROZWIĄZYWANIE
PROBLEMÓW
Specyfikacja zadania informatycznego nr 1
Cele projektu
System ekspertowy
Opis potrzeby wykonania zadania
Procedury
Środek informatyczny
Heurystyki
Reprezentacja obiektu
Załączone dokumenty
Cele projektu
■
■
■
■
■
Głównym celem projektu jest identyfikacja nieznanego
obiektu za pomocą danego środka informatycznego, tj.
stawianie i rozwiązywanie zadań pomocniczych i problemów
informatycznych podczas wykonywania zadania, w ustalonym
przez proces dydaktyczny okresie czasu.
Jakie obiekty naleŜy zdefiniować, aby wykonać zadanie?
Jakie są relacje pomiędzy poszczególnymi obiektami?
Jakie naleŜy sformułować reguły i jak z nich korzystać?
Na jakie problemy moŜna się natknąć podczas wykonywania
zadania?
Określić kompletny i spójny system ekspertowy rozwiązujący
dane zadanie.
INSTRUKCJA ITERACYJNA „POWTARZAJ”
Zadanie nr 1:
1
Napisz, w języku Turbo Pascal,
program obliczający wartość danego
wielomianu w(x) stopnia n o
współczynnikach rzeczywistych a0, a1, . . . ,an
dla ustalonego argumentu x.
Opis potrzeby
wykonania zadania:
Opierając się na zdobytej wcześniej wiedzy,
w trakcie tworzenia kodu źródłowego,
uczeń dla danego n, względnie duŜego,
n+1 razy wczytuje dane (współczynniki liczbowe).
Aby było to moŜliwe, konieczne jest równieŜ
wprowadzenie n+1 róŜnych zmiennych.
Jest to sytuacja niepoŜądana. Szukamy rozwiązania,
które usunie niepoŜądaną sytuację.
Tak jest potrzeba wykonania danego zadania
Określenie potrzeby:
program wielomian;
var
n:integer;
a0,...,an,x,w:real;
begin
read(n,x);
write(‘WPISZ
a0= ‘);
read(a0);
write(‘
a1= ‘);
read(a1);
write(‘
a2= ‘);
read(a2);
write(‘
a3= ‘);
read(a3);
.
.
.
write(‘
an= ‘);
read(an);
w:=(...((a0*x+a1)*x+a2)*x+...+an-1)*x+an;
write(w);
end.
Mozolny i Ŝmudny zapis.
Zmniejsza on równieŜ
czytelność kodu
Procedury
■
■
■
■
Procedura deklarowania zmiennych;
Procedura sczytywania i wypisywania danych;
Procedura dodawania i mnoŜenia;
Procedura iteracji.
Heurystyki
Zadbać o wygląd kodu źródłowego - budowa
blokowa - co zwiększy jego czytelność.
Wpisać komunikaty o konieczności wpisania
w danym momencie odpowiedniej danej oraz
o wypisywaniu na ekran wyniku - ułatwi to
pracę z programem.
Korzystać ze wszystkich znanych sposobów na
uproszczenie zapisu programu.
Środek informatyczny
kompilacja
ALGORYTM
monitorowanie
PROCESOR
implementacja
MONITOR
Algorytm
Wczytaj stopień wielomianu (n)
Wczytaj wartość argumentu (x)
Wczytaj współczynnik a0
Wczytaj współczynnik a1
Wczytaj współczynnik an
Zastosuj wzór na obliczanie
wartości wielomianu w(x)
stopnia n dla ustalonego
argumentu x
Wypisz wynik
Kompilacja
read(n)
read(x)
read(a0)
read(a1)
read(an)
w:=(…((a0*x+a1)*x+a2)*x+ … +an-1)*x+an
write (w)
Procesor
Uczniowie dysponują komputerami
zaopatrzonymi w procesory typu Pentium II
z zainstalowanym kompilatorem programu
Turbo Pascal 7.0
Monitorowanie
Uczeń kontroluje poprawność
wpisywanych danych oraz
odczytuje otrzymane wyniki
kompilacji na ekranie
monitora.
Monitor
Monitorem jest ekran, na
którym przedstawione są
wyniki kompilacji.
Implementacja
W efekcie końcowym uczeń otrzymuje,
wydrukowaną na ekranie monitora, wartość
danego wielomianu w(x) stopnia n o
współczynnikach rzeczywistych a0, a1, . . . ,an
dla ustalonego argumentu x.
Reprezentacja obiektu
problemy
IKONICZNA
reguły
SYMBOLICZNA
pojęcia
ENAKTYWNA
Ikoniczna
Wczytaj stopień wielomianu (n)
Wczytaj wartość argumentu (x)
Wczytaj współczynnik a0
Wczytaj współczynnik a1
Wczytaj współczynnik an
Zastosuj wzór na obliczanie
wartości wielomianu w(x)
stopnia n dla ustalonego
argumentu x
Wypisz wynik
Przedstawienie, graficzne lub
opisowe, wyobraŜenie (obraz)
wykonania zadania w taki
sposób, aby moŜna było
napisać kod źródłowy
tworzonego programu w
edytorze oprogramowania
Turbo Pascal 7.0, w postaci
bloku tekstu, o strukturze
samodzielnie tworzonej przez
indywidualnych uczniów.
Problemy
W trakcie tworzenia obrazu (reprezentacji
ikonicznej) wykonania zadania polegającego na
określeniu kodu źródłowego, uczeń napotyka
trudności związane z występowaniem duŜej
ilości zmiennych oraz koniecznością sczytania
danych. Czynność ta jest Ŝmudna i
pracochłonna. Dodatkowo stwarza duŜo
moŜliwości popełnienia błędów składniowych.
ZuwaŜmy, Ŝe postawiony problem jest tu zgodny
z potrzebą (dydaktyczną).
Symboliczna
program wielomian;
var
n:integer;
a0,a1,...,an,x,w:real;
begin
write(‘Podaj stopień wielomianu n= ‘);
read(n);
write(‘Podaj wartość argumentu x= ‘);
read(x);
write(‘WPISZ
a0= ‘);
read(a0);
write(‘
a1= ‘);
read(a1);
.
.
.
write(‘
an= ‘);
read(an);
w:=(…((a0*x+a1)*x+a2)*x+ … +an-1)*x+an;
write(‘w=’,w);
end.
Kod źródłowy programu
zbudowany jest z szeregu liter
tworzących róŜne słowa, w tym
słowa kluczowe, oraz znaków
interpunkcyjnych, t.j.: ; . , które
w języku Turbo Pascal mają
bardzo duŜe znaczenie.
Na ekranie pojawią się więc litery,
znaki interpunkcyjne oraz cyfry,
które stanowią zarówno dane, jak
i będą wynikiem działania
programu.
Reguły
W trakcie rozwiązywania problemu, uczeń będzie stosował
reguły dotyczące programowania w języku Pascal, m.in.:
- preambuła;
- deklaracja zmiennych i ich typów;
- rozpoczęcie i zakończenie programu głównego i instrukcji
złoŜonych;
- sczytywanie danych;
- reguły dotyczące zapisywania wyraŜeń arytmetycznych;
- wypisywanie danych na ekran.
Uczeń zastosuje równieŜ regułę matematyczną dotyczącą
obliczania wartości wielomianu n-tego stopnia dla ustalonego
argumentu x.
Enaktywna
Powiązanie sprawdzania warunków z wykonaniem
operacji: w trakcie wykonywania zadania, uczeń
wpisuje odpowiednie znaki z klawiatury, takŜe za
pomocą specjalnej kombinacji klawiszy kompiluje
on kod źródłowy i sprawdza poprawność jego
działania; kompilacji moŜna równieŜ dokonać za
pomocą myszki (klikanie i przesuwanie).
Reprezentację enaktywną moŜna takŜe otrzymać
budując stosowną tablicę decyzyjną lub pisząc
makro symulujące realizację zadania.
Pojęcia
W trakcie wykonywania zadania uczeń
poznaje pojęcie:
INSTRUKCJA ITERACYJNA
„POWTARZAJ”
(repeat until)
System ekspertowy
reprezentacje
BAZA
WIEDZY
operacje
SIEĆ
SEMANTYCZNA
realizacje
RAMA
Baza wiedzy
Temat lekcji: Instrukcja iteracyjna „powtarzaj”
Uczeń juŜ wie:
- jak oblicza się wartości wielomianu n-tego stopnia
dla ustalonego argumentu x;
- co to jest język Turbo Pascal 7.0;
- jak wygląda budowa programu (kodu źródłowego);
- jak deklarować zmienne;
- jak wczytywać dane;
- jak wypisywać dane na ekran;
- jak budować podstawowe wyraŜenia arytmetyczne;
- jak kompilować program;
- ma podstawową umiejętność obsługi edytora tekstu.
Uczeń nauczy się:
Baza wiedzy
Uczeń nauczy się podstawowych informacji o budowie i
sposobie wykorzystania instrukcji iteracyjnej „powtarzaj” :
Instrukcja „powtarzaj” słuŜy do opisywania iteracji ze
sprawdzeniem warunku na końcu. Ma ona postać:
repeat
instrukcja 1;
instrukcja 2;
...
instrukcja n;
until wyraŜenie;
WyraŜenie powinno dawać w wyniku wartość logiczną, a kaŜda z
iteracji moŜe być dowolną instrukcją prostą
Ciąg dalszy
Baza wiedzy
instrukcja
Schemat
instrukcji
iteracyjnej
„powtarzaj”
czy
wyraŜenie
prawdziwe?
tak
Zakończenie instrukcji
„powtarzaj”
nie
Reprezentacje
Uczeń reprezentuje posiadaną wcześniej
wiedzę tworząc kod źródłowy w sposób
Ŝmudny i pracochłonny. Początkowo jest
posiada tyko obraz wykonania zadania i moŜe
go opisać „krokowo” lub graficznie
(reprezentacja ikoniczna).
Po zapoznaniu się z nowym materiałem będzie
on umiał napisać program bardziej zwięzły i
czytelny (reprezentacja symboliczna), nie
wykonując szeregu zbędnych operacji. Pozna
takŜe jak ten program działa (reprezentacja
enaktywna)
Sieć semantyczna
Wprowadzając nowy temat nauczyciel stosuje pojęcia:
- zmienne, dane;
- wczytywanie, wypisywanie danych;
- instrukcja iteracyjna;
- zerowanie zmiennych;
- dodawanie do zmiennej (powiększanie jej o wartość);
- mnoŜenie wartości zmiennej przez liczbę.
Sieć semantyczna
W czym?
Za pomocą czego?
NAPISZ PROGRAM
JĘZYK TURBO PASCAL
Co robi?
OBLICZA WARTOŚĆ
Czego?
WIELOMIANU n-tego STOPNIA
O WSPÓŁCZYNNIKACH RZECZYWISTYCH
DLA USTALONEGO ARGUMENTU x
Jakich? Skąd?
SCZYTYWANYCH
Jak?
Sieć semantyczna zadania
KOLEJNO
Operacje
deklaracja zmiennych : i,w
wyzerowanie zmiennych i oraz w
deklaracja zmiennych: n, a, x
Algorytm
sczytanie zmiennych n oraz x
operacji
wykonywanych
sczytanie zmiennej a
pomnoŜenie zmiennych w przez x i powiększenie o a
(w*x+a)
powiększenie zmiennej i o 1 (i+1)
przez ucznia
nie
Czy i >n?
tak
wypisanie wyniku
Rama
W ramach rozwiązania tego
problemu, uczeń powinien
ukształtować pojęcie
instrukcji iteracyjnej „powtarzaj”.
Powinien nauczyć się stosować ją
w swoich programach.
Uczeń odkryje takŜe korzyści
(wygodę) płynące z uŜywania tej
instrukcji.
Poprawnie napisany program ma postać:
PROGRAM
wielomian;
CONST;
i: INTEGER = 0;
w: REAL = 0;
var
n: INTEGER;
a,x: REAL;
BEGIN
read(n,x);
REPEAT
read(a);
w:=w*x+a;
i:=i+1;
until i>n;
write(w);
end.
Algorytm poprawnego rozwiązania
Realizacje
i: integer;
w: real;
i:=0;
w:=0
n: integer;
a,x: real;
read (n,x);
repeat
read ( a );
w: =w*x + a;
i:= i + 1;
nie
until i>n;
tak
write (w);

Podobne dokumenty