Sunteți pe pagina 1din 6

PROIECT DIDACTIC

Disciplina: Informatic
Clasa: a XI-a A
Profesor:
Unitatea de nvare: Structuri de date
Tema: Aplicaii - Stive i Cozi
Tipul leciei: fixare i formare de priceperi i deprinderi
Locul de desfurare: Laboratorul de informatic
Nivelul iniial al clasei:
- elevii cunosc modalitatea de declarare a unei stive i a unei cozi cu
elemente de tip articol;
- elevii i-au nsuit modalitatea de lucru cu structurile dinamice de
date (creare, parcurgere, actualizare)
Competena general:
Identificarea datelor care intervin ntr-o problem i aplicarea
algoritmilor fundamentali de prelucrare a acestora
Competene specifice:
Analizarea unei probleme n scopul identificrii datelor necesare i
alegerea modalitilor adecvate de structurare a datelor care intervin
ntr-o problem
Utilizarea structurilor de date n modelarea unor situaii problem
Implementarea unor algoritmi de prelucrare a structurilor de date
Obiective operaionale:
O1: s compare modul de acces la elementele stivei i cozii;
O2: s aleag, structura necesar rezolvrii problemelor i s
motiveze alegerea;
O3: s utilizeze corect operaiile de creare, parcurgere i actualizare
att pentru stiv ct i pentru coad;
O4: s utilizeze mediul de programare al limbajului C++ pentru
verificarea programelor realizate;
Strategii didactice:
Principii didactice:
- principiul participrii i nvrii active
- principiul asigurrii progresului gradat al performanei
- principiul conexiunii inverse
Metode de nvare:
1

- metode de comunicare oral: expunere, conversaie, problematizare


- metode de aciune: exerciiul, nvarea prin descoperire
Procedee de instruire:
- explicaia n etapa de comunicare
- nvarea prin descoperire, prin rezolvarea de probleme
- problematizarea prin crearea situaiilor problem
- conversaia de consolidare n etapa de fixare a cunotinelor
Forme de organizare: frontal i individual
Forme de dirijare a nvrii: dirijat de profesor i independent
Resurse materiale:
- material bibliografic: Informatic (manual clasa a XI-a) Mioara
Gheorghe, M. Tataram, C. Achinta, C. Nastase; Culegere de
probleme de informatic Carmen Popescu.
- Calculatorul, chestionare, fie de lucru
Metode de evaluare: aplicaii pe calculator, evaluare iniial

Fia leciei:
Funcii exercitate de
evenimentul
instrucional

Activiti ale leciei

Se face prin chestionarul


cu
ntrebri
conform
Reactualizarea
tabelului de la punctul 2.
cunotinelor
Rezolvarea chestionarului
va fi discutat mpreun cu
elevii.
Se face prin rezolvarea
problemelor propuse n fia
de lucru. Rezolvarea se va
face
individual
pe
Intensificarea
calculator.
reinerii i asigurrii
Se urmrete utilizarea
transferului de
corect a stivelor i cozilor,
informaii
scrierea
corect
a
instruciunilor
necesare
operaiilor
pe
aceste
structuri,
finalizarea
aplicaiei.
Se face prin discutarea la
Obinerea i
tabl
a
programelor
evaluarea
realizate de elevi pentru
performanei
problemele din fia de
lucru.
2

Metode

Conversaia de
fixare

Exerciiul
aplicativ, lucrri
practice de
laborator.
Conversaia de
consolidare

exerciiu de
consolidare,
conversaie

Desfurarea leciei:
1. Moment organizatoric (2-3 minute):
- organizarea i pregtirea clasei: - verificarea frecvenei
- captarea ateniei clasei: - anunarea subiectului, a obiectivelor
urmrite, anunarea modului de desfurare a activitii
2. Reactualizarea cunotinelor (7 minute ):
Se va face printr-un chestionar cu scopul de a reaminti noiunile
necesare pentru realizarea aplicaiilor propuse astfel:
CHESTIONAR - STRUCTURI DINAMICE DE DATE
Asociai informaiile din prima coloan cu
considerai corecte din coloana a doua:
1. Ce tip de disciplin respect structura
de tip coad?
2. Care este lista care poate fi utilizat
pentru situaia urmtoare:
Diriginta face lista cu elevii care merg n
excursie astfel nct s-i poat elimina mai
uor pe cei care s-au nscris mai trziu n
cazul n care nu sunt locuri suficiente.

rspunsurile pe care le
a. LIFO
b. FIFO
a.oarecare
b.coada
c. stiva
d.lista circular

a. coad plin
3. Dac este adevrat condiia v<0 atunci b. coad vid
avem cazul particular
c. stiv plin
d. stiv vid
a. adugare n coad
4. Care este rolul secvenei urmtoare
b. eliminare din stiv
for (i=v; i>=b;i--) cout<<S[i]<< ;
c. parcurgere coad
d. parcurgere stiv
5. Care este rolul secvenei urmtoare
a. adugare n coad
if (u==n-1) cout<<imposibil;
b. eliminare din stiv
else { u=u+1;
c. parcurgere coad
cin>> C[u]; }
d. parcurgere stiv
Rspuns ateptat: 1 b, 2 c, 3 d, 4 d , 5 a.
Profesorul va discuta rezolvarea chestionarului cu elevii solicitnd
acestora motivarea rspunsurilor alese.
3. Intensificarea reinerii i asigurarea transferului de informaii (15-20
minute):
Profesorul mparte elevilor fiele de lucru i discut primele dou
probleme care trebuiesc rezolvate pe calculator. n timp ce elevii lucreaz,
3

profesorul urmrete corectitudinea folosirii structurilor de date i a


instruciunilor n rezolvarea problemelor.
FI DE LUCRU STRUCTURI DINAMICE DE DATE (STIVE - COZI)
S se realizeze programele C++ pentru urmtoarele probleme:
1.

Realizai un program pentu transformarea unui numr din baza


10 n baza 2. Justificai oral structura dinamic folosit.
Exemplu: pentru n=23 se va afia 10111

2.

La un cabinet medical pacienii intr la consultaie n ordinea


sosirii. Despre fiecare pacient se cunoate numele, anul
naterii, nlimea i greutatea. Realizai un program care s
simuleze nregistrarea pacienilor n lista de ateptare,
modificarea listei dup fiecare consultaie i determinarea n
fiecare moment a numrului pacienilor care ateapt la
consultaie precum i a numrului pacienilor supraponderali
(greutatea 80 Kg i nlimea 1.70 m). Justificai oral
structura dinamic folosit.

Dup ce majoritatea elevilor termin de rezolvat prima problem,


aceasta este discutat la tabl i tot atunci se discuit algoritmul de
rezolvare al celei de-a doua probleme.
4. Obinerea performanei (20 minute):
Pentru obinerea performanei se va discuta modalitatea de rezolvare a
problemelor propuse cu scrierea la tabl a programului.
Problema 1: Se va folosi structura de date de tip stiv pentru pstrarea
numrului n baza 2 i astfel afiarea acestuia se va face corect (de la
ultimul rest obinut spre primul).
#include<iostream.h>
void main()
{ unsigned S[10], r,n;
int b, v, i;
cout<<"introduceti numarul in baza 10= "; cin>>n;
b=-1; v=-1;
while(n>0)
{ r=n%2;
if (b==-1) b=0;
v=v+1;
S[v]=r;
n=n/2;
}
for(i=v;i>=b;i--)
cout<<S[i];
}

Problema 2: Se va folosi structura de date de tip coad pentru pstrarea


pacienilor cabinetului medical. Elementele cozii vor fi de tip articol.
Operaiile realizate asupra structurii vor fi: 1 creare, 2 adugare, 3
eliminare, 4 afiarea numrului de pacieni, 5 - parcurgere cu numrare a
persoanelor supraponderale.
#include<iostream.h>
void main()
{ typedef struct
{ char nume[30];
unsigned an;
float g, h;
} pers;
pers c[30];
int p,u,i,nr,nrs,n,opt;
cout<<"n= "; cin>>n;
p=-1; u=-1;
cout<<"Alegeti: 1-creare, 2-adaugare, 3-eliminare, 4-nr pacienti,
5-nr supraponderali, 6-iesire"<<endl;
do{ cout<<"optiunea= ";cin>>opt;
switch(opt)
{case 1: { if (p==-1) { p=0; cout<<"nume="; cin>>c[p].nume;
cout<<"an nastere="; cin>>c[p].an;
cout<<"greutate=";cin>>c[p].g;
cout<<"inaltime=";cin>>c[p].h;
u=p; nr=1;}
else cout<<"operatie fara sens"<<endl;} break;
case 2: { if (u<n-1) { u=u+1;
cout<<"nume="; cin>>c[u].nume;
cout<<"an nastere="; cin>>c[u].an;
cout<<"greutate=";cin>>c[u].g;
cout<<"inaltime=";cin>>c[u].h;
nr=nr+1;}
else cout<<"coada plina"<<endl;}break;
case 3: { if (p<=u) { cout<<"a fost consultat "<<c[p].nume<<endl;
for (i=p; i<u;i++) c[i]=c[i+1];
u=u-1; nr=nr-1;}
else cout<<"coada vida"<<endl;} break;
case 4: cout<<"numar pacienti= "<<nr<<endl; break;
case 5:{ nrs=0;
for (i=p;i<=u;i++)
if (c[i].g>=80 && c[i].h<=1.70) nrs=nrs+1;
cout<<"supraponderali= "<<nrs<<endl;}break;
case 6: cout<<"terminare program"<<endl;break;
default: cout<<"nu este optiune"<<endl;
}
}while(opt!=6);
}

5. Tema pentru acas (2 minute):


Problema 3 de la pagina 61 din manual.
5

CLASA a XI-a A
STRUCTURI DINAMICE DE DATE
CHESTIONAR
Asociai informaiile din prima coloan cu
considerai corecte din coloana a doua:
1. Ce tip de disciplin respect structura
de tip coad?
2. Care este lista care poate fi utilizat
pentru situaia urmtoare:
Diriginta face lista cu elevii care merg n
excursie astfel nct s-i poat elimina mai
uor pe cei care s-au nscris mai trziu n
cazul n care nu sunt locuri suficiente.

rspunsurile pe care le
a. LIFO
b. FIFO
e.oarecare
f. coada
g.stiva
h.lista circular

a. coad plin
3. Dac este adevrat condiia v<0 atunci b. coad vid
avem cazul particular
c. stiv plin
d. stiv vid
a. adugare n coad
4. Care este rolul secvenei urmtoare
b. eliminare din stiv
for (i=v; i>=b;i--) cout<<S[i]<< ;
c. parcurgere coad
d. parcurgere stiv
5. Care este rolul secvenei urmtoare
a. adugare n coad
if (u==n-1) cout<<imposibil;
b. eliminare din stiv
else { u=u+1;
c. parcurgere coad
cin>> C[u]; }
d. parcurgere stiv
FI DE LUCRU
S se realizeze programele C++ pentru urmtoarele probleme:
1.

Realizai un program pentu transformarea unui numr din baza


10 n baza 2. Justificai oral structura dinamic folosit.
Exemplu: pentru n=23 se va afia 10111

2.

La un cabinet medical pacienii intr la consultaie n ordinea


sosirii. Despre fiecare pacient se cunoate numele, anul
naterii, nlimea i greutatea. Realizai un program care s
simuleze nregistrarea pacienilor n lista de ateptare,
modificarea listei dup fiecare consultaie i determinarea n
fiecare moment a numrului pacienilor care ateapt la
consultaie precum i a numrului pacienilor supraponderali
(greutatea 80 Kg i nlimea 1.70 m). Justificai oral
structura dinamic folosit.
6

S-ar putea să vă placă și