Sunteți pe pagina 1din 18

Clasa:a XI-a

Data: 15.02.2005
Profesor: Cimpoeru Simona
Obiectul: Informatic
Tema: Liste liniare simplu nlnuite
alocate dinamic
Tipul lectiei: Transmitere de noi
cunotine

Obiective generale:
-Modul de folosire a variabilelor
dinamice n cadrul programelor ;
-Avantajele folosirii variabilelor
dinamice ;

Obiective operaionale:
-Cunoaterea modului de declarare a
unei liste;
-Cum se realizeaz legatura dintre
nodurile listei;
-Crearea unei liste prin adaugare la
dreapta de noduri;
-Adaugare la stnga de noduri;
-Parcurgerea unei liste simplu nlanuite;

Metode i procedee didactice:


Studiul de caz ; Observaia ;
Descoperirea dirijat;
Conversaia; Explicaia;
Problematizarea;
Material didactic utilizat:
Manual Informatica clasa a XI-a
editura Niculescu

Trezirea ateniei elevilor


pentru noua lectie
Legtura cu leciile
anterioare

Profesorul recapituleaz
noiunea de pointer i
variabil dinamic,
diferentele dintre variabilele
dinamice i cele
statice,folosind urmtorul
exemplu:
Var a:integer; x,y:^integer
Care din urmtoarele
atribuiri sunt corecte: a)
x:=a; b) y^:=x^;c) x:=a^;
d) y:=@a; e) x^:=2, y:=

Anunarea leciei noi i


a obiectivelor
operaionale
Conducerea nvrii

Scrie pe tabl titlul


leciei : Liste liniare
Comunic i afieaz
obiectivele leciei
Profesorul prezint cum
se pot declara pointeri
ctre tipul inregistrare,
prezint termenul de
list liniar alocata
dinamic,

Aprofundarea cunostintelor

Profesorul prezint tipurile


de liste liniare alocate
dinamic, precum i
operaiile care se pot realiza
cu liste
.Se prezint elevilor modul
de crearea i parcurgere a
unei liste a unei liste simplu
nlnuite alocate dinamic
de numere ntregi.

Tem pentru acasa

S se creeze o list
liniar simplu nlnuit
cu elemente dintr-un
fiier.S se afieze n alt
fiier elementele prime
din list.

Listele liniare sunt de dou tipuri :


alocate static(vectorii)
alocate dinamic

Pentru a nelege noiunea de list liniar alocat


dinamic, plecm de la urmtoarea observaie:
Pn acum am folosit numai pointeri ctre tipuri de
date predefinite(integer,real), dar putem declara i
pointeri ctre alte tipuri de date definite de
utilizator, de exemplu ctre tipul nregistrare.
Putem declara pointeri ctre tipuri de date
nedefinite nc, dar care vor fi definite imediat dup
aceea

Exemplu:
Type
P_Elev=^Elev;

Elev=record

Nume:string;

Media:real;

Urm:P_Elev;

End;

Var x:
P_Elev;

-unde x este
pointer ctre tipul
Elev, adic conine
adresa unei
variabile de tipul
Elev
- x^ este variabila
de tipul Elev care
se gseste la
adresa x.
Cmpurile unei
variabile de tip
elev sunt
:x^.nume,
x^.media,
x^.urm

Astfel putem s alctuim o lista de


elevi care se va numi list liniar
simplu nlnuit, pentru c
legturile dintre elevi sunt liniare i
ntr-un singur sens.

Obs: Zona de memorie rezervat


fiecrui elev se numete nod sau
celul. Fiecare nod conine numele i
media unui elev precum i adresa
urmtorului nod din list.

Exist mai multe tipuri de


liste:
Liste liniare simplu nlnuite
Liste liniare dublu nlnuite
Liste circulare
Stive
Cozi

Exemplu:
Type Lista=^Nod;
Nod=record
Info:
integer;
Urm:Lista;
End;
Var
prim,ultim:Lista;

-unde prim si
ultim sunt
pointeri ctre
tipul Nod, adic
conine adresa
unei variabile de
tipul Nod
- prim si ultim
conin adresa
primului
respective a
ultimului nod din
lista
- prim^ i ultim^
sunt variabile de
tipul Nod

Profesorul
propune tema
elevilor:
S se creeze o
list liniar simplu
nlnuit cu
elemente dintr-un
fiier. S se
afieze n alt fiier
elementele prime
din list.

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