Presentation is loading. Please wait.

Presentation is loading. Please wait.

Algoritmi. Structuri de control. Limbajul VBA

Similar presentations


Presentation on theme: "Algoritmi. Structuri de control. Limbajul VBA"— Presentation transcript:

1 Algoritmi. Structuri de control. Limbajul VBA

2 Algoritmi Definiţia 1 Un algoritm constă dintr-o mulţime ordonată de paşi executabili, descrişi fără echivoc, care definesc un proces finit. Definiţia 2 Un algoritm reprezintă un sistem de reguli conform cărora o informaţie iniţială este transformată într-o informaţie finală trecând printr-un număr finit de transformări intermediare. Definiţia 3 Un algoritm este un concept folosit în mod intuitiv pentru a desemna o mulţime finită de operaţii (instrucţiuni, comenzi) cunoscute, care executate într-o ordine bine stabilită, pornind de la un set de valori (intrări) produc, în timp finit, un alt set de valori (ieşiri)

3 Algoritmi informaţie admisibilă - informaţia iniţială pentru care un algoritm dat este aplicabil domeniul algoritmului - totalitatea informaţiilor admisibile unui algoritm A: DA FA FA -mulţimea în care DA ia valori DA- domeniul de definiţie a algoritmului

4 Algoritmi - caracteristici
Generalitatea. Un algoritm A este aplicabil oricărei informaţii din domeniul său DA. Aceasta înseamnă că un algoritm nu rezolvă o singură problemă ci o clasă de probleme de acest tip. Finitudinea. Numărul transformărilor ce trebuie aplicate unei informaţii admisibile pentru a obţine informaţia finală corespunzătoare este finit. Unicitatea. regulile algoritmului determină în mod univoc toate transformările prin care acesta trece până la obţinerea informaţiei finale. După fiecare pas, regulile algoritmului determină în mod unic pasul care urmează. Mai mult, regulile algoritmului precizează în ce cazuri se obţine informaţia finală, după care algoritmul îşi încetează aplicabilitatea.

5 Algoritmi - etape Inițială De calcul Finală

6 Algoritmi - etape pseudocod ( limbaj logico-matematic) scheme logice
cu ajutorul unui limbaj de programare Scheme logice – forme geometrice și segmente orientate pentru a indica ordinea operațiilor Pseudocod – limbaj logico – matematic ce permite descrierea programului în limbaj natural (chiar și în limba maternă a programatorului)

7 Algoritmi – descriere – scheme logice

8 Algoritmi – descriere – pseudocod
Enunțuri standard – implică folosirea unor cuvinte rezervate numite cuvinte – cheie şi semne grafice convenţionale. Cuvintele cheie folosite în descrierea algoritmului apar subliniate. Exemplu: Scrie “Introduceţi valorile pentru a şi b” Pentru operaţiile de declarare a tipului de date, citire şi scriere se utilizează cuvintele cheie: Integer <listă variabile> - se declară variabilele din <lista variabile> de tip întreg Real <listă variabile> - se declară variabilele din <lista variabile> de tip real Character <listă variabile> - se declară variabilele din <lista variabile> de tip caracter Citeşte <listă variabile> - pentru citire (memorarea valorilor introduse de la tastatură pentru variabilele din listă variabile) Scrie <listă de ieşire> - pentru afişarea listei de ieşire. Lista de ieşire poate fi formată dintr-un text scris între ghilimele sau din identificatorii (numele) unor variabile, caz în care se vor afişa ultimele valori memorate în acestea. Atribuie variabilăexpresia - pentru operaţia de atribuire

9 Algoritmi – descriere – pseudocod
Enunțuri nestandard – sunt precedate de caracterele „*)” şi descriu porţiuni ale algoritmului care, pentru moment, nu sunt finalizate. Enunţurile nestandard se descriu în limbaj natural. Exemplu: *) schimbă conţinutul variabilelor a şi b

10 Algoritmi – descriere – pseudocod
Ordinea în care se realizează înlănţuirea paşilor unui algoritm defineşte aşa – numita structură de control a algoritmului. Structura decizională Dacă <condiţie> atunci <operaţie simplă>

11 Structura decizională - exemple

12 Structura repetitivă

13 Structura repetitivă - exemplu

14 Structura repetitivă cu variabilă contor

15 Structura repetitivă cu variabilă contor

16 Limbajul VBA – Visual Basic for Applications
Inclus în aplicațiile Microsoft Office Permite crearea funcțiilor utilizator (UDF User-defined Functions) Crearea unor interfețe grafice care permit plasarea unor controale pe un formular utilizator Lucrul cu sistemul de operare prin API (Application Programming Interface)

17 Limbajul VBA – Visual Basic for Applications
VBA este un limbaj orientat obiect, care se bazează pe trei noțiuni: obiecte, proprietăți și metode Obiectul exprimat prin substantive. Obiectele sunt grupate în colecții, grupate ierarhic Name, Range, Workbook, Worksheet Workbooks(“Venituri”).Sheets(“Firma1”).Range(“B1”)

18 Limbajul VBA – Visual Basic for Applications
Proprietăți – atribute ale obiectelor (exprimate, de obicei, prin adjective) ActiveWorkbook, ActiveSheet, Application, Font, Value Sheet1.Cells(1,2) Metode – acțiuni ce se vor fi lansate în execuție (exprimate prin verbe) Activate, Add, Copy, Cut, Delete, Select Activeworkbook.Sheets.Add((“Sheet2”),,,xlChart)

19

20

21

22

23 Limbajul VBA – variabile
Variabilă = locație de memorie al cărei conținut se modifică în funcție de logica programului și de structurile de control utilizate Numele unei variabile VBA poate fi stabilit respectând următoarele reguli: Numele unei variabile nu va conține spații, puncte sau unul dintre următoarele caractere: #, $, %, & ,! Numele variabilei poate conține litere sau cifre, însă primul caracter va fi, obligatoriu, literă. Numele unei variabile nu poate depăși 255 caractere

24 Limbajul VBA – variabile
Un program scris în orice limbaj de programare va începe cu declararea tipului variabilei și inițializarea acestora Exemple: gata = False ‘ variabila este declarată de tip boolean și este inițializată cu valoarea False X=2 ‘ variabila a fost declarată de tip integer, double, single sau long și este inițializată cu valoarea 2

25 Limbajul VBA – variabile
Exemple: Data_inceperii=#3/12/2016# ‘ variabila este declarată de tip dată calendaristică(date) x=x+1 ‘ variabila x este incrementată cu 1 (la ultima valoare stocată în variabila x se adună o unitate) Numeutilizator = “Pop Ion” ‘variabila numeutilizator este declarată de tip șir de caractere (string)

26 Limbajul VBA – declararea variabilelor
Option Explicit – instrucțiune care forțează declararea tuturor variabilelor și afișează mesaje de eroare în caz contrar Dacă o variabilă nu este decarată și Option Explicit lipsește, variabila respectivă va fi tratată de către program ca fiind de tip variant Variant: valoarea stocată în variabila respectivă este tratată diferit, în funcție de operția realizată. Nu se pot declara mai multe variabile prin aceeași instrucțiune, Dim i, j, k as Integer

27 Limbajul VBA – vizibilitatea variabilelor
Un registru de calcul Excel poate avea un număr de module de program VBA, iar un modul VBA poate conține proceduri de tip Sub sau Function Vizibilitatea variabilei determină modul în care modulele și procedurile pot utiliza variabila respectivă Vizibilitate Mod de declarare La nivel de procedură Cu instructiunile Dim sau Static în interiorul procedurii La nivel de modul Cu instrucțiunea Dim inserată înaintea declarării primei proceduri În toate procedurile din toate modulele Prin utilizarea instrucțiunii Public

28 Limbajul VBA – vizibilitatea variabilelor
Atunci când o procedură își încheie execuția, toate variabilele sunt reinițializate Variabilele de tip Static își păstrează valoarea chiar și după încheierea execuției procedurii

29 Limbajul VBA – tipuri de date
Tip de dată = se referă la modul în care un program stochează datele în memorie (ca valori întregi, reale sau șir de caractere)

30 Obiecte de tip Range Range(“A1:C5”) Range(“Preturi”)
Worksheets(“Sheet1”).Range(“A1:C5”)

31 Obiecte de tip Range Workbooks(“Buget_lunar”).Worksheets(“Sheet1”).Range(“A1:C5”) Range(“3 : 3”) – randul al treilea din foaia de calcul curentă Range(“E : E”) – coloana E din foaia de calcul curentă Range(“A1:B8, D9:G16”)

32 Obiecte de tip Range – proprietatea Cells
Proprietatea Cells va fi evaluată, iar VBA va returna un obiect de tip Range Proprietatea Cells are două argumente: rând și coloană Worksheets(“Sheet1”).Cells(2,3) – celula C2 Range(“A1:J20”).Value=100 Range(Cells(1,1), Cells(20,10)).Value=100

33 Obiecte de tip Range – proprietatea Value
Proprietatea Value returnează valoarea conținută în celula specificată Msgbox Worksheets(“Sheet1”).Range(“A1”).Value

34 Obiecte de tip Range – proprietatea Value
Poate modifica valorile din domeniul specificat de celule Worksheets(“Sheet1”).Range(“A1:C3”).Value=123 Value este proprietatea implicită a obiectului Range Worksheets(“Sheet1”).Range(“A1”).Value=75 are același efect cu Worksheets(“Sheet1”).Range(“A1”)=75

35 Obiecte de tip Range – proprietatea Text
Proprietatea Text returnează un șir de caractere formatat ce reprezintă textul conținut într-o anumită celulă Rezultat obținut cu Value

36 Obiecte de tip Range – proprietatea Count, Column și Row
Afișează numărul de celule din domeniul specificat MsgBox Worksheets("Sheet1").Range("A1:A10").Count Row afișează numărul rândului corespunzător celulei specificate MsgBox Worksheets("Sheet1").Range(“F7").Row Column afișează numărul coloanei corespunzător celulei specificate MsgBox Worksheets("Sheet1").Range(“F7:G7").Column

37 Funcții VBA Funcția realizează anumite calcule și returnează o singură valoare nume_funcție(argument1, argument2,…) Funcții incluse (built in) – utilizabile în VBA Funcții de foaie de calcul (Worksheet) – utilizabile în Excel Funcții utilizator

38 Funcții VBA

39 Funcții Worksheet în VBA
Dacă funcția necesară nu face parte din cele built –in, se pot utiliza funcții Excel în programul scris în VBA Funcțiile Excel sunt accesibile prin obiectul WorksheetFunction inclus în obiectul Application (adică Excel, în acest caz) Orice funcție Excel poate fi utilizată în VBA, dacă este precedată de Application.WorksheetFunction

40 Funcții Worksheet în VBA
Total=Application.WorksheetFunction.Sum(Range(“A1:A10”))

41 Funcții Worksheet în VBA

42 Funcţii utilizator

43


Download ppt "Algoritmi. Structuri de control. Limbajul VBA"

Similar presentations


Ads by Google