1. Descrieți comanda alternativă simplă si dați exemple de aplicare a acesteia pentru
afişarea maximului dintre 2 numere (1p)
2. Să se scrie condiția ca un număr intreg n să fie natural, divizibil cu 6, dar nedivizibil
cu 5. ( 1p)
3. Scrieți un algoritm-program care citeste un număr întreg de la tastatură şi afişează
mesajul - Este palindrom, dacă numărul este egal cu răsturnatul lui sau mesajul Nu
este palindrom, în caz contrar . (1 p - corectitudine declarari, 1p-scoaterea cifrelor
numarului si crearea rasturatului, 1p - afisarea mesajelor-total 3p)
4. Scrieți un program care declară o matrice cu 10 linii si 3 coloane cu numere întregi
si citeste dimenisunile tabloului-linii si coloane-şi acest tablou de la tastatura, apoi
afiseaza tabloul in fisierul matrice.out, linie cu linie, cu spatiu intre elementele de
pe aceeasi linie si enter intre liniile matricei(tabloului). (1p- antet, 1p-declarari, 1p-
citire de la tastatura, 1p- afişare în fişier+ total 4 p)
Răspunsuri la întrebare
1.
In anumite cazuri, este necesara executarea unor instructiuni in cadrul unui program numai in anumite conditii. Structurile alternative/de decizie permit rezolvarea unor asemenea situatii.
Instrucțiunea if
Instructiunea if este cea mai utilizata structura alternativa.
Sintaxa
Instructiunea if are doua forme:
- Varianta 1
if ( Expresie )
Instructiune 1
else
Instructiune 2
- Varianta 2
if ( Expresie )
Instrucțiune1
EXEMPLU:
if (x>y)
cout<<x;
else
cout<<y;
Instrucțiunea switch
Instructiunea switch permite executarea unor instructiuni,i n functie de egalitatea unei expresii cu anumite valori numerice constante:
Sintaxa
switch ( Expresie ) {
case Constanta_1:
Grup_Instructiuni_1
break;
case Constanta_2:
Grup_Instructiuni_2
break;
…
case Constanta_N:
Grup_Instructiuni_N
break;
default:
Grup_Instructiuni_default
break;
}
EXEMPLU:
switch(x>y){
case 1:
cout<<x;
break;
case 0:
cout<<y;
break;
}
2.
x%6==0 && x%5!=0
3.
#include<iostream>
using namespace std;
int main(){
int n,cn,invn=0;
cin>>n;
if(n<0)
cn=-n;
else
cn=n;
while(cn!=0){
invn=invn*10+cn%10;
cn/=10;
}
if(invn==n)
cout<<"Este palindrom";
else
cout<<"Nu este palindrom";
return 0;
}
SAU
#include<iostream>
using namespace std;
int main(){
int n, d=1, l, r;
cin>>n;
while (n / d >= 10)
d *= 10;
while (n != 0){
l = n / d;
r = n % 10;
if (l != r) {
cout<<"Nu este palindrom";
return 0;
}
n = (n % d) / 10;
d = d / 100;
}
cout<<"Este palindrom";
return 0;
}
4.
#include<iostream>
#include<fstream>
using namespace std;
int main(){
int mtr[10][3], n, m;
cin >> n >> m;
for (int i=1; i <= n; i++)
for (int j=1; j <= m; j++)
cin >> mtr[i][j];
ofstream g("matrice.out");
for (int i=1; i <= n; i++) {
for (int j=1; j <= m; j++)
g << mtr[i][j] << ' ';
g << endl;
}
g.close();
return 0;
}