Wrocław, dn. 19 kwietnia 2006 roku. Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu

Podobne dokumenty
Procedury i funkcje. Przykład programu z procedurą. Definicja. Cechy procedury

Programowanie w Turbo Pascal

Język programowania PASCAL

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

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

Algorytmy i struktury danych

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

Funkcje i instrukcje języka JavaScript

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

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Zapisywanie algorytmów w języku programowania

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).

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

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Przykładowerozwiązania.

Algorytmika i programowanie usystematyzowanie wiadomości

Lekcja 6: Pascal. Procedura i funkcja

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

Podprogramy. Procedury

Procedury i funkcje - powtórzenie i uzupełnienia. Przykład funkcji potęgowanie przy wykładniku naturalnym

Temat 5. Programowanie w języku Logo

INSTRUKCJA ITERACYJNA REPEAT. repeat Instrukcja_1; Instrukcja_2; {... } Instrukcja_N; until wyr ; INSTRUKCJA ITERACYJNA WHILE

2. Graficzna prezentacja algorytmów

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

Wstęp do programowania. Procedury i funkcje. Piotr Chrząstowski-Wachtel

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.

Wstęp do programowania

Programowanie i techniki algorytmiczne

Programowanie w języku Python. Grażyna Koba

3. Podstawowe funkcje mamematyczne. ZAPOZNAĆ SIĘ!!!

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

napisać konstrukcję instrukcji decyzyjnej If wraz z jej rozwinięciem Else i ElseIf; podać definicję algorytmu z rozgałęzieniami;

WIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}

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

Instrukcja warunkowa i złoŝona.

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

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

KURS PASCAL A. 1.Wprowadzenie

Scenariusz lekcji. wymienić podstawowe typy danych omówione na lekcji; wymienić funkcje konwertujące typy danych, omawiane na lekcji.

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu

Opis problemu i przedstawienie sposobu jego rozwiązania w postaci graficznej. Gimnazjum nr 3 im. Jana Pawła II w Hrubieszowie 1

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby

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

Podstawy programowania

Zasady Programowania Strukturalnego

Ilość cyfr liczby naturalnej

INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

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

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Temat 20. Techniki algorytmiczne

Scenariusz lekcji. wymienić podstawowe typy danych omówione na lekcji; zadeklarować zmienną w programie; przypisywać wartości zmiennym i stałym;

Zakres wykładu INFORMATYKA. dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel

APROKSYMACJA. Rys. 1. Funkcja aproksymująca zbiór punktów pomiarowych (1) (2) (3) (4) (5) (6) (7) ... Zmienna y

Środki dydaktyczne: tablica, komputer (z Notatnikiem i przeglądarką www) pliki ramkapion.zip, ramkapoziom.zip, zagniezdzenieramek.zip.

KURSY PROGRAMOWANIA DLA DZIECI

Pascal - wprowadzenie

Wykład VI PASCAL procedury i funkcje przekazywanie parametrów,

Podstawy Programowania semestr drugi. Wykład czternasty

PASCAL. Etapy pisania programu. Analiza potrzeb i wymagań (treści zadania) Opracowanie algorytmu Kodowanie Kompilacja Testowanie Stosowanie

Informatyka 1. Przetwarzanie tekstów

Podstawy programowania

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Scenariusz lekcji. podać definicję metody zachłannej stosowanej w algorytmie; wymienić cechy algorytmów zachłannych;

Matematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne

Wprowadzenie komentarzy do programu

Programowanie w języku C++ Grażyna Koba

Specyfikacja zadania informatycznego nr 1

Programowanie w środowisku Baltie

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

Scenariusz lekcyjny Obliczanie pierwiastków dowolnego stopnia i stosowanie praw działań na pierwiastkach. Scenariusz lekcyjny

ALGORYTMY I PROGRAMY

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

INFORMATYKA. Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki. dr inż. Michał Łanczont

Jerzy Nawrocki, Wprowadzenie do informatyki

Scenariusz lekcji. potrafi podać formułę obliczającą wartość wielomianu stopnia n w punkcie wg schemat Hornera;

KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)

Scenariusz lekcji. omówić funkcję przycisków kalkulatora kieszonkowego i aplikacji Kalkulator;

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice

Podstawy programowania

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

KARTA KURSU. Wstęp do programowania

Definicje. Algorytm to:

Scenariusz lekcyjny Rozwiązywanie zadań z wykorzystaniem działań na logarytmach. Scenariusz lekcyjny

Scenariusz lekcji. wymienić podstawowe dynamiczne struktury danych (stos, kolejka, lista, graf, drzewo); opisać sposób dostępu do danych w kolejce;

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE 5 UWARUNKOWANIA TECHNICZNE. Scenariusz lekcji.

Pascal_cwiczenia_do_ksiazki_helionu_32_6 wykonał Tomasz Roszczyk

ForPascal Interpreter języka Pascal

Wstęp do Informatyki

Możliwość wykorzystania komputera na zajęciach podstaw przedsiębiorczości na przykładzie lekcji nt. podatków pośrednich (scenariusz lekcji)

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

Scenariusz lekcji. Temat lekcji: Szereg homologiczny węglowodorów nienasyconych.

KURSY PROGRAMOWANIA DLA DZIECI

Transkrypt:

Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu Wrocław, dn 19 kwietnia 2006 roku Czas trwania zajęć: 90 minut, przedmiot: informatyka Temat lekcji: Zastosowanie funkcji w Pascalu Cele ogólne lekcji: 1 Zapoznanie z budową programów i podprogramów w języku Pascal 2 Przedstawienie sposobów wywoływania podprogramów w programie głównym 3 Omówienie korzyści wynikających ze stosowania podprogramów 4 Omówienie procedur i funkcji Cele operacyjne: Uczeń wie: 1 Jak zbudowany jest program w języku Pascal 2 Co to są parametry procedury/funkcji 3 Jakie zadania spełniają zmienne lokalne i globalne Uczeń umie: 1 Prawidłowo wywołać podprogram w programie głównym 2 Wymienić korzyści płynące z uŝycia podprogramów 3 Prawidłowo zapisać procedurę i funkcję Metody pracy: wykład, pogadanka, ćwiczenia praktyczne Forma pracy: grupowa i indywidualna; Środki dydaktyczne: tablica, rzutnik, komputer z zainstalowanym kompilatorem języka Pascal; prezentacja Power Point; programy: grajpas, calcpas i silniapas; Piotr Chojnacki 1

Przebieg lekcji: 1 Wstęp:------------------------------------------------------------------------------ (30 minut) Sprawdzenie obecności Sprawdzenie pracy domowej: Pytamy uczniów czy przerobili program choinkapas i procedurę losowanie (bez powtórzeń) Jeden chętny uczeń prezentuje swój pomysł Resztę programów sprawdzają Agnieszki (prowadzące z poprzedniej lekcji) Przypomnienie wiadomości z ostatniej lekcji Sprawdzenie wcześniej pisanego programu: grajpas kompilujemy program na laptopie; analizujemy jego fragmenty: uczniowie odpowiadają na pytania - WskaŜcie procedury wykorzystywane w programie totolotek; - Z czego zbudowany jest nagłówek procedury; - Gdzie znajduje się treść procedury; - WskaŜcie listę parametrów formalnych; - W jaki sposób wywołujemy procedurę (wartość lub nazwa zmiennej) Ogólna postać procedury jest zatem następująca: (prezentacja Power Point) procedure nazwa(lista parametrów formalnych); {deklaracja stałych, zmiennych i typów} {treść procedury} Piotr Chojnacki 2

Deklaracja procedury zawiera, zatem nagłówek i blok, na który składają się definicje i deklaracje wykorzystywanych obiektów oraz instrukcja złoŝona opisująca wykonywany algorytm Po nazwie procedury moŝe wystąpić, ale nie musi, lista parametrów formalnych Wywołanie procedury, czyli Ŝądanie wykonania instrukcji zawartych w treści procedury polega na podaniu nazwy procedury wraz z listą parametrów aktualnych, jeŝeli istnieją Dyskusja z uczniami na temat przydatności procedur podsumowana wyświetleniem slajdu o następującej treści: 1 Dzielenie zadania na mniejsze moduły kaŝdy moŝe być realizowany w oddzielnej procedurze 2 Wprowadzenie porządku do programu zwiększenie jego czytelności i przejrzystości 3 Unikanie powtórzeń fragmenty programu, które się powtarzają, są wyodrębnione w postaci procedur Np uŝycie procedury z_tablicy 4 Łatwiejsze wyszukiwanie błędów i dokonywanie poprawek w procedurze moŝna zlokalizować błędy szybciej niŝ w długiej liście instrukcji programu głównego Np testowaliśmy osobno procedurę losowanie 5 Programowanie zespołowe po uzgodnieniu postaci procedur kaŝdy z członków zespołu moŝe zająć się pracą nad swoimi procedurami Sami to robiliście w zespołach Sformułowanie tematu lekcji: Zastosowanie funkcji w Pascalu Piotr Chojnacki 3

2 Część właściwa:--------------------------------------------------------------------(50 minut) Funkcje prezentacja Power Point (10 min) Ogólna postać funkcji w języku Pascal jest następująca: function nazwa(lista parametrów formalnych): typ wyniku; {deklaracja stałych, zmiennych i typów} {treść funkcji} Deklaracja funkcji zawiera, zatem nagłówek (róŝniący się o procedury) i blok z definicjami i deklaracjami wykorzystywanych obiektów oraz instrukcję złoŝoną opisującą wykonywany algorytm W treści funkcji musi być umieszczona przypisanie nazwa := wynik; gdzie wynik jest zmienną lub wyraŝeniem określającym zwracaną wartość Ponadto w odróŝnieniu od procedury nagłówek funkcji musi zawierać typ wyniku Wywołanie funkcji ma postać: zmienna := nazwa(lista parametrów aktualnych); gdzie zmienna jest dowolną zmienną (zgodna z typem wyniku funkcji), a nazwa nazwą funkcji lub writeln(nazwa(lista parametrów aktualnych)); Piotr Chojnacki 4

Modyfikacja wcześniej pisanego programu silnia na program z uŝyciem funkcji Prawidłowy program pod nazwą silniapas Kod programu podany na końcu konspektu (10 min) Uczniowie otwierają swoje poprzednie programy silnia i przerabiają je na programy z uŝyciem funkcji Po 10 minutach sprawdzamy wykonanie zadania i prezentujemy na rzutniku naszą wersję Tworzenie kalkulatora, który korzystając z juŝ napisanej funkcji silnia oblicza kolejno: silnie, podaje liczbę podzielników i sprawdza czy podana liczba jest kwadratem liczby naturalnej Prawidłowy program pod nazwą calcpas Kod programu podany na końcu konspektu (30 min) Uczniowie dzielą się na zespoły dwuosobowe Co drugie stanowisko wykonuje funkcje kwadrat reszta funkcje podzielnik Po 20 minutach sprawdzamy ich pracę Prezentujemy na rzutniku naszą wersję i omawiamy Przydatność uŝycia funkcji: Takie same, co w przypadku procedur Piotr Chojnacki 5

3 Podsumowanie:----------------------------------------------------------------(10 minut) NajwaŜniejsze korzyści wynikające ze stosowania podprogramów są następujące: 1 Program napisany z podziałem na podprogramy jest znacznie bardziej czytelny i zrozumiały 2 Uzyskujemy bezpośrednią odpowiedniość między algorytmem a tekstem programu 3 Pewne powtarzające się fragmenty lub realizujące ściśle określone operacje powinny być wyodrębnione i zapisane w postaci jednego podprogramu 4 Podczas testowania i uruchamiania programu moŝna oddzielnie testować poszczególne podprogramy, a następnie uruchomić cały program Piotr Chojnacki 6

Programy, na których będziemy pracować to: ----------------------------TOTOLOTEK---------------------GRAJpas---------------------- program totolotek; uses crt; type lotto = array [16] of integer; var i,j,k: integer; t,m,s: lotto; procedure z_tablicy(a:lotto); var i:integer; for i:=1 to 6 do write(a[i],' '); procedure gra(var x:lotto); var i:integer; writeln('wybierz 6 liczb z zakresu od 1 do 49'); for i:=1 to 6 do write('podaj ', i, ' liczbe:'); readln(x[i]); writeln('oto liczby, ktore skresliles:'); z_tablicy(x); procedure losowanie(var y:lotto); var i:integer; writeln('losowanie wcisnij ENTER'); readln; for i:=1 to 6 do y[i]:=1+random(49); writeln('oto liczby, ktore wylosowano:'); z_tablicy(y); procedure sprawdzenie(x:lotto; y:lotto); var i,j:integer; var z:lotto; var q:integer; q:=0; for i:=1 to 6 do for j:=1 to 6 do if y[i]=x[j] then Piotr Chojnacki 7

z[q+1]:=y[i]; q:=q+1; writeln('liczba trafien: ', q); for i:=1 to q do write (z[i],''); readln; clrscr; Randomize; gra(t); losowanie(m); sprawdzenie(t,m); end ----------------------------Silnia---------------------silniapas---------------------- program silnia; uses crt; var n:integer; function silnia_for(n:integer):longint; var i:integer; wynik:longint; wynik:=1; for i:=1 to n do wynik:=wynik*i; silnia_for:=wynik; clrscr; write('podaj n: '); readln(n); Piotr Chojnacki 8

{---- obliczenie silni wywolujac funkcje ------------} if n>=0 then writeln('silnia obliczona za pomoca funkcji z ',n,' wynosi: ',silnia_for(n)) else writeln('musisz podac liczbe naturalna'); end repeat until keypressed; ----------------------------CALC---------------------CALCpas---------------------- program calc; uses crt; var n:byte; function silnia_for(n:byte):longint; var i:byte; wynik:longint; wynik:=1; for i:=1 to n do wynik:=wynik*i; silnia_for:=wynik; function podzielnik(n:byte):byte; var i,wynik:byte; wynik:=0; for i:=2 to n-1 do if (n mod i)=0 then wynik:=wynik+1; podzielnik:=wynik; function kwadrat(n:byte):boolean; if (sqrt(n)-round(sqrt(n)))=0 then kwadrat:=true else kwadrat:=false; clrscr; write('podaj n: '); readln(n); Piotr Chojnacki 9

{---- obliczenie silni wywolujac funkcje ------------} if n>=0 then writeln('silnia obliczona za pomoca funkcji z ',n,' wynosi: ',silnia_for(n)) else writeln('musisz podac liczbe naturalna'); {------- obliczenie liczby podzielnikow ------------} writeln('liczba ',n,' ma ',podzielnik(n),' podzielnikow roznych od 1 i jej samej'); {------- obliczenie czy liczba jest kwadratem------} if kwadrat(n)=true then writeln('liczba ',n,' jest kwadratem liczby naturalnej') else write('liczba ',n,' NIE jest kwadratem liczby naturalnej'); repeat until keypressed; end Piotr Chojnacki 10