Sunteți pe pagina 1din 9

ACTIVITĂȚI 5

INSTRUCȚIUNI

1. ACTIVITĂȚI EXPLICATE
1. Par impar
2. Valoare maximă
3. Calculator aritmetic
4. Funcția putere număr natural

2. ACTIVITĂȚI SUPLIMENTARE
1. Meniu

3. ACTIVITĂȚI PROPUSE
1. Funcția putere număr real
2. Calculator suprafețe
3. Convertor presiune
4. Multiplu

SUPORT TEORETIC

Consultați Cursul 05!

1
Notițe INSTRUCȚIUNI ACTIVITĂȚI 5

Par impar
a) Scrieți un program care citește o valoare întregă de la tastatură și
ae5.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 a5_ae1
{
class Program
{
static void Main(string[] args)
{
int n, rest;
string sir;
if .. else // 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 (rest == 0)
Console.Write( "Numarul este par.");
else
Console.Write( "Numarul este impar.");

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


Console.ReadKey();
}
}
}

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.

2
ACTIVITĂȚI 5 INSTRUCȚIUNI Notițe

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

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

namespace a5_ae2
{
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;
}
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;

3
Notițe INSTRUCȚIUNI ACTIVITĂȚI 5

c) Includeți programul într-o buclă do..while pentru reluarea problemei în funcție


de răspunsul al întrebarea „Continuati [D/N] ?” ;

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

e) 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 cu cele
ae5.3 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 a5_ae3
{
class Program
{
static void Main(string[] args)
{
float operand1, operand2;
float rezultat=0f;
ConsoleKeyInfo operatie;
string sir;

Console.Write("CALCULATOR ARITMETIC SIMPLU\n");//TITLU


Console.Write("\nPrimul operand : ");
switch(…){ sir = Console.ReadLine();
operand1 = float.Parse(sir); //citesc prima valoare
case…break}
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


{
case '1': rezultat=operand1+operand2; break;

4
ACTIVITĂȚI 5 INSTRUCȚIUNI Notițe

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...");


Console.ReadKey();
}
}
}

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


Explicați operatie.KeyChar

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ă;

c) 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.

Funcția putere număr întreg


a) Scrieți un program care pentru calculul puterii an (a baza, n
ae5.4 exponentul, numere întregi)

/* Calculeaza a^n
a - baza, n - exponentul, rez - rezultatul
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

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

5
Notițe INSTRUCȚIUNI ACTIVITĂȚI 5

int a, n, i;
float rez;
Console.Write("Numarul (baza): ");
a = int.Parse(Console.ReadLine());
Console.Write("\nPuterea (exponentul): ");
n = int.Parse(Console.ReadLine()); ;

rez = 1;
for (i = 0; i < n; i++)
{
for (…){} rez = rez * a;
};
Console.Write("\nNumarul {0} la puterea {1} este {2}.\n", a,
n, rez);

Console.Write("\nApasati orice tasta pentru a termina...");


Console.ReadKey();
}
}
}

b) Dacă se introduc valori negative pentru n programul calculează valori eronate.


Modificați programul astfel încât să se poată introduce numai valori întregi
pozitive, cu avertizarea erorii;

c) Modificați programul pentru a calcula corect și în cazul în care n<=0;

do{} d) Includeți programul într-o buclă do{}while(...)pentru reluarea problemei în


while (…) funcție de răspunsul al întrebarea „Continuati [D/N] ?” ;

e) Documentați în Help și utilizați pentru calculul puterii metoda


System.Math.Pow(...).

f) 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.

6
ACTIVITĂȚI 5 INSTRUCȚIUNI Notițe

Meniu
a) Întocmiți un program generic utilizând instrucțiunea switch, care
as5.1 afișează un meniu simplu, fiecare opțiune din meniu fiind o alternativă
în instrucțiunea switch tratată printr-o metodă (funcție) utilizator. De
exemplu, un meniu cu 5 opțiuni, din care una este pentru ieșirea din
program:

** PROGRAM CU MENIU SIMPLU **

1. Optiunea 1
2. Optiunea 2
3. Optiunea 3
4. Optiunea 4
0. Iesire
** Alege optiunea: 1

Optiunea 1 - In constructie!

Apasati orice tasta pentru a continua...

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

namespace a5_as1
{
class Program
{
static void Main(string[] args)
{
ConsoleKeyInfo optiune;
Meniu m = new Meniu();
Optiuni o = new Optiuni();
switch..case
Console.Write("\n** PROGRAM CU MENIU SIMPLU **\n\n"); ..break

do
{
optiune = m.AlegeOptiune();
switch (optiune.KeyChar)
{
case '1': o.Optiune1(); break;
case '2': o.Optiune2(); break;
case '3': o.Optiune3(); break;
case '4': o.Optiune4(); break;
case '0': Console.Write("\n\nLa revedere!"); break;
default: Console.Write("\n** Optiune eronata!\n");
break;

7
Notițe INSTRUCȚIUNI ACTIVITĂȚI 5

}
} while (optiune.KeyChar != '0');

Console.Write("\nApasati orice tasta pentru a termina...");


Console.ReadKey();
}
}
class Meniu
{
public ConsoleKeyInfo AlegeOptiune()
{
Console.Write("\n 1. Optiunea 1");
Console.Write("\n 2. Optiunea 2");
Console.Write("\n 3. Optiunea 3");
Console.Write("\n 4. Optiunea 4");
Console.Write("\n 0. Iesire");
Console.Write("\n ** Alege optiunea: ");
return (Console.ReadKey());
}
}
class Optiuni
{
public void Optiune1()
{
Console.Write("\n\n Optiunea 1 - In constructie!\n");
// cod Optiune1
Console.WriteLine("\nApasati orice tasta pentru a
continua...");
Console.ReadKey();
}

public void Optiune2()


{
Console.Write("\n\n Optiunea 2 - In constructie!\n");
// cod Optiune2
Console.WriteLine("\nApasati orice tasta pentru a
continua...");
Console.ReadKey();
}
public void Optiune3()
{
Console.Write("\n\n Optiunea 3 - In constructie!\n");
// cod Optiune3
Console.WriteLine("\nApasati orice tasta pentru a
continua...");
Console.ReadKey();
}
public void Optiune4()
{
Console.Write("\n\n Optiunea 4 - In constructie!\n");
// cod Optiune4
Console.WriteLine("\nApasati orice tasta pentru a
continua...");
Console.ReadKey();
}
}

8
ACTIVITĂȚI 5 INSTRUCȚIUNI Notițe

b) Explicați Meniu m = new Meniu();Optiuni o = new Optiuni();

c) Adaptați programul pentru calculul diferitelor tipuri de durități: Brinell, Vickers,


Poldi.
La duritatea Poldi se citesc două amprente (diametre): pe piesa de măsurat dp și
pe o piesă etalon de, cu care se calculează duritatea Brinel echivalentă, după
formula
𝐷 − √𝐷 2 − 𝑑𝑒2
𝐻𝐵𝑝𝑖𝑒𝑠𝑎 = 201 ×
𝐷 − √𝐷 2 − 𝑑𝑝2
unde D=10 mm este diametrul bilei penetratorului.

d) Introduceți comentariile informative la început de program sursă. Adăugați


programul la Portofoliul de programe (separat programul generic, separat
programul pentru durități).

Convertor presiuni
1) Întocmiți un program care, pentru o valoare a presiunii atmosferice
ap5.1 citită de la tastatură în Pa (pascali), scrie prin selectare dintr-un meniu
valoarea convertită în alte unități de măsură a presiunii: 1. bar,
2. atmosferă tehnică, 3. atmosferă fizică, 4. torr, 5. mm coloană de
mercur.

Multiplu
2) Scrieți un program prin care, pentru două numere întregi citite de
ap5.2 program, se determină dacă cel mai mare este multiplu de cel mai mic.

Funcția putere număr real


3) Scrieți un program care calculează valoarea funcției putere x^y (x la
ap5.3 puterea y), x și y numere reale, x>=0.

Calculator suprafețe
4) După modelul ae3 scrieți un program care sa calculeze ariile câtorva
ap5.4 figuri geometrice simple (triunghi, dreptunghi, trapez etc.).
Considerând că acestea sunt table din oțel cu grosimea g, calculați și
afișați și greutatea acestora.

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