Professional Documents
Culture Documents
Proiect Didactic Bubble Sort
Proiect Didactic Bubble Sort
Competenţe generale 1. Identificarea datelor care intervin într-o problemă şi aplicarea algoritmilor fundamentali de prelucrare a acestora
2. Elaborarea algoritmilor de rezolvare a problemelor cu ajutorul vectorilor
3. Aplicarea algoritmilor fundamentali în prelucrarea vectorilor şi anume algoritmii de sortare.
Competenţe specifice: 3.1 Analizarea enunţului unei probleme: identificarea datele de intrare şi a datele de ieşire (cu specificarea tipul datelor
şi a relaţiilor existente între date) şi stabilirea paşilor de rezolvare a problemei.
3.2 Reprezentarea algoritmilor de sortare
3.3 Respectarea principiilor programării structurate în procesul de elaborare a algoritmilor.
Obiective operaţionale :
Informative Formative Afective
Elevii vor fi capabili: Elevii vor şti: Elevii vor putea:
- să facă diferenţa dintre metodele de sortare - să aplice sortarea prin interschimbare - să decidă asupra folosirii uneia dintre
cunoscute - sa testeze algoritmii de sortare; metodele de sortare cunoscute.
- să analizeze enunţul unei probleme şi să
identifice paşii de rezolvare;
- să respecte principiile programării structurate ;
Metode şi procedee didactice: Conversaţia euristică; Mijloace de învăţare: Fişe de lucru; Caietul de notițe,
Algoritmizarea; Probleme model, pachetul GSuite.
Explicaţia;
Demonstraţia;
Rezolvarea de probleme.
Material bibliografic: - Informatica.Profilul Real,Varianta C++ Manual pentru clasa aIX-a, autor Tudor Sorin,editura L&S Infomat,2004
- Caiet de laborator pentru clasa a X-a Profilul Real, autor: Carmen Minca, Editura L&S Infomat 2009
- www.pbinfo.ro
-Informatică.Profilul Real, Manual pentru clasa a X-a, autori Mioara Gheorghe, Constanţa Năstase, Monica
Tătărâm, Editura Corint, 2005
1
DESFĂŞURAREA LECŢIEI:
3 8 12 41 1 10 5
3 8 12 1 41 10 5
3 8 12 1 10 41 5
3 8 12 1 10 5 41
După a doua parcurgere :
3 8 1 12 10 5 41
3 8 1 10 12 5 41
3 8 1 10 5 12 41
3 1 8 5 10 12 41
După a patra parcurgere :
1 3 8 5 10 12 41
1 3 5 8 10 12 41
După a cincea parcurgere nu se mai fac inversări:
1 3 5 8 10 12 41
şi acesta este vectorul sortat crescător.
Algoritmul pseudocod este următorul
Se citeste dimensiunea vectorului precum si vectorul v
gasit=1 // presupunem că vectorul nu este sortat
cât timp (gasit=1) execută //cât timp vectorul nu este sortat
gasit=0 // presupunem că vectorul este sortat
pentru i=1,n-1 execută
dacă (v[i]>v[i+1]) atunci
// dacă există perechi de elemente pe poziții
consecutive care nu sunt în ordinea dorită se interschimbă
aux=v[i]
v[i]=v[i+1]
v[i+1]=aux
gasit=1 //ținem minte că s-a realizat o
interschimbare în vector
sfârșit dacă
sfârșit pentru
sfârșit cât timp
Algoritmul se redactează pe Jamboard și se puncteză pașii
importanți ai acestuia prin comentarii atât verbale cât și pe
tablă.
Pe Jamboard-ul partajat se realizează următorul
program:
#include<iostream.h>
void main()
{
int v[100],n,i,gasit,aux;
cout<<"n=";cin>>n;
4
for(i=1;i<=n;i++)
{
cout<<"v["<<i<<"]=";
cin>>v[i];
}
do
{gasit=0;
for(i=1;i<n;i++)
if(v[i]>v[i+1])
{
aux=v[i];
v[i]=v[i+1];
v[i+1]=aux;
gasit=1;
}
}while(gasit!=0);
for(i=1;i<=n;i++)cout<<v[i]<<" ";
}
Consolidarea noilor 15’ Prezintă spre rezolvare următoarele probleme: Sunt atenţi la Frontală
cunoştinţe 1. Considerăm un vector v cu n=2p (n<40, n număr par) precizările
numere naturale strict pozitive. Creaţi un şir de p fracţii profesorului şi îşi Individual
astfel încât suma lor să fie maximă şi le afişaţi. notează în caiete.
Exemplu: Rezolvă în caiete și
pe propriile
2 30 5 12 7 1 100 8 calculatoare
Se va afişa: sarcinile.
100/1 30/2 12/5 8/7
Elevii vor descoperi cu ajutorul profesorului că fracţia Pentru fiecare
maximă din vector este max/min. aplicaţie un elev
Pentru a rezolva se va ordona descrescător vectorul : partajează Code
100 30 12 8 7 5 2 1 Blocks-ul, realizează
apoi se va scrie programul: implementarea si se
#include<iostream.h> discută soluţia cu
void main() ceilalti elevi din
{int v[40],p,n,i,aux,gasit; clasa.
cout<<"dati numarul de fractii";cin>>p; n=2*p;
cout<<"Dati numai numere naturale strict pozitive";
5
for(i=1;i<=n;i++)
{cout<<"v["<<i<<"]=";cin>>v[i];}
do{gasit=0;
for(i=1;i<n;i++)
if(v[i]<v[i+1])
{aux=v[i];v[i]=v[i+1];v[i+1]=aux; gasit=1;}
}while(gasit!=0);
for(i=1;i<=p;i++)cout<<v[i]<<"/"<<v[n+1-i]<<endl;}
2’ Întreabă elevii despre noţiunile învăţate în ora respectivă: Răspund la Frontală
Feed-back diferenţa şi asemănarea dintre cele două metode de sortare întrebările Conversaţie
învăţate. profesorului