Documente Academic
Documente Profesional
Documente Cultură
CĂRĂUŞU
PROGRAMAREA ŞI UTILIZAREA
CALCULATORULUI
Mijloace şi tehnologii birotice
IAŞI - 2008
Referent ştiinŃific:
Prof.dr.ing. Gavril Muscă
CUPRINS
Autorul
1. INTRODUCERE
∗ Memorii interne.
• Bateria CMOS;
• Ceasul intern;
• Controlerul de tastatură;
• Magistrale de date;
• Conectoare (numite şi sloturi) pentru interfeŃe ce servesc la cuplarea
perifericelor.
Microprocesorul este circuitul integrat care coordonează întreaga
funcŃionare a calculatorului. Dacă în 1981 calculatoarele IBM-PC utilizau
microprocesorul 8080, pe 16 biŃi având frecvenŃa de maximum 20 MHz, în ultimul
timp se folosesc procesoare Pentium pe 64 biŃi şi o frecvenŃă de până la 2 GHz.
După numărul de instrucŃiuni ce pot fi executate se întâlnesc următoarele
tipuri de procesoare:
• CISC (Complex Instruction Set Computers), care execută un număr
mare de instrucŃiuni specifice;
• RISC (Reduced Instruction Set Computers), care pot executa un număr
mai mic de instrucŃiuni decât precedentele dar sunt disponibile la un cost redus şi
au o viteză superioară de execuŃie a instrucŃiunilor.
Coprocesorul matematic preia calculele operaŃiilor aritmetice şi sporeşte
viteza de lucru de aproape 5 ori, prin degrevarea microprocesorului de o parte din
sarcinile care-i revin. Pentru primele variante de calculatoare IBM-PC,
coprocesorul era un circuit integrat separat; microprocesoarele actuale au
coprocesorul integrat.
Memoria este componenta care permite stocarea informaŃiei. Toate datele
sunt codificate în şiruri binare de tip 0/1. O astfel de informaŃie este numită binară,
iar un semn 0 sau 1 reprezintă 1 (un) bit. Literele şi cifrele sunt memorate folosind
o combinaŃie de 8 biŃi, combinaŃie numită octet (byte). Întrucât literele şi cifrele se
reprezintă prin combinaŃii de 8 semne de tip 0 sau 1, rezultă că pentru acest scop se
pot utiliza 28, adică 256 combinaŃii. Pentru memorarea unui caracter de tip literă
sau cifră se foloseşte 1 octet de memorie, pentru memorarea unui număr întreg se
folosesc 2 octeŃi de memorie iar pentru reprezentarea numerelor reale, în simplă
sau dublă precizie se utilizează 4 sau mai mulŃi octeŃi. Chiar şi alte informaŃii, cum
sunt cele referitoare la memoria alocată unei imagini grafice, se exprimă tot în
octeŃi, cu toate că, la nivel intern, reprezentarea internă nu se realizează pe
combinaŃii de 8 biŃi. Multiplii, folosiŃi curent, cu referire la volumul memoriei
alocate sunt:
1 ko sau 1 kB (un kilo-octet sau un kilo-byte) reprezintă 1.024 octeŃi;
1 Mo sau 1 MB (un mega-octet sau un mega-byte) reprezintă 1.048.576
octeŃi;
1 Go sau 1 GB (un giga-octet sau un giga-byte) reprezintă 1.073.741.824
octeŃi;
Introducere 13
1 To sau 1 TB (un tera-octet sau un tera-byte) reprezintă 1.024 Go.
Memoria internă a unui calculator cuprinde:
• Memoria RAM (Random Access Memory);
• Memoria ROM (Read Only Memory);
• Memoria CMOS;
• Memoria cache.
Memoria ROM este nevolatilă, adică nu se pierde la oprirea
calculatorului. Această memorie conŃine componente program pentru pornirea şi
funcŃionarea calculatorului, componente numite BIOS (Basic Input/Output
System). Sunt memorii lente şi, de aceea, conŃinutul lor este copiat în memoria
RAM la fiecare pornire a calculatorului.
Memoria RAM este volatilă, pierzându-se la oprirea calculatorului. O
schemă simplificată a alocării memoriei RAM este prezentată în fig.1.1. Din fig.
1.1 rezultă că
BIOS Date EMS
primii 640 Ko Programe si date Upper Memory
HMA Date
sunt rezervaŃi 0 640 ko 1 Mo
programelor şi Fig. 1.1. ConŃinutul memoriei RAM
datelor. Această
zonă cuprinde programe şi date rezidente, necesare funcŃionării dorite a
calculatorului, precum şi programele dorite a fi utilizate. Zona de memorie
cuprinsă între 640 ko şi 1 Mo, numită memorie superioară (Upper Memory) este
utilizată de sistemul de operare, pentru încărcarea componentei BIOS şi a datelor
EMS (Expanded Memory Specification). Zona de memorie peste 1Mo cuprinde o
zonă specială pentru încărcarea sistemului de operare, după care se încarcă date
specifice, referitoare la utilizarea calculatorului.
Memoria cache poate avea până la 512 ko, este o memorie tampon, care
accelerează accesul la memoria internă a calculatorului, în vederea sporirii vitezei
de execuŃie a aplicaŃiilor.
Memoria CMOS cuprinde informaŃii privitoare la configuraŃia internă a
calculatorului, la tipul şi caracteristicile hard-discului, precum şi la ceasul intern al
calculatorului. Această memorie are un consum redus de energie electrică, fiind
alimentată permanent de la o baterie-acumulator.
Legăturile calculatorului cu elementele periferice se realizează cu ajutorul
interfeŃelor. După tipul elementelor legate se întâlnesc următoarele tipuri de
interfeŃe:
• de tastatură;
• de monitor;
• de disc, interfaŃă numită şi cuplor sau controler de disc;
• porturi de comunicaŃie.
Există două standarde de interfeŃe:
• InterfaŃă SCSI (Small Computer System Interface), care are o
14 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
magistrală de date de 32 de biŃi şi poate cupla simultan mai multe periferice (hard-
discuri, unităŃi de CD, imprimante). Aceste interfeŃe au o rată mare de transfer şi
sunt relativ scumpe.
• InterfaŃă IDE (Integrated Drive Electronics), care utilizează circuite
pe unităŃile de disc, sunt mai lente decât precedentele dar, sunt şi mai ieftine.
Pentru cuplarea perifericelor externe există două tipuri de porturi. Acestea
sunt:
• Porturi paralele, care permit transmiterea simultană (paralelă) a celor
8 biŃi ce formează un octet. Aceste porturi permit viteze mari de transfer a
informaŃiei şi sunt desemnate de prescurtarea LPT1:.
• Porturi seriale, care permit transmiterea celor 8 biŃi, în serie, pe un
singur fir. Transmiterea informaŃiei este mai lentă decât în cazul precedent dar, în
acest caz, informaŃiile pot fi transmise printr-un singur fir, deci şi prin linii
telefonice, caz în care sunt necesare modem-urile, pentru modularea semnalului.
Calculatoarele personale au două porturi seriale desemnate prin COM1: şi COM2:.
Tastatura utilizată frecvent are 102 taste şi este tastatura americană US-
102. Tastatura cuprinde mai multe blocuri de taste, între care: blocul alfanumeric,
tastele funcŃionale (F1 până la F12), tastele speciale (Insert, Del, Home, End,
PageUp, PageDown), tastele ce formează blocul de navigaŃie, cu săgeŃi, blocul
tastelor numerice, situat în dreapta, precum şi indicatoare cu led-uri.
Monitorul reprezintă elementul de afişare a datelor şi vizualizare a
interacŃiunii utilizatorului cu sistemul de calcul. Caracteristica principală este
rezoluŃia, care este dată de dimensiunea celui mai mic punct ce poate fi afişat. Un
astfel de punct se mai numeşte şi pixel, iar dimensiunea uzuală este de 0,28 mm1.
Pentru o utilizare sigură, monitoarele trebuie să aibă o radiaŃie electrostatică şi de
raze X, cât mai redusă. Aceste monitoare se mai numesc şi de radiaŃie redusă LR
sau Low-Radiation. RezoluŃia şi numărul de culori specifice unui monitor sunt date
de standardul grafic şi de memoria grafică. Cele mai cunoscute standarde video
sunt CGA (320x200 pixeli, puŃin folosit astăzi), VGA care are 640x480 pixeli şi
permite afişarea a 16 până la 256
culori, variante Super VGA care au
rezoluŃii şi număr de culori supe-
rioare precedentelor. Memoria grafică
uzuală poate fi de 1 Mo, 2 Mo, 4
Mo şi 8 Mo.
Discurile flexibile (dischete)
sunt schimbabile şi asigură
memorarea pe suport magnetic
extern a datelor şi programelor. Fig. 1.2. Dischete de 5,25’’ (a) şi 3,5’’ (b)
1
Se menŃionează că monitoarele de ultimă generaŃie au rezoluŃii superioare.
Introducere 15
Sunt notate cu literele A: sau B: şi arată ca în fig. 1.2. Discul circular este
impregnat cu o substanŃă magnetic sensibilă şi este protejat de o carcasă din
material plastic. Pentru a folosi o dischetă este necesară formatarea acesteia.
Formatarea este operaŃia de în-scriere a unor semnale care împart suprafaŃa
magnetică a discului în piste circulare, divizate, la rândul lor, în sectoare. Aceste
semnale permit poziŃionarea capului de citire/ scriere, precum şi sincronizarea şi
adaptarea la variaŃia vitezei de rotaŃie. Modul în care sunt folosite pistele şi sectoarele
discului este descris în tabelul de descriere a fişierelor FAT (File Allocation
Table), aflat pe pista 0. Cele mai frecvent folosite sunt dischetele de 3,5”, având o
capacitate de 1,4 Mo.
Discul dur, sau hard-discul, are acelaşi scop ca şi discul flexibil dar nu
este schimbabil şi are o capacitate mult mai mare, memoria uzuală disponibilă
fiind de 4-8 Go. Un disc dur este compus din mai multe discuri, accesate de un
număr corespunzător de capete, montate într-o carcasă specială. SuprafaŃa
magnetică este împărŃită în piste şi sectoare iar zona desemnată de poziŃia ocupată
de capetele de citire/scriere, la o rază dată, poartă numele de cilindru. În timpul
funcŃionării, discurile se rotesc continuu, iar capetele plutesc pe o pernă de aer.
Din acest motiv trebuie asigurată o protecŃie la şocuri, iar pentru transport este
necesară „parcarea” capurilor, într-o zonă care să nu afecteze discurile magnetice.
Hard-discurile de ultimă generaŃie permit parcarea automată a capetelor.
Alte periferice sunt mouse-ul şi trackball-ul. Acestea sunt reprezentate în
fig. 1.3. Clasic, culegerea semnalului se face de la o bilă cauciucată aflată în contact cu
un sistem de două potenŃiometre iar
selectarea opŃiunilor se realizează cu
ajutorul unor butoane. Ulterior, în 2004, a
apărut mouse-ul optic care foloseşte o rază
de lumină pentru deplasarea pe ecran a
indicatorului. Trackball-ul este asemănător
mouse-ului cu deosebirea că elementul de
selectare este bila cauciucată. Aceste
periferice sunt indispensabile la utilizarea
mediului Windows. a)
În proiectarea asistată se utili-
zează curent mese şi tablete grafice, fig.
1.4. Pentru elaborarea documentaŃiei se
utilizează scanerele care sunt periferice
capabile să transforme o imagine sau un
document într-un fişier de tip grafic.
Unele calculatoare pot fi dotate cu
b)
dispozitive de memorare externă cu bandă
Fig. 1.3. Mouse şi tracker ball
magnetică, numite streamer.
16 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
1
Dpi (dots per inch) reprezintă numărul punctelor imprimabile pe un segment de 25,4 mm.
18 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
a) b)
c) d)
e)
Fig. 1.8. Plottere: a) cu masă de desenare; b) cu tambur de fricŃiune; c) cu
tambur; d) cu tambur şi antrenare prin perforaŃii; e) plotter color cu jet
de cerneală
Introducere 19
programului, respectiv informaŃiile de intrare şi rezultatele. Datele de intrare şi
cele de ieşire, pot fi numerice şi/sau grafice;
• proiectarea programului, care asigură elaborarea unui algoritm de
calcul şi, eventual, reprezentarea grafică a acestuia;
• implementarea programului, reprezintă transcrierea algoritmilor într-
un limbaj de programare. În această etapă se face şi testarea programului;
• întreŃinerea programului, constă în efectuarea de corecŃii asupra
programului, în funcŃie de necesităŃile de exploatare. Pentru transcrierea
algoritmilor, se poate folosi o reprezentare simbolică (pseudocod).
Limbajul pseudocod, este un mijloc de reprezentare a algoritmilor, fiind
util în programarea structurată, constituind o posibilitate de dezvoltare sistemică a
algoritmilor. Pseudocodul permite specificarea algoritmilor prin enunŃuri
nestandard şi enunŃuri standard. EnunŃurile nestandard sunt fraze în limbaj natural,
care se pot utiliza în schiŃarea formelor iniŃiale ale algoritmilor. În dezvoltarea
ulterioară a algoritmilor, enunŃurile nestandard sunt înlocuite, treptat, cu enunŃuri
standard.
În continuare, se va face o trecere în revistă a limbajelor întâlnite în
proiectarea asistată. Trebuie remarcat faptul că limbajele folosite de utilizatorii
sistemelor de proiectare asistată diferă semnificativ de limbajele folosite de
proiectanŃii produselor software şi hardware specifice concepŃiei şi fabricaŃiei
asistate de calculator.
Din punctul de vedere a utilizatorilor, limbajele folosite în proiectarea
asistată trebuie să permită dialogul prietenos şi eficient cu sistemul de calcul.
Pentru a transmite calculatorului informaŃiile necesare, la fiecare nivel al
procesului de proiectare a obiectului, se utilizează limbaje de descriere cu un
formalism corespunzător, care permit exprimarea obiectului într-o formă accesibilă
omului şi calculatorului.
Limbajele de comenzi permit utilizatorului să comande desfăşurarea
procesului de concepŃie, dirijând dezvoltarea algoritmului în funcŃie de alegerea
utilizatorului.
Limbajele de descriere asigură o bună formulare a problemelor iar
limbajele de comenzi asigură interactivitatea om-maşină în procesul de proiectare
asistată.
Un program de calculator este o listă de acŃiuni executabile de maşină, în
ordinea în care aceasta va trebui să le execute. Ca limbaje de programare, se pot
menŃiona limbajele de tip interpretor, care traduc în limbajul maşinii şi execută
succesiv instrucŃiunile limbajului şi limbajele de tip compilator care separă fazele
de traducere-compilare de execuŃia programului.
Realizarea unui program presupune două etape:
• crearea algoritmului capabil să furnizeze rezultatul căutat;
• transcrierea algoritmului într-un limbaj de programare.
20 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
Dintre aceste două activităŃi, crearea algoritmului este, de departe, cea mai
dificilă şi aceasta cu atât mai mult, cu cât creatorul algoritmului trebuie să rezolve
şi problema erorilor de calcul ce apar chiar şi atunci când algoritmul, în principiu,
este corect. Multe dintre problemele pe care le rezolvă astăzi calculatoarele nu sunt
numerice; (de exemplu: tratarea textelor, gestionarea fişierelor şi bazelor de date
etc.). În aceste situaŃii, algoritmii nu sunt legaŃi atât de strâns de metodele
matematice. Pentru rezolvarea problemelor de programare este necesară
descompunerea în probleme mai mici, a căror rezolvare este evidentă. Programarea
care utilizează această tehnică se mai numeşte programare descendentă.
Din nefericire, există probleme la care rezolvarea nu apare ca evidentă. În
asemenea situaŃii, se poate utiliza programarea recurentă care presupune găsirea
unei relaŃii de recurenŃă şi a unui criteriu de optimizare pentru oprirea calculului
recursiv.
EvoluŃia programării calculatoarelor poate fi bine pusă în evidenŃă de apariŃia
unor lucrări de referinŃă în domeniu: în 1968, Knuth scria "The art of computer
programming", în 1976 Dijkstra publica "A discipline of programming" iar
Davies Gries, în 1981, scria "The science of programming". Deci, se poate
aprecia că la momentul actual, s-a trecut de la stadiul de artă la cel de ştiinŃă în
domeniul programării, acest lucru fiind pregnant subliniat mai ales în cazul
programării asistate a activităŃilor inginereşti.
Întrucât domeniul abordat este de cea mai stringentă actualitate, este foarte
utilă cunoaşterea unor abreviaŃii curent folosite în domeniu, tabelul 1.1, din cauză
că folosim, din ce în ce mai mult, termeni consacraŃi din limbi de circulaŃie
internaŃională.
riglele
Zona de lucru
barele de
linia de defilare
stare
Câmpul de limitare
din dreapta
Câmpul de bază
stânga
formatarea caracterelor).
Câmpul Nivel schiŃă (Outline level) stabileşte nivelul stilului din cadrul
schiŃei de stiluri. Un astfel de stil stabileşte implicit caracteristicile fonturilor şi
aliniatelor.
SecŃiunea Indentare (Indentation) stabileşte marginile aliniatelor şi a
începutului primei linii a aliniatului.
Câmpurile La stânga (Left) şi La dreapta (Right) permite stabilirea
marginilor aliniatului.
Câmpul Specială (Special) conŃine trei opŃiuni: nici una (none) – toate
liniile aliniatului au aceleaşi limite; Prima linie (First line) – prima linie a
aliniatului este indentată (deplasată spre dreapta) cu distanŃa din câmpul Cu (By)
faŃă de restul liniilor; AgăŃat (Hanging) – restul liniilor aliniatului sunt indentate
cu distanŃa din câmpul Cu (By), faŃă de prima linie. DistanŃele se dau în unitatea de
măsură precizată în comanda OpŃiuni (Options) din meniul Instrumente (Tools) –
subfereastra General. Implicit, unitatea de măsură este inch.
SecŃiunea SpaŃiere (Spacing) permite precizarea spaŃiului dintre liniile
aceluiaşi aliniat, cât şi dintre aliniate.
Câmpul Înainte (Before) precizează distanŃa faŃă de paragraful precedent,
iar câmpul După (After) specifică distanŃa faŃă de aliniatul următor. DistanŃa este
precizată în puncte.
Câmpul SpaŃiere (Line Spacing) permite indicarea distanŃei dintre liniile
aceluiaşi aliniat. OpŃiunile sunt:
La un rând (Single) – distanŃa dintre linii este la un rând (interval – şi
depinde de dimensiunea caracterelor);
La 1,5 rânduri (1,5 lines) – distanŃa este 1,5 intervale;
La două rânduri (Double) – la două intervale,
Cel puŃin (At least) – cel puŃin distanŃa, precizată în puncte în câmpul La
(At), dacă sunt entităŃi (caractere, obiecte – de exemplu ecuaŃii - ) mai mari,
distanŃe; se va mări corespunzător;
Exact (Exactly) – distanŃa este exact cea indicată în câmpul At, indiferent
de prezenŃa unor obiecte mai mari decât aceasta;
Multiplă (Multiple) – distanŃa este indicată într-un multiplu de intervale
(de exemplu 1,25 sau 1,6).
ObservaŃie: OpŃiunea Multiple este recomandată pentru „forŃarea” ca una
sau mai multe linii să intre pe pagina anterioară. De exemplu: dacă textul este la un
rând iar pe pagina următoare sunt numai unul sau două rânduri, se selectează textul
de pe cele două pagini şi opŃiunea Multiple este setată cu paragraful 0.97 sau 0.95
în câmpul At. FuncŃia butonului Tabs va fi explicată în următoarea lucrare de
laborator.
Subfereastra Sfârşituri de linie şi de pagină (Line and Page Breaks)
conŃine mai multe căsuŃe de validare:
- Control rând solitar (Window/orphan control) – dacă este activată
2. Procesarea de texte 39
(bifată) liniile unui alineat vor fi „forŃate” să rămână pe aceeaşi pagină, chiar dacă
pagina se va termina înainte de marginea de jos;
- Se păstrează linii împreună (Keep lines/togedher);
- Se păstrează paragr. împreună (Keep with next);
- Sfârşit de pagină înainte (Page break before);
- Se suprimă numerele de linie (Suppress line numbers);
- Fără despărŃire în silabe (Don’t hiphenate).
Marginile şi indentarea aliniatelor sunt mai uşor de stabilit dacă se
lucrează cu elementele riglei orizontale (fig. 2.12).
Cursorul din stânga sus stabileşte mărimea deplasării primei linii a
aliniatului, iar, în acest caz, cursorul din stânga jos fixează limita din stânga a
aliniatului (cursorul din stânga sus este mai la dreapta decât cursorul din stânga
jos).
Fig. 2.12
Dacă cursorul din stânga jos este mai la dreapta decât cursorul din stânga
sus, limita din stânga a aliniatului şi a primei linii va fi stabilită de cursorul
superior iar poziŃia din stânga a restului liniilor aliniatului va fi dată de cursorul
inferior.
Cursorul din dreapta stabileşte limita din dreapta a aliniatului.
Copierea atributelor de formatare se foloseşte în situaŃia în care un bloc
de text dintr-un document a fost deja formatat şi se doreşte aplicarea aceloraşi
atribute de formatare altor blocuri de text. O metodă de copiere a atributelor de
formatare constă în folosirea instrumentului Format Painter de pe bara de
instrumente Standard, astfel:
- pentru copierea atributelor de formatare aplicate caracterelor, se
selectează unul sau mai multe caractere cu atributele de formatare dorite. Pentru
copierea atributelor de formatare ale unui paragraf, se selectează fie întregul
paragraf, fie se plasează cursorul de scriere undeva în paragraf;
- se selectează butonul Format Painter, de pe bara de instrumente Standard.
În dreptul indicatorului standard de mouse va apărea o pensulă;
- se deplasează indicatorul de mouse peste text sau se selectează paragraful
asupra căruia se doreşte aplicarea atributelor.
Se pot utiliza tastele Home şi End pentru a selecta textul din poziŃia
curentă până la începutul rândului sau respectiv sfârşitul rândului; combinate cu
tasta CTRL, aceste taste permit selecŃia textului din poziŃia curentă până la
începutul documentului, respectiv sfârşitul documentului.
Copierea unui text prin memoria temporară (Clipboard) Memoria
temporară (Clipboard), este o zonă de stocare utilizată temporar de Windows
pentru păstrarea unui obiect selectat. Pentru copierea unui text folosind memoria
temporară se procedează astfel: 1. Se selectează textul ce trebuie copiat; 2. Din
meniul Edit, se selectează comanda Copy, (sau se tastează CRTL+C). Word
copiază în memoria temporară (Clipboard), textul respectiv (textul selectat nu
dispare de pe ecran); 3. Se pozitionează cursorul text în locul dorit pentru inserarea
textului copiat (în acest moment textul copiat nu mai este selectat); 4. Se
selectează comanda Paste (lipire), din meniul Edit, sau se tastează CTRL+V şi
textul respectiv va fi inserat în noua poziŃie. Mutarea unui text prin memoria
temporară (Clipboard) Pentru a muta un text dintr-un loc în altul, într-un
document, folosind memoria temporară se procedează astfel: 1. Se selectează
textul respectiv; 2. Din meniul Edit se selectează comanda Cut, (sau se tastează
CTRL+X) şi Word va decupa textul selectat şi-l va introduce în memoria temorară
(Clipboard); 3. Se selectează Edit-Paste (sau CTRL+V) în zona de depunere a
informaŃiei şi Word va insera textul în noua poziŃie.
ObservaŃie. Programul Word 2003 permite stocarea şi lucrul cu 24 de locaŃii ale
memoriei Clipboard. Vizualizarea obiectelor stocate se poate face prin activarea
memoriei Clipboard prin comanda Clipboard Office a meniului Edit.
Copierea şi mutarea textului între documente active se execută la fel ca în
cazul lucrului în acelaşi document, fie având toate documentele afişate pe
suprafaŃa de lucru, fie lucrând cu câte un singur document pe care le afişăm din
meniul Windows sau de pe bara de stare.
Se pot şterge caractere unul câte unul, cuvinte sau fragmente dintr-un text:
- pentru a şterge un caracter la dreapta cursorului se apasă tasta Del;
- pentru a şterge un caracter la stânga cursorului se apasă tasta Backspace;
- pentru a şterge un cuvânt la dreapta se apasă CTRL+Del;
- pentru a şterge un cuvânt la stânga se apasă CTRL+Backspace;
- - pentru a şterge un fragment dintr-un text, se selectează acel text şi apoi
se apasă tasta Del sau Backspace.
Dacă a fost şters din greşeală un text util şi este necesar să fie recuperat,
din meniul Edit se alege comanda Undo, care poate să apară sub forma Undo
Typing sau Undo Clear, în funcŃie de modul cum s-a facut ştergerea textului
respectiv (cu Backspace, sau Del). Recuperarea textului şters nu se poate face
decât imediat după ce s-a facut ştergerea lui, înainte de a se executa altă acŃiune.
Acelaşi efect se poate obŃine selectând cu mouse-ul butonul Undo de pe bara de
instrumente standard, sau apăsând tastele CTRL+Z. Pentru a relua ultima acŃiune
anulată se selectează cu mouse-ul butonul Redo de pe bara de instrumente standard.
2. Procesarea de texte 43
2.6. Căutarea şi înlocuirea textului
În programul Word-ul se pot căuta apariŃiile unui text într-un document
sau într-o porŃiune din document care este selectată. Pentru aceasta se procedează
astfel: 1. Se selectează comanda Find din meniul Edit; 2. În caseta de text Find
What se tastează textul căutat; 3. Din lista derulantă Search se alege modul de
căutare: Down (în jos faŃă de punctul de inserare al cursorului de scriere), Up (în
sus faŃă de punctul de inserare al cursorului de scriere), All (în întreg documentul);
4. Prin apăsarea butonului Find Next, Word începe căutarea şi pune în evidenŃă
prima apariŃie a textului specificat. Se selectează din nou Find Next pentru a găsi
următoarea apariŃie a textului specificat; 5. La terminarea căutării, Word afişează o
casetă cu mesajul de finalizare a căutarii. Prin selectarea butonului OK, se revine
în caseta de dialog Find; 6. Se selectează butonul Cancel (sau se apasa tasta Esc),
pentru revenirea în document.
Pentru a îngusta domeniul de căutare şi pentru a scurta implicit timpul de
căutare, se procedează astfel: – pentru a găsi doar textul care apare exact cum este
scris cu litere mici şi mari, se selectează caseta de validare Match Case. Dacă nu
este activată aceasta casetă, Word găseşte mai multe cuvinte deoarece nu Ńine cont
de modul cum sunt scrise (cu litere mari sau cu litere mici); – pentru a căuta numai
cuvinte întregi se selectează opŃiunea Find Whole Words Only.
ObservaŃie. Din fereastra Find se pot căuta şi o serie de caractere şi semne speciale
prin apelarea butoanelor Format sau Special.
Fig. 2.15.
Fig. 2.16
Machetă Tabel
Rezultatul îmbinării
corespondeŃei
IniŃial, este necesară crearea unei machete care să conŃină textul (de
exemplu Destinatar:) şi câmpurile (de exemplu <<Nume>>), numele coloanelor
din tabelul cu care se va genera corespondenŃa. La îmbinare, textul va apare ca
atare, iar câmpurile vor fi completate cu datele din tabel, respectând denumirea
coloanelor.
După verificare, se dă comanda de îmbinare a corespondenŃei. Pentru
fiecare rând din tabel vor fi generate un număr de pagini egal cu cel al machetei, la
care câmpurile inserate vor fi completate cu valorile din tabel. Astfel, acolo unde
apare câmpul „Nume” vor fi inserate succesiv valorile din coloana Nume al
tabelului. Rezultă că procesul este de fapt o interclasare a două documente:
macheta şi tabelul de date.
La final, utilizatorului nu îi rămâne decât sarcina tipăririi la imprimantă a
fişierului astfel generat.
În continuare se prezintă ca exemplu generarea unor plicuri cu adresele din
tabelul prezentat în fig. 2.19.
Este necesar ca tabelul (dacă este creat înainte) să fie conŃinut singur, de
sine-stătător, întrun document Word, fără titlul sau alte elemente (texte, figuri ş.a.).
De asemenea, capul de tabel (cu denumirile coloanelor) trebuie să fie pe
un singur rând.
Procesul începe prin acŃionarea comenzii Mail Merge (Îmbinare
50 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
Fig. 2.23.
panoul de comandă
Zona de lucru
bara de stare
Fig. 3.1
bara de formule
referinŃa de celulă
Fig. 3.2
unui registru de calcul (fişier) existent, se poate alege una dintre următoarele
variante:
1. Se activează meniul File din bara de meniu şi se alege comanda Open,
sau se acŃionează simultan tastele Ctrl+O.
Se poate acŃiona şi efectuând clic cu mouse-ul pe butonul corespunzător
Fig. 3.4
Fig. 3.5
Find Next.
valorilor dintr-una sau mai multe coloane. Pentru a sorta rapid o listă pe baza unei
singure coloane se procedează astfel:
- Se execută clic pe capătul coloanei sau pe o celulă din coloana
respectivă.
- Se activează butonul Sort Ascending sau butonul Sort
Descending .
În fereastra de dialog se
afişează precizări asupra funcŃie şi
formatului datelor. Fig. 3.16
Argumentele se pot selecta prin „tragere” sau prin selecŃie, procedându-se
astfel:
- Se execută clic pe butonul Collapse Dialog, butonul cu săgeată mică roşie
din dreapta casetei de text Number 1 -
fig. 3.17.
Caseta de dialog va fi
micşorată şi este vizibilă caseta de text
în care se introduce selecŃia. Fig. 3.17
- Se selectează celulele care
3. Calcul tabelar 73
conŃin datele pentru calculul mediei aritmetice, se eliberează butonul mouse şi se
acŃionează tasta Enter. Caseta de dialog îşi va recăpăta dimensiunea iniŃială, iar
grupul de celule selectat va fi afişat în caseta de dialog.
ObservaŃie. Fereastra de dialog Paste Function poate fi activată şi acŃionând pe
butonul corespunzător fx din bara de formule.
Fig. 3.18.
Fig. 3.22
Rigle
Zona de lucru a
Bara cu pictogramele diapozitivului
diapozitivelor curent
Numărul diapozitivelor
Machete
predefinite
Marcaje de
rezervare
Moduri de Zona pentru Bara de
vizualizare notiŃe stare
Auditorul. Este necesar să se ştie cât mai multe cu putinŃă despre cei
cărora li se va adresa prezentare înainte de a începe construirea prezentării, pentru
a găsi forma şi conŃinutul cele mai adecvate pentru diapozitive.
Tema generală. Ce idei din prezentarea dumneavoastră doriŃi să rămână în
memoria auditoriului la o oră după ce aŃi încheiat expunerea? Dar după o
săptămână? PuteŃi să le înlesniŃi întipărirea în minte prin stabilirea unei teme
generale, la care să reveniŃi pe parcurs, mărind astfel impactul prezentării.
O singură idee principală. Fiecare diapozitiv trebuie să fie purtătorul unei
singure idei principale, ca să poată fi înŃeles dintr-o privire.
Să fie succintă şi la obiect. În diapozitive evitaŃi frazele lungi, complicate
şi rezumaŃi-vă la ceea ce este esenŃial. Nu trebuie să aveŃi într-un diapozitiv mai
mult de şase subiecte, evidenŃiate prin buline sau alte marcaje. Cu cât aveŃi mai
multe astfel de subiecte, cu atât trebuie să folosiŃi mai puŃine cuvinte pentru fiecare
din ele.
CoerenŃă. AveŃi grijă să folosiŃi într-o manieră unitară literele majuscule
şi să construiŃi titlurile diapozitivelor în acelaşi format. Nu amestecaŃi în
4. Prezentări electronice 83
diapozitive propoziŃii complete cu jumătăŃi de propoziŃie.
Aptitudini retorice. Prezentarea nu va fi apreciată doar datorită
diapozitivelor. În ultimă instanŃă, prezentatorul este cel care dă tonul. Ca să
capteze atenŃia auditoriului, prezentatorul trebuie să dovedească încrederea în
forŃele proprii şi deplina cunoaştere a subiectului şi trebuie să-şi exprime ideile cu
claritate şi hotărâre. Capacitatea de a putea vorbi în faŃa unui grup de oameni este
o aptitudine necesară în orice domeniu; ea merită cultivată, chiar dacă presupuneŃi
că nu vă veŃi adresa vreodată unei săli pline.
Fig. 4.2.
Fig. 4.6.
Deschiderea unei prezentări existente este similară cu deschiderea oricărui
fişier Office.
4.4.2. Salvarea unei prezentări sub alt nume, pe alt suport şi/sau formă
Pentru realizarea acestei operaŃii, se activează din meniul File (Fişier)
comanda Save As... (Salvare ca...) Se va afişa pe ecran caseta de dialog Save As
corespunzătoare în care se vor transmite: calea unde va fi salvată prezentarea, noul
nume şi tipul dorit – fig. 4.7.
calea de salvare
numele prezentării
tipul prezentării
Fig. 4.7.
Fig. 4.10
90 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
Fig. 4.13
Bara de
instrumente
Master
Tipurile de
diapozitive
Master
Fig. 4.14.
Imaginea
inserată
Fig. 4.15.
Fig. 4.23
Fig. 4.25.
prezentarea pe al calculator.
Fig. 4.26
4. Prezentări electronice 101
Schimbarea orientării diapozitivelor. Diapozitivele pot fi tipărite portret
sau în modul peisaj (Landscape). Pentru aceasta din fereastra Page Setup afişată,
se execută clic pe opŃiunea Portret (vertical) sau Landscape (orizontal).
Fig. 4.27
procedează astfel:
- Se activează comanda Print din meniul File;
- Din fereastra afişată (fig. 4.28), se execută clic pe săgeata din dreptul
casetei Print what şi din lista derulantă afişată se selectează opŃiunea Handouts
apoi se execută clic pe butonul OK.
Fig. 4.28
5. ELABORAREA BAZELOR DE DATE
baza de date este de tip relaŃional atunci este posibilă asocierea rapidă şi extragerea
informaŃiilor înrudite, memorate în tabele separate. Într-o astfel de situaŃie,
tabelele trebuie să fie corelate. Această asociere este posibilă dacă se definesc
aceste corelaŃii în faza de proiectare a bazei de date.
Pentru ca aceste asocieri să fie posibile, fiecare tabel trebuie să conŃină un
câmp sau mai multe care, prin informaŃiile pe care le cuprinde, să identifice în mod
unic fiecare înregistrare din tabel. Aceste câmpuri poartă numele de cheie primară
a tabelului şi sunt folosite pentru asocierea datelor din mai multe tabele. Corelarea
tabelelor se realizează prin introducerea unor câmpuri cu acelaşi nume şi de acelaşi
tip de date în fiecare dintre tabelele pe care dorim să le corelăm. Câmpurile
comune, prin care se face corelarea, sunt denumite cheie primară pentru un tabel
şi, respectiv cheie externă pentru celălalt. Este recomandabil ca numele acestor
câmpuri să fie identic în toate tabelele corelate iar tipurile să fie compatibile
pentru ca corelaŃiile între tabele să poată fi realizate în mod automat.
Calculatoarele se utilizează la înmagazinarea şi exploatarea volumelor
mari de informaŃii. Începând cu anul 1948 s-au făcut numeroase studii, cercetări şi
experimente privind stocarea datelor, iar de-a lungul timpului s-au utilizat mai
multe modele, arhitecturi şi tehnologii privind bazele de date.
Exemple:
1. Fie A mulŃimea persoanelor ce lucrează într-o societate comercială.
Între datele acestei mulŃimi se pot stabili relaŃii de tipul:
x are aceeaşi profesie cu y;
x este soŃia lui y;
x are salariul mai mare decât y;
x este mai în vârstă decât y.
2. Fie B mulŃimea judeŃelor Ńării. Între datele acestei mulŃimi pot exista
relaŃii de tipul:
x este vecin cu y şi y este vecin cu x;
x are suprafaŃa mai mare decât y;
x are mai multe oraşe decât y etc.
3. Fie C mulŃimea produselor finite ale unei societăŃi. Între datele ce
caracterizează aceste produse există relaŃia de tipul:
x intră în componenŃa lui y;
x este mai ieftin decât y;
x este mai util decât y etc.
4. Fie două clase de entităŃi: PRODUSE şi BENEFICIARI. Între datele
acestor două clase de entităŃi pot exista următoarele relaŃii:
• mulŃime de legături R1 între entităŃile clasei PRODUSE, date de faptul
că un produs poate intra în alcătuirea altui produs;
5. Elaborarea bazelor de date 107
b) structură inelară
Fig. 5.1. Structură liniară de date
relaŃie de ordine totală structura definită este liniară. Acest tip de structură are
următoarele proprietăŃi (fig. 5.1,a):
1. Cardinalul mulŃimii elementelor iniŃiale (maximale) este egal cu 1.
Card (M(D))=1.
2. Cardinalul mulŃimii elementelor terminale (minimale) este egal cu 1.
Card (m(D))=1;
3. Orice element neterminal are un succesor imediat unic;
4. Primul element nu are predecesori;
5. Ultimul element nu are succesori;
6. Dacă există un cuplu în relaŃie (u, p) format din ultimul element u şi
primul element p, structura liniară este inelară sau circulară (fig. 5.1,b).
7. RelaŃiile stabilite între date sunt de tipul 1 la 1;
8. În cazul în care componentele unei structuri liniare sunt structuri
arborescente, avem o structură liniară cu elemente structurate arborescent;
9. Când componentele unei structuri liniare sunt structuri reŃea, întâlnim o
structură liniară cu elemente structurate reŃea.
Structura arborescentă (ierarhică sau descendentă). Dacă între
elementele unei colecŃii de date există o relaŃie de ordine, spunem că structura
acestei colecŃii de date este o structură arborescentă.
Acest tip de structură are următoarele proprietăŃi:
1) Există un element unic, numit rădăcina arborelui.
2) Orice nod diferit de rădăcină are un predecesor imediat unic.
112 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
b) reŃea complexă
Fig. 5.3. ReŃele de date
PERSOANE
MARCĂ NUME PRENUME SEX VÂRSTĂ PROFESIE
cardinalităŃile entităŃii identificate să fie 1,1 , iar ale celei identificator, 0,1 sau 1,1;
În funcŃie de situaŃia analizată, o anume entitate poate avea mai multe
roluri:
• incluziunea de roluri: un rol al entităŃii într-o asociere impune un alt
rol al său într-o a doua asociere.
• excluziunea de roluri apare în situaŃia în care roluri ale aceleiaşi
entităŃi se exclud reciproc;
• egalitatea de roluri desemnează o restricŃie de incluziune reciprocă
între două roluri ale aceleiaşi entităŃi.
În mod asemănător se stabilesc şi restricŃiile de incluziune, excluziune şi
egalitate de asocieri - dacă există - care vizează atât asocierea (toate rolurile dintr-
o asociere), cât şi toate entităŃile participante.
puŃin o coloană să conŃină valori diferite pe fiecare linie. Într-o foaie de calcul,
această condiŃie poate fi îndeplinită cu totul întâmplător, dar într-o bază de date,
condiŃia este mai mult decât necesară. Câmpul care are această proprietate este
numit cheie şi oferă într-adevăr soluŃia prin care un program de baze de date
validează datele şi menŃine integritatea datelor.
Din păcate, dacă un tabel dintr-o bază de date este folosit în mod similar
cu o foaie de calcul tabelar, nu este cu nimic mai bun decât aceasta (lucru valabil
în majoritatea aplicaŃiilor). În plus, este mai greu de lucrat" cu această foaie de
calcul în format tabelar, pentru că multe câmpuri sunt afişate dincolo de marginea
ecranului.
La fel ca majoritatea aplicaŃiilor de calcul tabelar, programul Microsoft
Excel vă permite să organizaŃi mai multe foi de calcul într-un registru de calcul. În
mod obişnuit, împărŃiŃi o foaie de calcul mare în mai multe foi de calcul separate,
care pot fi controlate mai uşor, dar în aplicaŃiile uzuale nu există nici o posibilitate
de relaŃionare a unei foi de calcul cu alta. Este mult mai convenabil să organizaŃi o
bază de date într-un mod asemănător; astfel, se organizează câmpurile după
domenii de interes sau categorii de date şi se introduc în tabele separate, pentru a
spori claritatea şi a simplifica utilizarea. Spre deosebire de foile de calcul tabelar,
pentru a păstra relaŃiile dintre toate tabelele unei baze de date, trebuie să se
transfere câmpul care conŃine cheia în toate tabelele mai mici. Acest mod de lucru
a dat şi numele bazelor de date relaŃionale, din care face parte şi programul
Access.
înregistrărilor. Utilizarea unui index se justifică dacă este îndeplinită una dintre
următoarele condiŃii:
• Tabelul este foarte mare (are peste 1.000 de înregistrări).
• Baza de date rulează pe o maşină mai lentă.
• Se caută date care nu se găsesc într-un câmp cheie.
poate avea mai multe produse asociate), cu alte cuvinte, un număr de comandă care
apare o singură dată în tabelul Orders poate apărea de mai multe ori în tabelul
Order Details. Există o relaŃie „one-to-many" şi între câmpurile Product ID din
tabelul Products şi Product ID din tabelul Order Details, ceea ce înseamnă că un
produs care apare o singură dată în tabelul Products poate apărea de mai multe ori
în tabelul Order Details.
ProiectanŃii bazei de date Northwind au folosit numerele de identificare
pentru a relaŃiona cheile din toate cele trei tabele, însă dacă priviŃi datele în modul
de afişare Datasheet, remarcaŃi că în tabelul Order Details apare numele
produsului, şi nu codul său de identificare. Dacă treceŃi în modul de afişare
Design, veŃi vedea că în tabel se găseşte de fapt identificatorul de produs (Product
10); înlocuirea numelui de produs cu identificatorul corespunzător este realizată cu
ajutorul atributelor de căutare (Lookup) ale câmpului Product ID. Chiar dacă acest
artificiu îmbunătăŃeşte aspectul tabelului, creează confuzie pentru cel care întreŃine
baza de date şi, de aceea, nu este recomandat.
Dacă baza de date pe care doriŃi să o creaŃi este simplă şi foarte clară se
recomandă să începeŃi cu programul expert Database Wizard. Acesta vă prezintă
un set de şabloane de baze de date, iar dumneavoastră le puteŃi folosi ca atare sau
le puteŃi modifica după preferinŃă.
Pentru a folosi programul expert Database Wizard, parcurgeŃi următoarele
etape:
132 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
5. După ce selectaŃi una dintre bazele de date model, pe ecran este afişată
caseta de dialog File New Database şi se cere introducerea unui nume de
fişier pentru noua copie a bazei de date. După alegerea unui nume şi a unei
locaŃii pentru fişierul bazei de date se execută clic pe butonul Create.
Factură - Magazie
O magazie poate primi de la 1 la n facturi, de unde rezultă o corespondenŃă
PRIMEŞTE.
CorespondenŃa PRIMEŞTE
∗ dinspre entitatea Magazie (1,n);
∗ o magazie primeşte cel puŃin o factură (cardinalitate minimă 1);
∗ o magazie poate primi mai multe facturi (cardinalitate maximă n);
∗ dinspre entitatea Factură (1,1);
∗ factura este trimisă la cel mult şi la cel puŃin o magazie (cardinalitate
1,1).
CorespondenŃa DESTINAT
Dinspre entitatea Bon de consum (1,1)
∗ un bon de consum este destinat cel puŃin şi cel mult unei magazii
(cardinalitate 1,1).
Dinspre entitatea Magazie (1,n)
6. Obiectele bazei de date 137
∗ unei magazii îi este destinat cel puŃin un bon de consum (cardinalitate
minimă 1);
∗ unei magazii îi sunt destinate mai multe bonuri de consum
(cardinalitate maximă n).
pentru fiecare, câmp se definesc proprietăŃi care diferă în funcŃie de tipul de dată
ales şi de cerinŃele aplicaŃiei. Astfel, dacă tipul de dată ales este numeric, aşa cum
este cazul câmpului Nr factură (fig. 6.6 şi 6.7), în cadrul ferestrei de proprietăŃi pe
tab-ul General se pot defini următoarele:
∗ funcŃii şi constante.
Dacă nu se specifică nici un operator, ACCESS asumă automat operatorul
de egalitate. Când constantele folosite conŃin spaŃiu sau caractere speciale, acestea
trebuie încadrate între ghilimele, iar datele calendaristice trebuie specificate între caracterele
#; spre exemplu #03/01/2000#. Pentru a compara câmpurile de tip Text, Memo sau
Hyperlink cu diverse şabloane se foloseşte operatorul LIKE. Aceste şabloane pot
conŃine caractere cu funcŃii speciale: ? - orice caracter în poziŃia care apare, orice caracter
în poziŃia care apare şi în următoarele şi # - orice cifră zecimală (0 - 9). Exemple:
LIKE "ABC*" - orice şir de caractere care începe cu ABC şi se continuă cu altceva, LIKE "
7######" - toate numerele de telefon, care încep cu cifra 7. ApartenenŃa la un interval se
specifică prin BETWEEN, iar la o listă de valori, prin IN. Astfel, putem stabili ca în
cadrul unui câmp numeric Long Integer valorile ce pot fi introduse să fie cuprinse
între 50.000 şi 100.000: BETWEEN 50.000 AND 100.000. Pentru a construi mai
uşor expresiile de validare, Access posedă Expression Builder, care se activează
prin clic pe tab-ul (...) aflat la capătul zonei de introducere din Validation Rule.
În afara regulilor de validare specifice fiecărui câmp din structura unei
tabele (definite în proprietatea Validation Rule a câmpului respectiv), se pot defini
reguli de validare la nivelul tabelei în lista de proprietăŃi a acesteia. Acestea pot
interveni în situaŃiile în care valorile dintr-un câmp sunt dependente de valorile
introduse în alte câmpuri.
8. Textul de validare (Validation Text) reprezintă textul care va apărea pe
bara de mesaje în cazul în care valoarea introdusă nu respectă criteriul impus de
regula de validare.
9. Cerut (Required). Prin această proprietate se stabileşte dacă prin
introducerea unei înregistrări în cadrul tabelei este obligatorie şi completarea
respectivului câmp. Astfel, în cadrul tabelei Facturi câmpul Data factură trebuie
completat în permanenŃă. Prin urmare, pentru acest câmp se va selecta din cadrul
listei opŃiunea Yes, ceea ce înseamnă că este obligatorie completarea acestui câmp.
10. Indexat (Indexed). Dintr-o listă derulantă se poate alege între un index
care admite valori duplicat sau unul care cere ca fiecare valoare a câmpului să fie
unică. Access defineşte automat cheia primară a tabelei ca fiind indexată şi fără
duplicate (No Duplicated). Eliminarea unui index existent se realizează (exceptând
cazul în care acel câmp este cheie primară) prin selecŃia opŃiunii No. Se pot defini
maxim 5 indecşi compuşi, numiŃi: index1, index2, ... . Nu pot fi indexate câmpurile
de tip Memo sau OLE.
Indexarea după unul sau mai multe câmpuri permite accesul direct la datele
memorate într-o tabelă. Deoarece cheia primară identifică în mod unic înregistrările
unei tabele se impune ca cel puŃin acest câmp să fie declarat ca index. Efectul
indexării constă în crearea unui tabel cu două coloane: în prima se memorează valoarea
câmpului indexat, iar în a doua, adresa fizică de pe disc a înregistrării corespondente.
Acest tabel se ordonează crescător sau descrescător după prima coloană (valorile
6. Obiectele bazei de date 149
câmpului index), ceea ce permite o regăsire rapidă în vederea accesului direct la
înregistrări.
Tabul Lookup se referă la câmpurile pentru care a fost activat tipul de date
Lookup Wizard. Se recomandă ca acest tip de date să se folosească pentru a defini
cheia externă a unei tabele. În felul acesta valorile cheii externe vor fi selectate
dintr-o altă tabelă în care câmpul respectiv este declarat cheie primară. Prin acest
procedeu se simplifică introducerea datelor în tabele şi în plus se asigură încă o
dată restricŃia de integritate referenŃială.
Deoarece proprietatea Limit To List are valoarea No, utilizatorul are
posibilitatea să introducă şi alte valori decât cele din listă, ceea ce ar încălca
restricŃia de integritate referenŃială. Pentru a înlătura acest impediment, ar trebui ca
proprietatea Limit To List să fie setată pe valoarea Yes, ceea ce ar face ca Combo
Box să funcŃioneze numai ca o listă predefinită de valori (restrânsă numai la ceea
ce găseşte în câmpul No produs din tabela Produs).
După descrierea câmpurilor componente ale unei tabele (conform teoriei
modelului relaŃional) trebuie stabilită cheia primară a acesteia. În caz contrar,
Access ne avertizează de acest lucru şi ne sugerează o cheie primară. Aceasta poate fi
formată din unul sau mai multe câmpuri (cheie compusă). Când cheia primară este
formată dintr-un singur câmp, acesta este selectat şi apoi se activează butonul cheia
primară. Dacă cheia primară este formată din mai multe câmpuri se selectează
primul, iar celelalte se selectează în combinaŃie cu apăsarea tastei CTRL, după care se
activează butonul cheie primară.
relaŃii primare);
∗ se creează un subformular bazat pe cererea creată anterior;
∗ se aduce subformularul în spaŃiul formularului principal şi se stabileşte
legătura între cele două prin câmpul Cod Furnizor.
6.3. Interogări
Interogarea unei baze de date se face în mai multe moduri:
∗ prin vizualizarea în totalitate a conŃinutului tabelelor (foaia de date
asociate tabelei);
∗ prin vizualizarea parŃială sau totală a conŃinutului tabelelor cu ajutorul
unor formulare sau situaŃii finale;
∗ prin cereri explicite.
Primele două moduri pot fi catalogate ca interogări simple, fără restricŃii
şi pot fi formulate pentru o singură tabelă. Interogarea prin cereri explicite este
complexă, comportând în general mai multe tabele, ale căror date sunt filtrate prin
intermediul unor criterii. Ultima modalitate este implementată în ACCESS prin
componenta numită cerere de interogare (query), care poate fi de cinci feluri:
∗ selecŃie (select),
∗ analiză încrucişată (crosstab),
∗ acŃiune (action),
6. Obiectele bazei de date 165
∗ SQL (Structured Query Language) şi
∗ parametrată (parameter).
Rezultatul execuŃiei unei asemenea cereri este plasat într-o foaie de
răspuns, asemănător foii de date asociate unei tabele.
Avantajele oferite de modul de interogare a bazei de date prin cereri sunt:
∗ selecŃia câmpurilor din tabele şi a înregistrărilor acestora pe baza unor
criterii impuse de necesităŃile informaŃionale;
∗ ordonarea rezultatelor după anumite criterii;
∗ introducerea unor câmpuri calculate pe baza unor formule, care
folosesc drept operanzi alte câmpuri existente în tabele, precum şi
posibilitatea determinării de totaluri pe anumite câmpuri;
∗ utilizarea într-o cerere a mai multor tabele;
∗ modularitatea cererilor în sensul că foaia de răspuns (rezultatul) a unei
cereri poate fi folosită ca intrare pentru o nouă cerere;
∗ crearea unor formulare şi situaŃii finale (reports), care au la bază cereri
de interogare (create anterior);
∗ posibilitatea generării de reprezentări grafice pe baza unor cereri de tip
analiză încrucişată.
Crearea unei cereri de interogare se poate face în mai multe feluri:
∗ proiectarea cererii în modul Design view (fereastră de proiectare);
∗ crearea cererii utilizând instrumentul wizard;
∗ exprimarea cererii în limbajul SQL;
∗ crearea unui filtru şi salvarea acestuia ca cerere de interogare.
11. Salvarea unei cereri de interogare se face prin comanda <File, Save>.
După definirea structurii cererii, câmpurile acesteia pot fi deplasate dintr-
un loc în altul, şterse sau adăugate altele noi. Deplasarea unui câmp dintr-un loc în altul se
face prin clic pe selectorul acestuia (care se găseşte deasupra câmpului) urmată de clic
şi deplasarea cursorului la locul de destinaŃie. InserŃia unui câmp într-o structură
de cerere existentă se face ca şi la crearea acesteia. Ştergerea se face prin selecŃia
câmpului urmată de tasta de ştergere.
Activarea unei cereri se poate face în două moduri:
∗ prin butonul Open din fereastra Database;
∗ printr-un formular sau o situaŃie finală care foloseşte rezultatul cererii.
Ori de câte ori vom activa cererea respectivă prin butonul <Open>, vom obŃine
foaia de răspuns care rezultă în urma execuŃiei acesteia şi care va fi diferită în timp,
în funcŃie de starea bazei de date din acel moment (fig. 6.24). Prin urmare, foaia de
răspuns are o existenŃă temporară pe perioada activării cererii al cărui rezultat este.
Fig. 6.24. Foaia de răspuns aferentă cererii de interogare din fig. 5.23
În mod implicit, câmpurile preluate din tabele/cereri vor avea acelaşi nume ca şi
la sursă, dar există posibilitatea schimbării acestora. În acest sens, se realizează clic
în faŃa primei litere din numele câmpului (din structura cererii din grila de interogare)
şi se introduce noul nume urmat de caracterul „:", care-l va delimita de numele
170 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
C
C1 2 Cn
L
1 V11 V12 V1n
L2
Lm vm1 Vmn
Crearea unei cereri de interogare de acest tip se face la fel ca o cerere care
comportă calcule, cu deosebirea că trebuie specificate câmpurile care furnizează
6. Obiectele bazei de date 173
liniile, coloanele şi valorile din tabel.
Se procedează astfel:
∗ se lansează crearea unei noi cereri de interogare şi se aduc în zona de
lucru tabelele necesare;
∗ se aduc în grila de proiectare câmpurile dorite din tabele şi se stabilesc
criteriile de selecŃie;
∗ se alege <Query, Crosstab Query>, care va aduce în grila de
interogare liniile Total şi Crosstab şi va afişa Group by în celulele din linia
Total;
∗ se execută clic în celula Crosstab a câmpului care va da numele liniilor
tabelului şi se va selecŃiona Row Heading din lista derulantă;
∗ clic în celula Crosstab a câmpului care va da numele coloanelor
tabelului şi se va selecŃiona Column Heading din lista derulantă;
∗ clic în celula Crosstab a câmpului care va furniza valorile din tabel şi
se va selecŃiona Value din lista derulantă;
∗ clic în celula Total a câmpului care va furniza valorile din tabel şi se va
selecŃiona operaŃia dorită (Sum, Count, Max, Min, etc.);
∗ comanda <View, Datasheet View> pentru vizualizarea rezultatului.
Se pot specifica mai multe câmpuri pentru a furniza numele de-linii ale
tabelului şi numai unul pentru a da numele coloanelor. Obligatoriu, câmpurile care
furnizează numele liniilor şi coloanelor trebuie să aibă în linia Total criteriile
Group by. La o cerere de interogare de acest tip pot participa una sau mai multe
tabele.
Tabelele care rezultă în urma execuŃiei acestor cereri, în mod standard, vor avea
numele coloanelor plasate de la stânga la dreapta în ordine alfabetică. Există posibilitatea
schimbării acestei ordini în funcŃie de necesităŃile şi preferinŃele utilizatorului.
În acest scop:
∗ se creează o cerere de interogare de tip Analiză încrucişată;
∗ comanda <View, Properties> care va afişa fereastra Query Properties;
∗ se selectează caseta Column Headings şi se introduce numele
coloanelor în ordinea dorită, sub forma unei liste în care separatorul
este unul din caracterele "," sau ";" (depinde de modul de configurare a
WINDOWS-ului);
∗ clic pe OK şi apoi comanda <View, Datasheet View> pentru
vizualizarea răspunsului.
În anumite situaŃii, modificările din foaia de răspuns a unei cereri de
interogare pot modifica tabela sursă, din care s-a constituit cererea. Pentru aceasta
este necesar ca fiecare înregistrare din foaia de răspuns să reprezinte o singură
înregistrare din tabela sursă.
174 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
Câmpurile unei tabele create prin intermediul unei asemenea cereri vor
moşteni numai tipurile şi dimensiunile din tabelele sursă, fără cheia primară şi
celelalte proprietăŃi ale acestora şi ale tabelei. De aceea, se recomandă ca după
execuŃia cererii de creare să se preia tabela în modul de lucru Design View şi să se
stabilească cheia primară, celelalte proprietăŃi ale câmpurilor (criterii de validare,
valorile prin lipsă etc.) şi eventual proprietăŃile tabelei.
De exemplu, dorim să extragem toŃi furnizorii care nu sunt din Iaşi ai
firmei într-o nouă tabelă intitulată Furnizori externi (fig. 6.28).
6. Obiectele bazei de date 175
În situaŃia în care cererea de tip selecŃie, care stă la baza unei cereri de tip
acŃiune ce va crea o nouă tabelă, este de tipul analiză încrucişată se parcurg
următoarele etape:
∗ se creează cererea de tip analiză încrucişată şi se înregistrează;
∗ se creează o nouă cerere de tip selecŃie bazată pe cererea anterioară
(va prelua rezultatul acesteia);
∗ se transformă cererea de tip selecŃie definită anterior, într-o cerere de
creare a unei noi tabele.
Ştergerea unui grup de înregistrări care satisfac un anumit criteriu
Pentru a crea o cerere de tip selecŃie care să stea la baza unei cereri de tip
acŃiune în vederea ştergerii unui grup de înregistrări:
∗ se lansează crearea unei noi cereri şi se aduc tabelele necesare în
zona de lucru;
∗ se deplasează următoarele câmpuri în grila de interogare:
∗ câmpul * din tabelele din care vrem să ştergem înregistrări;
∗ câmpurile pe care se vor stabili criterii de selecŃie.
∗ se specifică criteriile de selecŃie şi se utilizează comanda <View,
Datasheet View> pentru a vizualiza rezultatul.
Urmează etapa de transformare a cererii de tip selecŃie în cerere de tip
acŃiune:
∗ se trece în modul Design View şi se alege <Query, Delete query>,
care va schimba numele cererii într-o cerere de ştergere şi va afişa în
grila de proiectare linia Delete, iar în dreptul criteriilor de selecŃie,
Where;
∗ se poate completa cererea cu noi tabele şi criterii de selecŃie prin
deplasare acestora din zona de lucru în grila de interogare (ca mai înainte);
∗ se activează butonul <OK> şi apoi <Query, Run>, care va afişa într-
176 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
• INSERT
Se foloseşte pentru adăugarea de înregistrări dintr-o tabelă în alta. Prin
această interogare de adăugare nu se pot insera date dintr-o tabelă în ea însăşi;
operaŃia ar fi totuşi posibilă printr-o selectare prealabilă a datelor iniŃiale într-un
tabel temporar, urmată de modificarea şi readucerea lor în tabelul de la care s-a
plecat.
Există două forme ale instrucŃiunii, şi anume: INSERT...VALUES şi
INSERT...SELECT.
a) INSERT INTO nume_tabelă (câmp1, câmp2...)
VALUES (valoare1,valoare2...);
În acest caz se adaugă o înregistrare într-o tabelă, menŃionându-se
câmpurile şi valorile asociate acestora. Ca particularitate se remarcă inserarea unei
singure înregistrări la un moment dat. Prima formă a lui INSERT se utilizează
pentru operaŃii simple care presupun lucrul cu un număr redus de înregistrări.
După lansarea în execuŃie a interogării apare un mesaj de avertizare privind
adăugarea noii înregistrări în baza de date şi caracterul ireversibil al acestei
operaŃii.
În cadrul acestui tip de inserare a datelor trebuie să se respecte următoarele
reguli:
∗ valorile menŃionate în clauza VALUES vor avea aceeaşi natură cu
câmpurile specificate în clauza INTO;
∗ mărimea valorii corespunzătoare fiecărui câmp va fi mai mică decât
dimensiunea câmpului;
∗ nu va fi obligatorie specificarea denumirii câmpurilor, deoarece SQL
ACCESS va asocia listei de valori câmpurile în ordinea din structura
înregistrării (prima valoare se va introduce în primul câmp, a doua
valoare, în al doilea câmp ş.a.m.d.);
190 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
• DELETE
• UPDATE
UPDATE nume_tabelă
SET nume_câmpl = valoarel
[,nume_câmp2 = valoare2]...
[WHERE criteriul_de_actualizare];
Are atât scopul de a insera noi înregistrări, cât şi de a modifica valorile
câmpurilor din înregistrările existente. Ca şi în cazul instrucŃiunii INSERT, se va
urmări dacă în câmpul cu valori de actualizat sunt permise numai valori unice.
Atunci când se doreşte actualizarea datelor din mai multe câmpuri se
6. Obiectele bazei de date 191
foloseşte virgula ca separator între câmpuri şi valorile acestora. Se pot utiliza mai
multe condiŃii WHERE apelând la operatorul logic AND pentru a limita
actualizarea la înregistrări mai bine specificate.
UPDATE Marfuri
SET Categ = "detergenti", UM = "cutie"
WHERE Categ = "detergent" AND UM = "cutii";
SELECT *
FROM Tabelă1
WHERE Tabelă1.nume_ câmp = (SELECT nume_câmp FROM Tabelă2
WHERE criteriul_de_selecŃie);
• ALL
Se preiau rezultatele subinterogării şi, dacă acestea îndeplinesc condiŃia
cerută, se returnează valoarea logică True; este folosit de obicei ca o dublă negaŃie.
192 Programarea şi utilizarea calculatorului. Mijloace şi tehnologii birotice
• ANY
Are în vedere compararea valorii de ieşire a subinterogării cu fiecare
înregistrare din interogarea externă. Dacă pentru fiecare înregistrare din interogare
există un rezultat al subinterogării se va returna valoarea logică True. Spre
deosebire de clauza IN poate fi folosit cu diverşi operatori relaŃionali. Cuvântul
cheie SOME are acelaşi rol şi caracteristici ca ANY.
• EXISTS
Foloseşte subinterogarea ca pe o condiŃie, analizând setul de rezultate al
acesteia şi returnând valoarea False dacă nu există nici o ieşire. Se poate astfel
verifica existenŃa anumitor înregistrări şi controla ansamblul răspunsurilor date de
interogare.
Fiecare cuvânt cheie ANY, ALL şi EXISTS poate să fie utilizat pentru
restricŃionarea interogărilor şi în forma cu negaŃie - adică prin folosirea
operatorului logic NOT.
6.4. Rapoarte
Rapoartele constituie rezultatul activităŃilor de creare, actualizare şi
exploatare a unei baze de date, conŃinutul lor fiind vizualizat pe ecran ori listat la
imprimantă.
Cu Access se pot realiza
diferite obiecte de tip raport,
utilizând opŃiunea "Reports" din
meniul "Objects" şi butonul
"New".
Există următoarele
modalităŃi de lucru:
∗ crearea rapoartelor asistată de
Wizard selectarea variantei
de lucru "Report Wizard"
permite generarea unor
rapoarte complexe, fără
cunoaşterea amănunŃită a
Fig. 6.35. Fereastra New Report facilităŃilor Access;
∗ realizarea rapoartelor de către utilizator, după alegerea opŃiunii "Design
View";
∗ generarea automată, fără vreo intervenŃie a utilizatorului, a unor
rapoarte în care datele sunt prezentate fie pe o singură coloană pentru
fiecare înregistrare (opŃiunea "Autoreport: Columnar"), fie sub formă
de tabel obişnuit (opŃiunea "Autoreport: Tabular");
6. Obiectele bazei de date 193
∗ crearea de rapoarte sub formă de grafic (cu opŃiunea "Chart Wizard");
∗ realizarea unor rapoarte de dimensiuni corespunzătoare unor etichete
utilizate, eventual, pentru corespondenŃă ("Label Wizard").
SituaŃiile finale pot cuprinde date provenind dintr-o tabelă, sau dintr-o
interogare (atunci când sunt necesare date din mai multe tabele), caz în care se
răspunde mesajului "Choose the table or query where the object's data comes
from:" prin selectarea din listă a tabelei sau interogării care va sta la baza realizării
raportului. Există şi posibilitatea realizării de rapoarte care nu au o anumită sursă
de date, dar care vor îngloba informaŃii utile subrapoartelor definite pe tabele ori
interogări între care nu au fost stabilite relaŃii. Între rapoarte şi formulare există
multe elemente comune, cum ar fi:
∗ secŃiunile rapoartelor (sunt aceleaşi ca şi în formulare): Report
Header/Footer, Page Header/Footer, Detail etc.
∗ controalele, descrise în subcapitolul aferent formularelor, cu
menŃiunea că unele dintre acestea (de exemplu, casetele de tip listă
simplă ori combinată, butoanele de comandă) sunt inutile într-un
raport;
∗ proprietăŃile controalelor, secŃiunilor şi rapoartelor; se poate observa
însă că proprietăŃile din categoria eveniment (Event) nu sunt
accesibile pentru controalele dintr-un raport.
Rapoartele permit numai vizualizarea sau tipărirea datelor, dar nu şi
editarea (adăugarea, modificarea, ştergerea) acestora.
Vom exemplifica, în continuare, crearea şi modificarea structurii şi
conŃinutului rapoartelor.
aprovizionate.
4. Florescu V., Stanciu V., Cozgarea A., Cozgarea G., Baze de date, Editura
Economică, Bucureşti, 2000
8. Năstase, P., Mihai, F., Cosăcescu L., Covrig, L, Stanciu, A., Tehnologia
bazelor de date ACCESS 2000, Bucureşti, Editura Economică, 2001
9. Perkins, J., Morgan, B., SQL fără profesor în 14 zile, Editura Teora,
Bucureşti, 1997