Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Competene
Competen general :
Identificarea i clasificarea unor tipuri de structuri de
date
Competen specific:
Identificarea i clasificarea unor structuri de date
adecvate rezolvrii unor probleme specifice
Obiective educaionale
Obiective cognitive
s defineasc corect noiunile legate de grafuri neorientate;
s aplice corect noiunile studiate, n aplicaii concrete;
Obiective afective
formarea convingerii ca utilizarea corect a grafurilor neorientate
permite scrierea eficient a programelor;
s se autoevalueze n raport cu obiectivele sau cu clasa;
Obiective psihomotorii
s utilizeze corect noiunile teoretice nsuite
s implementeze algoritmi cu ajutorul grafurilor neorientate
Obiective operaionale:
s-i nsueasc noiunile nod/vrf, muchie, adiacen, inciden, grad,
matrice de adiacen i s le utilizeze corect pentru nelegerea unor
exemple
s analizeze dac se pot aplica aceste noiuni n rezolvarea de probleme
CONINUTUL TIINIFIC AL LECIEI
Definiii:
1) Se numete graf neorientat, o pereche ordonat de mulimi notat G=(V, M) unde:
V: este o mulime finit i nevid, al crei elemente se numesc noduri sau vrfuri;
M: este o mulime, de perechi neordonate de elemente distincte din V, ale crei
elemente se numesc muchii.
2) Dac ntr-un graf neorientat exist muchia m=[x, y], se spune despre nodurile x i y c
sunt adiacente;
3) Se numete graf neorientat o pereche ordonat de mulimi (X, U), X fiind o mulime finit
i nevid de elemente numite noduri sau vrfuri, iar U o mulime de perechi neordonate (
submulimi cu dou elemente) din X, numite muchii.
4) Un graf parial al grafului G=(X,U) este un graf G1=(X,V) astfel nct V inclus n U, adic G1
are aceeai mulime de vrfuri ca G iar mulimea de muchii V este chiar U sau o submulime
a acesteia.
5) Un subgraf al unui graf G=(X,U) este un graf H=(Y,V) astfel nct Y inclus n X iar V
conine toate muchiile din U care au ambele extremiti n Y. Vom spune c subgraful H este
indus sau generat de mulimea de vrfuri Y.
Observaii: 1. Dac gradul unui vrf este zero, vrful respectiv se numeste vrf izolat.
2. Dac gradul unui vrf este unu, vrful respectiv se numeste vrf terminal.
6) Secvena de citire a unei matrice de adiacen
Graf neorientat:
Ex.
2
6
1 +8
3
5
4 7
Fig.1
Graf parial:
Ex. Mai jos avem un graf parial al grafului de mai sus (Fig.1)
2 6
+8
1
5 +3
4
Fig.2
SUBGRAF
Subgraf :
Ex. Mai jos avem un subgraf al grafului din Fig.1 obinut prin eliminarea nodului 3
2 6
+8
1
5
4
DESFURAREA ACTIVITII
Moment organizatoric:
*pregtirea leciei: -realizez proiectul didactic;
-pregtesc setul de ntrebri;
-pregtesc setul de aplicaii;
-pregtesc tema;
*organizarea si pregtirea clasei:
-verific frecvena
-captarea ateniei clasei:
- anun subiectul pentru tema respectiva si
obiectivele urmrite;
- anun modul de desfurare a activitii
Reactualizarea cunotinelor
NR INTREBARE RASPUNS ASTEPTAT
1 Din punct de vedere al unui Din punct de vedere al unui programator, memoria unui calculator
programator, cum se se reprezint sub forma unei succesiuni de octei.
reprezint memoria unui
calculator?
2 Definii o variabil pointer? O variabil pointer este o variabil care are capacitatea de a reine
adresa unei locaii de memorie; variabilele obinuite reineau
coninutul unor locaii de memorie.
3 Care este efectul urmtoarei
secvene de program: -p1 este o variabil, de tipul pointer spre intreg, care are
int p1; capacitatea de a reine adrese de variabile de tipul ntreg
2) Dac ntr-un graf neorientat exist muchia m=[x, y], se spune despre nodurile x i y c
sunt adiacente;
Exemplu exist muchia [1,2], nodurile 1, 2 sunt adiacente
1
4
3 3
3) Dac m1 i m2 sunt dou muchii ale aceluiai graf, se numesc incidente dac au o
extremitate comun; Exemplu: m1=[x,y] i m2=[y,z] sunt incidente
#include<iostream>
using namespace std;
int a[10][10];
int i, j, n;
bool ok;
{- a determina gradul varfului i, inseamna a determina numarul elementelor
care au valoarea 1 si se gasesc pe linia i in matricea de adiacenta}
int main(){
cout<<Dati ordinul matricei de adiacenta);cin>>n;
for( i=1;i<=n-1;i++) {se citesc toate valorile elementelor}
for( j=i+1;j<=n;j++) {de deasupra diagonalei principale}
{si se transfera si sub diagonala principala}
cout<<a[<<i<<][<<j<<];
cin>>a[i][j];
a[j][i]=a[i][j];{matricea de adiacenta este simetrica fata de diagonala}
{principala}
for (i=1;i<=n;i++)
cout<<varful << i<< are gradul<< grad(i);
}
Dirijarea nvrii pentru obinerea
performanei