Dodaj publikację
Autor
Leon Plebanek
Data publikacji
2019-02-16
Średnia ocena
0,00
Pobrań
24

Zaloguj się aby ocenić lub skomentować publikację.

scenariusz lekcji informatyki
 Pobierz (pdf, 110,1 KB)

Podgląd treści

Scenariusz lekcji informatyki

Leon Plebanek

Temat: Symulacja komputerowa, liczby pseudolosowe.
Klasa: 3 LO
Profil: informatyczny
Czas trwania: 2 godziny lekcyjne
Potrzebne wiadomości: instrukcje wejścia / wyjścia, typy danych, zmienne,
instrukcja warunkowa, instrukcja pętli, zainicjowanie generatora
srand(time(NULL) , określenie funkcji losowej rand() w języku C++
Cele:
Wiadomości: jaką rolę odgrywa generator liczb losowych, w jaki sposób uzyskać
naturalną liczbę losową z zakresu <0,n>
Umiejętności: wykorzystanie funkcji losowej rand()do modelowania przebiegu
doświadczeń losowych
Środki: komputery z kompilatorem c++(środowisko CodeBlocks), tablica
Metody i formy pracy: dyskusja, wykład, ćwiczenia w grupach, ćwiczenia
indywidualne

Przebieg lekcji:

• przypomnienie wiadomości o sposobie działania funkcji losowej rand()
• sformułowanie problemu

Rzucono symetryczną kostką do gry 100 razy. Przeprowadź symulację tego
doświadczenia na komputerze. Twój program powinien wyświetlić ile razy otrzymano
ściankę z jednym, dwoma,..., sześcioma oczkami.

• dyskusja sposobu symulacji pojedynczego rzutu kostką i zanotowania wyniku.

x := rand()%6 + 1;

• dyskusja sposobu obliczenia ilości wystąpień danego wyniku

switch(x)

{
case 1 : ile_jedynek++; break;
case 2 : ile_dwojek++; break;
case 3 : ile_trojek++; break;
case 4 : ile_czworek++; break;
case 5 : ile_piatek++; break;

Strona 1 z 4

case 6 : ile_szostek++; break;
}

• zapis programu symulacje rzutów w języku C++ (omówienie roli generatora

liczb pseudolosowych srand())

#include <iostream>
#include <cstdlib>
#include <time.h>

using namespace std;

int main()
{
int x, i,
ile_jedynek=0, ile_dwojek=0,
ile_trojek=0, ile_czworek=0,
ile_piatek=0, ile_szostek=0;

cout<<"Program przeprowadzi symulacje 100 rzutow
kostka i wyswietli wyniki";

srand(time(NULL));

for (i=1; i<=100;i++)
{
x = rand()%6 + 1;
switch(x)
{
case 1: ile_jedynek++; break;
case 2: ile_dwojek++; break;
case 3: ile_trojek++; break;
case 4: ile_czworek++; break;
case 5: ile_piatek++; break;
case 6: ile_szostek++; break;
}
}

cout<<endl<<"W doswiadczeniu uzyskano :" <<endl;
cout<< ile_jedynek <<" jedynek"<<endl;
cout<< ile_dwojek << " dwojek"<<endl;
cout<< ile_trojek << " trojek"<<endl;
cout<< ile_czworek << " czworek"<<endl;
cout<<ile_piatek << " piatek"<<endl;
cout<< ile_szostek << " szostek"<<endl;

Strona 2 z 4

return 0;

}

• propozycje modyfikacji doświadczenia losowego

a. ilość rzutów może być zmienna,
b. kostka nie musi zawierać ścianek z wszystkimi oczkami od 1 do 6,
c. kostka nie musi być sześcienna ale np. czworościenna,
d. nie musi to być rzut kostką ale np. monetą.

• podział klasy na cztery grupy

rozwiązywanie podpunktów a) b) c) d) (praca w grupach)


• prezentacja rozwiązań

a. należy wprowadzić dodatkową zmienną o nazwie ile, przechowującą

ilość rzutów do wykonania; na początku programu wczytujemy ile
rzutów należy wykonać;
w pętli for wpisujemy: for (i=1;i<=ile;i++)

b. jeśli kostka zawiera ...