Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» INTRODUCERE IN PROGRAMARE


INTRODUCERE IN PROGRAMARE


INTRODUCERE IN PROGRAMARE

O problema poate fi rezolvata cu ajutorul calculatorului, daca acesta este invatat sa "gandeasca" cum sa rezolve problema. Acest lucru se poate face numai prin introducerea spre executie in calculator a unei insiruiri de instructiuni si comenzi ce formeaza un program. Acesta poate fi realizat in unul din limbajele existente: Pascal, Basic, Qbasic, Dbase, FoxPro, C++, limbaje visuale, etc.

Def Se numeste limbaj de programare, un pachet de programe software care are rol de a efectua anumite operatii descrise cu ajutorul unor cuvinte cheie, instructiuni, comenzi.

Un limbaj de programare detine o sintaxa si morfologie proprie.



Pentru a realiza un program este necesar sa cunoastem "ce trebuie sa faca programul" (unde se ajunge), sa cunoastem si sa stabilim care din solutii (mod de rezolvare) este mai optim si deci care este setul minim de variabile pentru rezolvare.

Strategia abordata pentru rezolvarea problemei propuse reprezinta intr-un studiu amanuntit, parcurgerea pas cu pas a gandirii logice umane. Pentru rezolvarea problemei acest lucru nu este decat algoritmul (analiza) problemei propuse.

Transpunerea acestuia cu ajutorul unor simboluri grafice reprezinta obtinerea schemei logice a analizei, acesta nu depinde de limbajul de programare utilizat!

Simboluri grafice utilizate in scheme logice (algoritmi):

Bloc de pornire

START

Bloc de oprire temporara


STOP

Bloc de sfarsit fizic


END

Bloc de introducere date


IN A,B,C


Bloc de iesire date


OUT D,E

Bloc calcul


A = C + B

Datorita faptului ca scheme logice se pot intinde pe o suprafata mai mare decat o pagina se utilizeaza frecvent conectorii, acestia reprezinta legaturi intre doua portiuni de algoritm.


A A 1 2

Pentru realizarea algoritmilor ciclici, se utilizeaza blocul decizional (de conditie), in acesta se va specifica o singura conditie, va avea doua iesiri: DA si NU.

DA NU

A < 0

OBS. In cadrul blocurilor sechemei logice se va realiza o singura operatie / bloc.

Algoritmii se impart in doua tipuri distincte:

algoritmi liniari - ramificati sau simpli, acestia vor fi parcursi la rulare o singura data pentru a obtine rezultatul;

algoritmi ciclici - acestia formeaza cu ajutorul blocurilor de conditie bucle (cicluri) ce se vor parcurge de nu numar bine determinat de ori;

TURBO PASCAL

Structura general a unui program pascal:

program nume_program;

uses unitate 1, unitate 2;

label eticheta 1, eticheta 2;

const

indentificator 1 = constanta 1;

indentificator 2 = constanta 2;

variabila initiala 1 = constanta 1;

variabila initiala 2 = constanta 2;

type

nume tip 1 = tip 1;

nume tip 2 = tip 2;

var

var1: tip1;

var2: tip2;

declaratii de proceduri si functii

----- ----- --------- ----- -----

----- ----- --------- ----- -----

begin

instructiune 1;

begin

instructiune a;

instructiune b;

end;

instructiune 2;

end

In prima linie a programului se defineste numele acestuia. Clauza uses este optionala. Aici pot aparea numele tuturor unit-urilor folosite in program. Urmeaza un bloc format din 6 sectiuni care contin diferite declaratii si definitii (label, const, type, var, procedure, function), precum si partea de instructiuni cuprinsa intre begin si end. Declaratiile si definitiile sunt optionale, iar numarul si ordinea lor este arbitrara.

Sectiunea label declara toate etichetele utilizate in program. Sectiunea const defineste constantele si declara variabilele initiale ale programului. Sectiunea type defineste tipurile de date utilizate. Sectiunea var contine declararea variabilelor din program.

Procedurile si functiile sunt subprograme care se apeleaza din programul principal. Sectiunea de program principal incepe cu, cuvantul cheie begin, contine un pachet de instructiuni si se termina cu, cuvantul cheie end urmat obligatoriu de punct. Sectiunea de program principal este obligatorie.

Lexicul limbajului

Elementele utilizate la scrierea unui program in Turbo Pascal se impart in mai multe clase:

simboluri speciale si cuvinte rezervate ;

identificatori;

etichete;

constante;

siruri de caractere;

separatori;

Limbajul utilizeaza urmatoarele submultimi a setului de caractere ascii:

Literele - cele 26 ale alfabetului englez A→Z si a→z.

Cifrele - 0→9, cifrele hexazecimale - cele 10 arabe si A→F, a→f, blocuri de caractere spatiu (32 - in cod ascii).

Caractere de control - codul ascii intre 0→31, cuprinzand si caracterele de sfarsit de linie sau de retur de caz.

Simboluri speciale - formate dintr-un caracter si pot avea mai multe semnificatii: +, -, *, ⁄, =, <, >, [, ], (, ), , ^, @, $, #, (*, *), (., .), <=, =>, <>, (*=, (.=[, .)=].

Def Cuvintele cheie: sunt cuvinte rezervate. Nu pot fi folosite intr-un alt context decat cel specificat.

Acestea sunt:

and

downto

inline

procedure

type

asm

else

interface

program

unit

array

end



label

record

until

begin

file

mod

repeat

user

case

for

nil

set

var

const

function

not

shl

while

constructor

goto

object

shr

with

destructor

if

of

string

xor

div

implementation

or

then

do

in

packed

to

Identificatorii sun tsimboluri care desemneaza o functie, o procedura, o constanta. Un identificator incepe cu o litera si poate fi urmata de orice combinatie de litere sau cifre inclusiv caracterul subliniere. Lungimea maxima a unui identificator este de 63 de caractere (nu poate incepe cu o cifra).

Etichetele - sunt specificate ca un numar intre 0→9999 sau identificator. Eticheta se separa de instructiune prin ":"

Constante - desemneaza valori intregi sau reale. In mod obisnuit se utilizeaza notatia zecimala. Este permisa folosirea notatiei hexazecimale. Numerele reale se scriu: parte intreaga.parte zecimala (12.5). Scrierea hexazecimala utilizeaza caracterul $ ca prefix ($1A)

Scrierea cu exponent - se utilizeaza optional. Presupune scrierea literei E urmata de un numar pozitiv sau negativ "E" se va interpreta ca 10 la puterea numar ce urmeaza dupa caracterul E.

Ex

12E -3 => 12 · 10-3

0.E +5 => 0· 105

Un sir de caractere este o secventa de caractere incadrata intre apostroafe. Daca sirul de caractere contine apostrof acesta trebuie dublat. Un sir de caractere nu poate fi despartit pe mai multe linii.

Separatori si simboluri - cei folositi in Turbo Pascal sunt space (codul ascii 32) si sfarsitul de linie (codul ascii 13, Enter). Separatorul de instructiuni este caracterul ";" - este destinat separarii si nu terminarii unei instructiuni.Astfel prezenta lui nu este obligatorie dupa fiecare instructiune (daca tipul instructiunii se repeta, se recomanda totusi utilizarea lui frecventa). Se va acorda o atentie sporita folosirii caracterului ":", deasemeni inaintea comenzii else nu se va utiliza caracterul ";".

Comentariul incepe prin sau *).

Def. Comentariile sunt constructii ignorate de catre compilator si servesc la implemenatrea mentiunilor sau observatiilor programatorului referitoare la program.

Declaratii de variabile - o declaratie de variabila asociaza un nume si un tip unei locatii de memorie. Fiecare variabila care apare in program trebuie sa fie introdusa printr-o declaratie. Declararea variabilei se va face in sectiunea var.

Ex var X, Z : real

U : integer

Tipuri de date

Tipul unei date defineste multimea valorilor pe care le poate contine variabila precum si multimea operatiilor care pot fi executate cu elementele multimii respective.

Tipul ordinal - reprezinta multimi finite si ordonate de valori, se poate referii la numarul de ordine al unei valori (apel cu functia ord), se poate specifica elementul succesor (apel cu succ) si se poate determina elementul predecesor (apel cu pred).

Tipul boolean (logic) - Valorile tipului logic sunt desemnate de constantele predefinite: False si True. In memorie se reprezinta pe un octet 0 pentru F si 1 pentru T, ordinul lui F este 0 si cel al lui T este 1. Succesorul lui F este T iar predecesorul lui T este F, adica F < T. Operatiile care se pot face cu tipul logic sunt: not , and, or, Xor.

not - negatie logica: not X este adevarat daca si numai daca x este F.

and - "si" logic: x and y este adevarat atunci cand atat x cat si y sunt T.

or - "sau" logic: x or y este fals atunci cand atat x cat si y sunt F.

Xor - "sau" exclusiv logic: x Xor y este adevarat atunci cand unul din termeni este T si celalalt F.

Ex var x, y, u, v: boolean

begin

x := true;

y := false;

u := (not x) and y; - fals

v := u Xor x or u; - adevarat

end.

OBS. Ordinea efectuarii operatiilor este: not, and, or, Xor.

Exercitiu:

Determinati valoarea logica a variabilelor de mai jos (true sau false) respectand ordinea operatiilor logice:

x := false; y := true;

begin

a) a := x or x a = ? _____________

b) b := y not x Xor x b = ? _____________

c) c := y Xor y not y or x c = ? _____________

d) d := (x or y) not (y not x and x) and x d = ? _____________

e) e := x and y or (y Xor y not x) e = ? _____________

f) f := x or y and x not y Xor x f = ? _____________

end

Valorile tipului caracter sunt cele 256 caractere ascii, tipul este ordinal, in memorie se reprezinta pe un octet. Valoarea acestui tip se poate reprezenta in diferite moduri:

caracter imprimabil cuprins intre apostroafe;

Tchar a = 12 - carcatere

a = '12'

Un numar de la 0 la 255 precedat de caracterul #;

#65 - codul caracterului A

#97 - codul caracterului a

Un caracter precedat de caracterul ^, pentru exprimarea caracterelor de control cuprinse intre 0 si 32

var c: char;

begin

readln (c);

if (c = 'a') or (c = 'e') or (c = 'i') or (c = 'o') or (c = 'u') then writeln (c, 'este vocala')

else writeln (c, 'este consoana);

end.



Tipul intreg (integer)

Multimea valorilor tipului intreg este o submultime a numerelor intregi - tip ordinal.

Operatiile care se pot face cu tipul intreg sunt "+", "-", "*", "div" (impartire fara rest), "mod" (restul impartirilor intregi), "/" (impartire reala), "not", "and", "or", "Xor", "shl" (deplasare la stanga), "shr" (deplasare la dreapta).

a shl b - deplasare la stanga a lui a de b ori

a shr b - deplasare la dreapta a lui a de b ori

Ex

a = 3; b = 8; a shr b _ _ _ _ _ _ 0 _ _ a _ _ _ _ _ _ _ a'_ _ _ _ _ _

=> a'= 11 pozitie initiala pozitie finala

Exercitiu:

Pozitionati pe axa variabilele a si a' in functie de relatie si inscrieti valoarea finala in casuta:

a = 2

b = 5

a shl b

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a' _ 0 _ _ a _ _ _ _ _ _ _ _ _ _ _ _ _ _

a' =_-2__

a = 7

b = 3

a shr b

a' =_____

a = -3

b = 4

a shl b

a' =_____

a = -5

b = 3

a shr b

a' =_____

a = 5

b = 6

b shr a

b' =_____

a = 1

b = 5

a shl b

a' =_____

a = -2

b = 1

a shr b

a' =_____

a = 6

b = 7

b shr a

b' =_____

a = 3

b = 5

b shr a

b' =_____

a = -7

b = 4

b shl a

b' =_____

a = -2

b = 2

b shl a

b' =_____

a = 6

b = 0

a shr b

a' =_____

a = -6

b = 6

b shr a

b' =_____

a = -4

b = 7

a shl b

a' =_____

a = -3

b = 3

b shl a

b' =_____

a = 4

b = 1

a shl b

a' =_____

Tipul real

Multimea valorilor tipului real este o submultime a valorilor reale. Operatiile cu date reale sunt in general T - nu este ordinal. Operatiile care se pot face cu valori reale sunt: +, -, *, /; precum si operatii relationale: <, >, <=, >=, =, <>.

Tipul enumerare

Defineste o multime ordonata de valori, adica se enumera un sir de identificatori care desemneaza valori posibile. Primul identificator desemneaza cea mai mica valoare a numarului de ordine 0 (pozitia 0). Fiecare alt identificator desemneaza succesorul valorii specificate de identificatorul precedent.

Ex nume tip := (identificator1, identificator2, . )

a = (3, 5, 7, 9)

var c: char;

type c := (primare, medii, superioare);

Tipul interval

Se defineste ca o multime ordonata de valori cuprinsa intre doi identificatori.

nume tip := (valoare munima . valoare maxima)

Ex c := (1 . 10);

c := ('A' . 'Z');

zile := (luni, marti, miercuri, joi, vineri, sambata, duminica);

Tipul sir de caractere

Valoarea unei variabile de acest tip este formata dintr-un numar oarecare de caractere. Tipul sir de caractere se defineste prin: string [lungime] sau numai string. In primul caz lungime reprezinta lungimea maxima a sirului de caractere avand valoarea intre 1 si 255.

Un sir de caractere a carei lungime nu este specificata este implicit de 255 de caractere.

O variabila de tip sir de caractere, poate fi definita in totalitate sau partial prin referirea unui caracter din sir.

Operatii asupra sirurilor de caractere:

concatenarea (insumarea) - +;

operatii relationale - <, >, <=, >=, =, <>.

Meniul de programare Turbo Pascal

Prezinta incarcarea, compilarea, editarea, executia si salvarea unui program precum si gestiunea ferestrelor din meniu. Pentru a lansa compilat Turbo Pascal din prompterul DOS se va tasta cuvantul "turbo" si ENTER, iar din Windows se va alege din meniul dedicat Turbo Pascal, Borland Pascal sau WinBorlan Pascal. Presupunand ca exista compilat Borland Pascal sau Turbo Pascal fisierele "Turbo.exe" sau "bp.exe" sunt depuse in directorul TP sau BPBIN.

Odata tastata comanda se va incarca mediul de programare si din acest moment se va prezenta meniul de programare.

Pe ecran apar informatiile:

1. In partea de sus a ecranului (MENU BAR) sunt specificate meniurile mediului, pentru a activa bara de meniu se tasteaza F10. Deplasarea in cadrul meniului se face cu ajutorul tastelor de deplasare a cursorului. Pentru a alege meniul dorit ne pozitionam pe acesta si tastam ENTER. In linia cea mai de jos a ecranului (status line) se gaseste un memento care prezinta tastele cu ajutorul carora se pot activa comenzile cele mai des utilizate, tot aici apar informatii referitoare la activitate curenta a compilatorului precum si descrierea sumara a functionarii corespunzatoare comenzii actuale. Elementul cel mai des utilizat le meniului este fereastra de dialog.

Fereastra de dialog - este formata dintr-o colectie de campuri in care se introduc informatiile necesare functionarii compilatorului. Ex: fereastra de dialog OPEN A FILE - locul unde se specifica un fisier (prin nume sau dintr-o lista) care urmeaza sa fie prelucrat. Pentru a ajunge la aceasta fereastra alegem meniul FILE iar apoi comanda OPEN. La aparitia ferestrei avem un camp cu inscriptia NAME, o fereastra cu lista fisierelor cu inscriptia "files" si patru butoane de actiuni cu inscriptiile: OPEN, REPLACE, CANCEL, HELP. In partea inferioara a ferestrei apare un panou cu diferite informatii referitoare la fisierul ales (cale de directoare, dimensiune, data, ora). In campul cu inscriptia name se introduc informatii ca: nume de fisier, nume de director sau o masca (*.pas, ar?ce.pas). Langa acest camp apare un semn ↓ care se numeste "icon". Prezenta semnului va simboliza existenta listei cu istoricul campului mentionat. Pentru a afisa lista de istoric tastam ↓. Numele implicit din campul name este *.PAS. In torbo Pascal exista posibilitatea deschiderii simultane a mai multor ferestre de editare. Utilizarea simultana a mai multor ferestre este utila atunci cand se doreste lucrul simultan cu mai multe fisiere sursa sau cand se doreste lucrul cu acelasi fisier dar in mai multe ferestre (mai multe salvari).

Pentru a deschide o noua fereastra se tasteaza F10 si se alege meniul FILE si submeniul NEW, in urma acestei operatii apare o noua fereastra de editare cu numele implicit "noname.pas". Turbo Pascal memoreaza primele noua ferestre care au fost deschise, numerotarea ferestrelor fiind realizata in randul de sus coltul din dreapta. Calea cea mai scurta de trecere dintr-o fereastra in alta este prin ALT+n; .

Daca dorim compilarea unui program vom apela fereastra de dialog: tastam F10 alegem meniul OPTIONS si comanda COMPILER.

In urma acestei actiuni putem stabili optiunile de compilare (in numar de doua) corespunzatoare comutatorilor si cele corespunzatoare butoanelor radio.

Optiunile corespunzatoare comutatorilor se recunosc dupa parantezele patrate [ ] in care este inclus ori un caracter "x" ori un caracter "_". Un comutator poate avea doua stari: cuplat simbol "x" sau decuplat simbol "_". Pentru cuplarea unui comutator cu tasta TAB se face pozitionarea pe grupul de optiuni dorit. Cu ajutorul tastelor cursorului se va face deplasarea in cadrul grupului iar cu tasta SPACE se pozitioneaza sau se sterg simbolurile. Pentru a salva modificarile si pentru inchiderea ferestrei de dialog se alege tasta OK. Pentru inchiderea ferestrei de dialog fara inregistrarea modificarilor se alege butonul CANCEL. Unele campuri sunt organizate sub forma de butoane radio. Optiunile corespunzatoare butoanelor radio se recunosc dupa parantezele rotunde ( ), in care vom avea doua tipuri de caractere: "." sau "_".

Dupa compilare urmeaza executia programului. Alegem meniul RUN si comanda RUN. Pe ecran vor apare informatiile: ora si un mesaj. Turbo Pascal trimite implicit rezultatul pe ecran, unde mai apar si ultimele comenzi DOS introduse.

Meniul WINDOW prezinta comenzile: Size / Move, Zoom, Tile, Cascade, Next, Previous, Close. Meniul WINDOW permite manipularea ferestrelor deschise. Putem deschide fereastra Watch, adica fereastra de urmarire a valorilor diferitelor variabile utilizate in program, deci alegem meniul WINDOW si comanda WATCH. In partea de jos a ecranului apare o fereastra cu titlul Watches - care este utilizata in faza de depanare a programelor. Atunci cand se face executia pas cu pas a programelor aceasta fereastra contine valorile variabilelor si expresiilor a caror valoare se urmareste.

Fereastra OutPut - afiseaza informatiile trimise de program pe ecran, prin utilizarea acestei ferestre sunt vizibile simultan atat programul sursa cat si rezultatele obtinute. Implicit ferestrele Watch si Output ocupa aproximativ 1/3 din partea inferioara a programului. Acestea se pot redimensiona alegand meniul WINDOW si comanda ZOOM.

Daca sunt deschise simultan mai multe ferestre exista posibilitatea de a se trece dintr-o fereastra in alta. Pentru a realiza aceasta avem la dispozitie patru variante:



ALT + numarul ferestrei;

F6 - adica meniul WINDOW, comanda NEXT;

Alegerea ferestrei cu ajutorul meniului WINDOW si comanda LIST.

Alegerea unei ferestre cu ajutorul mouse-ului daca este disponibil

Pentru varianta trei apare fereastra de dialog cu numele WINDOW LIST care arata lista ferestrelor active in momentul respectiv. In capul listei apare fereastra activa, in randul 2 apare fereastra care a fost activa anterior, etc. Se alege fereastra dorita cu ajutorul tastelor cursorului si tasta ENTER.

Amplasarea si dimensionarea ferestrei active

Alegem meniul WINDOW si comanda Size / Move, tastele Shift si o tasta de deplasare a cursorului ne permit redimensionarea ferestrei active. Dupa ce fereastra a ajuns la dimensiunea dorita se apasa tasta ENTER.

Reamplasarea ferestrei active se poate face tot prin comanda Size / Move din meniul WINDOW, mutarea ferestrei se face cu ajutorul tastelor cursorului. Redimensionarea si reamplasarea ferestrei active este utila la lucrul cu mai multe ferestre.

Ferestrele pot fi aranjate in stil caramida, sau cascada. Primul stil poate fi obtinut cu ajutorul comenzii Tile, al doilea cu ajutorul comenzii Cascade. In stilul caramida ferestrele nu se suprapun ci sunt vizibile simultan, in stilul cascada ferestrele se suprapun deasupra fiind fereastra activa.

La terminarea sesiunii trebuiesc salvate modificarile facute in program, Salvarea se va face din meniul FILE comanda SAVE.

Pentru a parasi mediul de programare se alege meniul FILE comanda EXIT sau se va tasta ALT + X.

Instructiunile din mediul de programare Turbo Pascal

Descriu partea algoritmica a unui program. Instructiunile pot fi prefixate de etichete. Exista doua tipuri de instructiuni:

Simple (nu contin alte instructiuni);

Structurale (contin alte instructiuni);

Simple - sunt de atribuire, de apel, procedura si instructiuni de salt conditionat;

Structurale - sunt instructiuni

- compuse begin - end;

- conditionale if, case;

- repetitive sau ciclice for, while, repeat;

Instructiuni de atribuire - sunt cele mai importante si cel mai des utilizate in limbaj

Variabila := expresie;

Semnifica faptul ca unei variabile ii este atribuita o noua valoare furnizata de expresie, va fi memorata in variabila specificata in partea stanga. Expresia din membrul drept trebuie sa fie compatibila din punct de vedere al atribuirii cu tipul variabilei.

Tipuri de variabile

Var

i: integer;

b: boolean;

c: char;

i := z;

b := True;

c := *;

Caracterul ":=" face parte din atribuire deci este obligatoriu!

Instructiuni de apel-procedura - semnifica activarea procedurii al carei nume apare in instructiune. Numele de procedura detine parametri formali.

Instructiuni de salt - indica faptul ca executia secventionala se intrerupe si se continua in alta parte a programului si anume in locul specificat de eticheta: "goto eticheta".

Reguli referitoare la eticheta:

orice eticheta trebuie sa fie declarata in paragraful label inaintea aparitiei ei in bloc;

orice eticheta trebuie sa precizeze o singura instructiune;

Instructiuni compuse - Specifica faptul ca sunt executate in ordinea scrierii lor. Instructiunile compuse sunt considerate ca fiind o singura instructiune.

begin

instructiune 1;

instructiune 2;

end.

a, b, x: integer;

g: boolean;

if a < b then

begin

x := b - a;

g := true;

end

else

begin

x := a - b;

g := false;

end;

Instructiunea IF - in functie de valoarea unei expresii logice se decide fluxul executiei:

IF instructiune logica THEN instructiune 1

ELSE instructiune 2;

Se evalueaza expresia logica situata dupa cuvantul cheie IF iar daca aceasta are valoare adevarata se executa instructiunea 1 pozitionata dupa cuvantul cheie THEN. In cazul in care expresia logica este falsa se executa instructiunea 2 pozitionata dupa cuvantul cheie ELSE.

Ex: Determinarea maximului a doua numere.

var

x, y, max: real;

begin

IF x => y THEN max := x

ELSE max := y;

end.

Schimbarea valorii a doua numere intregi.

var

x, y, temp: integer;

begin

IF x > y THEN

begin

temp := x;

x := y;

y := temp;

end;

end.

Instructiunea CASE - este de ramificare multipla, care va contine o expresie numita selector si o lista de instructiuni fiecare instructiune fiind prefixata de una sau mai multe constante. Selectorul trebuie sa fie de tip ordinal.

CASE expresie OF caz ELSE instructiune;

Se evalueaza expresia situata dupa cuvantul cheie CASE si in functie de valoarea obtinuta se executa instructiunea prefixata de constanta sau domeniul de constante care contine valoarea corespunzatoare in lista de constante. Cuvantul cheie ELSE va executa instructiunea aflata dupa acesta. Instructiunea CASE realizeaza o ramificare multipla in functie de valoarea selectorului.

Ex: Salt in functie de valoarea actuala a unui caracter.

var

c: char;

begin

CASE c OF 'A' _ _ 'Z': writeln ('Litera mare')

'a' _ _ 'z': writeln ('Litera mica')

ELSE writeln ('Caracter special');

var

c: integer;

begin

CASE c OF

begin

2, 4, 6 . 20: writeln ('numar par');

1, 3, 5 . 15: writeln ('numar impar');

end;

end.

Instructiunea while : WHILE expresie logica DO instructiune;

Contine o expresie care controleaza executia repetabila a unei instructiuni. Instructiunea situata dupa cuvantul cheie DO se executa repetat atat timp cat expresia logica are valoarea adevarata. Daca nu are valoare adevarata instructiunea situata dupa cuvantul cheie DO nu se executa niciodata.

Ex: Calculul lui x la puterea y.

var

exponent, y, baza: integer;

x, rezultat: real;

begin

baza := x;

exponent := y;

rezultat := 1;

while exponent > 0 do

begin

exponent := exponent - 1;

rezultat := rezultat * baza;

end;

end.

Instructiunea repeat : REPEAT instructiune UNTIL expresie logica;

Contine o expresie care controleaza executarea repetabila a unei instructiuni sau secventa de instructiune situata intre cuvantul cheie REPEAT si cuvantul cheie UNTIL. Instructiunea aflata intre aceste doua cuvinte cheie se executa repetat atat timp cat expresia logica are valoare falsa. Atunci cand valoarea este adevarata se trece la instructiunea aflata dupa cuvantul cheie UNTIL.

Ex: Calculul sumei.

var

n: integer;

s: real;

begin

s := 0;

n := 100;

REPEAT s := s + 1 / n;

n := n - 1;

UNTIL n := 0;

end.

Instructiunea FOR : FOR variabila de control := valoare initiala TO (DOWNTO) valoare finala DO instructiune;

Determina executia repetata a unei instructiuni, in timp ce valoarea variabilei de control i se atribuie o progresie de rol cu valoare initiala pana la valoarea finala crescator sau descrescator. Valoarea variabilei de control este de tip ordinal. Valoarea initiala si valoarea finala trebuie sa fie compatibile din punct de vedere al atribuirii cu tipul variabilei de control. Instructiunea situata dupa cuvantul cheie DO se executa pentru fiecare valoare din domeniul determinat de valoarea initiala si valoarea finala. Daca instructiunea FOR utilizeaza TO valorile variabilei de control sunt incrementate la fiecare repetitie. Daca se utilizeaza DOWNTO valoarea variabilei se decrementeaza la fiecare repetitie. Nu se permite alterarea valorii variabilei de control:

nu se fac atribuiri variabilei de control in interiorul ciclului;

nu se apeleaza nici o procedura sau functie in care variabila de control este parametru;

Variabila de control nu poate fi variabila de control pentru alt ciclu FOR inclus;







Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate