Algoritmi, date si expresii, pseudocod
Pentru a rezolva o problemă cu ajutorul calculatorului trebuie să
parcurgem următoarele etape:
Analiza problemei
Elaborarea modului de rezolvare(pasii de rezolvare)
Codificarea modului de rezolvare intr-un limbaj de programare (C++)
Testarea programului (compilare ) si corectarea erorilor
• Algoritmul reprezinta o succesiune de pasi care poate îndeplini o anumita sarcina in functie de datele de intrare pt a obtine datele de iesire
INTRARI
D.I.
PRELUCRARILE
DATELOR DE INTRARE
Date intermediare
IESIRI
D.E.
Să presupunem că trebuie să mergem la magazin să cumpărăm un produs. Ce trebuie să facem?
#include <iostream>
using namespace std;
int main()
{
float a,b,c,s,m;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
s=a+b+c;
m=s/3;
cout<<"media = "<<m<<endl;
return 0;
}
Directiva de includere a fisierului (antet, de tip HEADER) biblioteca in fata programului principal int main
Implementarea algoritmului in C++
P1: Zona de declarare a variabilelor(se aloca spatiu de memorie in functie de tipul de data declarat)
tipul : DI si DE
P2: Se solicita sa se afiseze un mesaj cu functia
COUT <<“mesaj”; se tasteaza o valoare
Se memoreaza valoarea (DI) cu functia CIN>>var
P3: prelucrarea datelor
P4: Afisarea datelor de iesire (DE)
1. DATELE:
2. VARIABILELE
3. EXPRESIILE
Obiectele cu care lucreaza algoritmii:
5,6 25 27,5
a b suma
4 octeti 4 octeti 4 octeti
Pasii de rezolvareDI DE
suma = a + b
4. Operatorii : + , *, /, %
( Operanzi )
1. Determină perimetrul şi aria unui dreptunghi, unde lungimile laturilor sunt citite de la tastatură.
2. Pentru a un număr real, citit de la tastatură, care reprezintă lungimea laturii unui cub, calculează şi afişează volumul şi suprafaţa totală a cubului.
3. algoritmul pentru 2 valori a şi b numere întregi, sa afiseze rezultatele celor 5 operaţii (suma, produsul, diferenţa, câtul şi restul operaţie de împărţire pe mulţimea numerelor întregi)
Tema:
Algoritmul pentru 2 valori a şi b numere întregi, sa afiseze rezultatele celor 5 operaţii (suma, produsul, diferenţa, câtul şi restul operaţie de împărţire pe mulţimea numerelor întregi)
#include <iostream>using namespace std;int main(){double a,b,s,p,i,d;cout<<"a= "; cin>>a;
cout<<"b= "; cin>>b;
s=a+b;p=a*b;i=a/b;d=a-b;cout<<"suma= "<<s<<endl;cout<<"produs= "<<p<<endl;cout<<"impartit= "<<i<<endl;cout<<"diferenta= "<<d<<endl;return 0;
}
https://www.tutorialspoint.com/compile_cpp_online.php
Program scris in limbajul C++, compilat si rulat in CODEBLOKS:
https://wiki.haskell.org/Rodin/Download
Tema 1: Se citesc doua valori , sa se afiseze valoare maxima
Clasificarea datelor (variabilelor):
1. de tip întreg (numere întregi cu
sau fară semn - exemple: 45, -
105),
2. de tip real (numere cu virgulă
zecimală – exemple: 2.56, -
3.123),
3. tip caracter şi şiruri de
caractere(caractere cuprinse
între apostrofuri , exemple:
'A','b',' instructiuni' ,
E=(a+b)/(a*b)+n 𝑓 𝑥 = 𝑎0 +
𝑛=1
∞
𝑎𝑛 cos𝑛𝜋𝑥
𝐿+ 𝑏𝑛 sin
𝑛𝜋𝑥
𝐿
3. Operatori logici: si logic( && ) , sau logic ( | | ), negare ( ! )
• expr1 == expr2 verifica daca valoarea expresiei din
stanga este aceeasi cu valoarea din dreapta
• analog, expr1 != expr2 verifica daca valoarea
expresiei din stanga este diferita de valoarea din
dreapta
• in toate cazurile raspunsul la intrebari (ex: A este mai mic
decat B ) poate fi doar DA sau NU,
adica ADEVARAT sau FALS; aceste raspunsuri se
numesc valori logice (valori de adevar)
•Operatori relationali: <, <=, ==, !=, >=, >
Exemple:
•Cum scriem A apartine intervalului (- infinit, 7) Raspuns: A<7
•Cum scriem A apartine intervalului [3, infinit) Raspuns: A>=3
• evident raspunsurile la operatorii logici sunt tot valori logice (Adevarat sau Fals)
• Operatorul logic SI ( && )• Exemplul Alinei: Imi plac baietii atletici SI glumeti.
Aceasta propozitie poate fi scrisa ca A && B (A =Imi plac baietii atletici si B = Imi plac baietii glumeti)
• posibilitatile care apar sunt:
• neatletic, posac=> nu imi place ; raspuns NU (FALS)
• neatletic, glumet => nu imi place ; raspuns NU (FALS)
• atletic, posac => nu imi place; raspuns NU (FALS)
• atletic, glumet => imi place; raspuns DA (ADEVARAT)
• observam ca raspunsul este DA (ADEVARAT) numai in cazul cand ambele
proprietati sa indeplinesc ( si atletic si glumet); daca macar o proprietate nu se indeplineste raspunsul este NU (FALS)
•Operatori logici: si logic( && ) , sau logic ( | | ), negare ( ! )
*(si)
0 1
0 0 0
1 0 1
• Pentru ca Alina nu a gasit ce cauta, a schimbat regula. :
Imi plac baietii atletici SAU glumeti. Aceasta propozitie poate fi scrisa ca A || B
(A =Imi plac baietii atletici sau B = Imi plac baietii glumeti)
• posibilitatile care apar sunt:
• neatletic, posac=> nu imi place ; raspuns NU (FALS)
• neatletic, glumet => imi place; raspuns DA (ADEVARAT)
• atletic, posac => imi place; raspuns DA (ADEVARAT)
• atletic, glumet => imi place; raspuns DA (ADEVARAT)
• observam ca raspunsul este DA (ADEVARAT) daca macar una din proprietati este
adevarata; daca nici una dintre proprietati nu se indeplineste raspunsul este NU
(FALS)
• Operatorul logic SAU ( || )Exemplu:
+ (sau)
0 1
0 0 1
1 1 1
•Cum scriem A apartine intervalului [3, 7)
• Raspuns: (A>=3) && (A<7)
•Cum scriem ca A nu apartine intervalului [3, 7)
• Raspuns 1: ! ( (A>=3) && (A<7) )
• Raspuns 2: valoarea lui A trebuie sa fie inainte de 3 SAU dupa 7=>
A<3 || A>=7
Din acest ultim exemplu observam ca raspunsurile sunt echivalente (pentru acelasi
A, indiferent de valoarea lui, obtinem acelasi raspuns).
! ( (A>=3) && (A<7) ) echivalent cu A<3 || A>=7
Echivalentele de acest tip au fost studiate de matematicianul De Morgan, care a
spus ca:
• ! (A && B) == !A || !B
• ! (A || B) == !A && !B
operatorul logic de negare ( ! )
!= (≠ ,diferit , not egal) , (ne-egalitate)
a. (x<8 )&& (x>=5)
b. (x<=8) || (x>5)
c. (x>8) || (x<=5)
d. (x<=8) && (x>5)
Tema din …subiecte BAC:Variabila x este de tip real. Care dintre următoarele expresii C++ are valoarea 1 dacă şi numai dacă numărul real memorat în variabila x aparţine intervalului (5,8]?
R: 1 si 1 1
•o constanta / variabila
•o combinatie de tipul operator expresie (cazul operatorilor unari: - - a)
•o combinatie de tipul expresie operator expresie (cazul operatorilor
binari: a+b )
Operatorii folositi in C++ sunt:
•operatori aritmetici: +,-,*, /, %
• A/B reprezinta catul impartirii lui A la B
• A%B reprezinta restul impartirii lui A la B
• A%10 reprezinta ultima cifra a lui A
• A%2 va avea valoarea zero daca A este par si 1 daca A
este impar
O expresie poate fi:
1. *, /, %
2. +, –
3. <, <=, >=, >
4. ==, !=
5. &&
6. ||
prioritatea operatorilor (ordinea operatiilor) intr-o expresie:
Variabilele pot primi valori prin citire sau atribuire.
Sintaxa: variabila=expresie;
Exemple:
•A=0;
•B=5;
•A=B+6;
•A=B+A; (in A se va memora suma dintre A si B)
•un caz deosebit este incrementarea (cresterea cu 1 a valorii unei variabile)
Atribuirea
0 5
A B
6
a=a+1; aceasta operatie se mai scrie a++; (++ este operator unar si se
numeste incrementare)
a=a-1 sau a- - operatia analoga, de scadere cu 1 a valorii unei variabile, se numeste
decrementare:
•citind diverse programe realizate in C/C++ puteti intalni si exprimari de genul:
• a=a+ - -b; cu semnificatia b- - (b=b-1); a=a+b; (analog ++b)
• a+=b; cu semnificatia a=a+b;
11
1) Operatori aritmetici unari
Operator unar (se opereaza asupra unui operand) + si -
++a a=a+1(de incrementare prefixat),
Sintaxa
incrementare prefixata= este marit cu 1 inainte de a
intra in calcul.
Ex: b=2*(++a) a=a+1; b=2*a
a++ (de incrementare
postfixat)
incrementare postfixata= este marit cu 1 dupa ce a
iesit din calcul.
Ex: b=2*a++ b=2*a; a=a+1;
- - a a=a-1
(de decrementare prefixat),
a decrementa= a scade 1 la continutul unei variabile.
a- -(de decrementare postfixat),
decrementare postfixata= este scazut cu 1 dupa ce a iesit din calcul.
BINARI:
+ , - , * ( intre doi operanzi)
/ ( div - returneaza catul impartirii),
% ( modulo - returneaza restul impartirii).
Daca n=25783
Cifra unitatilor este 3 u=n%10
Cifra zecilor 8 z=n/10%10
Cifra sutelor 7 s=n/100%10
Cifra miilor 5 m=n/1000%10
Ex.
7/3=2 rest 1
Rezultatuloperatorului DIV
Rezultatuloperatorului MOD
25%3 = 8 𝑟𝑒𝑠𝑡 1
(2458 DIV 100 ) MOD 10 = 4
2458 MOD 10 = 245 rest 8
Teorema impartirii Dempartit : Împartitor = cât + restex: 25:3=8+1
24 MOD 10
Pentru valoarea intreaga citita de la tastatura Y=12345
x = y/100 + y/10%10 + y%10;
x = y + y/10 + y/100;
x = y%10 + y%10/10 + y/100;
x = y%10 + y%100 + y%1000;
Calculati
#include <iostream>using namespace std;int main(){int a,b;double d,c;cout <<"a=";cin>>a;cout <<"b=";cin>>b;cout <<"c=";cin>>c;cout <<"d=";cin>>d;cout<<"b="<<(d<=c);return 0;}
#include <iostream>using namespace std;int main(){int x;cout <<"x=";cin>>x;if(x/100==0)cout<<"A" ;else cout<<"F" ;return 0;}
#include <iostream>using namespace std;int main(){
int x;cout <<"x=";cin>>x;
if(x%10+x/10%10==0)cout<<"A" ;else cout<<"F" ;
return 0;}
#include <iostream>using namespace std;int main(){
float x;
cout <<9/2*2-5;return 0;
}
Exemple:
Tema:
Se citesc doua valori a si b, care este valoarea lui a MODULO b:
#include <iostream>using namespace std;int main(){int x,y;cout<<"x=";cin>>x;cout<<"y=";cin>>y;if((x<=y) || (y<=x))cout<<1;else cout<<0;
return 0;}
Tema (din subiectele de bac):
Varianta b: #include <iostream>using namespace std;int main(){
int x,y,z;
cout <<"x=";cin>>x;cout <<"y=";cin>>y;cout <<"z=";cin>>z;
cout<<x+y+z;return 0;
}
• #include <iostream>• #include<cmath>• using namespace std;
• int main()• {int x,y,e;• cout << "x=";cin>>x;• cout<<"e="<<abs(x);• return 0;• }
Se citeste o variabila, sa se afiseze valoarea absoluta (modul de x):
Sa se calculeze perimetrul si aria unui dreptunghi
#include <iostream>using namespace std;int main(){double a,b,c,p;cout<<"a= "; cin>>a;cout<<"b= "; cin>>b;cout<<"c= "; cin>>c;p=a+b+c;cout<<"perimetrul tringhiunghiului= "<<p<<endl;return 0;
}
Sa se calculeze perimetrul triunghiului
Aria si volumul unui cub , daca se stie latura
• #include <iostream>• #include<cmath>• using namespace std;• int main()• {int x,a,v;• cout << "latura=";cin>>x;• a=6*(x*x);• v=pow(x,3);• cout<<"aria="<<a<<endl;• cout<<"volumul="<<v<<endl;• return 0;• }
Se citeste un numar x. Sa se transforme in ore, min si secunde
• #include <iostream>• #include<cmath>• using namespace std;• int main()• {int x,h,m,s;• cout << "ce numar";cin>>x;• h=x/3600;• m=x%3600/60;• cout<<"h="<<3600/60<<endl;• cout<<"m="<<x%3600%60<<endl;• cout<<"s="<<<<endl;• return 0;• }
Se citesc coordonatele punctelor A si B, sa se calculeze distanta dintre ele si milocul unde se afla
#include <iostream> //directiva de includere a fisierului bibliotecausing namespace std;int main(){int a,b,s;
cout << "a= "; cin>>a;cout << "b= "; cin>>b;cout<<"s-a memorat valoarea pt a "<<a<<endl;cout<<"s-a memorat valoarea pt b "<<b<<endl;
s=a+b;cout<<" suma dintre "<<a<<" si "<<b<<" = "<<s;
cin.ignore();cin.get();return 0;
}
Se citesc 2 valori sa se afiseze suma lor
#include <iostream>using namespace std;int main(){int a,b,s;
cout << "a= "; cin>>a;cout << "b= "; cin>>b;s=a+b;cout<<" suma dintre "<<a<<" si "<<b<<" = "<<s;
cin.ignore();cin.get();return 0;
}
Se citesc coordonatele 3 valori reprezentand laturile unui triunghi.Care este conditia pentru a afisa ce triunghi este: isoscel, oarecare, echilateral, dreptunghic?
Câte resturi se pot obține împărțind un număr la 7? Care este cel mai mare rest care se poate obține împărțind A la B?
Care este câtul împărțirii lui A la B dacă A este mai mic decât B? Dați trei exemple.
Care este restul împărțirii lui A la B dacă A este mai mic decât B? Dați trei exemple.
Ce valoare poate avea restul împărțirii unui număr x la 2? Ce puteți spune despre x, dacă x împărțit la 2 dă restul 1?Dar dacă x împărțit la 2 dă restul 0?
19. Cum puteți scrie o egalitate care să fie adevărată dacă X se divide la Y?20. Câte numere sunt de la 25 la 66?21. Câte numere impare sunt de la 10 la 20?22. Câte numere pare sunt de la 10 la 20?23. Câte numere impare sunt de la 11 la 20?24. Cu câte cifre de zero se termină produsul 1*2*3*…*100 ?25. Care sunt numerele prime mai mici decât 29? Câte numere prime ati gasit?26. Care sunt divizorii lui 12? Care sunt divizorii proprii ai lui 12?
27. Dați exemplu de 3 numere care au un singur divizor propriu.28. Descompuneți în factori primi numerele: 24, 75, 105, 300, 210029. Dați exemplu de 2 numere naturale care au în descompunerea lor în factori primi, toți factorii la aceeași putere.30. Calculați suma 1 + 2 + 3 + …+100
1.Calculati valorile lui a si b. Comentarii
#include<iostream.h>
void main()
{
int a,b;
a=5;
b= ++a +2;
a=b++ -3
++b;
a- -;
a= --b;
cout<<"a="<<a<<" si "<<"b="<<
b<<endl;
}
// declaram pe a si b
//initializam pe a = 5
// a=5+1=6 b= 6 +2=8 si
// a= ( 8 ) -3 = 5 si b =b+1=9
// b= 1+9=10
// a= a-1=( 5 -1)=4
// b=b-1=9 a= b=9
// afiseaza a=9 si b=9
a=9
si
b=9
A
5
6
5
4
9
B
8
9
10
9
Monitor Memorie
2.Calculati valorile lui a si b. //COMENTARII
#include<iostream.h>
void main()
{
int a,b;
a=7% 2+15 /2 / 2+ 7 %2;
cout<<"a="<<a<<endl;
b=2*a % 2+5+ 7 % 2;
cout<<"b="<<b<<endl;
a=a+b+3;
cout<<"a="<<a<<" si "<<"b="<<b<<endl;
b=a % 2+b+10 % 2+a+5*a;
cout<<"a="<<a<<" si "<<"b="<<b<<endl;
b=2*a+b;
cout<<"a="<<a<<" si "<<"b="<<b<<endl;
}
//declara variabilele a,b;
// a=1+ 7/2+1=1+3+1=5; deci a=5.
//afiseaza a=5
// b=2*5/2+5+1=0+5+1=6; deci b=6.
//afiseaza b=6
// a=5+6+3
//afiseaza a=14 si b=6
// b= 14%2+6+0+14+5*14=0+6+14+70
//afiseaza a=14 si b=90
//b=2*14+90
//afiseaza a=14 si b=118
In general, un program este un sir de instructiuni. In C++ programul este o functie numita main.
Efectul instructiunillor din C++ este stabilit intr-un fisier numit stdio.h (h vine de la header). Acest fisier
este incarcat implicit pentru a asigura buna functionare a programului. Daca dorim sa folosim
instructiuni mai complexe (gen cin, cout) trebuie sa specificam si headerul care explica functionarea
acestor instructiuni (iostream.h).
De asemenea, trebuie sa stabilim ce variabile folosim, pentru a le putea aloca spatiu si a le da valori.
Spre deosebire de alte limbaje, in C++ declararea variabilelor folosite poate fi facuta si pe parcursul
executiei programului.
Structura unui program C/C++ este urmatoarea
1.Declararea datelor DI si DE
2. citirea datelor initiale si
initializarea variabilelor necesare
2. prelucrarea datelor
(programul propriuzis)
3. afisarea rezultatelor
Orice program are trei parti:
Cuvantul pseudocod provine din pseudo, care inseamna fals, si cod care se refera la textul scris intr-un limbaj de programare.
Afiseaza, citeste(memoreaza) atribuie, daca, atunci, altfel, cat timp, executa
Varianta 1 / I / 2009
Citirea in C++folosirea instructiunii necesita #include <iostream.h>
Instructiunea CIN• Sintaxa: cin>>variabila1>>variabila2…;
• Efect: se preiau de la tastatura (Console INput) valori pentru fiecare variabila din sir;
Exemplu:
• int A,B; cin>>A>>B;
• Pe rand, se introduc valori de la tastatura pentru variabilele intregi A si B.
Afisarea in C++ : COUT<<“ mesaj ”<<variabila;
• Sintaxa: cout<<expresie1<<expresie2;
• Efect: se afiseaza, pe rand, valorile expresiilor;
• Cerinte: necesita, de asemenea, folosirea #include<iostream.h>
Exemple:
• cout<<“Rezultatul este”<<endl<< A<<“+”<<B<<“=“<<A+B;
• s-au afisat :– constanta sir de caractere (text) “Rezultatul este”
– constantele caracter ‘+’ si ‘=’
– valorile variabilelor A si B
– valoarea expresiei A+B
Principiile programarii structurate
Structura liniara
În pseudocodoperaţie1operaţie2..........operaţien
if (a%2==0)
cout>>”valoarea este para”;
else cout<<” valoarea este impara”;
•se verifica daca restul impartirii la 2 a variabilei
A este zero
•daca DA se executa cout>>”valoarea este
para”;
•daca NU se executa cout>>”valoarea este
impara”;
#include <iostream>using namespace std;int main(){ int a,b,c,d,e,s;cout<<"a= "; cin>>a;cout<<"b= "; cin>>b;cout<<"c= "; cin>>c;cout<<"d= "; cin>>d;cout<<"e= "; cin>>e;if(a>b && b>c && c>d && d>e){cout<<"Cele mai mari 3 numere dintre "<<a<<" , "<<b<<" , "<<c<<" , "<<d<<" si "<<e<<" sunt "<<a<<" , "<<b<<" si "<<c<<endl;s=a+b+c;}if(b>c && c>a && a>d && d>e){cout<<"Cele mai mari 3 numere dintre "<<a<<" , "<<b<<" , "<<c<<" , "<<d<<" si "<<e<<" sunt "<<b<<" , "<<c<<" si "<<a<<endl;s=b+c+a;}if(c>a && a>b && b>d && d>e){cout<<"Cele mai mari 3 numere dintre "<<a<<" , "<<b<<" , "<<c<<" , "<<d<<" si "<<e<<" sunt "<<c<<" , "<<a<<" si "<<b<<endl;s=c+a+b;}if(d>a && a>b && b>c && c>e){cout<<"Cele mai mari 3 numere dintre "<<a<<" , "<<b<<" , "<<c<<" , "<<d<<" si "<<e<<" sunt "<<d<<" , "<<a<<" si "<<b<<endl;s=d+a+b;}if(e>a && a>b && b>c && c>d)cout<<"Cele mai mari 3 numere dintre "<<a<<" , "<<b<<" , "<<c<<" , "<<d<<" si "<<e<<" sunt "<<e<<" , "<<a<<" si "<<b<<endl;return 0;
}
Tema1. Fie N un numar natural. Sa se afiseze textul PAR sau IMPAR, in
functie de valoarea lui N.
2. Fie N un numar natural. Sa se afiseze textul POZITIV, NEGATIV sau ZERO dupa caz.
3. Fie A si B capetele unui interval. Sa se stabileasca daca o valoare X apartine intervalului [A,B].
4. Fie A si B doua valori intregi. Sa se afiseze A si B in ordine crescatoare.
5. Fie A si B doua valori intregi. Sa se calculeze X, solutia ecuatiei A*X+B=0.
ExerciţiuSăsecalculezeşisăseafişezepeecranprodusulprimelornnumerenaturalenenule.Valoarealuin(numărnaturalnenul)seciteştedelatastatură
Se cer:a) algoritmul; b) pseudocodul;
Analiza eficienţei unui algoritmPentru rezolvarea unei problem se pot folosi mai mulţi algoritmi. Înacest caz se va allege algoritmul cel mai eficient.Algoritmul cel mai efficient este cel care foloseşte cel mai puţinresursele calculatorului şi anume:•memoria internă;
•procesorul.
A. Memoria internă
Pentru a face economie de memorie internă, trebuie avute în
vedere următoarele:
-alegerea corectă a tipului de data pentru fiecare variabilă de
memorie folosită;
-rezolvarea problemei folosind cât mai puţine variabile de memorie.Analiza datei trebuie să se facă în două moduri la alegerea tipului
de dată:
-logic;-fizic.
a. Logic (la nivel conceptual)
-analiza se face pornind de la enunţul problemei;
-presupune identificarea domeniului de definiţie extern al datelor.
Exemplu de domeniu de definiţie extern al datelor: pentru a
memora un număr de la extragerea loto “6 din 49” se va folosi o
variabilă care memorează un număr întreg pozitiv din
intervalul[1,49].
b.Fizic (la nivelul reprezentării ei în memoria internă)
1. Analiza se face pornind de la tipurile de date implementate înlimbajul de programare;
2. Fiecare tip de data are un domeniu de definiţie intern al datelor;
3. Se allege tipul de data care consumă cea mai puţină
memorie,astfel încât domeniul de definiţie extern al datei să fie
inclus în domeniul de definiţie intern al datei.
B.ProcesorulTimpludeexecuţiealunuialgoritmdepindedecâtevalorialedatelordeintrarevorfiprelucrate.Sedefineştedimensiuneadatelordeintrarecafiindn
umăruldevaloripentrudateledeintrarealeunuialgor
itm.Înfuncţiedecomplexitateaalgoritmului,evaluareatimpuluideexecuţiesepoatefaceprin:-
număruldeoperaţiielementarealealgoritmului,sau-timpulmediualprogramului.
a.Număruldeoperaţiielementarealealgoritm
ului
-
ooperaţieelementarăesteooperaţiesauosuc
cesiunedeoperaţiicarenudepinddecaracteri
sticileproblemei(exp:ooperaţiedecitire/scrier
e,ooperaţiearitmetică,ooperaţiedecomparaţ
ie,ooperaţiedeatribuire,ungrupdeastfeldeop
eraţii);
-
înschimb,noperaţiideatribuirenureprezint
ăooperaţieelementară,deoarecedepinde
deocaracteristicăaproblemei,şianumede
valoarealuin;
b.Timpul mediu al programului-
timpulmediudeexecuţiedepindedetimpulminimdeexecuţi
ecarecorespundecazuluicelmaifavorabil(cândseexecută
celemaipuţineoperaţii)şitimpulmaximdeexecuţiecarecore
spundecazuluicelmaidefavorabil(cândseexecutăcelemai
multeoperaţii);
Top Related