Studierea limbajului pascal

17
Studierea limbajului Pascal Curs de formare continuă CTICE, 2006

Transcript of Studierea limbajului pascal

Page 1: Studierea limbajului pascal

Studierea limbajului Pascal

Curs de formare continuă

CTICE, 2006

Page 2: Studierea limbajului pascal

04/12/23 2

Obiective generale la informatică în clasa a 9-a

Elevul va cunoaşte:

tipurile şi structurile de date, realizarea operaţiilor pe calculator;

instrucţiunile unui limbaj de programare de nivel înalt;

etapele de rezolvare a problemelor pe calculator.

Page 3: Studierea limbajului pascal

04/12/23 3

Elevul va fi capabil

Să înţeleagă noţiunile de mărime, constantă, variabilă;

Să construiască modelul, să elaboreze algoritmul şi programul respectiv destinat soluţionării problemelor propuse;

Să depisteze erorile de programare, să testeze şi să depaneze programele elaborate;

Să analizeze rezultatele obţinute în urma rezolvării problemei pe calculator;

Să selecteze şi să adapteze algoritmi existenţi pentru rezolvarea unor probleme noi.

Page 4: Studierea limbajului pascal

04/12/23 4

Unităţile de conţinut

Unitatea 1. Generalităţi despre algoritmi.

Unitatea 2. Vocabularul şi sintaxa limbajului Pascal

Unitatea 3. Tipuri de date simple Unitatea 4. Instrucţiuni

Page 5: Studierea limbajului pascal

04/12/23 5

Schema didactică

Prezentarea teoretică Aplicarea, inclusiv în cadrul orelor

practice pe calculator Consolidarea Evaluarea.

Page 6: Studierea limbajului pascal

04/12/23 6

Vocabularul şi sintaxa limbajului PASCAL

Metalimbajul BNF.

Diagramele sintactice.

Page 7: Studierea limbajului pascal

04/12/23 7

Page 8: Studierea limbajului pascal

04/12/23 8

Orice program PASCAL constă din lexeme şi separatori!

Lexeme: identificatori, cuvinte-cheie, numere, simboluri speciale, şiruri de caractere, etichete, directive.

Separatori: spaţiu, sfîrşit de linie (tasta Enter), comentariu

Page 9: Studierea limbajului pascal

04/12/23 9

Vocabularul limbajului PASCAL 1. <Literă> ::= 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 2. <Cifră> ::= 0|1|2|3|4|5|6|7|8|9 3. <Simbol special> ::= +|-|*|/|=|<|>|]|[|,|(|)|:|;|^|.|@|{|}|$|#|<=|>=|

<> | := |..| <Cuvînt-cheie> | <Simbol echivalent> 4. <Simbol echivalent> ::= (*|*)|(.|.) 5. <Cuvînt-cheie> ::= and | array | begin | case| const | div |

do | downto | else | end | file | for | function | goto | if | in | label | mod | nil | not | of | or | packed | procedure | program | record | repeat | set | then | to | type | until | var | while |with

6. <Identificator> ::= <Literă> { <Literă> | <Cifră> } 7. <Directivă> ::= <Literă> {<Literă> | <Cifră>}

Page 10: Studierea limbajului pascal

04/12/23 10

Vocabularul limbajului PASCAL 8. <Întreg fără semn> ::= <Cifră> {<Cifră>} 9. <Semn> ::= + | – 10. <Număr întreg> ::= [ <Semn> ] <Întreg fără semn> 11. <Factor scală> ::= <Număr întreg> 12. <Număr real> ::= <Număr întreg> e <Factor scală> |

<Număr întreg>.<Întreg fară semn> [e <Factor scală> ]

13. <Număr> ::= <Număr întreg> | <Număr real> 14. <Şir de caractere> ::= ’<Element şir> { <Element şir> } ’ 15. <Element şir> ::= ’’| <Orice caracter imprimabil> 16. <Etichetă> ::= <Întreg fără semn> 17. <Comentariu> ::= (* <Orice secvenţă de caractere şi sfîrşit

de linie neconţinînd acolade> *)

Page 11: Studierea limbajului pascal

04/12/23 11

Tipuri de date simple (Unitatea 3)

Date — informaţia supusă prelucrării cu ajutorul calculatorului.

1. Semnul “=” are semnificaţia “sînt reprezentate”

2. Săgeţile obişnuite reprezintă o clasificare a datelor din program.

3. Săgeţile duble reprezintă conceptul de dată, realizat în lumbajul Pascal:

1) Fiecare mărime (variabilă sau constantă) în program obligatoriu să asociază cu un anumit tip de date.

2) Tipul unei variabile defineşte mulţimea de valori pe care le poate lua variabila şi operaţiile care pot fi efectuate cu valorile varibilelor şi constantelor

Page 12: Studierea limbajului pascal

04/12/23 12

Mulţimea de valori(în Turbo PASCAL 7.0)

Mulţimea de operaţii Funcţiile predefinite Note!

Tipul de date Integer

-32768 ... 32767 <, <=, >, >=, =, <>+, - , *, div, mod

ord(x), pred(x), succ(x), odd(x), sqr(x), sqrt(x), abs(x), sin(x), cos(x), arctan(x),

exp(x), ln(x)

Erori de depăşire la calcule

Tipul de date Boolean

(false, true) <, <=, >, >=, =, <>or, and, not

ord(x), pred(x), succ(x), Funcţiile rezultatul cărora este de tip boolean: odd(i),

eof(f), eoln(f)

Nu pot fi citite cu READ

(READLN)

Tipul de date Char

Caracterele imprimabile ale codului ASCII

<, <=, >, >=, =, <> ord(x), pred(x), succ(x),upcase(x), funcţia rezultatul căreia

este de tip char: chr(i)

Tipul de date Enumerare

O mulţime ordonată de valori specificate prin identificatori

<, <=, >, >=, =, <> ord(x), pred(x), succ(x), Nu pot fi citite cu READ

(READLN) şi afişate cu WRITE

(WRITELN)

Tipul de date Subdomeniu

O submulţime de valori ale tipului de bază

Operaţii cu tipul de bază

funcţiile specifice tipului de bază

Tipul de date Real

-1,7E-38, ... ,1.7E+38 <, <=, >, >=, =, <>+, - , *, /

sqr(x), sqrt(x), abs(x), sin(x), cos(x), arctan(x), exp(x), ln(x), trunc(x), round(x), frac(x)

Erori de depăşire şi rotunjire

Page 13: Studierea limbajului pascal

04/12/23 13

Formulele metalingvistice <Tipuri> ::= type <Definiţie tip>; { <Definiţie tip>;} <Definiţie tip> ::= <Identificator> = <Tip> <Tip> ::= <Identificator> | <Tip enumerare> |Tip subdomeniu>

|< Tip tablou> | <Tip articol> | <Tip mulţime> |Tip fişier> | < Tip referinţă>

<Tip enumerare> ::= (<Identificator> { , <Identificator>}) <Tip subdomeniu> ::= <Constantă> . . <Constantă> <constante> ::= const <Definiţie constantă>;{<Definiţie

constantă>} <Definiţie constantă> ::=<Identificator> = <Constantă> <Constantă> ::=[+|-]<Număr fără semn> | [+|-]<Nume de

constantă> | <Şir de caractere> <Variabile> ::=var <Declaraţie variabile>;{<Declaraţie

variabile>} <Declaraţie variabile> ::= <Identificator>{,<Identificator>}: <tip>

Page 14: Studierea limbajului pascal

04/12/23 14

<Tip enumerare> ::= (<Identificator> { , <Identificator>}) Ex: type culoare=(rosu,verde,galben);

<Tip subdomeniu> ::= <Constantă> . . <Constantă>

Page 15: Studierea limbajului pascal

04/12/23 15

Instrucţiuni (Unitatea 4) Instrucţiunea de atribuire

<atribuire> ::= <Identificator variabilă> | <nume funcţie> := <expresie>

Se evaluează expresia din dreapta semnului :=1. Variabila din stînga semnului := îşi modifică

valoarea şi devine egală cu valoarea expresiei

Instrucţiunea de apel de procedură

<apel procedură> ::= <nume procedură>[<lista parametri actuali>]

1. Valorile parametrilor actuali şi controlul se transmit subprogramului apelat.

2. Se execută subprogramul apelat3. Controlul revine în locul imediat după apel

Instrucţiunea de salt necondiţionat

<Instrucţiune goto> ::= goto <Etichetă> Controlul se transmite la instrucţiunea specificată cu etichetată respectivă

Instrucţiunea de efect nul

<Instrucţiune de efect nul> ::= Executarea acestei instrucţiuni nu are nici un efect asupra variabilelor programului

Page 16: Studierea limbajului pascal

04/12/23 16

Page 17: Studierea limbajului pascal

04/12/23 17