Jak wykorzystywać kalkulator programowany do wspomagania nauczania algorytmiki na poziomie szkolnym, na przykładzie kalkulatora fx-9860? Edward Bryniarski Uniwersytet Opolski Instytut Matematyki i Informatyki edlog@uni.opole.pl http://www.math.uni.opole.pl/~ebryniarski
Uwagi dydaktyczne 1. Nauka programowania w języku Basic moŝe być realizowana na kalkulatorach programowanych firm: CASIO - np. CASIO ClassPad 300, czy kalkulator graficzny fx-9860, HEWLETT PACKARD np. HP 49, TEXAS INSTRUMENT np. TI 89. 2. Jest bardzo skutecznym, nie wymagającym korzystania z pracowni komputerowej, a więc tanim, środkiem zwiększenia efektywności i uatrakcyjnienia nauczania algorytmiki, a takŝe przygotowania do opanowania arkusza kalkulacyjnego, na poziomie szkoły podstawowej i gimnazjum.
Uwagi dydaktyczne 1. Opanowanie elementów programowania na dostępnych dla ucznia kalkulatorach pozwala teŝ wykorzystywać je na lekcjach matematyki i na zajęciach pozalekcyjnych. 2. WaŜne jest to, Ŝe uczeń dysponujący własnym komputerem IBM PC moŝe indywidualnie programować korzystając z emulatorów kalkulatorów, ponadto moŝe przenosić na obsługę kalkulatora część sprawności uzyskanych w posługiwaniu się systemem Windows, telefonem komórkowym i innymi urządzeniami programowanymi, co znacznie przyspiesza uczenie się programowania.
Uwagi dydaktyczne 1. Nauka programowania na kalkulatorze pozwala takŝe rozwijać sprawności poŝyteczne w nauce programowania i posługiwaniu się bardziej zaawansowanymi urządzeniami programowani (np. robotami, sterowniami urządzeń energetycznych, itp.). Kształtowane są takŝe takie pojęcia jak rejestr, zmienna, efektywna struktura obliczeń wyraŝenia arytmetycznego. 2. PoniewaŜ do najtańszych na rynku kalkulatorów programowanych naleŝy kalkulator CASIO fx-9860g, rozwaŝymy tu moŝliwość wykorzystania go do wspomagania nauczania algorytmiki na poziomi szkolnym.
Minimum sprawności wymagane do programowania na kalkulatorze fx-9860 Uruchamianie aplikacji program Korzystanie z okna programu ładującego Obsługa edytora programów Tworzenie nowego lub poprawianie starego programu etapy Zarządzanie plikami, tj. zmiennymi rejestrującymi programy
Trochę historii 1961 r. Na Leningrackim Uniwersytecie w Związku Radzieckim zostaje skonstruowany pierwszy na świecie kalkulator z klawiaturą i wyświetlaczem o nazwie EKVM, pozwalający na programowanie obliczeń w języku rejestrów, w oparciu o proste funkcje. W 1964 roku rozpoczyna się produkcja tego kalkulatora o nazwie EKVM Vega. W 1967 moŝliwości tego kalkulatora zostają rozszerzone o definiowanie funkcji w oparciu o funkcje trygonometryczne.
Trochę historii 1967 r. Firma MONROE wypuszcza pierwszy na świecie kalkulator EPIC 2000 w pełni programowany, realizujący instrukcje warunkowe i instrukcje skoku. Kalkulator ten jest wyposaŝony w drukarkę. Ze względu na rozmiary, porównywalne z maszyną do pisania, nie moŝna go uznać za kieszonkowy.
Trochę historii W latach siedemdziesiątych podobne konstrukcje kalkulatorów programowanych opracowywane są przez firmy: Addo-X, Sumlock Comptometer (Anita), Brother, Burroughs, Busicom, Canon, Cintra, Casio, Commodore, Compucorp, Deitzgen, Dero, Diehl, Denon, Elka, Facit, Friden/Singer, Hewlett Packard, Hitachi, Industria Macchine Elettroniche (IME), Iskra, MITS, Monroe/Litton, NCR, Oi Electric, Olivetti, Olympia, Philips, Ricoh, Sanyo, SCM (Smith-Corona Marchant), Seiko, Sharp, Soemtron, Sony, Sperry/Remington Rand, Tektronix, Toshiba, Victor, Walther, Wang, or Wyle Labs.
Trochę historii 1977/1978 r. W Związku Radzieckim przedsiębiorstwo Elektronika rozpoczyna produkcję kieszonkowego kalkulatora programowanego B3-21 (Rys. poniŝej, z lewej). Jego ulepszone wersje B3-34, MK-46, MK-64 z roku 1980 umoŝliwiają pisanie w języku rejestrów bardzo zaawansowanych numerycznie programów (całkowanie, rozwiązywanie równań róŝniczkowych). Kalkulator uŝywany jest nie tylko przez naukowców i inŝynierów, ale takŝe przez uczniów szkół, nawet odbywają się olimpiady programowania na kalkulatorze.
Trochę historii Rysunek z prawej strony przedstawia bardzo popularny w Polsce, w drugiej połowie lat siedemdziesiątych XX w., kalkulator programowany COMPUCORP BETA 326 SCIENTIST z pamięcią kasetową COMPUCORP 392.
Wskazówki uŝyteczne w posługiwaniu się edytorem języka programowania Basic dla kalkulatora fx-9860 1. Uruchomienie edytora: naciskamy klawisz [MENU], a następnie naciskając odpowiednio strzałeczki na klawiszu [REPLAY] przechodzimy kursorem do ikony o nazwie PRGM i naciskamy [EXE], przechodząc automatycznie do akcji nadawania nazwy pierwszemu programowi lub do Program List (listy programów). 2. Nadanie nazwy nowemu programowi: zarówno, gdy jest to pierwszy program, jak gdy pokazuje się na ekranie (wyświetlaczu kalkulatora) Program List, do nadania nazwy programowi słuŝy klawisz [F3]; nazwa jest zmienną rejestrującą program, dlatego składa się z co najwyŝej z ośmiu znaków duŝych liter lub cyfr, a zaczyna się z duŝej litery; cyfry uzyskujemy bezpośrednio z klawiatury, naciskając klawisz ze znakami cyfr, natomiast duŝe litery uzyskujemy naciskając klawisz [ALPHA] a następnie klawisz, nad którym figuruje dana litera; po nadaniu nazwy programowi zatwierdzamy ją klawiszem [EXE], przechodząc w ten sposób od razu do redakcji programu.
Wskazówki uŝyteczne w posługiwaniu się edytorem języka programowania Basic dla kalkulatora fx-9860 1. Redakcja programu: kaŝdy ekran edytora zawiera dolny pasek menu podzielony na sześć pól, z których kaŝde moŝe być uaktywniane, począwszy od pierwszego pola z lewej strony, odpowiednio klawiszami operacyjnymi [F1],..., [F6]; klawisz [F6] słuŝy takŝe do zmiany opcji menu, gdy w menu jest więcej niŝ sześć opcji; Ŝadne słowo kluczowe języka Basic nie moŝe być wpisane za pomocą liter i cyfr, w tym celu naleŝy najpierw na dole ekranu wywołać pasek menu za pomocą klawiszy [SHIFT][VARS] (nad klawiszem [VARS] jest naprowadzający napis PRGM); ta uwaga dotyczy takŝe nazw funkcji i operacji, które odnajdujemy przechodząc na pierwszym ekranie edycji programu do opcji MENU za pomocą klawisza [F4]; moŝemy takŝe kaŝde słowo kluczowe, w tym nazwy funkcji i operacji, języka Basic dla kalkulatora CASIO fx-9860, uzyskać z listy osiągalnej klawiszami [SHIFT][4] (nad klawiszem [4] jest naprowadzający napis CATALOG), wybieramy wtedy kursorem dany napis i zatwierdzamy klawiszem [EXE].
Wskazówki uŝyteczne w posługiwaniu się edytorem języka programowania Basic dla kalkulatora fx-9860 1. Kontynuacja redakcji programu wybranego z listy: uruchamiamy edytor, z listy programów wybieramy kursorem (klawisz [REPLAY]) dany program, a następnie przechodzimy do redakcji programu naciskając klawisz [F2]. 2. Kasowanie programu wybranego z listy: uruchamiamy edytor, z listy programów wybieramy kursorem (klawisz [REPLAY]) dany program, a następnie kusuwamy go naciskając klawisz [F4] lub usuwamy wszystkie programy [F5]. 3. Zaznaczanie wybranego fragmentu programu: stajemy kursorem na początku zaznaczanego tekstu programu i naciskamy klawisz [SHIFT][8], a następnie zaznaczamy kursorem wybrany fragment programu; na pasku menu na dole ekranu, z lewej strony pokazują się dwie opcje: COPY, CUT, pierwsza słuŝy kopiowaniu zaznaczonego tekstu (klawisz [F1]), a druga wycinaniu (klawisz [F2]).
Wskazówki uŝyteczne w posługiwaniu się edytorem języka programowania Basic dla kalkulatora fx-9860 1. Kopiowanie zaznaczonego fragmentu tekstu: po zaznaczeniu tekstu naciskamy klawisz [F1], a następnie stajemy kursorem w tym miejscu, w którym chcemy skopiować zaznaczony tekst i naciskamy klawisze [SHIFT][9] (nad klawiszem [9] jest naprowadzający napis PASTE). 2. Przenoszenie zaznaczonego tekstu: po zaznaczeniu tekstu naciskamy klawisz [F2], a następnie stajemy kursorem w tym miejscu, do którego chcemy przenieść zaznaczony tekst i naciskamy klawisze [SHIFT][9] (nad klawiszem [9] jest naprowadzający napis PASTE). 3. Uruchomienie programu: przechodzimy do listy programów za pomocą klawisza [EXIT], a następnie naciskamy klawisz [F1].
Programowanie w języku rejestrów Język rejestrów słuŝy do rejestrowania kolejno wykonywanych obliczeń. Na ten język składają się symbole danych, symbole rejestrujące dane, symbole te, jako wskazujące obszary pamięci, w których zarejestrowane są dane, zwane są rejestrami lub zmiennymi, symbol wprowadzania danych (np.?, Input), symbol operacji przypisania (np. ->), symbole operacji na danych.
Programowanie w języku rejestrów W programowaniu kalkulatora CASIO fx-9860g: Przetwarzane są dane liczbowe zapisane w systemie dziesiętnym. Zmiennymi są dowolne duŝe litery.? jest symbolem wprowadzania danych. UŜycie: <komunikat o wprowadzanej danej>?<zmienna> lub (bez komunikatu)?<zmienna>. jest symbolem operacji przypisania. UŜycie: <dana, operacja na danych, wyraŝenie funkcyjne, zmienna> <zmienna>. Instrukcja podstawiania lub przypisania, w standardzie BASIC ma postać LET <zmienna>=<wartość> lub w metajezyku programowania <zmienna>: = <wartość>; 0 A liczba 0 przypisana jest zmiennej A, zmienna A przyjmuje wartość 0; B A zmienna A przyjmuje wartość zmiennej B. Oznaczenia funkcji i operacji wprowadza się bezpośrednio z klawiatury lub z listy uzyskanej sekwencją klawiszy [SHIFT][4].
Programowanie w języku rejestrów Zadanie 1 Zaprojektuj efektywną kolejność wykonywania następujących obliczeń "(³ (1 75+1.17)+(2.38-3)²) =" Wykonanie 75 X 1 X X 1.17+X X ³ X X 3 Y 2.38-Y Y Y² Y X+Y X X² X X X X X
Programowanie w języku rejestrów Zadanie 2 Zaprojektuj efektywną kolejność wykonywania obliczeń według wzoru: "(³ (1 A+B)+(C- D)²) =" Wykonanie "A"? K K X 1 X X "B"? K K+X X ³ X X "D"? K K Y "C"? K K-Y Y Y² Y X+Y X X² X X X X X
Basic dla CASIO fx-9860 GoTo-Lbl Lbl, If-Then Then-Else-IfEnd Zadanie 3 Napisz program obliczający największy wspólny dzielnik dwóch liczb naturalnych. A-B A If A>B B-A B? A? B If A B A Stop "Program oblicza NWD(A,B)" "Podaj liczbe A:"?A "Podaj liczbe B:"?B Lbl 1 If A B Then If A>B Then A-B A GoTo 1 Else B-A B GoTo 1 IfEnd Else "NWD(A,B) =" A IfEnd
Basic dla CASIO fx-9860 For-To-Step-Next Zadanie 2. Oblicz silnię z liczby n>0: n! = 1*2*...*n. Sekwencję instrukcji, które mogą być wykonalne w sposób powtarzalny aŝ do spełnienia określonego warunku, nazywa się pętlą. W pętli najczęściej moŝna wyróŝnić pewna zmienną nazywaną zmienną sterującą pętli. Jedną z instrukcji do organizowania pętli w Basicu jest instrukcja powtórzeń For Next. W języku Basic dla fx-9860 stosuje się dwie konstrukcje tych instrukcji:.for W1 S To W2 Step W I1, I2,...In Next.2. For W1 S To W2 I1, I2,...In Next "SILNIA Z LICZBY"? N "WYNOSI" If N=0 Then 1 S IfEnd For 1 I To N S I S Next S
Basic dla CASIO fx-9860 While-WhileEnd WhileEnd Zadanie 3. Podziel liczbę naturalna A przez liczbę naturalną B, gdy A B. Oznacz iloraz całkowity przez Q i resztę przez R: A = Q*B + R. Reszta spełnia warunek 0 R < B. Skorzystaj z algorytmu Euklidesa (patrz schemat). 0 Q, A R Do organizowania pętli w Basicu słuŝy takŝe instrukcja While WhileEnd. Instrukcja ta ma następującą konstrukcję: Q+1 Q, R-B R R B? Q R While <warunek> I1, I2,..., In, WhileEnd Stop Instrukcja powoduje dotąd powtarzanie wykonywania ciągu instrukcji I1, I2,..., In, dokąd <warunek> jest prawdziwy.
Basic dla CASIO fx-9860 While-WhileEnd WhileEnd Q+1 Q, R-B R 0 Q, A R R B? Q R Stop "A"? A "B"? B 0 Q A R While R B Q+1 Q R-B R WhileEnd ClrText " A = Q*B + R" Locate 2,4,"A=" Locate 4,4,A Locate 2,5,"B=" Locate 4,5,B Locate 2,6,"Q=" Locate 4,6,Q Locate 2,7,"R=" Locate 4,7,R
Projektujemy menu Wygląd ClrText Lbl 1 0 C Locate 3,1,"MENU" Locate 2,2,"Wybierz opcję" Locate 2,3,"Opcja1" Locate 2,4,"Opcja2" Locate 2,5,"Exit" Locate 1,3," " Locate 1,4," " Locate 1,5," "
Projektujemy menu Wybór parametrów 1 E 3 Y While C 31 Getkey C If C=28 Then If E=1 Then 0 C:3 E:5 Y:Locate 1,Y," ":Locate 1,3," " Else 0 C:Locate 1,Y," ":Y-1 Y:E-1 E:Locate 1,Y," " IfEnd IfEnd If C=37 Then If E=3 Then 0 C:1 E:3 Y:Locate 1,Y," ":Locate 1,5," " Else 0 C:Locate 1,Y," ":Y+1 Y:E+1 E:Locate 1,Y," " IfEnd IfEnd WhileEnd
Projektujemy menu Uruchomienie wybranych opcji If E=1 Then Locate 3,7,"OPCJA1 ":Goto 1 IfEnd If E=2 Then ClrText:Prog "P5":Prog "PAUSE":ClrText:Locate 3,7,"OPCJA2 ":Goto 1 IfEnd If E=3 Then ClrText:Locate 8,5,"KONIEC":Stop IfEnd
Wywołanie podprogramów PROG PAUSE 0 C While C 31 Getkey C WhileEnd Return