Elemente de Visual Basic

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Elemente de Visual Basic"

Transcript

1 Elemente de Visual Basic B. Demşoreanu Cuprins 1 Concepte generale Constante, variabile, expresii Declaraţii şi conversii de tip. Tablouri Funcţii standard Structuri de control Structuri de decizie Structuri repetitive Proceduri generale Subprograme de tip subrutină şi funcţie Subprograme de tip GoSub... Return Rutine de tratare a erorilor Sistemul de I/O. Fişiere Casete de dialog predefinite Metoda Print şi funcţia Format Fişiere în Visual Basic Metode şi proprietăţi grafice în Visual Basic Metode grafice Specificarea culorilor Proprietăţi grafice Procedee de trasare Procedee de umplere Sistemul de coordonate A Anexă: o procedură utilă pentru reprezentări grafice 31 1

2 Elemente de Visual Basic 1 Concepte generale Avându-şi originea într-un limbaj numeric de programare destinat iniţial începătorilor, sistemul Visual Basic a devenit în ultimii ani un limbaj foarte evoluat, destinat în mare măsură programării orientate spre obiecte şi dirijate de evenimente (OOED). Beneficiind de o Interfaţă Grafică Utilizator (GUI) performantă, bazată pe sistemul de operare Windows, pot fi dezvoltate relativ uşor o serie de aplicaţii, pornind de la calcule simple şi reprezentări grafice, până la construcţii de baze de date, sau aplicaţii cu interfaţă multi-document (MDI). Deşi primele elemente ale limbajului Basic (Beginner s All-purpose Symbolic Instruction Code) datează încă din 1965, doar începând cu anii 80, odată cu dezvoltatea calculatoarelor pe 8 şi 16 biţi se poate vorbi de o evoluţie semnificativă. Îmbunătăţirile aduse în prezent limbajului sunt considerabile, ceea ce îl transformă într-un instrument modern, deosebit de eficace, pentru dezvoltarea unor aplicaţii complexe. Sunt utilizate o serie de concepte de programare structurată, cunoscute şi din alte limbaje, dintre care amintim doar structurile de decizie şi de ciclare, posibilitatea de a lucra cu subprograme şi funcţii externe ca module independente de program, noi tipuri de date, variabile globale şi locale, etc. Mediul de programare include un editor performant care semnalează orice eroare de sintaxă, posibilităţi de depanare interactivă deosebit de eficace, un sistem integrat de help -uri care se poate substitui în bună măsură unui manual exhaustiv. În cele ce urmează vor fi prezentate succint doar elementele strict necesare dezvoltării unei aplicaţii numerice, urmând ca proprietăţile şi metodele specifice obiectelor în Visual Basic să fie însuşite de utilizator din literatura de specialitate 1, Constante, variabile, expresii Constantele sunt valori care se utilizează într-un program şi care nu se modifică în timpul execuţiei. În Visual Basic pot fi utilizate următoarele tipuri de constante : Byte : reprezentate pe un octet, cu valori în domeniul 0 255, adică ; Boolean : reprezentate pe doi octeţi cu valorile True şi False ; 1 * * * - Visual Basic 4 Unleashed, Sams Publishing, Indianapolis, M. S. Heyman - Essential Visual Basic 4, Sams Publishing, Indianapolis,

3 Integer (întreg) : reprezentate pe doi octeţi, cu valori în domeniul , adică ; Long (întreg lung) : reprezentate pe patru octeţi, cu valori în domeniul , adică ; Single (real simplă precizie) : reprezentate pe patru octeţi, cu valori negative în domeniul şi valori pozitive în domeniul ; Double (real dublă precizie) : reprezentate pe opt octeţi, cu valori negative în domeniul şi valori pozitive în domeniul ; Currency (monedă, valută) : reprezentate pe opt octeţi, cu valori cuprinse în domeniul , adică intervalul [ ] scalat la ; Date (dată) : reprezentate pe opt octeţi, cu valori în domeniul #January 1, 100# şi #December 31, 9999# ; String (şir de caractere) : o succesiune de maximum caractere ASCII scrise între ghilimele ("), fiecare caracter ocupând un octet de memorie. Limbajul Basic recunoaşte şi constanta şir vid de caractere (""). Sistemele pe 32 biţi permit şiruri având o lungime maximă de caractere. Pentru a evita unele ambiguităţi în descrierea şi efectuarea unor operaţii cu numere având reprezentare internă distinctă (aritmetica întreagă este complet diferită de aritmetica în virgulă flotantă), este recomandabilă ataşarea unor sufixe care să indice explicit tipul: % - pentru întreg, & - pentru întreg lung,! - pentru real simplă precizie, # - pentru real dublă - pentru monedă. În cazurile în care nu există dubii, sufixul va fi eliminat automat de compilator. O variabilă reprezintă o mărime care poate lua diferite valori dintr-o mulţime dată. Variabila are un tip, un nume şi o valoare. În afara variabilelor de tip numeric (Byte, Integer, Long, Single, Double, Currency), logic (Boolean), sau dată (Date), sistemul recunoaşte tipul şir de caractere cu lungime variabilă (String) sau fixă (String*n), tipul obiect (Object), tipul nedefinit (Variant), tipul definit de utilizator (Type... End Type). Numele variabilei constă dintr-un şir de maximum 255 de caractere alfanumerice, inclusiv caracterul ( ), primul caracter fiind obligatoriu o literă. Numele unei variabile numerice poate fi urmat de unul din caracterele %, &,!, care indică tipul variabilei. Numelui unei variabile şir de caractere i se poate ataşa sufixul $. În afara declaraţiilor implicite de tip realizate cu ajutorul sufixelor, există posibilitatea declarării explicite a tipului cu ajutorul instrucţiunilor Dim, Static, Public, Private. Valoarea variabilei depinde de tipul ei. Numele unei variabile nu poate fi un cuvânt rezervat (instrucţiune, comandă, cuvânt cheie). Tipul de date nedefinit este cel prestabilit în Visual Basic, el reprezentând tipul oricărei variabile care nu a fost declarat explicit sau implicit. O variabilă de tip variant poate conţine date de tip numeric, şiruri de caractere, date calendaristice, precum şi valorile speciale Empty şi Null. 3

4 Ultimele două entităţi sunt distincte, valoarea Empty indicând că variabila nu a fost iniţializată (ea este zero pentru o dată numerică, sau are o lungime nulă pentru un şir de caractere), iar valoarea Null corespunde situaţiei în care variabila nu conţine nici o dată validă. Folosirea tipului variant asigură o flexibilitate mai mare în manipularea datelor, tipul concret de dată conţinut rezultând din analiza contextului, ceea ce are drept consecinţă o oarecare scădere a vitezei de calcul. O expresie reprezintă o succesiune de variabile, funcţii şi constante legate între ele prin operatori şi paranteze (dacă este cazul). Funcţia reprezintă un subprogram care primeşte una sau mai multe valori, efectuează anumite calcule, rezultatul fiind returnat prin numele funcţiei. Operatorii specifică operaţiile care se efectuează asupra valorilor operanzilor. În particular, o expresie se poate reduce la un singur operand. a) Expresiile aritmetice constă din operanzi şi operatori aritmetici. În Tab. 1 figurează operatorii aritmetici binari în ordinea descrescândă a precedenţei acestora. Precedenţa operatorilor stabileşte prioritatea operaţiilor într-o succesiune care nu conţine paranteze. La precedenţă egală, Operator Semnificaţie ^ ridicare la putere (exponenţiere) *, / înmulţire şi împărţire reală \ împărţire întreagă Mod restul împărţirii întregi (modulo) +,- adunare şi scădere & concatenarea şirurilor de caractere Tabelul 1: Operatori aritmetici binari operaţiile se efectuează de la stânga la dreapta. Sistemul recunoaşte şi operatorul minus unar, a cărui precedenţă este imediat după cea a operatorului de ridicare la putere. Este interzisă scrierea consecutivă a doi operatori, unica excepţie reprezentând-o operatorul minus unar care poate fi plasat imediat după un operator binar. Dacă doi operanzi sunt de acelaşi tip, şi rezultatul va fi de acelaşi tip. Dacă însă operanzii sunt de tipuri diferite, operandul cu rang mai scăzut va fi convertit la tipul operandului cu rang mai înalt, rezultatul având rangul celui din urmă. Operatorul (+) serveşte şi la concatenarea constantelor, variabilelor şi varianţilor care conţin şiruri de caractere, însă operatorul de concatenare recomandat a fi folosit este (&), deoarece acesta realizează concatenarea chiar dacă un variant conţine o entitate de tip numeric. În Tab. 1 este trecut şi operatorul de concateneare pentru şiruri (&) deşi acesta nu este un operator aritmetic, deoarece precedenţa sa este inferioară oricărui operator aritmetic, dar superioară operatorilor de relaţie. b) Expresiile de relaţie constă din expresii aritmetice sau de tip şir de caractere separate prin operatori de relaţie. Operatorii relaţionali (v. Tab. 2) sunt binari şi au toţi aceeaşi precedenţă, dar aceasta este inferioară operatorilor aritmetici şi superioară operatorilor logici. Rezultatul unei expresii de relaţie este o entitate de tip logic (True sau False), dar poate lua şi valoarea Null. Dacă operanzii nu sunt de acelaşi tip, înaintea evaluării expresiei se face convertirea operanzilor cu rang mai scăzut la operandul cu rang mai ridicat. În cazul operanzilor de tip şir de caractere, 4

5 Operator Semnificaţie = egal cu... <> diferit de... < mai mic ca... > mai mare ca... <= mai mic sau egal cu... >= mai mare sau egal cu... Like şirul este asemenea cu... Is... este... Tabelul 2: Operatori relaţionali compararea valorilor se face pe baza relaţiei de ordine a codurilor ASCII. Operatorul Like serveşte la compararea unui şir de caractere cu un şablon predefinit. Adresele obiectelor definite în Visual Basic pot fi comparate cu operatorul Is, rezultatul indicând dacă operanzii fac sau nu referire la acelaşi obiect. c) Expresiile logice conţin operatori logici şi operanzi care trebuie să fie entităţi de tip logic. Prin excepţie un operand poate fi şi o constantă, variabilă sau expresie numerică, caz în care dacă are valoarea 0, i se atribuie valoarea logică False, iar pentru orice valoare numerică diferită Operator Not And Or Xor Eqv Imp Semnificaţie negaţie logică şi logic sau logic sau excusiv logic echivalenţă logică implicaţie logică Tabelul 3: Operatori logici de zero se consideră că are valoarea logică True. Operatorii logici în ordinea precedenţei sunt prezentaţi în Tab. 3. Unicul operator unar este operatorul Not. Dacă ambii operanzi sunt de tip numeric, ei sunt convertiţi în întregi şi apoi este efectuată operaţia pe biţi indicată de operator. Utilizarea parantezelor modifică ordinea implicită în care se efectuează operaţiile, ordine asociată cu precedenţa operatorului utilizat. Calculul începe întotdeauna cu evaluarea parantezei având adâncimea cea mai mare. Comentariile pot fi evidenţiate în fişierul sursă folosind instrucţiunea Rem sau caracterul apostrof ( ), care preced textul respectiv. În cazul folosirii instrucţiunii Rem, aceasta trebuie să fie obligator urmată de un spaţiu, iar dacă nu este prima instrucţiune de pe o linie, ea trebuie plasată după caracterul (:). Spre deosebire de liniile de cod care conţin instrucţiuni executabile sau declaraţii, care pot fi continuate pe linia următoare prin utilizarea perechii de caractere ( _ ), liniile care conţin comentarii nu beneficiază de această facilitate. 5

6 În Visual Basic există posibilitatea de a folosi constante simbolice, prin atribuirea de valori unor nume. Valorile atribuite constantelor nu pot fi modificate în cursul execuţiei. Instrucţiunea respectivă este : [{ Public Private }] Const nume [As tip ] = expr [,...] unde expr poate conţine orice alte constante definite anterior, precum şi operaţii aritmetice cu excepţia celei de ridicare la putere. Cuvintele cheie Public sau Private nu pot fi utilizate decât la nivel de modul şi indică domeniul de vizibilitate al constantei, anume în toate modulele proiectului, respectiv doar în modulul de definiţie (cazul implicit). Constantele declarate în proceduri au doar o extindere locală. Dacă este cazul, prin tip poate fi specificat tipul de dată referit de constantă. 1.2 Declaraţii şi conversii de tip. Tablouri În afara specificaţiilor cu ajutorul sufixelor %, &,!, $, există posibilitatea de declarare implicită a tipului de date utilizând la nivel de modul instrucţiuni de forma : DefTip lit [, lit ]... unde lit este fie o literă, fie un interval de litere în ordine alfabetică, iar în loc de Tip pot figura simbolurile Bool, Byte, Int, Lng, Sng, Dbl, Cur, Date, Str, Obj, Var, corespondenţele de tip fiind evidente. Exemple : DefInt I, K: DefLng J: DefLng L-N: DefDbl A-H, O-Z O specificaţie explicită la nivel de procedură sau de modul, poate modifica oricând specificaţiile implicite. Tipul unei variabile poate fi declarat explicit cu ajutorul uneia din instrucţiunile : Dim numevar [([domvarind ])] [As [New] tip ] [,...] Static numevar [([domvarind ])] [As [New] tip ] [,...] Public numevar [([domvarind ])] [As [New] tip ] [,...] Private numevar [([domvarind ])] [As [New] tip ] [,...] unde numevar reprezintă numele variabilei, iar tip poate fi Byte, Boolean, Integer, Long, Single, Double, Currency, Date, STRING[*n ], Object, Variant, sau un tip definit anterior de utilizator. Nu este necesară declararea tipului dacă declaraţiile implicite cu sufixe sau cu instrucţiunea DefTip descriu corect tipul variabilei. În absenţa oricărei specificaţii de tip, numevar va fi de tipul variant. Instrucţiunile amintite servesc totodată şi la alocarea memoriei necesare pentru stocarea datelor. Cuvântul cheie New este folosit doar în cazul în care o variabilă este declarată ca fiind de tip obiect. Domeniul de acţiune al variabilelor specificate la nivel de modul cu instrucţiunea Dim se extinde la toate procedurile conţinute de modulul respectiv, în schimb variabilele declarate într-o procedură sunt locale procedurii respective. Instrucţiunea Static este folosită numai la nivel de procedură şi are rolul de a specifica explicit faptul că valorarea variabilei este păstrată în memorie între două apeluri succesive ale procedurii. Dacă se doreşte memorarea tuturor variabilelor între apeluri, însăşi procedura va trebui declarată cu cuvântul cheie Static. Este recomandabil ca instrucţiunile Dim şi Static să figureze în zona de cod de la începutul unei proceduri. Instrucţiunile Public (Global în versiunile mai vechi) şi Private sunt utilizate la nivel de modul pentru a declara variabile recunoscute în toate modulele unui proiect, respectiv doar în modulul în care este făcută specificarea. Simultan cu declararea explicită a tipului, are loc şi iniţializarea variabilelor. Variabilele de 6

7 tip numeric sunt iniţializate cu zero, şirurile de caractere de lungime variabilă sunt iniţializate cu şirul vid, şirurile de lungime fixă sunt completate cu caracterul "0", iar varianţii sunt iniţializaţi cu valoarea Empty. Un tablou reprezintă o structură de date în care un număr de variabile de acelaşi tip sunt organizate sub acelaşi nume. Accesarea unui element al tabloului se face specificând numele acestuia, precum şi poziţia elementului în tablou. Rezervarea memoriei necesare se face utilizând una din instrucţiunile menţionate anterior, iar precizarea dimensiunilor şi a domeniilor de variaţie pentru indici se face cu domvarind care are sintaxa : [indmin To] indmax [,...] Dacă specificaţia indmin To lipseşte, atunci indicele primului element este zero. Pentru calculul cu matrice (dar nu numai) se recomandă ca valoarea minimă a indicilor să fie unitatea. Pentru a realiza acest lucru, se va utiliza fie sintaxa completă, fie înaintea instrucţiunii Dim sau a uneia similare va fi plasată instrucţiunea Option Base 1. Limbajul Visual Basic admite tablouri cu maximum 60 de dimensiuni. Elementele unui tablou sunt iniţializate automat de sistem folosind regulile menţionate anterior. Tablourile pot fi de două tipuri : a) tablouri cu dimensiuni fixe, pentru care spaţiul alocat în memorie este fix ; b) tablouri dinamice, pentru care spaţiul necesar de memorie este alocat în timpul execuţiei. Dacă specificarea domeniului de variaţie pentru indici se face cu constante întregi, atunci tabloul are dimensiuni fixe, iar dacă în instrucţiunile Dim, Public, Private această specificaţie lipseşte, instrucţiunea de declarare a tipului conţinând doar perechea de paranteze ( ), atunci tabloul este dinamic. Instrucţiunea : ReDim [Preserve] numevar [(domvarind )] [As tip ] [,...] este utilizată pentru dimensionarea sau redimensionarea unui tablou alocat dinamic. Redimensionarea unui tablou dinamic are ca efect reiniţializarea tuturor valorilor elementelor. Folosirea cuvântului cheie Preserve are ca efect păstrarea valorilor stocate în elementele de tablou, dar în această situaţie poate fi redimensionat doar domeniul de variaţie a ultimului indice (tablourile sunt stocate în memorie pe linii). Încercarea de redimensionare a unui tablou static generează un mesaj de eroare. Reiniţializarea unui tablou static se poate face cu instrucţiunea : Erase numetab [,...]. Dacă în această instrucţiune numetab reprezintă numele unui tablou dinamic, acesta este şters din memorie, reiniţializarea lui fiind posibilă doar după ce acesta este declarat din nou cu o instrucţiune de declarare a tipului. În afara tipurilor predefinite, limbajul permite definirea unor variabile de tip utilizator, care pot avea o structură cu mai multe elemente având tipuri diferite : [{ Private Public }] Type numetip numeelem [([domvarind ])] As tip [numeelem [([domvarind ])] As tip ]... End Type Aici numetip este numele ales de utilizator, numeelem este un nume de element, iar tip este unul din tipurile menţionate anterior. Se observă din definiţie că variabilele pot conţine şi tablouri cu dimensiuni fixe sau dinamice. Variabilele de tip utilizator pot fi declarate doar la nivel de modul, cuvintele cheie Public sau Private precizând domeniul de vizibilitate al acestora, anume în toate 7

8 modulele, respectiv doar în modulul în care sunt definite. Crearea propriu-zisă a variabilei numevar este realizată cu una din instrucţiunile Dim, Static, Public, Private, ReDim. Referirea la un câmp al variabilei se face folosind sintaxa cu punct : numevar.numeelem. În cazul unei variabile numerice, tipul acesteia îi determină precizia, precum şi intervalul în care aceasta poate lua valori. După cum s-a menţionat, în cazul unei expresii aritmetice, dacă operanzii sunt de tipuri diferite, sistemul va converti automat operanzii cu rang mai scăzut la tipul operanzilor cu rang mai înalt, ordinea fiind Integer, Long, Single, Double. În cazul unei instrucţiuni de atribuire, care are forma generală : [Let] numevar = expr unde expr conţine o valoare numerică sau un şir care este expresia literală a unui număr, conversia se face întotdeauna la tipul lui numevar. Dacă precizia expr este mai mare decât precizia numevar, are loc o rotunjire a rezultatului evaluării expresiei. Astfel, dacă în particular b! = 3.654, în urma executării instrucţiunii a% = b!, variabila a% are valoarea 4. Conversia de tip poate fi realizată şi explicit utilizînd funcţiile CInt(expr ) ; CLng(expr ) ; CSng(expr ) ; CDbl(expr ) unde argumentul expr, care se evaluează la o valoare numerică sau la un şir de caracterea ce conţine o valoare numerică, trebuie să se încadreze în domeniul de valori corepunzător tipului de dată la care se face conversia, tip indicat în numele funcţiei imediat după caracterul C. Instrucţiunea prin care unei variabile şir i se atribuie o valoare numerică generează un mesaj de eroare. Situaţia poate fi evitată prin utilizarea funcţiei CStr(expr). 1.3 Funcţii standard Limbajul Basic este destul de sărac în funcţii matematice. În Tab. 4 este prezentată lista Funcţia Definiţia Abs(expr ) valoarea absolută Int(expr ) trunchiere la intregul imediat inferior Fix(expr ) trunchiere la partea întreaga Sgn(expr ) funcţia semn : returnează ±1 sau 0 Sqr(expr ) radical Log(expr ) logaritmul natural Exp(expr ) exponenţiala Sin(unghi ) sinusul unghiului Cos(unghi ) cosinusul unghiului Tan(unghi ) tangenta unghiului Atn(expr ) lungimea arcului având tangenta... Tabelul 4: Funcţiile matematice ale limbajului acestora, unde expr reprezintă o expresie numerică, iar unghi se evaluează la un unghi exprimat în radiani. Funcţiile matematice derivate pot fi exprimate prin aceste funcţii elementare folosind formulele cunoscute. 8

9 Generatorul de numere aleatoare este iniţializat cu instrucţiunea : Randomize [expr ] unde expr este o expresie numerică, în lipsa acesteia iniţializarea secvenţei fiind făcută implicit cu funcţia Timer, care furnizează numărul de secunde scurs de la miezul nopţii. Generarea propriu-zisă de numere aleatoare distribuite uniform pe intervalul ( 0, 1 ) este făcută cu funcţia Rnd[(expr )]. Amintim şi câteva din funcţiile pe şiruri de caractere. Extragerea unui subşir dintr-un şir de caractere poate fi realizată cu funcţiile : Left(şir, lung ) ; Right(şir, lung ) ; Mid(şir, încep [,lung ]) Primele două funcţii returnează un subşir de caractere de lungime lung din şirul şir, numărătoarea făcându-se de la capătul din stânga, respectiv de la capătul din dreapta al şirului. Funcţia Mid returnează un subşir din şir începând cu caracterul care are indicele încep, lungimea sa fiind lung sau, în lipsă, toate caracterele până la sfârşitul şirului. Suprimarea blancurilor de la începutul sau de la sfârşitul unui şir de caractere se realizează cu funcţiile : LTrim(şir ) ; RTrim(şir ) rezultatul fiind un subşir al şirului şir. Lungimea unui şir de caractere este dată de funcţia : Len({şir numevar }) În Visual Basic, funcţia Len poate admite ca argument şi un nume de variabilă (inclusiv de tip utilizator), caz în care valoarea returnată de funcţie reprezintă lungimea în octeţi a variabilei respective. Convertirea caracterelor dintr-un şir numai la litere mici, respectiv numai la litere majuscule se realizează cu funcţiile : LCase(şir ) ; UCase(şir ) rezultatul fiind evident un şir de caractere de aceeaşi lungime ca a lui şir. Construirea unui şir de lungime specificată format din caractere de acelaşi tip se face cu funcţia : String(lung, {codascii şir }) Dacă în locul codului ASCII se specifică un şir de caractere, atunci şirul nou creat este format numai din primul caracter din specificaţia şir. O instrucţiune asemănătoare care creează şiruri formate doar din spaţii este : Space(numsp ). Convertirea din codul ASCII în caracterul corespunzător şi invers se realizează cu funcţiile : Chr(codASCII ) ; Asc(caract ) Căutarea poziţiei unui subşir într-un şir dat este realizată de funcţia : InStr([start, ] şir, subşir ) unde start indică indicele caracterului de unde începe căutarea. Funcţia Val(şir ) returnează valoarea numerică conţinută în şir, inversa acestei funcţii fiind Str(num ). Funcţiile Date şi Time returnează data şi ora sistemului sub forma unor şiruri de caractere. 9

10 2 Structuri de control 2.1 Structuri de decizie În cursul execuţiei este adesea necesar să se ia o decizie dacă se va executa un grup sau altul de instrucţiuni. Aceasta se realizează folosind structura alternativă If-Then-Else : If exprcond-1 Then blocinstr-1 [ElseIf exprcond-2 Then blocinstr-2 ] [Else blocinstr-n ] unde exprcond sunt expresii de tip numeric sau de tip şir de caractere care se evaluează la True sau False. Dacă una din expresiile condiţionale este adevărată, atunci se evaluează blocul de instrucţiuni blocinstr aferent şi apoi structura este părăsită. Dacă însă niciuna din expresii nu este adevărată şi dacă există instrucţiunea Else, va fi executat blocul de instrucţiuni asociat acesteia. În toate cazurile, execuţia continuă cu prima instrucţiune care urmează structurii alternative. Blocurile de instrucţiuni pot conţine la rândul lor structuri alternative de tipul descris mai sus. Sistemul recunoaşte şi instrucţiunea având forma prescurtată : If exprcond Then blocinstr-1 [Else blocinstr-2 ] care trebuie scrisă pe o singură linie. Se recomandă utilizarea acestei forme dacă blocinstr-1, şi blocinstr-2, conţin un număr redus de instrucţiuni, eventual doar câte una singură. În cazuri simple poate fi folosită şi funcţia : IIf (exprcond, expr-adev, expr-fals ) care dacă exprcond are valoarea True returnează expresia aritmetică sau şir expr-adev, iar dacă are valoarea False returnează expr-fals. O structură alternativă mult mai generală care permite luarea unei decizii privind executarea unui anumit bloc de instrucţiuni în funcţie de valoarea unei expresii numerice sau de tip şir de caractere, numită selector, este descrisă de structura Select Case. În programele complexe este preferabilă utilizarea acestei structuri mai sugestive, în locul instrucţiunilor de tip If. Sintaxa generală a acestei structuri alternative generalizate este : Select Case exprselect Case listexpr-1 blocinstr-1 [Case listexpr-2 blocinstr-2 ] [Case Else blocinstr-n ] End Select După cum s-a amintit exprselect este o expresie numerică sau de tip şir, în funcţie de valoarea 10

11 căreia se va executa un anumit bloc de instrucţiuni. listexpr va conţine una sau mai multe expresii care trebuie să fie obligatoriu de acelaşi tip cu exprselect şi poate avea una din următoarele forme : expr [, expr ]... ; expr To expr ; Is operatrel expr sau eventual combinaţii ale acestora. În ultima formă operatrel este un operator relaţional care poate fi <, >, <>, =, <=, >=, precedat obligatoriu de cuvântul cheie Is. Dacă valoarea exprselect se încadrează în una din listele listexpr, vor fi executate instrucţiunile din blocul blocinstr asociat, în caz contrar trecându-se la executarea instrucţiunilor aferente instrucţiunii Case Else, dacă aceasta există. În VisualBasic este recunosctă şi instrucţiunea de salt necondiţionat : GoTo {linie etic } unde argumentul este numărul liniei unei instrucţiuni sau o etichetă a unui bloc de instrucţiuni. Amintim că eticheta este un identificator urmat obligatoriu de caracterul (:). Sistemul acceptă şi instrucţiunea alternativă mai generală : On expr GoTo listă unde expr este o expresie întreagă care poate lua valori între 0 şi 255. În funcţie de valoarea numerică a acestui argument, controlul este transferat blocului de instrucţiuni asociat unei etichete sau unui număr de linie din listă, în funcţie de poziţia sa în listă. Dacă valoarea lui expr este 0, sau dacă ea este mai mare decât numărul de etichete din listă, execuţia se continuă cu instrucţiunea următoare, iar dacă este negativă sau mai mare decât 255, va fi generat un mesaj de eroare. 2.2 Structuri repetitive Structurile repetitive descriu situaţiile în care necesităţile de calcul impun repetarea unui grup de instrucţiuni de un număr controlat de ori. Cea mai ultilizată structură de acest tip este realizată cu instrucţiunea For... Next care realizează repetarea unei secvenţe de instrucţiuni, numărul de repetări fiind determinat de valorile pe care le poate lua o variabilă contor pe un domeniu dat de valori : For contor = valinit To valfin [Step pas ] [blocinstr ] [Exit For] [blocinstr ] Next [contor ] Execuţia începe prin atribuirea pentru variabila contor a valorii specificate de valinit şi se execută blocul de instrucţiuni (dacă există). În continuare valoarea variabilei contor este incrementată cu valoarea pas, dacă aceasta există, în caz contrar valoarea implicită pentru pas fiind unitatea, şi dacă valoarea rezultată pentru contor este mai mică decât valfin, blocul de instrucţiuni se reia de la început. Procedeul se repetă până când valoarea variabilei contor depăşeşte valoarea specificată de valfin. Numărul de repetări va fi dat de formula : ( ) valfin valinit Fix + 1 pas În versiunile mai vechi ale limbajului Basic, chiar dacă valfin < valinit şi pas > 0, ciclul ar trebui să fie executat cel puţin o singură dată. În Visual Basic el nu se va executa niciodată, deoarece înainte de a se întra în execuţie, sistemul evaluează formula de mai sus şi dacă rezultatul este negativ sau zero, ciclul nu se va mai efectua. 11

12 Sunt admise cicluri incluse unul în altul cu condiţia ca variabila de control să difere de la ciclu la ciclu. Ultimul ciclu deschis cu instrucţiunea For va trebui să fie primul ciclu închis cu instrucţiunea Next aferentă, ş.a.m.d. O singură instrucţiune Next poate închide mai multe cicluri incluse, ordinea contoarelor trebuind să respecte regula ultimul deschis, primul închis. Ieşirea forţată dintr-un ciclu descris cu structura For... Next poate fi realizată cu instrucţiunea Exit For plasată în corpul ciclului, execuţia programului continuând cu instrucţiunea imediat următoare instrucţiunii Next. Deoarece în practică repetarea unei secvenţe de instrucţiuni poate fi determinată nu de valoarea numerică a unei variabile contor, ci de modul cum este îndeplinită o condiţie a cărei valoare este o entitate de tip logic True sau False, pot fi folosite şi structuri repetitive realizate cu instrucţiunea Do, având una din următoarele forme : Do [{ While Until } exprcond ] [blocinstr ] [Exit Do] [blocinstr ] Loop sau : Do [blocinstr ] [Exit Do] [blocinstr ] Loop [{ While Until } exprcond ] Aici exprcond este o expresie relaţională sau logică. Ciclul construit cu While se va relua atâta timp cât exprcond are valoarea True, iar ciclul construit cu Until va fi reluat până când exprcond primeşte valoarea True. Între cele două sintaxe există o deosebire esenţială. Dacă în primul caz este posibil ca ciclul să nu fie executat niciodată, în funcţie de valoarea de adevăr sau de fals a argumentului exprcond, în cel de al doilea caz, ciclul va fi executat cel puţin o singură dată, deoarece operaţia de testare a reluării ciclului este făcută după parcurgerea blocului de instrucţiuni. O ieşire forţată dintr-un astfel de ciclu se poate face cu instrucţiunea Exit Do, execuţia programului continuând cu instrucţiunea imediat următoare instrucţiunii Loop. Se observă că este posibilă şi structura repetitivă cu sintaxa : Do [blocinstr ] [Exit Do] [blocinstr ] Loop Evident, este vorba de un ciclu infinit, execuţia sa putând fi întreruptă doar cu o instrucţiune Exit Do plasată în interiorul blocului de instrucţiuni care se repetă. Pentru a păstra compatibilitatea cu GW-Basic sau Basica, sistemul Visual Basic recunoaşte şi structura repetitivă : While exprcond [blocinstr ] Wend unde secvenţa blocinstr va fi executată atâta timp cât exprcond are valoarea True. 12

13 3 Proceduri generale Divizarea unui program general Visual Basic în o serie de unităţi logice mai mici este impusă de satisfacerea a două cerinţe : a) claritate în redactare şi uşurinţă la depanare, în cazul existenţei unor erori de concepţie sau de programare; b) evitarea repetării unor secvenţe de cod mai scurte sau mai lungi, dacă în cursul execuţiei acestea trebuie executate de mai multe ori. Procedurile pot fi generale, dacă ele comunică aplicaţiei modul cum urmează să fie efectuate anumite acţiuni, dar există şi proceduri-eveniment care sunt apelate pentru a răsupunde unor evenimente recunoscute de un anumit obiect. De obicei procedurile generale sunt grupate în modulele de cod, pentru a fi recunoscute din mai multe puncte ale programului. Ele pot fi subprograme distincte de tip subrutină sau de tip funcţie, care se pot apela între ele, pe ele însele (proprietatea de recursivitate), sau dintr-o altă unitate de program, după nişte reguli care vor fi precizate ulterior, dar sistemul este compatibil şi cu instrucţiunile GoSub... Return preluate din versiunile mai vechi, care sunt conţinute în întregime într-o unitate de program şi care pot fi apelate doar în cadrul unităţii de program care le conţin. Problema comunicării între programul apelant şi subprogram implică existenţa unui mecanism de transmitere a valorilor, care are loc după nişte reguli foarte stricte, care trebuie cunoscute şi respectate de utilizator. Făcând abstracţie de cazurile când sunt definite şi utilizate variabile şi constante globale (publice), transmisia valorilor are loc prin intermediul unor argumente, numite actuale dacă figurează în programul apelant, respectiv formale dacă figurează în subprogramul apelat. Transmiterea se poate realiza atât prin adresă, caz în care în subprogram pot fi modificate valorile argumentelor actuale corespunzătoare din programul apelant, cât şi prin valoare, caz în care valorile argumentelor actuale nu se modifică în programul apelant, chiar dacă valorile argumentelor formale sunt modificate în subprogram. În plus, un subprogram de tip funcţie va returna întotdeauna în programul apelant o valoare, prin specificarea explicită a numelui funcţiei respective, valoare care poate fi folosită fără restricţii în diverse expresii. 3.1 Subprograme de tip subrutină şi funcţie Subprogramele de tip subrutină şi cele de tip funcţie au o formă generală asemănătoare, anume : [{ Public Private }] [Static] Sub numesub (listarg) [blocinstr ] [Exit Sub] [blocinstr ] End Sub respectiv : [{ Public Private }] [Static] Function numefunc (listarg) [As tip ] [blocinstr ] [numefunc = expresie ] [Exit Function] [blocinstr ] [numefunc = expresie ] End Function Aici Public sau Private indică faptul că subprogramul poate fi accesat din orice procedură 13

14 a proiectului, respectiv din orice procedură aparţinând modulului în care este definită funcţia. Cuvântul cheie Static specifică faptul că variabilele locale îşi păstrază valorile între apelurile succesive ale procedurii, nefiind însă afectate variabilele declarate în afara procedurii. Dacă în ceea ce priveşte alegerea numelui subrutinei numesub nu există restricţii, deoarece subprogramul de tip funcţie returnează întotdeauna o valoare prin numefunc, tipul funcţiei va trebui declarat explicit prin specificarea tip care poate fi Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (numai de lungime variabilă), Object, Variant, sau poate fi precizat implicit ataşând numelui unul din sufixele %, &,!, sau folosind o instrucţiune DefTip. Lista de argumente formale listarg constă din entităţi având forma generală : [Optional] [{ ByVal ByRef }] [ParamArray] numevar[( )] [As tip] separate prin virgule. Cuvântul cheie Optional este folosit pentru a indica că argumentul nu este obligator, însă în această situaţie toate argumentele care urmează în listă trebuie să fie de asemenea opţionale şi să fie declarate ca atare. În plus, argumentele opţionale nu pot fi decât de tipul variant. Parametrii ByVal şi ByRef indică faptul că argumentul este transmis prin valoare sau prin referinţă. Numai ultimul argument din listarg poate fi precedat de ParamArray, ceea ce indică faptul că argumentul respectiv este un tablou opţional având elemente de tip variant. Cuvântul cheie ParamArray nu poate fi folosit împreună cu Optional, ByVal, sau ByRef. numevar şi tip au semnificaţiile cunoscute. Dacă argumentul formal numevar este un tablou, numelui ales i se poate ataşa opţional o pereche de paranteze rotunde ( ). Un subprogram de tip subrutină poate fi apelat cu instrucţiunea : [Call] numesub [[(]listarg [)]] Utilizarea cuvântului cheie Call este opţională, dar dacă el este folosit, atunci obligator lista de argumente actuale listarg, ale cărei elemente sunt separate cu virgule, va trebui inclusă între paranteze rotunde, chiar dacă lista este vidă. (Atenţie : folosirea acestor paranteze în absenţa lui Call este semnalată ca o eroare!) Elementele din listarg pot fi precedate de ByVal sau ByRef pentru a preciza modul de transmitere pentru valorile argumentelor, dar se preferă utilizarea acestor cuvinte cheie în lista argumentelor formale din instrucţiunile de definiţie ale subprogramelor. Dacă argumentul este un nume de tablou declarat ca atare în programul apelant, atunci identificatorul corespunzător trebuie urmat de o pereche de paranteze ( ). Apelul unui subprogram de tip funcţie se face prin specificarea într-o expresie a identificatorului funcţiei numefunc urmat, dacă este cazul, de lista de argumente actuale listarg inclusă între paranteze rotunde ( ), valoarea returnată fiind utilizată pentru evaluarea expresiei respective. Din acest motiv, în corpul funcţiei trebuie să existe cel puţin o instrucţiune prin care i se atribuie variabilei nume o anumită valoare. Dacă o astfel de instrucţiune lipseşte, valoarea returnată este zero dacă funcţia este de tip numeric, şirul nul dacă funcţia este de tip şir de caractere, sau Empty dacă este de tipul variant. Apelul funcţiei se poate realiza şi cu o instrucţiune Call, însă în acest caz nu există nici o valoare returnată. În urma apelului unei proceduri, elementele listei cu argumente actuale sunt puse în corespondenţă cu elementele listei cu argumente formale, orice neconcordanţă de ordine şi tip fiind semnalată ca o eroare. Transmiterea valorilor se face implicit prin adresă, ceea ce este eficient din punctul de vedere al utilizării memoriei, însă dacă un argument actual este o constantă, o expresie, sau este scris între paranteze, atunci transmiterea sa se realizează prin valoare, chiar dacă nu este făcută nici o specificare explicită. În cazul transmiterii prin adresă, este important şi efectul colateral al execuţiei subprogramului, în sensul că eventuala modificare a valorilor unor 14

15 argumente în subprogram se manifestă şi în programul apelant, locaţiile de memorie folosite de argumentele formale şi cele actuale fiind comune. Implicit orice procedură are caracter public, iar valorile variabilelor locale nu sunt memorate între două apeluri succesive. Deoarece în Visual Basic sunt permise şi proceduri având caracter de recursivitate, se recomandă folosirea cu mare atenţie a declaraţiei Static. Instrucţiunile executabile trebuie să fie conţinute în totalitate în corpul precedurii, care nu poate conţine alte definiţii de proceduri. Instrucţiuni Exit { Sub Function } pot fi plasate oriunde în corpul procedurii şi au ca efect imediat părasirea acesteia, execuţia fiind preluată de instrucţiunea care succede instrucţiunii apelante. Variabilele folosite în subprograme sunt locale dacă ele sunt declarate explicit în corpul procedurii. Restul variabilelor utilizate într-o procedură sunt locale doar dacă nu figurează în declaraţii explicite la un nivel superior, în această ultimă situaţie fiind însă posibile conflicte de tip dacă există similarităţi de nume. Pentru a evita ambiguităţile, este recomandabilă utilizarea instrucţiunii Option Explicit care obligă declararea explicită a tuturor variabilelor 3.2 Subprograme de tip GoSub... Return Deşi având sintaxa cea mai simplă, acest tip de subprogram prezintă dezavantajul că variabilele fiind comune atât programului apelant, cât şi subprogramului care este conţinut obligator în aceeaşi unitate de program, este necesară o atenţie deosebită pentru a nu fi modificate unele valori utilizate şi în alte secvenţe de cod. Forma sa generală este :... GoSub etic etic-1: [blocinstr ] Return [etic-2 ]... [etic-2:]... unde etic-1 este eticheta sau numărul liniei de început a subprogramului, iar etic-2 este eticheta sau numărul liniei începând de la care continuă execuţia programului, după revenirea din subprogram ca urmare a execuţiei instrucţiunii Return. Dacă etic-2 lipseşte, execuţia continuă cu instrucţiunea imediat următoare instrucţiunii GoSub. Un subprogram de tip subrutină Sub nu poate fi apelat cu o instrucţiune GoSub şi nici nu poate fi părăsit cu o instrucţiune Return. O versiune ceva mai generală a instrucţiunii GoSub este : On expr GoSub listă unde expr este o expresie întreagă cu valori cuprinse între 0 şi 255. În funcţie de valoarea numerică a expresiei respective, controlul este transferat blocului de instrucţiuni asociat unei etichete sau unui număr de linie din listă, în funcţie de poziţia sa în listă. Dacă expr are valoarea 0 sau o valoare mai mare decât numărul de etichete din listă, execuţia se continuă cu instrucţiunea imediat următoare, iar dacă este negativă sau mai mare decât 255, va fi generat un mesaj de eroare. 15

16 3.3 Rutine de tratare a erorilor Chiar dacă instrucţiunile unui program sunt corecte din punct de vedere sintactic şi semantic, este posibil ca în cursul exploatării programului să apară erori care pot întrerupe execuţia normală şi uneori pot bloca chiar sistemul de operare. Pentru a evita astfel de situaţii, utilizatorul are la dispoziţie instrucţiunea : On Error { GoTo etic Resume Next } plasată înaintea unei secvenţe de program care poate genera una sau mai multe erori fatale. Este indicat ca o astfel de instrucţiune să fie plasată chiar la începutul procedurii. Efectul instrucţiunii este determinat de una din cele două opţiuni admise. Dacă opţiunea este Resume Next, în cazul apariţiei unei erori în execuţie, programul se reia de la instrucţiunea imediat următoare aceleia care a generat eroarea. Opţiunea GoTo etic transferă execuţia la o rutină scrisă de utilizator, etic reprezentând eticheta sau numărul primei linii a subprogramului de tratare a erorilor. În cadrul rutinei de tratare a erorilor, care trebuie să se afle în aceeaşi unitate de program cu instrucţiunea On Error, utilizatorul are posibilitatea de a identifica şi afişa codul erorii (conţinut în proprietatea Number a obiectului Err din sistemul Visual Basic), de a afla mesajul de eroare ataşat codului (valoarea returnată de funcţia Error(Err[.Number]), care coincide cu proprietatea Description a obiectului Err) şi de a indica ce acţiuni vor fi întreprinse după identificarea erorii pentru a evita efectele acesteia. Pentru a reveni în program după parcurgerea instrucţiunilor conţinute în rutina de tratare a erorilor, se poate utiliza instrucţiunea : Resume [{ etic Next }] unde etic reprezintă eticheta sau numărul de linie al instrucţiunii din program începând de la care se va relua execuţia. În cazul opţiunii Next, execuţia se reia de la instrucţiunea imediat următoare aceleia care a provocat eroarea. În lipsa oricărei opţiuni în instrucţiunea Resume, execuţia se reia chiar cu instrucţiunea care a provocat eroarea, deoarece se presupune că în cadrul subrutinei de tratare a erorilor utilizatorul a făcut corecturile necesare pentru ca eroarea să nu se mai repete (în lipsa unor astfel de corecturi, programul intră într-un ciclu infinit!). Dezactivarea rutinei de tratare a erorilor se face cu instrucţiunea On Error GoTo 0, ceea ce nu înseamnă că dacă intervine o eroare, execuţia este transferată rutinei de tratare a erorilor care începe cu linia numerotată cu 0, chiar dacă aceasta există. Deşi activarea rutinei de tratare a erorilor se face într-o secvenţă de cod plasată la începutul unei proceduri, codul asociat rutinei este situat de obicei la sfârşitul procedurii, iar pentru a evita parcurgerea acestuia în absenţa intervenţiei unei erori, se recomandă introducerea unei instrucţiuni Exit { Sub Function } înaintea etichetei care marchează începutul rutinei. 4 Sistemul de I/O. Fişiere Există o gamă suficient de largă de posibilităţi pentru a realiza schimbul de informaţii între utilizator şi un program Visual Basic. Calea cea mai simplă şi mai sigură, dar şi cea mai puţin flexibilă, constă în utilizatea unor casete de dialog predefinite modale, care permit continuarea execuţiei numai după efectuarea unor acţiuni specifice. Ideea poate fi dezvoltată, fiind posibilă proiectarea unor casete de dialog personalizate, care în afara unor casete cu text, pot conţine şi alte controale care pot comunica date, cum ar fi bare de derulare orizontale şi verticale, casete cu listă şi combinate, butoane de opţiune, spinnere, etc. Rezultatele intermediare şi finale pot fi 16

17 afişate în formatul dorit cu metoda Print pe forme, în casete cu imagine, în fereastra Debug, pot fi tipărite la imprimantă, sau pot fi reprezentate grafic. În fine, pentru a putea fi folosite ori de câte ori este nevoie, datele şi rezultatele pot fi stocate în fişiere pe suport magnetic. 4.1 Casete de dialog predefinite Cea mai simplă metodă de a furniza date unui program Visual Basic şi de a afişa unele informaţii asupra execuţiei constă în utilizarea casetelor de dialog predefinite cu ajutorul procedurilor InputBox şi MsgBox. Aceste casete de dialog sunt întotdeauna modale, în sensul că ele nu pot fi părăsite şi programul nu poate fi continuat fără încuviinţarea utilizatorului, care în plus are posibilităţi destul de reduse de influenţare asupra dimensiunilor, aspectului şi poziţionării acestora. Afişarea unei casete de dialog care conţine un mesaj, un titlu, butoane de comandă şi o casetă de text în care pot fi introduse informaţii, cum ar fi un nume sau un număr şi care sunt apoi returnate procedurii apelante în vederea prelucrării, este realizată cu funcţia : InputBox(mesaj [, [titlu ][, [implicit ][, [xpos ][, [ypos ][, fişhelp, nrcontxt ]]]]]) Singurul argument obligatoriu este şirul de caractere mesaj având maximum 1024 caractere, care pot fi scrise pe linii concatenate cu constanta predefinită vbcrlf (Chr(13)+Chr(10)). Celelalte argumente fiind opţionale, dacă unele dintre ele sunt omise, ele trebuie înlocuite cu virgule. Argumentul titlu reprezintă şirul ce urmează a fi afişat în bara de titlu a casetei de dialog, în lipsă fiind afişat numele aplicaţiei. Valoarea prestabilită returnată de funcţie dacă nu se introduce nimic de la tastatură şi care este afişată în caseta de text este conţinută în şirul implicit. Dacă se omite acest argument, caseta de text este afişată goală şi valoarea implicită returnată de funcţie este şirul vid (""). Argumentele numerice xpos şi ypos precizează coordonatele în twips ale colţului din stânga sus în raport cu ecranul. Dacă aceste coordonate lipsesc, caseta de dialog va fi centrată pe orizontală la aproximativ o treime din înălţimea ecranului. Ultimele două argumente sunt folosite pentru a pune le dispoziţie asistenţă soft dependentă de context, fişhelp fiind numele fişierului, iar nrcontxt reprezintă valoarea numerică a referinţei de context din fişier asociată cu caseta de dialog. Aceste două argumente trebuie să figureze simultan în instrucţiune, caz în care va fi afişat şi butonul de comandă Help, fiind totodată activă şi tasta F1. Funcţia returnează conţinutul casetei de text prin selectarea butonului OK sau prin apăsarea tastei Enter. Dacă şirul reprezintă un număr, pentru conversie poate fi folosită funcţia Val, având ca argument funcţia InputBox. Selectarea butonului Cancel are ca efect anularea mesajului introdus, fiind returnat şirul vid. Atât funcţia, cât şi subrutina MsgBox afişează un mesaj într-o casetă de dialog şi aşteaptă ca utilizatorul să selecteze un buton de comandă, în cazul funcţiei fiind returnată valoarea asociată implicit butonului respectiv. Sintaxa generală este similară în ambele cazuri : MsgBox[(] mesaj [, [butoane ][, [titlu ][, fişhelp, nrcontxt ]]][)] diferenţa constând în modul de apelare. Folosită ca subrutină, apelul poate fi făcut specificând direct numele MsgBox urmat de lista de argumente, fără a fi scrise şi parantezele rotunde, iar dacă este folosită ca funcţie, ea trebuie utilizată într-o expresie care se evaluează la o valoare întreagă, fiind obligatorie şi includerea argumentelor între paranteze rotunde. Semnificaţiile argumentelor mesaj, titlu, fişhelp, nrcontxt, sunt cele prezentate la funcţia InputBox, doar argumentul butoane necesitând explicaţii. Acesta conţine o expresie numerică reprezentând suma valorilor care specifică numărul şi tipul butoanelor de comandă care urmează 17

18 Constantă simbolică Valoare Semnificaţie vbokonly 0 Afişează numai butonul OK vbokcancel 1 Afişează butoanele OK şi Cancel vbabortretryignore 2 Afişează butoanele Abort, Retry şi Ignore vbyesnocancel 3 Afişează butoanele Yes, No şi Cancel vbyesno 4 Afişează butoanele Yes şi No vbretrycancel 5 Afişează butoanele Retry şi Cancel vbcritical 16 Afişează icoana Critical vbquestion 32 Afişează icoana semn de întrebare vbexclamation 48 Afişează icoana semn de exclamare vbinformation 64 Afişează icoana Information vbdefaultbutton1 0 Este focalizat primul buton vbdefaultbutton2 256 Este focalizat al doilea buton vbdefaultbutton3 512 Este focalizat al treilea buton vbapplicationmodal 0 Caseta este modală pentru aplicaţie vbsystemmodal 4096 Caseta este modală pentru sistem Tabelul 5: Valorile numerice ale butoanelor, icoanelor, focalizării şi modalităţii a fi afişate, stilul icoanei folosite, identitatea butonului focalizat şi caracterul de modalitate al casetei de dialog (v. Tab. 5). Atunci când sunt însumate valorile numerice pentru a obţine cifra finală, poate fi utilizat doar un singur număr din fiecare grup de opţiuni. În lipsă, valoarea implicită a argumentului butoane este zero. Folosită ca funcţie, MsgBox returnează o valoare numerică asociată butonului care este selectat. Dacă în caseta de dialog este afişat şi butonul Help, în urma selecţiei acestuia nu este Valoare Constantă simbolică Semnificaţie 1 vbok Butonul OK 2 vbcancel Butonul Cancel 3 vbabort Butonul Abort 4 vbretry Butonul Retry 5 vbignore Butonul Ignore 6 vbyes Butonul Yes 7 vbno Butonul No Tabelul 6: Valorile numerice asociate butoanelor de comandă returnată nici o valoare, până când nu este selectat şi unul din butoanele din Tab. 6. Unicul argument obligatoriu, indiferent de versiunea folosită (subrutină sau funcţie) este şirul mesaj. Restul argumentelor este opţional, cele lipsă trebuind să fie înlocuite cu virgule. Utilizatorul nu poate influenţa poziţionarea pe ecran a casetei de dialog MsgBox. 18

19 4.2 Metoda Print şi funcţia Format Afişarea rezultatelor pe ecran, sau după caz tipărirea acestora la imprimantă, se realizează folosind metoda : [obiect.]print [listexpr ][{ ;, }] unde obiect nu poate fi decât o formă (Form), o casetă cu imagine (PictureBox), imprimanta (Printer), sau fereastra de depanare (Debug), în lipsă obiectul implicit fiind forma curentă. Dacă nu este utilizat nici un argument, va fi lăsat un rând liber. Argumentul listexpr reprezintă o lista de expresii aritmetice sau de tip şir de caractere, care urmează să fie tipărită pe ecran sau la imprimantă. Un element al listei are forma generală : [{ Tab[(col )] Spc(num ) }]{ ;} expresie [{ ;, }] Funcţia Tab[(col )] indică faptul că cursorul sau capul de imprimare se va poziţiona pe coloana col, sau dacă acest argument lipseşte, se trece la zona de tabulare următoare. Un rol asemănător îl are funcţia Spc(num ) care realizează un salt de num spaţii pe aceeaşi linie. Deoarece de obicei sunt folosite la scriere fonturi proporţionale, indicaţiile col şi num au doar un caracter orientativ, unitatea de măsură a acestora fiind lărgimea medie a unui caracter specific tipului de font folosit. Dacă expresie este urmată de (;) sau ( ), elementul ce urmează în listă va fi tipărit în continuare, iar dacă este utilizat caracterul (,) se sare la următoarea zonă de tabulare (funcţia Tab fără argument). O zonă de tabulare are o lăţime egală cu de 14 ori lărgimea medie a unui caracter. În cazul în care instrucţiunea Print are pe ultima poziţie (;), (,), Tab[(col )], sau Spc(num ), nu se trece la linia următoare, cursorul sau capul de imprimare rămânând pe acelaşi rând în vederea executării unei eventuale instrucţiuni de tipărire ulterioare. Dacă obiectul este Printer, imprimanta trebuie să fie conectată la calculator, în caz contrar semnalându-se un mesaj de eroare. Poziţionarea cursorului text pentru scriere poate fi realizată cu instrucţiunile : [obiect.]currentx = x [obiect.]currenty = y unde x şi y sunt valori numerice care specifică coordonatele punctului de inserare pe orizontală şi pe verticală. Înălţimea unui şir de caractere şi lăţimea acestuia pot fi determinate folosind metodele : [obiect.]textheight(şir ) [obiect.]textwidth(şir) valorile returnate fiind exprimate în unităţile de măsură stabilite cu proprietatea ScaleMode. Pentru a afişa rezultatele într-o formă precizată de utilizator poate fi folosită funcţia : Format(expresie [, format ]) unde expresie reprezintă o expresie validă a cărei valoare va fi convertită la un şir de caractere având format-ul dorit. Argumentul opţional format este fie o specificare predefinită standard, fie o expresie şir de caractere definită de utilizator care conţine caractere speciale de formatare. În cazul afişării unei expresii de tip numeric, funcţia Format fără specificarea de format are un efect asemănător cu cel al functiei Str(exprnum ), deosebirea fiind că la afişarea valorilor pozitive, lipseşte spaţiul rezervat pentru semn. Formatele predefinite standard sunt prezentate în Tab. 7. Simbolurile separatorilor pentru mii şi pentru zecimale sunt în conformitate cu specificările din Regional Settings Properties din 19

Metode iterative pentru probleme neliniare - contractii

Metode iterative pentru probleme neliniare - contractii Metode iterative pentru probleme neliniare - contractii Problemele neliniare sunt in general rezolvate prin metode iterative si analiza convergentei acestor metode este o problema importanta. 1 Contractii

Διαβάστε περισσότερα

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a. Definiţie Spunem că: i) funcţia f are derivată parţială în punctul a în raport cu variabila i dacă funcţia de o variabilă ( ) are derivată în punctul a în sens obişnuit (ca funcţie reală de o variabilă

Διαβάστε περισσότερα

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE. 5 Eerciţii reolvate 5 UNCŢII IMPLICITE EXTREME CONDIŢIONATE Eerciţiul 5 Să se determine şi dacă () este o funcţie definită implicit de ecuaţia ( + ) ( + ) + Soluţie ie ( ) ( + ) ( + ) + ( )R Evident este

Διαβάστε περισσότερα

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică Gh. Asachi Curs 14 Funcţii implicite Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie F : D R 2 R o funcţie de două variabile şi fie ecuaţia F (x, y) = 0. (1) Problemă În ce condiţii ecuaţia

Διαβάστε περισσότερα

Esalonul Redus pe Linii (ERL). Subspatii.

Esalonul Redus pe Linii (ERL). Subspatii. Seminarul 1 Esalonul Redus pe Linii (ERL). Subspatii. 1.1 Breviar teoretic 1.1.1 Esalonul Redus pe Linii (ERL) Definitia 1. O matrice A L R mxn este in forma de Esalon Redus pe Linii (ERL), daca indeplineste

Διαβάστε περισσότερα

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie p, q N. Fie funcţia f : D R p R q. Avem următoarele

Διαβάστε περισσότερα

MARCAREA REZISTOARELOR

MARCAREA REZISTOARELOR 1.2. MARCAREA REZISTOARELOR 1.2.1 MARCARE DIRECTĂ PRIN COD ALFANUMERIC. Acest cod este format din una sau mai multe cifre şi o literă. Litera poate fi plasată după grupul de cifre (situaţie în care valoarea

Διαβάστε περισσότερα

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă. III. Serii absolut convergente. Serii semiconvergente. Definiţie. O serie a n se numeşte: i) absolut convergentă dacă seria modulelor a n este convergentă; ii) semiconvergentă dacă este convergentă iar

Διαβάστε περισσότερα

Curs 1 Şiruri de numere reale

Curs 1 Şiruri de numere reale Bibliografie G. Chiorescu, Analiză matematică. Teorie şi probleme. Calcul diferenţial, Editura PIM, Iaşi, 2006. R. Luca-Tudorache, Analiză matematică, Editura Tehnopress, Iaşi, 2005. M. Nicolescu, N. Roşculeţ,

Διαβάστε περισσότερα

5.4. MULTIPLEXOARE A 0 A 1 A 2

5.4. MULTIPLEXOARE A 0 A 1 A 2 5.4. MULTIPLEXOARE Multiplexoarele (MUX) sunt circuite logice combinaţionale cu m intrări şi o singură ieşire, care permit transferul datelor de la una din intrări spre ieşirea unică. Selecţia intrării

Διαβάστε περισσότερα

Limbaje de Programare Curs 3 Iteraţia. Reprezentare internă. Operatori pe biţi

Limbaje de Programare Curs 3 Iteraţia. Reprezentare internă. Operatori pe biţi Limbaje de Programare Curs 3 Iteraţia. Reprezentare internă. Operatori pe biţi Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Iteraţia 2 Reprezentare internă 3 Operaţii

Διαβάστε περισσότερα

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1 Functii definitie proprietati grafic functii elementare A. Definitii proprietatile functiilor. Fiind date doua multimi X si Y spunem ca am definit o functie (aplicatie) pe X cu valori in Y daca fiecarui

Διαβάστε περισσότερα

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare 1 Planul în spaţiu Ecuaţia generală Plane paralele Unghi diedru 2 Ecuaţia generală Plane paralele Unghi diedru Fie reperul R(O, i, j, k ) în spaţiu. Numim normala a unui plan, un vector perpendicular pe

Διαβάστε περισσότερα

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor. Fiind date doua multimi si spunem ca am definit o functie (aplicatie) pe cu valori in daca fiecarui element

Διαβάστε περισσότερα

Subiecte Clasa a VIII-a

Subiecte Clasa a VIII-a Subiecte lasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul

Διαβάστε περισσότερα

Aplicaţii ale principiului I al termodinamicii la gazul ideal

Aplicaţii ale principiului I al termodinamicii la gazul ideal Aplicaţii ale principiului I al termodinamicii la gazul ideal Principiul I al termodinamicii exprimă legea conservării şi energiei dintr-o formă în alta şi se exprimă prin relaţia: ΔUQ-L, unde: ΔU-variaţia

Διαβάστε περισσότερα

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Metode de Optimizare Curs V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Propoziţie 7. (Fritz-John). Fie X o submulţime deschisă a lui R n, f:x R o funcţie de clasă C şi ϕ = (ϕ,ϕ

Διαβάστε περισσότερα

III. Reprezentarea informaţiei în sistemele de calcul

III. Reprezentarea informaţiei în sistemele de calcul Metode Numerice Curs 3 III. Reprezentarea informaţiei în sistemele de calcul III.1. Reprezentarea internă a numerelor întregi III. 1.1. Reprezentarea internă a numerelor întregi fără semn (pozitive) Reprezentarea

Διαβάστε περισσότερα

Laborator 4 suport teoretic Tipuri de date utilizate în limbajul de programare C.

Laborator 4 suport teoretic Tipuri de date utilizate în limbajul de programare C. Laborator 4 suport teoretic Tipuri de date utilizate în limbajul de programare C. Toate valorile parametrilor unei probleme, adică datele cu care operează un program, sunt reprezentate în MO sub formă

Διαβάστε περισσότερα

Criptosisteme cu cheie publică III

Criptosisteme cu cheie publică III Criptosisteme cu cheie publică III Anul II Aprilie 2017 Problema rucsacului ( knapsack problem ) Considerăm un număr natural V > 0 şi o mulţime finită de numere naturale pozitive {v 0, v 1,..., v k 1 }.

Διαβάστε περισσότερα

Curs 4 Serii de numere reale

Curs 4 Serii de numere reale Curs 4 Serii de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Criteriul rădăcinii sau Criteriul lui Cauchy Teoremă (Criteriul rădăcinii) Fie x n o serie cu termeni

Διαβάστε περισσότερα

Seminar 5 Analiza stabilității sistemelor liniare

Seminar 5 Analiza stabilității sistemelor liniare Seminar 5 Analiza stabilității sistemelor liniare Noțiuni teoretice Criteriul Hurwitz de analiză a stabilității sistemelor liniare În cazul sistemelor liniare, stabilitatea este o condiție de localizare

Διαβάστε περισσότερα

Metode de interpolare bazate pe diferenţe divizate

Metode de interpolare bazate pe diferenţe divizate Metode de interpolare bazate pe diferenţe divizate Radu Trîmbiţaş 4 octombrie 2005 1 Forma Newton a polinomului de interpolare Lagrange Algoritmul nostru se bazează pe forma Newton a polinomului de interpolare

Διαβάστε περισσότερα

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea Serii Laurent Definitie. Se numeste serie Laurent o serie de forma Seria n= (z z 0 ) n regulata (tayloriana) = (z z n= 0 ) + n se numeste partea principala iar seria se numeste partea Sa presupunem ca,

Διαβάστε περισσότερα

Instructiunea while. Forma generala: while (expresie) instructiune;

Instructiunea while. Forma generala: while (expresie) instructiune; Instructiunea while while (expresie) instructiune; Modul de executie: 1) Se evalueaza expresie, daca expresie = 0 (fals) se iese din instructiunea while, altfel (expresie 0, deci adevarat) se trece la

Διαβάστε περισσότερα

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca Conice Lect. dr. Constantin-Cosmin Todea U.T. Cluj-Napoca Definiţie: Se numeşte curbă algebrică plană mulţimea punctelor din plan de ecuaţie implicită de forma (C) : F (x, y) = 0 în care funcţia F este

Διαβάστε περισσότερα

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili Anexa 2.6.2-1 SO2, NOx şi de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili de bioxid de sulf combustibil solid (mg/nm 3 ), conţinut de O 2 de 6% în gazele de ardere, pentru

Διαβάστε περισσότερα

4. CIRCUITE LOGICE ELEMENTRE 4.. CIRCUITE LOGICE CU COMPONENTE DISCRETE 4.. PORŢI LOGICE ELEMENTRE CU COMPONENTE PSIVE Componente electronice pasive sunt componente care nu au capacitatea de a amplifica

Διαβάστε περισσότερα

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE ABSTRACT. Materialul prezintă o modalitate de a afla distanţa dintre două drepte necoplanare folosind volumul tetraedrului. Lecţia se adresează clasei a VIII-a Data:

Διαβάστε περισσότερα

Integrala nedefinită (primitive)

Integrala nedefinită (primitive) nedefinita nedefinită (primitive) nedefinita 2 nedefinita februarie 20 nedefinita.tabelul primitivelor Definiţia Fie f : J R, J R un interval. Funcţia F : J R se numeşte primitivă sau antiderivată a funcţiei

Διαβάστε περισσότερα

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale. 5p Determinați primul termen al progresiei geometrice ( b n ) n, știind că b 5 = 48 și b 8 = 84 5p Se consideră funcția f : intersecție a graficului funcției f cu aa O R R, f ( ) = 7+ 6 Determinați distanța

Διαβάστε περισσότερα

riptografie şi Securitate

riptografie şi Securitate riptografie şi Securitate - Prelegerea 12 - Scheme de criptare CCA sigure Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Schemă de criptare

Διαβάστε περισσότερα

a. 11 % b. 12 % c. 13 % d. 14 %

a. 11 % b. 12 % c. 13 % d. 14 % 1. Un motor termic funcţionează după ciclul termodinamic reprezentat în sistemul de coordonate V-T în figura alăturată. Motorul termic utilizează ca substanţă de lucru un mol de gaz ideal având exponentul

Διαβάστε περισσότερα

Subiecte Clasa a VII-a

Subiecte Clasa a VII-a lasa a VII Lumina Math Intrebari Subiecte lasa a VII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate

Διαβάστε περισσότερα

Laborator 11. Mulţimi Julia. Temă

Laborator 11. Mulţimi Julia. Temă Laborator 11 Mulţimi Julia. Temă 1. Clasa JuliaGreen. Să considerăm clasa JuliaGreen dată de exemplu la curs pentru metoda locului final şi să schimbăm numărul de iteraţii nriter = 100 în nriter = 101.

Διαβάστε περισσότερα

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER

2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER 2. Circuite logice 2.4. Decodoare. Multiplexoare Copyright Paul GASNER Definiţii Un decodor pe n bits are n intrări şi 2 n ieşiri; cele n intrări reprezintă un număr binar care determină în mod unic care

Διαβάστε περισσότερα

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM Seminar S ANALA ÎN CUENT CONTNUU A SCHEMELO ELECTONCE S. ntroducere Pentru a analiza în curent continuu o schemă electronică,

Διαβάστε περισσότερα

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 SERII NUMERICE Definiţia 3.1. Fie ( ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 şirul definit prin: s n0 = 0, s n0 +1 = 0 + 0 +1, s n0 +2 = 0 + 0 +1 + 0 +2,.......................................

Διαβάστε περισσότερα

10. STABILIZATOAE DE TENSIUNE 10.1 STABILIZATOAE DE TENSIUNE CU TANZISTOAE BIPOLAE Stabilizatorul de tensiune cu tranzistor compară în permanenţă valoare tensiunii de ieşire (stabilizate) cu tensiunea

Διαβάστε περισσότερα

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu INTRODUCERE Laborator 1: ÎN ALGORITMI Întocmit de: Claudia Pârloagă Îndrumător: Asist. Drd. Gabriel Danciu I. NOŢIUNI TEORETICE A. Sortarea prin selecţie Date de intrare: un şir A, de date Date de ieşire:

Διαβάστε περισσότερα

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0 Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucian MATICIUC SEMINAR 4 Funcţii de mai multe variabile continuare). Să se arate că funcţia z,

Διαβάστε περισσότερα

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii ilincamircea@yahoo.com postat 16.11.2016 TEMA III.3 v1: EXPRESII ÎN C/C++ (sinteză) Relațiile de calcul dintr-un algoritm

Διαβάστε περισσότερα

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Subspatii ane Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Oana Constantinescu Oana Constantinescu Lectia VI Subspatii ane Table of Contents 1 Structura de spatiu an E 3 2 Subspatii

Διαβάστε περισσότερα

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice Teme de implementare in Matlab pentru Laboratorul de Metode Numerice As. Ruxandra Barbulescu Septembrie 2017 Orice nelamurire asupra enunturilor/implementarilor se rezolva in cadrul laboratorului de MN,

Διαβάστε περισσότερα

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor Facultatea de Matematică Calcul Integral şi Elemente de Analiă Complexă, Semestrul I Lector dr. Lucian MATICIUC Seminariile 9 20 Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reiduurilor.

Διαβάστε περισσότερα

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE 5.5. A CIRCUITELOR CU TRANZISTOARE BIPOLARE PROBLEMA 1. În circuitul din figura 5.54 se cunosc valorile: μa a. Valoarea intensității curentului de colector I C. b. Valoarea tensiunii bază-emitor U BE.

Διαβάστε περισσότερα

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:, REZISTENTA MATERIALELOR 1. Ce este modulul de rezistenţă? Exemplificaţi pentru o secţiune dreptunghiulară, respectiv dublu T. RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii

Διαβάστε περισσότερα

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3 SEMINAR 2 SISTEME DE FRŢE CNCURENTE CUPRINS 2. Sisteme de forţe concurente...1 Cuprins...1 Introducere...1 2.1. Aspecte teoretice...2 2.2. Aplicaţii rezolvate...3 2. Sisteme de forţe concurente În acest

Διαβάστε περισσότερα

28. SUPRADEFINIREA OPERATORILOR

28. SUPRADEFINIREA OPERATORILOR 28. SUPRADEFINIREA OPERATORILOR Pentru un tip clasă se poate defini un set de operatori asociaţi prin supradefinirea operatorilor existenţi, ceea ce permite realizarea de operaţii specifice cu noul tip

Διαβάστε περισσότερα

CARACTERISTICILE LIMBAJULUI DE PROGRAMARE

CARACTERISTICILE LIMBAJULUI DE PROGRAMARE CARACTERISTICILE LIMBAJULUI DE PROGRAMARE Pentru a putea executa cu ajutorul calculatorului algoritmii descrişi în pseudocod, aceştia trebuie implementaţi într-un limbaj de programare, adică trebuie să-i

Διαβάστε περισσότερα

Curs 2 Şiruri de numere reale

Curs 2 Şiruri de numere reale Curs 2 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Convergenţă şi mărginire Teoremă Orice şir convergent este mărginit. Demonstraţie Fie (x n ) n 0 un

Διαβάστε περισσότερα

V O. = v I v stabilizator

V O. = v I v stabilizator Stabilizatoare de tensiune continuă Un stabilizator de tensiune este un circuit electronic care păstrează (aproape) constantă tensiunea de ieșire la variaţia între anumite limite a tensiunii de intrare,

Διαβάστε περισσότερα

Sisteme diferenţiale liniare de ordinul 1

Sisteme diferenţiale liniare de ordinul 1 1 Metoda eliminării 2 Cazul valorilor proprii reale Cazul valorilor proprii nereale 3 Catedra de Matematică 2011 Forma generală a unui sistem liniar Considerăm sistemul y 1 (x) = a 11y 1 (x) + a 12 y 2

Διαβάστε περισσότερα

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice 1 Conice pe ecuaţii reduse 2 Conice pe ecuaţii reduse Definiţie Numim conica locul geometric al punctelor din plan pentru care raportul distantelor la un punct fix F şi la o dreaptă fixă (D) este o constantă

Διαβάστε περισσότερα

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R În cele ce urmează, vom studia unele proprietăţi ale mulţimilor din R. Astfel, vom caracteriza locul" unui punct în cadrul unei mulţimi (în limba

Διαβάστε περισσότερα

Subiectul III (30 de puncte) - Varianta 001

Subiectul III (30 de puncte) - Varianta 001 (30 de puncte) - Varianta 001 1. Utilizând metoda backtracking se generează în ordine lexicografică cuvintele de câte patru litere din mulţimea A={a,b,c,d,e}, cuvinte care nu conţin două vocale alăturate.

Διαβάστε περισσότερα

Problema a II - a (10 puncte) Diferite circuite electrice

Problema a II - a (10 puncte) Diferite circuite electrice Olimpiada de Fizică - Etapa pe judeţ 15 ianuarie 211 XI Problema a II - a (1 puncte) Diferite circuite electrice A. Un elev utilizează o sursă de tensiune (1), o cutie cu rezistenţe (2), un întrerupător

Διαβάστε περισσότερα

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005. SUBIECTUL Editia a VI-a 6 februarie 005 CLASA a V-a Fie A = x N 005 x 007 si B = y N y 003 005 3 3 a) Specificati cel mai mic element al multimii A si cel mai mare element al multimii B. b)stabiliti care

Διαβάστε περισσότερα

Asupra unei inegalităţi date la barajul OBMJ 2006

Asupra unei inegalităţi date la barajul OBMJ 2006 Asupra unei inegalităţi date la barajul OBMJ 006 Mircea Lascu şi Cezar Lupu La cel de-al cincilea baraj de Juniori din data de 0 mai 006 a fost dată următoarea inegalitate: Fie x, y, z trei numere reale

Διαβάστε περισσότερα

Declaraţii de variabile, tipuri, funcţii

Declaraţii de variabile, tipuri, funcţii Declaraţii de variabile, tipuri, funcţii 2 noiembrie 2004 Declaraţii de variabile, tipuri, funcţii 2 Puţinǎ teorie sintaxa: regulile gramaticale care descriu un limbaj un şir de simboluri (text) face parte

Διαβάστε περισσότερα

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB 1.7. AMLFCATOARE DE UTERE ÎN CLASA A Ş AB 1.7.1 Amplificatoare în clasa A La amplificatoarele din clasa A, forma de undă a tensiunii de ieşire este aceeaşi ca a tensiunii de intrare, deci întreg semnalul

Διαβάστε περισσότερα

8 Intervale de încredere

8 Intervale de încredere 8 Intervale de încredere În cursul anterior am determinat diverse estimări ˆ ale parametrului necunoscut al densităţii unei populaţii, folosind o selecţie 1 a acestei populaţii. În practică, valoarea calculată

Διαβάστε περισσότερα

INTRODUCERE ÎN PROGRAMAREA MATLAB

INTRODUCERE ÎN PROGRAMAREA MATLAB LUCRAREA Nr. 2 INTRODUCERE ÎN PROGRAMAREA MATLAB. Obiective Lucrarea are ca scop însuşirea modului de lucru cu produsul program Matlab pentru calcul numeric, utilizând funcńii matematice uzuale. 2. NoŃiuni

Διαβάστε περισσότερα

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)). Teoremă. (Y = f(x)). Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism Demonstraţie. f este continuă pe X: x 0 X, S Y (f(x 0 ), ε), S X (x 0, ε) aşa ca f(s X (x 0, ε)) = S Y (f(x 0 ), ε) : y

Διαβάστε περισσότερα

prin egalizarea histogramei

prin egalizarea histogramei Lucrarea 4 Îmbunătăţirea imaginilor prin egalizarea histogramei BREVIAR TEORETIC Tehnicile de îmbunătăţire a imaginilor bazate pe calculul histogramei modifică histograma astfel încât aceasta să aibă o

Διαβάστε περισσότερα

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2 .1 Sfera Definitia 1.1 Se numeşte sferă mulţimea tuturor punctelor din spaţiu pentru care distanţa la u punct fi numit centrul sferei este egalăcuunnumăr numit raza sferei. Fie centrul sferei C (a, b,

Διαβάστε περισσότερα

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă Noţiunea de spaţiu liniar 1 Noţiunea de spaţiu liniar Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară 2 Mulţime infinită liniar independentă 3 Schimbarea coordonatelor unui vector la o schimbare

Διαβάστε περισσότερα

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice 4. Măsurarea tensiunilor şi a curenţilor electrici oltmetre electronice analogice oltmetre de curent continuu Ampl.c.c. x FTJ Protectie Atenuator calibrat Atenuatorul calibrat divizor rezistiv R in const.

Διαβάστε περισσότερα

2. Circuite logice 2.5. Sumatoare şi multiplicatoare. Copyright Paul GASNER

2. Circuite logice 2.5. Sumatoare şi multiplicatoare. Copyright Paul GASNER 2. Circuite logice 2.5. Sumatoare şi multiplicatoare Copyright Paul GASNER Adunarea în sistemul binar Adunarea se poate efectua în mod identic ca la adunarea obişnuită cu cifre arabe în sistemul zecimal

Διαβάστε περισσότερα

Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1

Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1 Aparate de măsurat Măsurări electronice Rezumatul cursului 2 MEE - prof. dr. ing. Ioan D. Oltean 1 1. Aparate cu instrument magnetoelectric 2. Ampermetre şi voltmetre 3. Ohmetre cu instrument magnetoelectric

Διαβάστε περισσότερα

Laborator 6. Integrarea ecuaţiilor diferenţiale

Laborator 6. Integrarea ecuaţiilor diferenţiale Laborator 6 Integrarea ecuaţiilor diferenţiale Responsabili: 1. Surdu Cristina(anacristinasurdu@gmail.com) 2. Ştirbăţ Bogdan(bogdanstirbat@yahoo.com) Obiective În urma parcurgerii acestui laborator elevul

Διαβάστε περισσότερα

Codificatorul SN74148 este un codificator zecimal-bcd de trei biţi (fig ). Figura Codificatorul integrat SN74148

Codificatorul SN74148 este un codificator zecimal-bcd de trei biţi (fig ). Figura Codificatorul integrat SN74148 5.2. CODIFICATOAE Codificatoarele (CD) sunt circuite logice combinaţionale cu n intrări şi m ieşiri care furnizează la ieşire un cod de m biţi atunci când numai una din cele n intrări este activă. De regulă

Διαβάστε περισσότερα

TAD Stiva (STACK) Observaţii: 1. sunt aşezate ordonat unele peste altele. Un element nou se adaugă în stivă deasupra elementului cel mai recent

TAD Stiva (STACK) Observaţii: 1. sunt aşezate ordonat unele peste altele. Un element nou se adaugă în stivă deasupra elementului cel mai recent TAD Stiva (STACK) Observaţii: 1. În limbajul uzual cuvântul stivă referă o grămadă în care elementele constitutive sunt aşezate ordonat unele peste altele. Un element nou se adaugă în stivă deasupra elementului

Διαβάστε περισσότερα

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument:

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument: Erori i incertitudini de măurare Sure: Modele matematice Intrument: proiectare, fabricaţie, Interacţiune măurandintrument: (tranfer informaţie tranfer energie) Influente externe: temperatura, preiune,

Διαβάστε περισσότερα

Subiecte Clasa a V-a

Subiecte Clasa a V-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul numarului intrebarii

Διαβάστε περισσότερα

Universitatea din Bucureşti Facultatea de Matematică şi Informatică. Algebră (1)

Universitatea din Bucureşti Facultatea de Matematică şi Informatică. Algebră (1) Universitatea din ucureşti.7.4 Facultatea de Matematică şi Informatică oncursul de admitere iulie 4 omeniul de licenţă alculatoare şi Tehnologia Informaţiei lgebră (). Fie x,y astfel încât x+y = şi x +

Διαβάστε περισσότερα

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy Metode Runge-Kutta Radu T. Trîmbiţaş 8 ianuarie 7 Probleme scalare, pas constant Dorim să aproximăm soluţia problemei Cauchy y (t) = f(t, y), a t b, y(a) = α. pe o grilă uniformă de (N + )-puncte din [a,

Διαβάστε περισσότερα

2 Transformări liniare între spaţii finit dimensionale

2 Transformări liniare între spaţii finit dimensionale Transformări 1 Noţiunea de transformare liniară Proprietăţi. Operaţii Nucleul şi imagine Rangul şi defectul unei transformări 2 Matricea unei transformări Relaţia dintre rang şi defect Schimbarea matricei

Διαβάστε περισσότερα

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1) Ecuatii exponentiale Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. Cea mai simpla ecuatie exponentiala este de forma a x = b, () unde a >, a. Afirmatia.

Διαβάστε περισσότερα

riptografie şi Securitate

riptografie şi Securitate riptografie şi Securitate - Prelegerea 21.2 - Sistemul de criptare ElGamal Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Scurt istoric

Διαβάστε περισσότερα

Programarea Calculatoarelor

Programarea Calculatoarelor Programarea Calculatoarelor Modul 1: Rezolvarea algoritmică a problemelor Introducere în programare Algoritm Obiectele unui algoritm Date Constante Variabile Expresii Operaţii specifice unui algoritm şi

Διαβάστε περισσότερα

Matrice. Determinanti. Sisteme liniare

Matrice. Determinanti. Sisteme liniare Matrice 1 Matrice Adunarea matricelor Înmulţirea cu scalar. Produsul 2 Proprietăţi ale determinanţilor Rangul unei matrice 3 neomogene omogene Metoda lui Gauss (Metoda eliminării) Notiunea de matrice Matrice

Διαβάστε περισσότερα

Să se arate că n este număr par. Dan Nedeianu

Să se arate că n este număr par. Dan Nedeianu Primul test de selecție pentru juniori I. Să se determine numerele prime p, q, r cu proprietatea că 1 p + 1 q + 1 r 1. Fie ABCD un patrulater convex cu m( BCD) = 10, m( CBA) = 45, m( CBD) = 15 și m( CAB)

Διαβάστε περισσότερα

1.3 Baza a unui spaţiu vectorial. Dimensiune

1.3 Baza a unui spaţiu vectorial. Dimensiune .3 Baza a unui spaţiu vectorial. Dimensiune Definiţia.3. Se numeşte bază a spaţiului vectorial V o familie de vectori B care îndeplineşte condiţiile de mai jos: a) B este liniar independentă; b) B este

Διαβάστε περισσότερα

Fișiere de tip Script, Function și CallBack - uicontrol.

Fișiere de tip Script, Function și CallBack - uicontrol. Fișiere de tip Script, Function și CallBack - uicontrol. Obiectivele lucrării de laborator: - Prezentarea și descrierea fișierelor Script și Function - Prezentarea și implementarea parametrului Callback

Διαβάστε περισσότερα

Exemple de probleme rezolvate pentru cursurile DEEA Tranzistoare bipolare cu joncţiuni

Exemple de probleme rezolvate pentru cursurile DEEA Tranzistoare bipolare cu joncţiuni Problema 1. Se dă circuitul de mai jos pentru care se cunosc: VCC10[V], 470[kΩ], RC2,7[kΩ]. Tranzistorul bipolar cu joncţiuni (TBJ) este de tipul BC170 şi are parametrii β100 şi VBE0,6[V]. 1. să se determine

Διαβάστε περισσότερα

13. Grinzi cu zăbrele Metoda izolării nodurilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...

13. Grinzi cu zăbrele Metoda izolării nodurilor...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate... SEMINAR GRINZI CU ZĂBRELE METODA IZOLĂRII NODURILOR CUPRINS. Grinzi cu zăbrele Metoda izolării nodurilor... Cuprins... Introducere..... Aspecte teoretice..... Aplicaţii rezolvate.... Grinzi cu zăbrele

Διαβάστε περισσότερα

TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective:

TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective: TEMA 9: FUNCȚII DE MAI MULTE VARIABILE 77 TEMA 9: FUNCȚII DE MAI MULTE VARIABILE Obiective: Deiirea pricipalelor proprietăţi matematice ale ucţiilor de mai multe variabile Aalia ucţiilor de utilitate şi

Διαβάστε περισσότερα

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1 2. Circuite logice 2.2. Diagrame Karnaugh Copyright Paul GASNER Diagrame Karnaugh Tehnică de simplificare a unei expresii în sumă minimă de produse (minimal sum of products MSP): Există un număr minim

Διαβάστε περισσότερα

Examen AG. Student:... Grupa: ianuarie 2016

Examen AG. Student:... Grupa: ianuarie 2016 16-17 ianuarie 2016 Problema 1. Se consideră graful G = pk n (p, n N, p 2, n 3). Unul din vârfurile lui G se uneşte cu câte un vârf din fiecare graf complet care nu-l conţine, obţinându-se un graf conex

Διαβάστε περισσότερα

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă Coordonatori DANA HEUBERGER NICOLAE MUŞUROIA Nicolae Muşuroia Gheorghe Boroica Vasile Pop Dana Heuberger Florin Bojor MATEMATICĂ DE EXCELENŢĂ pentru concursuri, olimpiade şi centre de excelenţă Clasa a

Διαβάστε περισσότερα

SGBD Access 2013: Reports

SGBD Access 2013: Reports SGBD Access 2013: Reports Obiectele de tip raport (Reports) se creează în etapa de exploatare a bazelor de date. Conţinutul lor poate fi vizualizat pe ecran, sau se poate lista la imprimantă SGBD Access

Διαβάστε περισσότερα

BARDAJE - Panouri sandwich

BARDAJE - Panouri sandwich Panourile sunt montate vertical: De jos în sus, îmbinarea este de tip nut-feder. Sensul de montaj al panourilor trebuie să fie contrar sensului dominant al vântului. Montaj panouri GAMA ALLIANCE Montaj

Διαβάστε περισσότερα

Colegiul Tehnic Dimitrie Leonida Prof. Jiduc Gabriel. AutoCAD: Comenzi de desenare

Colegiul Tehnic Dimitrie Leonida Prof. Jiduc Gabriel. AutoCAD: Comenzi de desenare Colegiul Tehnic Dimitrie Leonida Prof. Jiduc Gabriel AutoCAD: Comenzi de desenare Comenzi de desenare Un desen în AutoCAD este format din una sau mai multe entităţi grafice O entitate grafică este reprezentarea

Διαβάστε περισσότερα

2. CONDENSATOARE 2.1. GENERALITĂŢI PRIVIND CONDENSATOARELE DEFINIŢIE UNITĂŢI DE MĂSURĂ PARAMETRII ELECTRICI SPECIFICI CONDENSATOARELOR SIMBOLURILE

2. CONDENSATOARE 2.1. GENERALITĂŢI PRIVIND CONDENSATOARELE DEFINIŢIE UNITĂŢI DE MĂSURĂ PARAMETRII ELECTRICI SPECIFICI CONDENSATOARELOR SIMBOLURILE 2. CONDENSATOARE 2.1. GENERALITĂŢI PRIVIND CONDENSATOARELE DEFINIŢIE UNITĂŢI DE MĂSURĂ PARAMETRII ELECTRICI SPECIFICI CONDENSATOARELOR SIMBOLURILE CONDENSATOARELOR 2.2. MARCAREA CONDENSATOARELOR MARCARE

Διαβάστε περισσότερα

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36]. Componente şi circuite pasive Fig.3.85. Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36]. Fig.3.86. Rezistenţa serie echivalentă pierderilor în funcţie

Διαβάστε περισσότερα

Algebra si Geometrie Seminar 9

Algebra si Geometrie Seminar 9 Algebra si Geometrie Seminar 9 Decembrie 017 ii Equations are just the boring part of mathematics. I attempt to see things in terms of geometry. Stephen Hawking 9 Dreapta si planul in spatiu 1 Notiuni

Διαβάστε περισσότερα

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1 FNCȚ DE ENERGE Fie un n-port care conține numai elemente paive de circuit: rezitoare dipolare, condenatoare dipolare și bobine cuplate. Conform teoremei lui Tellegen n * = * toate toate laturile portile

Διαβάστε περισσότερα

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă. Sala: 2103 Decembrie 2014 Conf. univ. dr.: Dragoş-Pătru Covei CURS 11: ALGEBRĂ Specializarea: C.E., I.E., S.P.E. Nota: Acest curs nu a fost supus unui proces riguros de recenzare pentru a fi oficial publicat.

Διαβάστε περισσότερα

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera. pe ecuaţii generale 1 Sfera Ecuaţia generală Probleme de tangenţă 2 pe ecuaţii generale Sfera pe ecuaţii generale Ecuaţia generală Probleme de tangenţă Numim sferă locul geometric al punctelor din spaţiu

Διαβάστε περισσότερα