Sunteți pe pagina 1din 14

Proiect didactic clasa a IX-a

Data:
Clasa: a IX-a B
Profesorul: Catan Mariana
Unitatea de învăţare: Metode de descriere a limbajelor. Vocabularul şi sintaxa unui limbaj de programare de nivel înalt.
Subiectul: Alfabetul limbajului. Vocabularul limbajului. Unităţi lexicale.
Tipul lecţiei: predare-învăţare
Nivelul iniţial al clasei (cunoștinţe și deprinderi preliminare):
 elevii cunosc simbolurile metalimbajului BNF;
 elevii elaborează algoritme de rezolvare a exerciţiilor matematice.
 elevii creează diagrame sintactice.
Competenţe specifice:
CS1 - Formarea unei viziuni ştiinţifice asupra componentei informatice în societatea contemporană;
CS4 - Elaborarea modelelor informatice a obiectelor, sistemelor şi proceselor frecvent întâlnite în activitatea cotidiană;
CS5 - Aplicarea metodelor de algoritmizare, de formalizare, de analiză, de sinteză şi de programare pentru soluţionarea problemelor legate de
prelucrarea automatizată a informaţiei;
Competente derivate:
SD1 - Identificarea unităţilor lexicale ale limbajului de programare de nivel înalt.
SD2 - Utilizarea formulelor BNF şi diagramelor sintactice pentru verificarea corectitudinii textelor şi unităţilor lexicale;
SD3 - Aplicarea regulilor de formare a identificatorilor, şirurilor, numerelor, comentariilor.

Obiectivele operaţionale:
O1. Să definească termenii unități lexicale, factor scală, programe-pilot, comentarii;
O2. Să identifice simbolurile speciale a vocabularului limbajului Turbo Pascal;
O3.Să exemplifice diferite tipuri de identificatori, numere, separatori;
O4. Să scrie formule metalingvistice ;
O5. Să deseneze diagramele sintactice corespunzătoare formulelor metalingvistice propuse.
Strategii didactice:
1. Metode si procedee didactice:
M1 – expunerea
M2 – conversaţia
M3 – studiul de caz
M4 – exerciţiu
M5 – conspecte de reper
M6 – ilustrarea
M7 – lucrul cu izvoarele
2. Forme de dirijare a învăţării: învăţare prin proiectare şi reciprocă dirijată de profesor
3. Forme de organizare: frontală
4. Resurse materiale:
A. Gremalschi, I.Mocanu, I Spinei „Limbajul Pascal”, manual, cl. IX-XI;
Curriculum disciplinar.

5. Mijloace de evaluare: întrebări orale, rezolvarea exerciţiilor


6. Mijloace de invăţămînt: planse, probleme model
SCENARIUL LECŢIEI:
Evenimentul
Etapa Activitatea profesorului Conţinutul Activitatea elevilor
instrucţional
1. Momentul Salut elevii.Fac apelul, creez o atmosferă Salută profesorul. Se pregătesc
organizatoric plăcută pentru a începe o lecţie nouă. de leţie, inclusiv şi rechizitele
2. Actualizarea Evocare Verific cunoştinţele Prin formulă metalingvistică vom înţelege o construcţie formată din 2 părţi: stînga şi dreapta,
cunoştinţelor elevilor şi tema de acasă cu ajutorul separate prin simbolul „::=” ce are semnificaţia egal prin definiţie. În partea stîn-gă a
următoarelor întrebări: formulei se găseşte un simbol neterminal, iar în partea dreaptă – simboluri terminale separate
- noțiunea de formulă metalingvistică; prin anumite simboluri specifice cu o anumită semnificaţie.
-să enumere simbolurile care sunt
utilizate de metalimbajul BNF; Metalimbajul BNF utilizează urmtoarele simboluri:
- simbolurile terminale – adică simbolurile ce apar exact
la fel şi în programul Pascal; Răspund la întrebările puse de
- simbolurile neterminale– are desemnează unităţile (construcţiile) gramaticale către profesor.
ale limbaj.

De exemplu, cifrele 0, 1, 2, 3, ..., 9; literele A, B, C, D, ..., Z sunt simboluri terminale.


Simbolurile neterminale se scriu între semnmele „<” şi „>”, de exemplu <cifra>, <litera> sunt
simboluri neterminale.

Anunţ tema nouă şi obiectivele ei. Tema lecţiei de astăzi este: „Alfabetul limbajului. Vocabularul limbajului. Unităţi lexicale.”
3. Anunţarea Obiectivele lecţiei sunt:
temei şi O1. Să definească termenii unități lexicale, factor scală, programe-pilot, comentarii;
obiectivelor O2. Să identifice simbolurile speciale a vocabularului limbajului Turbo Pascal; Notează tema în caiete,
O3.Să exemplifice diferite tipuri de identificatori, numere, separatori; respectiv şi obiectivele lecţiei.
O4. Să scrie formule metalingvistice ;
O5. Să deseneze diagramele sintactice corespunzătoare formulelor metalingvistice propuse.

Explicare Propun elevilor spre studiere alfabetul Alfabetul limbajului PASCAL este format din următoarele caractere ale codului ASCII Asimilează preponderent infor-
4. Comunicarea limbajului. (American Standard Code for Information Interchange): maţia, notînd în caiete definiţiile
noilor  cifre zecimale; expuse de profesor.
cunoştinţe  literele mari și mici ale alfabetului englez;
 semnele de punctuație;
 operatorii aritmetici și logici;
 carecterele control și editare (spațiu, sfîrșit de linie sau retur de car etc.).
În unele construcții ale limbajului pot fi folosite și literele alfabetelor naționale , de exemplu
literele ă, â, î, ș, ț ale alfabetului român.

Cele mai simple elemente, alcătuite din caractere și înzestrate cu semnificație lingvistică, se
numesc lexeme sau unități lexicale. Acestea formează vocabularul limbajului PASCAL.
Definesc noțiunea de lexemă sau unitate
lexicală. Distingem următoarele unități lexicale;
 simboluri speciale și cuvinte cheieș
 identificatorii;
 numere;
Explic elevilor din ce este compus  șiruri de caractere; Analizează infor-maţia şi scriu
vocabularul limbajului Turbo Pascal.  etichete; în conspecte
 directive.

Simboluri speciale și cuvinte-cheie

Simbolurile speciale sunt formate din unul sau două caractere:


Descriu lexemele din care este compus
vocabularul și exemplific. + plus < mai mic
- minus > mai mare
* asterisc [ paranteză pătrată la st.
/ bară ] paranteză pătrată la dr.
Ca exemplu prezint elevilor cîteva = egal ( paranteză rotundă din st .
formule metalingvistice pe care şi le , virgulă ) paranteză rotundă din dr
descrie. : două puncte ; punct și virgulă
. punct ^ accent circumflex
@ la $ dolar
{ acoladă din stânga <= mai mic sau egal
} acoladă din dreapta >= mai mare sau egal
# număr := atribuire
.. puncte de suspensie <> neegal
(* echivalent acoladei { (. echivalent parantezei [
*) echivalent acoladei } ). echivalent parantezei ]

Menționăm că dacă un simbol special este alcătuit din două caractere, de exemplu <= sau := ,
între ele nu trebuie să apară niciun spațiuintermediar.

Urmăresc exemplele
Cuvintele- cheie sînt formate din două sau mai multe litere:
notîndu-le în caiet
Propun spre studiere cuvinetele –
And și Nil zero
cheie.Exemplific
Array tablou Not nu
Begin început Of din
Case caz Or sau
Const constante Packed împachetat
Div cîtul împărțirii Type tipul
Do execută To la
Downto în descreștere la Then atunci
Else altfel Until pînă ce
End sfîrșit Var variabile
File fișier While cît
For pentru With cu
Function funcție Set mulțime
Goto treci la Repeat repetare

Cuvintele- cheie sînt rezervate și nu pot fi folosite în alt scop decît cele dat prin definiția
limbajului.
Definesc unitățile lexicale:
<Simbol special> <Simbol special>::= + | * | / | = | < | > |] | [ | , | ( | ) | : | ; | ^ | . | @ | { | } | $ | # | <= | >= | <> | :=
<Simbol echivalent> | .. |<Cuvânt-cheie>|<Simbol echivalent>
<Cuvînt –cheie>
cu ajutorul formulelor BNF. <Simbol echivalent>::=(* | *) | (. | .)

<Cuvânt-cheie>::= and |array | begin | case | const | div|


do | goto | if | in | label | var | while | with Urmăresc şi analizează
cu atenţie explicaţiile
profesorului.
Identificatorii sunt unitîți lexicale care desemnează variabile, constant, funcții, programe.
Descriu unitatea lexicalâ: identificatorii Un identificator începe cu o literă, care poate fi urmată de orice combinație de lietere și cifre.
Lungimea identificatorilor nu este limitată, dar sînt semnificative doar primele 63 de
caractere.
<Cifra>::=0|1|2|3|4|5|6|7|8|9
Amintesc formulele BNF care definesc
unitatea lexicală <Identificator> : <Litera>::=a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z

<Identificator>::=<Litera>{<Litera><Cifra>}

Exemple de identificatori:

1. x 6. z01b
2. y 7. lista
3. z 8. listaelevilor Proiectează în caiet
4. x1 9. listatelefoanelor
5. y10 10. registru

În construcțiile gramaticale ale limbajului Pascal, cu excepția șirurilor de caractere, literele


mari și mici se consideră echivalente. Prin urmare sunt echivalenți și identificatorii:
1. x și X
2. y și Y
3. z și Z1
4. x1 și X1
5. lista, Lista, Lista, ListA, LISTa.

Menționăm că în construcțiile de bază ale limbajului PASCAL nu se utilizează literele ă, î, â,


ș, ț ale alfabetului român. Așadar în scrierea identificatorilor semnele diacritice respective vor
fi omise.

1. Suprafata
2. Numar
3. NumarElevi
4. Patrat
5. SirDeCaractere

Numerele pot fi întregi sau reale. În mod obișnuit, se folosește sistemul zecimal de
numerație.

Exemple de numere întregi:

Descriu unitatea lexicală : Numere. 23 00318


318 -1996
1996 +001996
-0023 -318
-23 -0001996
+1996 -000199

În cazul numerelor reale,partea fracționară se separă de partea întreagă prin punct. Punctul
zecimal trebuie să fie precedat și urmat de cel puțin o cifră zecimală.

Exemple de numere reale:


3.1415 0.0001
-3.04 -256.19
+0.0001 +3.12421
+3.04 283.19
-0.0001 28.17
6.28 63906.734

În scrierea numerelor reale se poate utiliza și un factor de scală. Acesta este un număr întreg
precedat de litera e (sau E), care indică că numărul urmat de factorul de scală se înmulțește cu
10 la puterea respectivă.

Exemple:
8.12E-5
749.512E+8
-0.0823E-12
3250.4E06
3.421E16

Șirurile de caractere sînt șiruri de caractere imprimabile, delimitate de apostrof. În șirul de


caractere apostroful apare dublat. Accentuăm că în cazul șirurilor de caractere literele mari și
mici apar drept caractere distincte.

Exemple:
Descriu unitatealexicală: 1. 'Variabila x'
Șiruri de caractere. 2. ‘Calculul aproximativ’
3. ‘Apostroful’ ‘ este dublat’

Spre deosebire de alte unități lexicale ale limbajului PASCAL, în șirurile de caractere pot fi
utilizate și literele ă, î, â, ș, ț ale alfabetului romîn. În acest scop e necesar ca pe calculatorul
la care lucrație sî fie instalate programele-pilot ce asigură introducerea, afișarea și
imprimarea literelor date.

Exemple:
1.’ Șir de caractere’
2. ‘Limba engleză’
3. ‘Suprafață’
4. ‘Număr încărcări’

1.Etichetele suntnumere întregi fără semn din domeniul 0,1, ..., 9999 și se utilizează pentru a
marca instrucțiunile limbajului PASCAL.

Exemple:

1 100 999 582 1004

Descriu unitățile lexicale: Evident, formula BNF care definește unitatea lexicală în studiu are forma:
1.Etichete <Etichetă>::=<Întreg fără semn>
2.Directive
3.Separatori
2. Unitatea lexicală <Directivă >se definește exact ca identificatorul:

<Directivă>::=<Literă>{<Literă>|<Cifră>}

Efectiv, directivele sunt cuvinte rezervate care au o semnificație special. Limbajul- standard
conține o singură directivă:
forward
Aceasta se folosește la descrierea unor procedure și funcții definitede utilizator.

3.Orice program PASCAL constă din lexeme și separatori. Separatorii folosiți în limbaj sînt
spațiul de linie și comentariul.

Exemple:
1. x div y
2. not x
3. begin
writeln (x);
writeln(y);
end.

În lipsa separatorilor, la scrierea consecutivă a identificatorilor, a cuvintelor-cheie, a


numerelor fără semn și a directivelor, începutul unei entități lexicale ar putea fi interpretat în
unele cazuri drept o continuare a celei precedente.
În particular construcția “ x div y” din primul exemplu comunică calculatorului “împarte
valoarea variabilei x la valoarea variabilei y”. Însă , în lipsa spațiilor de separare , construcția
“xdivy” va fi interpretată ca un identificator.

Comentariile sînt secvențele de caractere precedate de {și urmate de}.

Exemple:
1. {Program elaborat de Radu Ion}
2.{Introducerea datelor initiale}

Comentariile nu influențiază în niciun fel derularea programelor PASCAL, și se utilizează


pentru a include în ele unele precizări, explicații, informații suplimentare.

Accentuăm că utilizarea rațională a comentariilor, spațiilor și retururilor de car asigură scrierea


unor programe lizibile.
unde x1, x2,..., xn pot fi
simbo-
Realizarea Pentru a asimila mai bine cele predate se1. Care este diferența dintre caractere și simboluri? Elevii propun idei proprii şi
5. Fixarea noilor sensului propune spre realizare cîteva exerciții. participă la construcţia
cunoştinţe 2. Care din secvențele propuse sunt conform definiției unității lexicale <Identificator>? diagramelor, în acelaşi timp
a) x1 e) abc notînd în conspect.
b)1x f) Luna
c)xy g) 20.10.2011
d) B-1 h) I1j

3. Desnați diagramele sintactice pentru unitățile gramaticale <Cifră>, <Identificator>.

Rezolvă elevii împreună cu


profesorul la tablă.

4. Care din secvențele de caractere ce urmează sînt conforme definiției unității lexicale
<Număr întreg>?
a) 418 e)24693.
b)0-418 f)-621
c)621+ g)+62.1 Rezolvă împreună cu
d)32,14 h)-00621 profesorul.

5. Care din secvențele ce urmează sînt conform definiției unității lexicale <Șir de
caractere>:
a)’ Număr întreg e) ‘Anul 1997’
b’)Sfîrșitul programulu’i f) ‘Anul ‘97’
c)’APOSTROF ‘ g) ‘Lista telefoanelor’
d) ’’ x ‘’ h) ‘’’

6. Care din scevențele de mai jos sînt conforme definiției unitățiii lexicale <Număr real>?
a) 3.14 f) 591328
b) .000382 g) 591328e-3
c) 1961. h) 0.000314E4
d) 2541e +2 j) 0,618284e00
e)281.3 i) 28131E-2

Propun întrebări elevilor pentru a Întrebările propuse: Elevii răspund la întrebările


6. Concluzii. verifica cunoștințele accumulate pe  Cîte tipuri de numere conține vocabularul limbajului? propuse de profesor
Realizarea parcursul lecției date  Dați exemple de simboluri-speciale și cuvinte-cheie ?
 Ce numim factor scală ?
feedback-ului.
 Ce directivă conține limbajul PASCAL?
Notarea elevilor.  Dați exemple de separatori întîlniți des în limbajul PASCAL?

7. Tema pentru Indică elevilor să studie-ze tema şi De studiat temele „Alfabetul limbajului”, Notează tema
Extindere exerciţiile pentru acasă ; „Vocabularul limbajului”,
acasă

Limbajul Pascal

Pascal a fost dezvoltat de elvețianul Niklaus Wirth în 1970.


Unul din marile sale avantaje este asemănarea cu limbajul natural (pseudocod).
Pascal este bazat pe limbajul Algol și a fost denumit astfel în onoarea matematicianului
Blaise Pascal (care a construit primele mașini de calcul numeric).
Cele mai populare implementări ale acestui limbaj au fost
- Turbo Pascal și Borland Pascal (ale firmei Borland)
- versiuni destinate programării vizuale (mediul de dezvoltare Delphi)

Alfabetul limbajului Pascal

- alcãtuit dintr-o mulţime de simboluri


- litere mici / mari ale alfabetului englez: a, ..., z, A, ..., Z
- cifre zecimale 0, 1, 2, ... , 9

- semne de punctuaţie şi semne speciale (unele simboluri constituie


operatori în cadrul expresiilor)
+ - * / ; < > = : ^ { } . , (* *) _ (underscore)

Vocabularul limbajului Pascal


- este alcãtuit din atomi lexicali:
identificatori
cuvinte cheie
simboluri speciale
operatori
Identificatori
= nume de programe, variabile, constante, proceduri, functii, etc.
= sequences of letters, digits, and underscores. The first character must not be a digit.
Ex: program_1, a0, S
Exemple de identificatori care nu sunt acceptaţi: x..a, a&b, &a
Cuvinte cheie
ARRAY FOR PROCEDURE BEGIN IF RECORD REPEAT CASE IN
RETURN THEN CONST DIV TYPE DO MOD UNTIL ELSE VAR NIL
WHILE END OR
Simboluri speciale
comentarii
(*
comentariu pe linii
multiple
*)
Sau { }
separatori ; blanc
Operatori
Operatori – combinaţii de semne speciale care aratã modalitatea de prelucrare sau
atribuire a valorilor.
2
Clasificarea operatorilor după tipul de date
a) Pentru datele numerice (integer, real, byte, word)
( ) grupează expresiile
+,- adunare și scădere
*,/ înmulțire și împărțire (împărțirea cu virgulă se face în numere reale)
mod returnează restul impartirii (este valabil doar pentru numare întregi)
div returnează câtul (se aplica doar numerelor întregi)
Operatori relaționali
< mai mic
> mai mare
= Egal
<> diferit
<= mai mic sau egal
>= mai mare sau egal
b) Pentru datele de tip șir de caractere (string)
+ concatenarea a două șiruri
Operatori relaționali
<,> mai mare sau mai mic, pe baza ordinii lexicografice în funcție de codurile ASCII
= cele două șiruri sunt identice
Operatorii logici
- negaţie logicã ( not)
- şi logic (operand1 and operand2)
3
- sau logic (operand1 or operand2)
- sau exclusive XOR
x Y not x x and y x or y
11011
10001
01101
00100
Tabelul 1.operatori logici
Operatorii logici au prioritate mai micã decât operatorii relaţionali :
x <= y and y >z este echivalent cu
( x <= y) and ( y >z )

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