Sunteți pe pagina 1din 8

2

LECȚIA 2:
INSTRUCȚIUNI (I)
Instrucțiunile reflectă operațiile și structurile fundamentale într-un algoritm
și pot conține: atribuiri, declarații, instrucțiuni condiționale, de ciclare, de
salt sau instrucțiuni compuse.
O instrucțiune, într-un program sursă, este o exprimare care se încheie cu
delimitatorul „punct și virgulă” (;).

2.1. INSTRUCȚIUNEA VIDĂ

Instrucțiunea vidă se reduce la caracterul ";". Ea nu are nici un efect, se


folosește în cazul în care este nevoie de o instrucțiune, fără să se execute
nimic prin aceasta. Pe o linie de program se pot scrie mai multe
instrucțiuni, simbolul ”;” fiind terminator de instrucțiune sau instrucțiunea
vidă.
Forma generală:
; // instrucțiune vidă

2.2. INSTRUCȚIUNEA COMPUSĂ

O instrucțiune compusă reprezintă o succesiune de linii de program, incluse


între acolade, {,}, succesiune ce poate include declarații locale, instrucțiuni
simple și apeluri de funcții.
Forma generală:

{ // început de bloc

<declaratii locale>; // corpul blocului
<instructiuni>;
<linii de cod>;

} // sfârșit bloc

21
LECȚIA 2: INSTRUCȚIUNI (I)

2.3. INSTRUCȚIUNEA DE ATRIBUIRE

Instrucțiunea de atribuire se obține scriind o operație de atribuire


variabila=<expresie> sau într-o expresie în care se aplică la o variabilă
unul din operatorii de incrementare ++ sau decrementare --.
Forma generală:
a)
nume_variabila = <expresie>;
b)
variabila ++; // variabila = variabila + 1
-- variabila; // variabila = variabila – 1.

2.4. INSTRUCȚIUNI DECIZIONALE

2.4.1. INSTRUCȚIUNEA if-else

În limbajele de programare structurate, alternativele rezultate în urma unei


decizii sunt tratate în interiorul aceleași instrucțiuni. Pentru decizia simplă
cu două alternative (fals/adevărat) a fost introdusă instrucțiunea if-else, cu
următoarea sintaxă:
Forma generală:
if (conditie) //daca
{
instrucțiuni_T; // conditie este adevărata
}
else //altfel
{
instrucțiuni_F; // conditie este falsa
};

Dacă în urma evaluării expresiei (conditie), rezultă un număr diferit de


zero, acesta va fi considerată îndeplinită (adevărată) și se va executa blocul
instrucțiuni_T (bloc, linii de program). Dacă este zero condiția nu este
satisfăcută (falsă) și se va executa blocul instrucțiuni_F.

22
LECȚIA 2: INSTRUCȚIUNI (I)

2.4.2. EXPRESIA CONDIȚIONALĂ

Aceasta poate să înlocuiască în anumite condiții instrucțiunea if, în


rezolvarea unor probleme la care expresiile pot fi realizate printr-o formă
simplă.
Forma generală:
(exp_1 ? exp_2:exp_3);

unde exp_1, exp_2 și exp_3 sunt expresii corect formulate.


O expresie condiționată presupune următoarele acțiuni:
- se evaluează exp_1 ;
- dacă exp_1 este diferită de "zero", valoarea și tipul expresiei
condiționate coincide cu valoarea evaluării expresiei exp_2;
- în caz contrar se evaluează valoarea exp _3.
Exemplu: Se determină c, maximul dintre a și b
c = ((a>b)?a:b);

2.4.3. INSTRUCȚIUNEA switch

Se utilizează în situații în care rezolvarea unei probleme impune ca o


decizie să conducă la execuția uneia din mai mult de două ramuri de
program alternative (alternative multiple).
Forma generală:

switch (selector) //functie de valorile selector


{
case v1: //daca operandul ia valoarea v1
{bloc_1}
break; // stop
case v2: //daca operandul ia valoarea v2
{bloc_2}
break; //stop

case vn: // dacă operandul ia valoarea vn
{bloc_n}
break; // stop

23
LECȚIA 2: INSTRUCȚIUNI (I)

default : //pentru orice altă valoare


{bloc_default}
} ; //stop

2.5. APLICAȚII

Par impar
a) Scrieți un program care citește o valoare întregă de la tastatură și
ae2.1 verifică dacă numărul este pară sau impar.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ae2_1
{
class Program
{
static void Main(string[] args)
{
int n, rest;
string sir;
// Se citeste numarul de la tastatura
Console.Write("Introduceti numarul si apasati
ENTER: ");
sir = Console.ReadLine();
n = int.Parse(sir);

// Se determina restul impartirii la 2


rest = n % 2;
// Daca restul este 0 numarul este par altfel
este impar
if .. else if (rest == 0)
Console.Write( "Numarul este par.");
else
Console.Write( "Numarul este impar.");

Console.Write("\n\nApasati orice tasta pentru a


termina...");
Console.ReadKey();
}
}
}

24
LECȚIA 2: INSTRUCȚIUNI (I)

b) Adăugați liniile de program prin care se afișează numărul introdus sub


forma N=2*k+rest, unde k este câtul împărțirii cu 2, iar rest restul
împărțirii.

c) Modificați programul pentru a verifica dacă numărul introdus este


multiplu de 7;

d) Adăugați linia de program prin care programul afișează un titlu


sugestiv la începutul execuției. Care este rolul metodei ReadKey();?

e) Introduceți comentariile informative la început de program sursa.


Adăugați programul la Portofoliul de programe.

Valoare maximă
a) Scrieți un program care determină valoarea maximă din trei
ae2.2 numere introduse de la tastatură.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ae2_2
{
class Program
{
static int Main(string[] args)
{
float a, b, c, max;
string sir;
// Se citesc numerele de la tastatura
Console.Write("a=");
sir = Console.ReadLine();
a = float.Parse(sir);
Console.Write("b=");
sir = Console.ReadLine();
b = float.Parse(sir);
Console.Write("c=");
sir = Console.ReadLine();
c = float.Parse(sir);
if .. else
if (a < b)
{
if (b < c) max = c;
else max = b;

25
LECȚIA 2: INSTRUCȚIUNI (I)

}
else
{
if (a < c) max = c;
else max = a;
};
Console.Write( "Max(a,b,c)={0}",
max);
Console.Write("\n\nApasati orice
tasta pentru a termina...");
Console.ReadKey();
return 0;
}
}
}

b) Modificați programul astfel încât să afișeze media aritmetică și media


geometrică a celor trei valori;

c) De ce este necesară instrucțiunea return 0;

d) Adăugați linia de program prin care programul afișează un titlu


sugestiv la începutul execuției. Introduceți comentariile informative la
început de program sursa. Adăugați programul la Portofoliul de
programe.

Calculator aritmetic
a) Scrieți un program care pentru un calculator aritmetic simplu
ae2.3 cu cele patru operații de bază. Programul citește două valori
reale, alege operația dintr-un meniu, calculează și afișează
rezultatul pe ecran.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ae2_3
{
class Program
{
static void Main(string[] args)
{

26
LECȚIA 2: INSTRUCȚIUNI (I)

float operand1, operand2;


float rezultat=0f;
ConsoleKeyInfo operatie;
string sir;

Console.Write("CALCULATOR ARITMETIC
SIMPLU\n");//TITLU
Console.Write("\nPrimul operand : ");
sir = Console.ReadLine();
operand1 = float.Parse(sir); //citesc prima
valoare

Console.Write("\nPrimul operand : ");


sir = Console.ReadLine();
operand2 = float.Parse(sir); //citesc a doua
valoare

Console.Write("\nSelectionati operatia
dorita");//afisez meniu
Console.Write("\n 1- Adunare");
Console.Write("\n 2- Scadere ");
Console.Write("\n 3- Inmultire");
Console.Write("\n 4- Impartire");
operatie = Console.ReadKey();; //aleg
operatia

switch(operatie.KeyChar) //determin
rezultatul switch
{
case '1': rezultat=operand1+operand2; break;
case '2': rezultat=operand1-operand2; break;
case '3': rezultat=operand1*operand2; break;
case '4': rezultat=operand1*operand2; break;
default: ; break;
}

//scriu rezultatul
if
((operatie.KeyChar=='1')||(operatie.KeyChar=='2')||
(operatie.KeyChar=='3')||(operatie.KeyChar=='4'))
{
Console.Write("\nRezultatul este: {0}",
rezultat);
}
else
{
Console.Write("\nOperatie nepermisa!");
};

Console.Write("\nApasati orice tasta pentru a


termina...");

27
LECȚIA 2: INSTRUCȚIUNI (I)

Console.ReadKey();
}
}
}

b) Explicați tipul de date din ConsoleKeyInfo operatie;


Explicați operatie.KeyChar

c) Ce se întâmplă dacă pentru operand2 introducem valoarea 0 și


operatorul este împărțire ? Modificați programul astfel încât această
alternativă să fie corect tratată;

d) Adăugați linia de program prin care programul afișează un titlu


sugestiv la începutul execuției. Introduceți comentariile informative la
început de program sursa. Adăugați programul la Portofoliul de
programe.

28

S-ar putea să vă placă și