Sunteți pe pagina 1din 6

Liceul “Ştefan Procopiu” Vaslui Clasa a IX-a A

Profesor: Ciurariu Cristina-Maria Data: 11.05.2017


Disciplina: Informatică

Proiect de lecţie

Unitatea de învăţare: Tipuri structurate de date și algoritmi fundamentali de prelucrare


Tema lecţiei: Vectori. Operația de ștergere.
Tipul lecţiei: comunicare de noi cunoştinţe

Competenţe specifice:
4.1 Transcrierea algoritmilor din pseudocod într-un limbaj de programare
4.2 Identificarea necesităţii structurării datelor în tablouri
4.3 Prelucrarea datelor structurate
4.4 Utilizarea fişierelor text pentru introducerea datelor şi extragerea rezultatelor
4.5 Utilizarea unui mediu de programare (pentru limbajul Pascal sau pentru limbajul C/C++)
Obiective operaţionale:
La finalul lecţiei elevii vor fi capabili
O1: să-și însușească algoritmul de ștergere a unui element dintr-un vector
O2: să analizeze cu atenție fiecare problemă și să utilizeze corect operația de ștergere a unui
element dintr-un vector, precum și celelalte operații (citire, afișare, copiere, căutare)
O3: să înțeleagă exemplele date și să elaboreze corect programe C++ pentru rezolvarea
problemelor propuse
O4: să utilizeze corect noțiunile teoretice însușite
Resurse temporale:
Locul de desfăşurare: sala de clasă
Timpul lecţiei: 50 de minute;
Resurse procedurale:
 Principiile didactice:
- principiul sistematizării şi continuităţii cunoştinţelor
- principiul însuşirii temeinice a cunoştinţelor
 Metode de învăţământ:
- metode de comunicare orală: expunerea, conversaţia, explicaţia;
- metode de acţiune: exerciţiul, problematizarea, învățarea prin descoperire
 Procedee de instruire:
- explicaţia în etape de comunicare;
- învăţarea prin descoperire, prin rezolvarea de aplicaţii;
- problematizarea prin crearea situaţiilor problemă;
- conversația introductivă în etapa de captare a atenției și a reactualizării cunoștințelor
- conversația expozitivă în timpul prezentării noii lecții
- conversaţia de consolidare în etapa de fixare a cunoştinţelor.
Forme de organizare: frontală și individuală
Forme de dirijare: dirijată de profesor sau independentă
Resurse materiale:
- material bibliografic:
Manual de informatică intensiv, clasa a IX-a , varianta C++ Mariana Miloşescu, Editura
Didactică şi Pedagogică, 2004
Informatică Didactica Specialității, Ioan Maxim, Costică Moroșanu, Editura Universității “Al.
I. Cuza” Iași, 2007
- fişa de lucru
- tabla, creta
Metode de evaluare: chestionare orală, set de explicații, observare sistematică a elevilor
Liceul “Ştefan Procopiu” Vaslui Clasa a IX-a A
Profesor: Ciurariu Cristina-Maria Data: 11.05.2017
Disciplina: Informatică

ANEXĂ
Predarea noilor cunoștințe
Vectori. Operația de ștergere.

Problemă: Din fișierul vector.in, de pe prima linie se citește un număr natural nenul n (2<n<50), iar de pe a
doua linie cele n elemente numere întregi ale unui vector.
Să se realizeze eliminarea primului element nul din vector. Afișarea se va face în fișierul vector.out.
Exemplul 1
vector.in vector.out
6 Vectorul initial contine: 12 23 0 15 0 89
12 23 0 15 0 89 Vectorul dupa stergere: 12 23 15 0 89

Exemplul 2
vector.in vector.out
7 Vectorul initial contine: 12 23 0 0 15 0 89
12 23 0 0 15 0 89 Vectorul dupa stergere: 12 23 0 15 0 89

Utilizăm variabila k=poziția pe care se găsește primul element nul, adică indicele
elementului care va fi șters.
Presupunem exemplul 1. Schematic avem:

n=6 elemente la început n=5 elemente după ștergere

i 1 2 3 4 5 6 1 2 3 4 5
12 23 0 15 0 89 12 23 15 0 89
k=3

Se vor deplasa spre stânga cu o poziție toate elementele din dreapta elementului a[k], având
loc atribuirile:
a[3]=a[4];
a[4]=a[5];
a[5]=a[6];
Se observă că i[4,6]. Deci pentru i[k+1,n] are loc atribuirea:
a[ i-1 ]=a[ i ];
Pornim cu i de pe poziția 1 și cât timp mai avem elemente de verificat, dacă valoarea
elementului a[ i ] este nenulă înaintăm în vector, iar dacă este nulă ne poziționăm cu variabila k pe
primul element cu valoare nulă și întrerupem căutarea.
i=1;
while(i<=n)
if(a[i]==0)
{k=i;
break;
}
else
i++;
Algoritmul pentru ștergere este următorul:
for(i=k+1;i<=n;i++)
a[i-1]=a[i];
n ̶ ̶;
Programul C++ pentru rezolvarea problemei este:

#include <fstream>

using namespace std;


ifstream fin("vector.in");
ofstream fout("vector.out");
int main()
{int a[50],n,i,k,j;
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
fout<<"Vectorul initial contine:";
for(i=1;i<=n;i++)
fout<<a[i]<<" ";
i=1;
while(i<=n)
if(a[i]==0)
{
k=i;
break;
}
else
i++;
for(i=k+1;i<=n;i++)
a[i-1]=a[i];
fout<<"\nVectorul dupa stergere:";
for(i=1;i<=n;i++)
fout<<a[i]<<" ";
return 0;
}

Problemele din Fișa de lucru


Problema1 Varianta 1
#include <fstream> //copiem din a in b elementele nenule
m=0;
using namespace std; for(i=1;i<=n;i++)
if(a[i]!=0)
ifstream fin("date.in"); {m++;
ofstream fout("date.out"); b[m]=a[i];
}
int main() //copiem elementele din vect b in vect a
{int a[50], b[50],n,m,i; n=m;
fin>>n; for(i=1;i<=n;i++)
for(i=1;i<=n;i++) a[i]=b[i];
fin>>a[i]; fout<<"\nVectorul dupa stergere:";
fout<<"Vectorul initial contine:"; for(i=1;i<=n;i++)
for(i=1;i<=n;i++) fout<<a[i]<<" ";
fout<<a[i]<<" "; return 0;
}
Problema1 Varianta 2
#include <fstream> i=1;
while(i<=n)
using namespace std; if(a[i]==0)
{
ifstream fin("date.in"); k=i;
ofstream fout("date.out"); for(j=k+1;j<=n;j++)
a[j-1]=a[j];
int main() n--;
{int a[50],n,i,k,j; }
fin>>n; else
for(i=1;i<=n;i++) i++;
fin>>a[i];
fout<<"Vectorul initial contine:"; fout<<"\nVectorul dupa stergere:";
for(i=1;i<=n;i++) for(i=1;i<=n;i++)
fout<<a[i]<<" "; fout<<a[i]<<" ";
return 0;
}
Liceul “Ştefan Procopiu” Vaslui Clasa a IX –a A
Profesor: Ciurariu Cristina-Maria Săptămâna 31
Disciplina: Informatică (8.05.2017 – 12.05.2017)

FIȘĂ DE LUCRU

Unitatea de învăţare: Tipuri structurate de date și algoritmi fundamentali de prelucrare


Tema lecţiei: Vectori. Operația de ștergere.

1. Se citește de pe prima linie a fișierului date.in un număr natural nenul n (2<n<100) şi apoi de
pe a doua cele n elemente numere întregi ale unui vector.
Să se realizeze un program C++ care realizează ștergerea tuturor elementelor nule din vector:
a. utilizând un vector suplimentar
b. fără a utiliza un vector suplimentar
Afişarea se face în fișierul date.out.
Exemplu
date.in date.out
6 Vectorul la inceput: 3 0 5 0 0 25
3 0 5 0 0 25 Vectorul după ștergere nule: 3 5 25

2. Fisierul numere.in contine pe prima linie un număr natural nenul n (2<n<100) iar pe a doua
linie cele n elemente (n<100), numere naturale de maxim 4 cifre, ale unui vector.
Să se realizeze un program C++ care realizează ștergerea unor elemente din vector astfel incât
două elemente alăturate să aibă valori diferite.
Afişarea se face în fișierul numere.out.
Exemplu
numere.in numere.out
8 Vectorul initial: 3 4 4 4 3 3 2 6
34443326 Vectorul după eliminare: 3 4 3 2 6

3. Fisierul vector.in contine pe prima linie un număr natural nenul n (2<n<100) iar pe a doua
linie cele n elemente (n<100), numere naturale de maxim 4 cifre, ale unui vector.
Să se realizeze un program C++ care realizează ștergerea unor elemente din vector astfel încât
două elemente alăturate să aibă paritate diferită.
Afişarea se face în fișierul vector.out.
Exemplu
vector.in vector.out
9 Vectorul initial: 3 4 6 4 3 3 2 6 1
346433261 Vectorul după eliminare: 3 4 3 2 1
Activitate desfăşurată de Evaluare
Momentele Competenţe
lecţiei derivate
Profesor Elev
Organizarea Elevul de serviciu pe clasă
clasei Profesorul verifică prezenţa elevilor raportează absenţii şi motivele
(1 min) absentării
Captarea
atenţiei Profesorul anunţă tema lecţiei, obiectivele urmărite şi modul de desfăşurare a Elevii ascultă profesorul, își
elevilor activităţii. pregătesc caietele şi sunt atenţi
(2 min)
Profesorul realizează reactualizarea cunoștințelor printr-un set de întrebări: Elevii răspund la întrebări
 Care sunt operațiile de prelucrare ale unui vector ?
 Care dintre ele se folosesc cel mai des?
Vectori. Operația de ștergere
Profesorul explică elevilor și schițează pe tablă modul de ștergere a unui
Predarea element din vector pentru a rezolva o problemă dată.
O1
noilor Profesorul antrenează elevii în scrierea algoritmului pentru ștergerea unui Elevii sunt atenţi, notează în
O2
cunoştinţe element din vector și apoi în rezolvarea problemei.(ANEXA). caiete și îndeplinesc sarcinile Orală
O3
(43min) Se solicită elevilor soluţii pentru rezolvarea problemei 1 din fișa de lucru. trasate de profesor
O4
Profesorul solicită unuia dintre aceştia să iasă la tablă, să explice modalitatea 1
de rezolvare (utilizând vectori suplimentari) și să scrie cele mai importante secvenţe
ale programului. Profesorul antrenează elevii în găsirea unei soluții pentru
modalitatea 2 de rezolvare (fără a utiliza vectori suplimentari). Profesorul solicită
unuia dintre aceştia să iasă la tablă, să explice modalitatea de rezolvare.
Profesorul dă indicații pentru rezolvarea problemei 2 din fișa de lucru.
Realizarea Profesorul evidențiază utilitatea operației de ștergere a unui element dintr-un vector
feed-back-
Elevii sunt atenți la aprecierile și
ului și Orală
recomandările făcute de profesor
evaluare
(2 min)
Tema pentru Profesorul solicită elevilor rezolvarea problemelor 2 varianta 2, 3 și 4 din fișa de
acasă lucru. Elevii notează în caiete
(2 min)

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