Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gestiunea informaticii.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
885.76 Кб
Скачать

26

Modele de tipuri de date. Model ierarhic. Model de tip retea. Modelul relational.

Modelul retea

Atomii semantici inruditi se leaga explicit prin identificatori (spre deosebire - de exemplu - de celulele unui rand de tabel care se refera implicit la o anume entitate informationala). In retea asocierile sunt realizate printr-o structura de legare (un tip de set are un tip de inregistrare "owner“ si mai multe tipuri de inregistrare "member“).

- Orice relatie intre date poate fi doar binara (1-la-1 sau 1-la-n), iar reprezentarea bazei de date se poate asimila unui graf directionat.

- Entitatea informationala are un fisier cu campuri atribute si campuri de legatura.

- Operatiile permise sunt cautarea de entitati pe baza proprietatilor specificate (interogare) si cautarea informatiilor folosind legaturile dintre entitati (navigare).

Dezavantajul modelului consta in complexitatea structurilor de date si a limbajului de manipulare.

Modelul ierarhic

Asocierea intre atomii informationali este realizata printr-o structura ierarhica (arbore).

- Poate fi considerat un caz particular al modelului retea, in care diagrama asociata este o padure (baza de date poate fi asimilata unei multimi de arbori).

- Exista un tip de inregistrare definit ca radacina si - la orice alt nivel - mai multe tipuri de inregistrare subordonate (legatura intre doua niveluri succesive fiind de tip 1-la-n in jos si 1-la-1 in sus).

- Operatiile posibile se reduc in esenta la parcurgea arborilor, datele fiind inmagazinate pe mediul extern in succesiunea de parcurgere in preordine a arborilor (se favorizeaza cautarea descendentilor).

- un model asimetric: o inregistrare are semnificatie numai in contextul ierarhiei.

La noi in tara au existat implementari ale bazei de date ierarhice Socrate pe calculatoarele Felix si pe minisistemele Coral si Independent.

Modelul relational

Fiind actualmente cel mai raspandit, acesta inmagazineaza datele in tabele care se pot lega logic dupa valorile anumitor coloane

- sistemele de gestiune a bazelor de date relationale (RDMBS) au standardizat SQLl ca limbaj de cereri specific.

- Relatia dintre campuri realizeaza asocierea explicita, asociere care poate fi de durata (prin definirea relatiei) sau temporara (prin operatorul de jonctiune join).

- Este un model simetric: uniformitatea reprezentarilor datelor determina uniformitate in multimea operatorilor.

- Avand la baza teoria matematica a relatiilor (algebra relationala = colectie de operatori ce au ca operanzi relatii), modelul a facilitat tratarea algoritmica a problemei proiectarii bazelor de date, numita si problema normalizarii (normalizarea porneste de la o multime de atribute/campuri si o multime de dependente functionale intre acestea pentru a obtine asistat de calculator schema conceptuala a bazei de date).

Avantaje:

- usor de inteles (numar redus de concepte) si de controlat (sistemele ajung la o interfata prietenoasa);

- scalabilitatea sa este generoasa, fiind si singurul model care cunoaste implementari de baze de date distribuite;

- legi de integritate (reguli pentru protejarea datelor si structurilor) usor de inteles si de dezvoltat;

- spatiu de stocare si redundanta relativ reduse;

- independenta structurilor logice ale bazei de date de modul de stocare fizica a datelor (aplicatiile sunt

independente de modul de inregistrare a datelor) - exceptiile au aparut doar motivate de cresteri ale performantelor;

- limbaje simple (bazate pe algebra relationala sau pe calcul relational): SQL, QBE.

Dezavantaj: incercarile modelului de a inmagazina si informatii multimedia (uzual realizate prin campuri BLOB si extensii particulare de SQL) nu au ajuns la un numitor comun standardizat.

Modelul obiectual

Modelele hibride

27

Modelul relațional. Relaţii, domenii, atribute, şi schema unei relaţii. Reprezentarea relaţiilor prin tabele.

Reprezentarea relaţiilor prin tabele.

Modelul relaţional a apărut relativ târziu în teoria şi practica bazelor de date. A fost necesară atingerea unui anumit nivel de performanţă a echipamentelor de calcul pentru a conştientiza faptul că modelul relaţional poate constitui nu numai un valoros instrument de studiu în teoria bazelor de date, ci şi punctul de pornire pentru realizarea unor SGBD-uri competitive din punctul de vedere al performanţelor.

Primul model de date bazat pe relaţii şi pe reprezentarea acestora sub formă de tabele a fost propus de către cercetătorul american E. F. Codd. Ideile sale au fost publicate într-o suită de lucrări de referinţă apărute cu începere din anul 1970. Popularitatea crescândă a modelului relaţional şi răspândirea tot mai largă a bazelor de date relaţionale se datorează, în mare parte, faptului că acestea dispun de limbaje pentru manipularea datelor de nivel înalt, simple, dar foarte puternice. Caracteristica principală a acestor limbaje, numite generic limbaje relaţionale, este capacitatea lor de a permite definirea de relaţii noi pe baza unor relaţii existente. Pornind de la aceste limbaje în cadrul SGBD-urilor relaţionale au fost dezvoltate interfeţe flexibile şi prietenoase care deschid calea spre exploatarea directă a bazelor de date pentru categorii mult mai largi de utilizatori decât în cazul sistemelor bazate pe modelele de date ierarhic sau reţea

Definiţie:

Definim produsul cartezian D,XD2X...XDn al mulţimilor D,, D2,...,Dn ca fiind mulţimea tuturor n-tuplelor ordonate (d,, d2,...,dn) astfel încât di aparţine lui Dud? lui D2,..., dn lui D„.

O relaţie R pe mulţimile D2, D2,...,D„ este o submulţime a produsului cartezian DiXD2X...XDn.

Din definiţiile de mai sus rezultă că orice relaţie este o mulţime ale cărei elemente sunt n-tuple. înseamnă că o relaţie are o serie de proprietăţi care derivă din caracterul de mulţime al acesteia.

O primă proprietate este acea că mulţimile sunt colecţii de elemente tară repetiţie. în contextul relaţiilor aceasta înseamnă că într-o relaţie nu există două n-tuple identice, ceea ce implică faptul că oricare două n-tuple diferă prin cel puţin o valoare a elementelor lor. Această proprietate stă la baza definiri conceptului de cheie a unei relaţii.

A doua proprietate - ordinea elementelor într-o mulţime este nerelevantă. în consecinţă ordinea de înşiruire a n-tuplelor într-o relaţie este arbitrară, iar prin schimbarea ordinii n-tuplelor relaţia rămâne neschimbată. Deci oricând este posibilă reordonarea convenabilă a n-uplelor din cadrul unei relaţii.

Proprietăţile relaţiilor

Orice relaţie este o mulţime ale cărei elemente sunt n-tupluri. Aceasta înseamnă că o relaţie are o serie de proprietăţi care derivă din caracterul de mulţime al acesteia. Două proprietăţi sunt deosebit de importante:

 O primă proprietate este aceea că mulţimile sunt colecţii de elemente fără repetiţie. În contextul relaţiilor, aceasta înseamnă că oricare două tupluri diferă prin cel puţin o valoare a elementelor lor. Această proprietate stă la baza definirii conceptului de cheie a unei relaţii.

 A doua proprietate se referă la faptul că ordinea elementelor într-o mulţime este nerelevantă. În consecinţă, ordinea de înşiruire a tuplurilor într-o relaţie este arbitrară, iar prin schimbarea ordinii tuplurilor relaţia rămâne neschimbată. Deci oricând este posibilă reordonarea convenabilă a tuplurilor din cadrul unei relaţii.

Adăugând şi câteva alte proprietăţi, se pot enumera următoarele caracteristici ale unei relaţii:

  • are o denumire distinctă;

  • fiecare celulă a relaţiei conţine o valoare atomică (singulară);

  • fiecare atribut are o valoare distinctă;

  • toate valorile unui atribut aparţin aceluiaşi domeniu;

  • ordinea atributelor nu are importanţă;

  • fiecare tuplu este distinct (nu există dubluri);

  • teoretic, ordinea tuplurilor nu are importanţă (totuşi, în practică, ordinea poate afecta eficienţa accesării tuplurilor).

28

Modelul relaţional. Chei primare şi chei externe, integritatea cheilor. Tipuri de lagături.

Cel mai des utilizabil model în timpul prezent. Modelul dat presupune păstrarea datelor într-un table bidimensional. În anul 1970 la 6 iunie matematicianul Codd a scris un articol, unde a fost cercetat modelul relaţional. El a lucrat la firma IBM şi a lucrat cu teoria mulţimilor. Codd a demonstrate că informaţia poate fi prezentate în tabele.

Tabele relaţionale susţin regulile, operaţiile de reuniune, intersecţie şi altele operaţii ale mulţimilor.Relaţia numai decît trebuie să aibă o cheie.

Cheiea – una sau mai multe coloane care identifică unic înregistrările din tabel.

Înregistrare – o linie din tabel.

Cheiea trebuie să respecte 2 principii:

  1. Unicitate;

  2. Minimalitate.

Cerinţele faţă de BD relaţională:

  • Fiecare tabel are denumirea unică;

  • Fiecare tabel trebuie să conţină numărul fixat de coloane;

  • Fiecare coloană conține doar o valoareș

  • Fiecare rind trebuie sa fie identicș

  • La prelucrarea datelor se poate liber de accesat orice rînd sau orice coloană.

Tipuri de legături: 1>1 | 1>n | n>1 | n>n.

ZONE DE LUCRU - activarea mai multor tabele în același timp (25 zone de lucru) - corespund literelor alfabetului latin. COMENZI: SELECT <zona de lucru> - selectarea zonei active de lucru (implicit se activează zona de lucru A.

Stabilirea legăturii dintre 2 tabele: determinarea cîmpul de legătură. Trebuie de selectat tabelul de bază şi tabelul adăugător. Algoritmul de stabilire a legăturilor este următorul:

  1. Într-o zonă se activează tabelul copil.

  2. În altă zonă se activează părintele.

  3. Se stabileşte legătura cu ajutorul instrucţiunii: SET RELATION ON <cîmp leg> TO <tab Copil> (legatura 1>1). Pt stabilirea leg 1>n, trebuie SET SKIP TO <zona tabelului copil>.

SET RELATION OFF - eliminarea legăturii.

Ex: există 2 tabele: Elev(Nume, Clasa);

Diriginte (Nume, Clasa).

SELECT b

USE Elev

SET INDEX ON clasa TO x

SELECT a

USE Diriginte

SET RELATION ON Clasa TO Elev

SET SKIP TO B.

29

Normalizarea. Probele proiectării. Dependenţe funcţionale. Forme normale ale bazelor de date. Forme normale uzuale (FN1, FN2, FN3, BCFN).

FN1 – intersecția rindurilor cu coloanele conțin o val atomară.

FN2 – FN1 + eliminarea dependențelor parțiale.

FN3 – FN2 + eliminarea dependențelor transitive.

BCFN – fiecare determinant trebuie sa fie cheie candidat.

Determinant – atribut sau gr de attribute de care alte attribute sunt dependente functional.

ANOMALII

  • Adăugare – Nu se poate înregistra adresa unui furnizor atâta timp cât acesta nu livrează cel puţin un produs.

  • Ştergere – dacă se şterg toate produsele livrate de un anumit furnizor atunci se pierde adresa acestui furnizor.

  • Actualizare – pt schimbarea adresei unui furnizor este necesară parcurgerea întregii relaţii pt a depista şi actualiza toate apariţiile acestui furnizor, în caz contrar acelaşi furnizor apare la adrese diferite.

30

Normalizarea. Dependeţe multivaloare. Forme normale superioare (FN5, FN4).

FN4 – BCFN + eliminarea dependențelor multivalorice. D.M. se descompune in 2 proiectii cele de cuplare in mai multe proiectii.

FN5 – FN4 + nu poate fi descompusă în alte relații făfă pierderea informației. Dependență de cuplu – proprietatea ce garantează că nu se formează înregistrări false la reunirea relațiilor obținute prin descompunere.

31

SGBD. Limbaje de descriere a datelor. Limbaje de maniulare a datelor. Utilizarea BD.

SGBD asigura realizarea urm activitati:

  • definirea structurii BD;

  • incarcarea datelor in BD;

  • intretinerea BD;

  • accesul la date;

  • reorganizarea BD;

  • securitatea datelor.

Obectivele SGBD:

  • asigurarea independentei datelor;

  • asigurarea unei redundante minime;

  • asigurarea simplității utilizarii datelor;

  • asigurarea securitații datelor;

  • asigurarea partajabilității datelor.

Functiile a SGBD:

  • Descrierea datelor – permite definirea BD cu ajutorul unui limbaj de definire. Definirea se poate realiza la nivel logic, fizic si conceptual. La nivel acestei functii se descriu multitudinea atributelor, a relatiilor dintre entitati sau atributele entitatilor.

  • Manipularea datelor – adaugare, stergere, modificarea, sortare, cautare, editare înregistrărilor.

  • Utilizareasigură interfața de comunicare a user cu BD.

LIMBAJ DE DEFINIRE A DATELOR (DDL): Specifică schema unei BD ca un set de definitii. Specifica structurile de memorare si metode de acces. Instructiunile DDL sunt compilate, rezultind un set de tabele, intr-un fisier special – dictionarii de date.

LIMBAJ DE MANIPULARE A DATELOR (DML): Regasirea | Inserarea | Stergerea | Actualizarea inform in BD.

32

Bazele proiectării bazelor de date. Proiectarea conceptuala. Modelul Entitate – Relatie. Entităţi şi atribute.

Modelul Entitate-Relatie – model conceptual de nivel înalt al unei baze de date, care defineste multimile de entitati si relatiile dintre ele, dar nu impune nici un mod specific de structurare si prelucrare a datelor.

Elementele esentiale ale modelului:

  • Entitati;

  • Relatii.

ENTITATE e orice poate fi identificat în mod distinctive. Se refera la un aspect al realitatii obiective care poate fi deosebit de restul universului si poate reprezenta un obiect fizic, o activitate, un concept, etc. Orice entitate este descrisa prin atributele sale. ATRIBUT – o proprietate care descrie un aspect al unei entitati.

Toate entitatile similare, care pot fi descrise prin aceleasi atribute, apartin unui acelasi tip de entitate, iar colectia tuturor entitatilor de acelasi tip dintr-o baza de date constitue o multime de entitati.

33

Bazele proiectării BD. Clasific. entităţilor. Reguli de trecere de la Modelul Entitate – Relatie la M. Relaţional.

PROECTAREA BAZELOR DE DATE

Proectarea BD constă în realizarea unui model bine conceput al acestuia, structurat pe nivelele arhitecturii ANSI-SPARC.

  • Înţelegerea semnificaţiei datelor;

  • Comunicarea nevoilorinformaţionale între utilizatori şi proectanţi;

  • Familiarizarea tuturor părţitor cu notaţiile folositeîn BD;

  • Separarea datelor pe departamente.

Un model de date e optim dacă îndeplineste urm criterii:

  • Validitatea structurală

  • Simplitate

  • Nonredundanţă

  • Posibilitatea de partajare BD poate fi utilizată de mai mulţi utilizatori.

  • Extensibilitate modelul permite implementarea de noi cerinţe.

  • Integritate modelul este consecvent în utilizarea şi administrarea datelor conform cerinţelor întreprinderii.

  • Reprezentarea schematică modelul poate fi reprezentat schematic, folosind notaţii uşor de înţeles.

Model Entitate-Asociere (proiectare) are la bază definirea semantică a entităţilor şi stabilirea legăturilor dintre ele. Modelul a fost propus de către Peter Chen (1976).

Entitatea - orice obiect modelat al lumii reale, care se rescrie prin atributele sale. Asocierea – legătura care se poate stabili între entităţi.

Model Entitate-Relatie (tabel) – modalitatea grafica de reprezentare a datelor si relatiilor dintre acestea, prin entitati.

Model relational extins - nu se face distinctie intre entitati si relatii.

Entitatile sunt clasificate in 3 tipuri:

  • entitati de bază;

  • entitati caracteristice;

  • entitati de asociere.

Vedere permite utiliz unei parti din baza de date, folosind inform intr-un mod determinat.

Reguli de trecere de la modelul ea la modelul relaţional

REGULA 1

  • Fiecărui tip de entitate (din modelul EA) îi este asociată schema unei relaţii formată din toate atributele tipului de entitate;

  • Identificatorul tipului de entitate devine PK a relaţiei.

EXEMPLU

REGULA 2

  • Stabilirea tipului de legături.

  • Cheia externă va trebui să respecte restricţia de integritate referenţială. Ex:

REGULA 3

• dacă într-o asociere A există o singură entitate E1 pentru care cardinalitatea cuplului EA este egală cu (0,1) sau (1,1) se adaugă în schema relaţiei R1, ce corespunde entităţii E1 cheia primară a relaţiei R2 care corespunde entităţii E2 participante la asociere;

• acest “transport” al cheii relaţiei R2 în schema relaţiei R1 (unde va juca rolul de cheie externă) este impus de rolul dominant al primei relaţii asupra celei de a doua;

• când între 2 entităţi se stabileşte o asociere 1>n, înseamnă că entitatea care prezintă pt cuplul EA cardinalitatea (1,n) sau (0,n) e dominantă, iar cea de a doua va fi considerată entitate “fiu” şi va primi drept cheie externă, cheia primară a entităţii “părinte”. Ex:

REGULA 4 – dacă într-o asociere A nu există nici o entitate E pentru care cardinalitatea cuplului (EA) să fie egală cu (0,1) sau (1,1) se va defini o a treia relaţie cuprinzând în schema sa cheile primare ale celorlalte două relaţii.

34

Noiuni de bază ale limbajului FoxPro. Lexicul limbajului. Tipuri de date. Variabile şi vectori.

Visual FoxPro – una din cele mai răspîndite SGBD, permite să lucrăm în 2 regimuri de lucru: INTERACTIV și DE PROGRAM.

În regimul interactiv Visual FoxPro permite introducerea instrucţiuni în fereastra Command.

Fiecare instrucţiune în Visual FoxPro se scrie din rînd nou, dacă instrucţiunea ocupă mai mult de un rînd atunci se pune “ ;” la sfărşitul rîndului.

Comentariu – la începutul rîndului se pune * , după instrucţiune - \\coment.

Ieşirea – Quit.

Zona de lucru – permite lucrul cu mai multe zone concomitent. Trecerea de la o zonă la alta se efectuiază cu operator SELECT + <zona de lucru>.

TIPURI DE DATE

1. CHARACTER – lungimea 0..255.

Oper posibile:

  • >, <, < =, > =, (<>; ! =) , = (Comparaţia se efectuiază conform codului ASCII);

  • + concatenarea a 2 şiruri de caractere

2. NUMERIC – se utiliz pt valori numerice, întregi şi reale.

3. FLOAT – are precizia mai mare.

Oper posibile: +, -, *, /, mod, div, <, >, < =, > =, <>, ! =, =.

4. DATE – se utiliz pt valori calendaristice lungimea – 8 simboluri. ll/zz/aa

Formatul DATE poate fi schimbat cu ajutorul instrucţiunii SETDATE TO dmy

d – day | m – month | y – year.

Oper posibile:

  • = , <=, =>, <, >, <>;

  • Adunarea a 2 valori de tip DATE;

  • Scăderea (din DATA mai mare scadem data mai mică).

Dacă din valoarea de tip DATE se scade un numar întreg atunci scăderea se efectuiază la zile şi adăugarea la fel.

5. LOGICAL – se utiliz pt valori logice, lungimea – 1 simbol.

T F TRUE – FALSE

Y N YES – NO

Oper posibile: <>, ! =, =, >, (T > F), NOT, AND, OR, XOR.

6. MEMO – tip de date pentru un comentariu, maximum 4 simboluri, pentru acest tip de date se creează un fişier aparte .fpt.

7. PICTURE – se idică adresa imaginii.

8. GENERAL – pentru OLE obiecte, obiecte din alte programe.

Variabele în FoxPro nu se descriu în prealabil. Tipul de date a variabilor se determină de sistemul Visual FoxPro la prima utiliz a var.

35

Noţiuni de baza ale limbajului FoxPro. Sistemul de programe FoxPro. Zone de lucru. Crearea unei baze de date şi structura ei. Deschiderea şi închiderea unei baze de date

Tabelele se crează cu ajutorul instrucţiunii CREATE denumirea tabelului. Structura tabelului se introduce tot sub formă de table:

Name Type Width Dec în Name se înscrie denumirea cîmpului max 10 simboluri, în Type unul din tipurile posibile, în Width se înscrie nr maximal posibil de simboluri, în Dec se folosesc numai pentru cîmpuri numerice. Activarea tabelului USE denumire table, pentru deactivarea tabelului curect USE. Vizionareas informaţiei din table BROWSE şi LIST. BROUSE -afişează informaţia din table întro fereastră aparte. LIST pe masa de lucru afişează. Introducerea datelor în table APPEND. Redactarea informaţiei din table EDIT.

Zonele de lucru

FoxPro permite de prelucrat mai multe baze de date odată, iar fiecare BD trebuie să fie deschisă într-o zonă de lucru aparte. Trecerea de la o zonă la altă se efectuiază cu operator

SELECT şi zona de lucru.

Pentru a utiliza un fisier baza de date deja existent, el trebuie de deschis cu ajutorul unei comenzi de tip USE[clauze]. Cu aceasta comanda se poate realiza si operatia de inchidere a fisierului baza de date.

36

Noţiuni de bază ale limbajului FoxPro. Indexarea şi reindexarea tabelelor. Sortarea tabelelor.

În FoxPro există 2 metode de sortare a informaţiei: SORT și INDEX.

SORT TO <fişier> ON <cîmp 1>, <cîmp 2> (ASCENDING) / DESCENDING.

Fişierul are extensia .dbf

* AVANTAJUL METODEI: fişierul sortat rămîne în FoxPro şi după închiderea sesiunii.

* NEAJUNSUL: ocupă mult timp şi spaţiu.

INDEX ON <cîmp> TO <fişier> - fişierul indicat în instrucţiune are extensia .idx.

* AVANTAJUL ocupă puţin timp şi loc;

* DEZAVANTAJUL ordonarea se pierde după închiderea tabelului sau sesiunii.

37

Noţiuni de bază FoxPro. Localizarea înregistrărilor într-un tabel. Afişarea de expresii şi mesaje.

SGBD FoxPro – cel mai răspîndit SGBD ce permite lucrul în două regimuri: INTERACTIV și DE PROGRAM.

Intergaţa lui FoxPro conţine fereastra Command în care se lucrează în regim interactive. În fereastra Command putem să scriem aproximativ orice instrucţiune în afară de: instrucţiuni ciclice sau de alegere. Pentru a curăţi ecranul se utilizează inctrucţiunea Clear.

FoxPro permite – de a scri instrucţiunea numai cu 4 primele litere.

Cautarea datelorLOCATE.

LOCATE FOR <conditie> [domeniu] [WHILE <conditie>].

Comanda LOCATE functioneaza impreuna cu comanda CONTINUE. Ex:

USE cursanti

LOCATE FOR Nume=’POPESCU’

IF Found()=.T.

browse fields a.nume else

@1,1 say ‘nu exista asa nume’

ENDIF

Functia FOUND() - folosita pt testarea rezultatului unei cautari în BD.

Sintaxa: FOUND([<exp N>]). Ex:

Comenzile SEEK si FIND:

Se utiliz in tabelele indexate facand o cautare rapida in acces direct. De ex, la un tabel mare accesul la date prin intermediul comenzii SEEK (caracter si numere) sau FIND (caractere) dureaza secunde, spre deosebire de cazul In care se utilizeaza comanda LOCATE, cand timpul de acces e mult mai mare.

Sintaxele:

  • SEEK <expr> [ORDER lndex Number IIDX Indexfile name I TAG] TagName [OF

CDX Filename] IASC I DES] [IN nWorkArea I cTableAlias]

  • FIND<sir-de-caractere

Afisare unui mesaj:

@12.00 say “introdu ceva”

@ r, c Say „Text” / + / Size r1,c1 – afizarea formatată. În rîndul r pe poziţia c va fi afişat „Text”. În Say pot fi scris mai multe valori. În instrucţiunea dată putem să aflăm mai multe şiruri de caracter. P-u concatenarea cărora se utilizează „+”. Toate valorile după Say numaidecît trebuie să fie de tip caracter. Dacă nu ne ajunge porţiunea de afişare se utilizează opţiunea Size r1 - numărul de rînduri p-u afişare, c1 - numărul de coloane p-u afişare.

Message – „Mesaj”.

Cu ajutor ‚?’

ex: a=’student’ | ?a->student

38

Programarea în limbajul FoxPro. Structuri de control condiţionale. Structuri de control repetitive.

Structuri alternative

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]