TEORIE
[Link]
[Link]
[Link]
[Link]
GRILE PBINFO
[Link]
STRUCTURI – Bac iulie+auugust
Bac 2022, 2021+teste antrenament, 2020+teste antrenament, 2019
APLICATII
1. Se citesc doua numere complexe z1 si z2, date prin partea reala si partea imaginara. Sa se scrie urmatoarele
functii
a. O functie Modul care primeste ca parametru un numar complex z si returneaza modulul sau
b. O functie Suma care primeste ca parametri doua numere compleze z1 si z2 si returneaza prin parametrul
sau s numar complex suma
c. O functie Produs care primeste ca parametri doua numere compleze z1 si z2 si returneaza prin
parametrul sau p numar complex produs
d. O functie Afisare care primeste ca parametru un numar complex z si afiseaza numarul complex z
2. În declararea alăturată, câmpurile x şi y ale înregistrării pot memora coordonatele
carteziene ale unui punct din planul [Link]ţi o secvenţă de instrucţiuni prin executarea
căreia se calculează şi se afişează pe ecran distanţa dintre două puncte ale căror
coordonate sunt memorate de variabilele A şi B.
struct punct
{float x,y;
} A,B;
float d;
3. În declararea alăturată, câmpurile x şi y ale înregistrării pot memora numărătorul, respectiv
numitorul unei fracţii. Scrieţi secvenţa de instrucţiuni prin executarea căreia se construieşte
în variabila f o fracţie obţinută prin însumarea fracţiilor memorate în variabilele f1 şi f2.
structfractie
{
int x,y;
}f,f1,f2;
4. Considerându-se declararea alăturată, scrieţi o secvenţă deinstrucţiuni prin executarea
căreia să se afişeze, pe o singură linie a ecranului, conţinutul variabilei x.
struct elev
{ char nume[50];
int clasa;
float medie;
}x;
5. Pentru a memora denumirea unui medicament şi preţul acestuia se foloseşte variabila
[Link]ţi declararea variabilei m ştiind că denumirea medicamentului este un şir cu
maximum30 de caractere, preţul acestuia este un număr real, iar majorarea cu 10% a
preţului se face folosind următoarea atribuire:
[Link]=[Link]*1.1;
6. Se consideră declarările de mai jos, în care variabila ev memorează date despre un
anumitelev. Scrieţi instrucţiunea C/C++ prin care se iniţializează anul naşterii acestui elev
cuvaloarea 1990.
struct data{
int zi;
int luna;
int an;
};
struct elev {
char nume[30];
struct data data_nasterii;
float media;
}ev;
6. Pentru declaraţiile alăturate care estenumărul maxim de numere întregi ce pot fimemorate
în variabila a?
struct punct2D {
int x; int y;};
struct punct2D a[10][10];
7. În declararea alăturată, câmpurile x şi y ale înregistrării reprezintănumărătorul, respectiv
numitorul unei fracţii de forma x/y .Scrieţi instrucţiunile prin executarea cărora se
memorează în variabilaH fracţia obţinută prin adunarea fracţiilor reţinute în F şi G.
structfractie
{
int x,y;
} F,G,H;
8. Scrieţi definiţia corectă a unui tip de date necesar pentru a memora simultan, într-o singură
variabilă de acest tip, următoarele caracteristici ale unui autoturism: marca (cuvânt de
maximum 20 caractere) şi anul fabricaţiei (număr natural), astfel încât expresia C/C++ de
mai jos să aibă ca valoare vechimea maşinii ale cărei caracteristici sunt memorate
învariabila x.
2008-x.anul_fabricatiei
9. Scrieţi definiţia corectă a unui tip de date necesar pentru a memora simultan într-o singură
variabilă de acest tip, următoarele caracteristici ale unui cerc: abscisa şi ordonata centrului
cercului (numere întregi) şi raza acestuia (număr real), astfel încât expresia C/C++ de mai
jos să calculeze diametrul cercului ale cărui caracteristici sunt memorate în variabila x.
2*[Link]
10. În declararea alăturată, câmpurile a şi b ale înregistrării reprezintănumărătorul, respectiv
numitorul unei fracţii.
struct rap
{ int a, b; } f;
int k;
Care este expresia cu care se pot înlocui punctele de suspensie în secvenţa de mai jos astfel
încât dacă fracţia memorată în variabila f se simplifică prinnumărul natural nenul k se
afişează mesajul DA?
if ( … ) cout<<” DA”;
11. În declararea alăturată variabila a reţine în câmpurile x şi ycoordonatele unui punct în planul
xOy. Care este expresia a căreivaloare reprezintă distanţa punctului respectiv faţă de
originea axelorde coordonate?
struct punct
{
float x,y;
}a;
12. Variabila x declarată alăturat memorează în câmpurile med1 şimed2 mediile semestriale ale
unui elev. Scrieţi o expresie a căreivaloare va fi media anuală a acestui elev.
struct elev {
int matricol;
float med1,med2;
}x;
13. Se consideră declararea alăturată.Scrieţi instrucţiunile prin care în variabila x vor
fireţinute titlul romanului Mara şi numărul de 325de pagini pe care acesta îl are.
struct carte
{char titlu[20];
int nr_pag;
}x;
14. Fiecare dintre variabilele declarate alăturat memorează numeleşi nota câte unui elev.
Scrieţi secvenţa de instrucţiuni prin care se citesc de la tastaturănumele şi nota pentru
fiecare dintre variabilele e1 şi e2 şi apoise afişează numele elevului cu nota cea mai
mare. Dacă celedouă medii sunt egale, se va afişa numele elevului memorat învariabila
e1.
struct elev{
char nume[20];
float nota;
};
elev e1,e2;
15. Scrieţi secvenţa de program C/C++ careafişează pe ecran numele, prenumele şimedia
unui elev, reţinute de variabila el,declarată alăturat.
struct elev {
char nume[40];
char prenume[40];
floatmediabac;
}el;
16. Scrieţi secvenţa de program C/C++ careciteşte de la tastatură numele, prenumele
şisalariul unei persoane, memorate de variabilap, declarată alăturat.
struct persoana
{ char nume[40];
char prenume[40];
int salariu;
}p;
17. Scrieţi o expresie logică C/C++ care săcodifice condiţia ca variabila v dindeclaraţiile
alăturate să reprezintesegmentul nul (segmentul care areoriginea identică cu
extremitatea).
struct punct {
float x; float y;
};
struct segment {
struct punct origine;
struct punct extremitate;
} v;