Sunteți pe pagina 1din 7

CENTRU DE EXCELENŢĂ ÎN

INFORMATICĂ ŞI TEHNOLOGII INFORMAŢIONALE


CATEDRA DE INFORMATICĂ

Disciplina:Informatica
Lucrare de studiu idividual nr.1.
Tema:Sortarea componentelor, structurilor unidimensionale.

Grupa :I-1527

A elaborat elevul:Botezat Mihail


A evaluat profesorul :

Nota
____
_______________________________

2016
Tema:
Aplicarea tipurilor de date simple,instrucțiunilor simple și a
instrucțiunilor structurate.
Prima problema:
I-Enunţul problemei.
În triunghiul dreptunghic sunt cunoscute cateta b şi unghiul opus ei β (în grade).De aflat celălalt
unghi ascuţit α ,cateta a ,ipotenuza c ,aria S şi perimetrul P ale triunghiului dat, aria Si a cercului
înscris şi lungimea lc a circumferinţei circumscrise acestui triunghi ,folosind formulele:

α+β=90; a=btgar; ar=aπ/180; a 2+b 2=c 2 ;

S=ab/2; S=pr(r-raza circumferinţei înscrise,p=P/2);

R=c/2 (R-raza circumferinţei circumscrise ).

II-Schiţarea algoritmului.
1. Utilizam directoriul iostream pentru a putea utiliza instrucțiunile de afișare și
de ieșire, math.h pentru a putea utiliza funcțiile matematice, iomanip pentru
a putea afișa zecimalele.
2. Folosim namespace-ul std pentru a nu repeta inaintea instruțiilor de afișare și
de ieșire „std::”.
3. Declarăm funcția principala “main()”.
4. Declarăm variabilile b,beta,alfa,a,c,s,p,si,r,p1,lc,alfar,pi de tip real.
5. Citim variabilile b și beta.
6. Utilizind formulele matematice ca ridicarea la puter,tangentele și radicalul aflăm datele
ce se cer.
7. Afișarea rezultatelor.

III-Listingul programului:
#include <iostream>

#include <math.h>

#include <iomanip>

using namespace std;

main()

{
float b,beta,alfa,a,c,s,p,si,r,p1,lc,alfar,pi=3.14;

cout << "Introduceti cateta b: ";

cin >> b;

cout << "Introduceti marimea unghiului opus beta: ";

cin >> beta;

alfa=180-(90+beta);

cout << "Unghiul alfa = " << fixed << setprecision(2) << alfa << endl;

alfar=(alfa*pi)/180;

a=b*tan(alfar);

cout << "Cateta a = " << fixed << setprecision(2) << a << endl;

c=sqrt(pow(a,2)+pow(b,2));

cout << "Ipotenuza c = " << fixed << setprecision(2) << c << endl;

p=a+b+c;

cout << "Primetrul P = " << fixed << setprecision(2) << p << endl;

s=(a*b)/2;

cout << "Aria S = " << fixed << setprecision(2) << s << endl;

p1=p/2;

r=c/2;

si=p1*r;

cout << "Aria cercului circumscris S1= " << fixed << setprecision(2) << si << endl;

lc=2*pi*r;

cout << "Lungimea circumferintei circumscrise Lc= " << fixed << setprecision(2) << lc <<
endl;

}
IV-Teste.
Date de intrare Date de iesire
b β a α c P S S1 Lc
4 5 45.33 85.00 45.50 94.83 90.66 1078.79 142.88
6 8 42.47 82.00 42.89 91.36 127.41 979.61 134.68
10 2 280.11 88.00 280.29 570.40 1400.55 39968.95 880.10

V.-Prezentarea soluţiei:

a)

b)

c)
II-a problema:
Enunţul problemei.
De calculat valoarea : y=max(a,b,c)+min(s,d,t) unde a ,b,c,d,s,t –numere reale.

Schiţarea algoritmului.
1. Utilizam directoriul iostream pentru a putea utiliza instrucțiunile de afișare și
de ieșire.
2. Folosim namespace-ul std pentru a nu repeta inaintea instruțiilor de afișare și
de ieșire „std::”.
3. Declarăm funcția principala “main()”.
4. Declarăm variabilile de a,b,c,s,d,t,y1,y2,y de tip întreg.
5. Citim variabilile “a,b,c” și “s,d,t” pentru ale utiliza ulterior în program.
6. Cu ajutorul instrucțiunilor de decizie “IF” aflăm Max(a,b,c) și Min(s,d,t).
7. Atribuirea sumei valorii Max(a,b,c) și Min(s,d,t).
8. Afișarea valorii lui y1 și y2
9. Afișarea valorii y.
III-Listingul programului:
#include <iostream>

using namespace std;

main()

int a,b,c,s,d,t,y1,y2,y;

cout << "Introdu a,b,c: ";

cin >> a >> b >> c;

if ((a>b)&&(a>c)) y1=a;

else

if ((b>a)&&(b>c)) y1=b;

else

if ((c>a)&&(c>b)) y1=c;

cout << "Introduceti s,d,t: ";

cin >> s >> d >> t;

if ((s<d)&&(s<t)) y2=s;

else

if ((d<s)&&(d<t)) y2=d;

else

if ((t<s)&&(t<d)) y2=t;

y=y1+y2;
cout << "Max(a,b,c): " << y1 << "\n";

cout << "Min(s,d,t): " << y2 << "\n";

cout << "Max(a,b,c)+Min(s,d,t)= " << y;}

IV-Teste.

Problema 3:
I-Enunţul problemei.
Un număr natural se numeşte perfect dacă el este egal cu suma diviyorilor săi mai mici decât
el.de exemplu ,n=28 este un număr perfect deoarece 28=1+2+4+7+14.
Să se compună un program care va verifica dacă un număr natural n este sau nu perfect.

II-Schiţarea algoritmului.
III-Listingul programului:
#include<iostream>

using namespace std;

int n,d,s=1;

int main()

cout<<"Introduceti numarul: ";

cin>>n;

for(d=2;d<=n/2;d++)

if(n%d==0)

s=s+d;

if(n==s)

cout<<"Numarul "<<n<<" este perfect";

else
cout<<"Numarul "<<n<<" nu este perfect";

return 0;

IV-Teste.
Date de intrare Date de iesire
n s
6 este perfect
93 nu este perfect
28 este perfect

V.-Prezentarea soluţiei:

a)

b)

c)
VI-Concluzii.

VII-Bibliografie.
https://code-live.ru/tag/cpp-manual/
http://www.cprogramming.com/challenge.html
Propriul conspect.

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