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ăspuns :

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;

}