You are on page 1of 64




  
    

  
 
  
 
   

 

  !

"  

#
 
$ %&' ( )%%*

+  

  

+ + 
  

REPROGRAFIA UNIVERSITĂŢII "TRANSILVANIA" DIN BRAŞOV


Programarea calculatoarelor în limbajul C++

%&%&,& -
. 
/

  
 
 
   
       
     


      




  
  
 
  


   !  0 
    
  

"   #     
     

    
 


 $    
     
 
    
 

   
 
        
  
 

   !  
   !    %
   & 
  !   '  
  
          ! 

   


 
  
     ! 
        !
  
  (   

 !    
) 
 )
    

 *   

  

   )    
%

  

   
   
     
              

 
' 
  
    

 
   
  
 !      

 )

   #
 "  ) 

  
 
   
 
)
     



*
 
 )
 
   
    
)   
  

  !" #$$ 


  
       
 


    
  
   
      

%
  
 

   
    
 

 



 #
   

*
 
    
  
   
 +  
  

   

, #
   
    
   
   


 )

 

 , 

   

    
     
   -
 
   
  
      
      


 .
  //
)
  01       )
  )+ 
     
 
 


-2-
Programarea calculatoarelor în limbajul C++

1!2

   
        1
%&& '   
%&( )   

%&* )   
%&+  
%&,   -
%&. /
 01 2
%&3 $  


   
  HS
&& 1 -
&( )   
  4 !55

  
 
     FF
(& '     

(( 67   

(*  

(+       
(, '
  8-   

(.  7   

(3 9   

!  
 
    "  
  FS
*& !
 
*( " 

** "    :;
*+ ;    0
2
*,      0 2

# $

      0I
+& )  


+(  

 -<  ; 
+*      = 
++ >  =
+, >  
=
+. >  

+3    ?
+@  

+A   


+&% B  8

% &
   1F
,& '    ; 7   

,( B  --  67  

,*     
 ;  -

' (
     
)  1O

-3-
Programarea calculatoarelor în limbajul C++

.&  
 0 C2
.( )    
.* #

.+ )    

* + ,     -    1S


3& ! 

. $
   
/      NC
@&   7
  
 
 >
  !55 +,

-4-
Programarea calculatoarelor în limbajul C++

%&,& 3 
 /
  4
 5

%&,&,& +
 

 
 
 
*   + 
  
 5
    
  
 

 
    + 
   

-     
        
  
 

   %

 
       '  
 )
   


    ( 


      
    
  

           
      )   


-           


 %'     
)   


 " 

-    
 
 
      
 
 +
   

  
 
    +   
    
 
  

   
   2
  
    )    
  


3
   
 
  
    
     

  


   

%'   )      
 ( 
   
 
 
 + 
      
    



3  
     
 % '  #    
 

     &   

  
        !   
 

  !  
       
    

% 
 )'      

  
     ) 

 
    
    
  
  

  


-5-
Programarea calculatoarelor în limbajul C++

 
 ,  

     

  
  
 
  

     

    
  
   4  
    




*
  4   

 
        &    


    5
+ 
   


%&,&)&     4



3       )      

  
    

 

      !    

   
  
    6
   
   
  
    
  
 

 
 
 
 




.
    
      ) 
      %   

   
  '  7
8    

 % 
' 
 
 
 
   !


   %1 '  
 
   
  %$ 
'  +
 
 %! 
 =
'6          
 
   %6
  
'

 
   
    #    


   6
8   

 % C
' 
    


 
  
 
 

  
  %   

'6
8  
 
 )     
   

  )6
8   )    %6
 $ '    )
    

%    C' %  &  
  
  '

-6-
Programarea calculatoarelor în limbajul C++

.
 
          #) 
    
 
   
 
  
 
       &  

  


  

    


%&,&'&      
* 
 5
 

  !
     
 #    + 
   %  " ' 

    
  
     

    
  
   5         
 


      
  
   
 

3
 
 
       +  
 
   

 
)  
   %
 ?C'    
 
 
   -  
   
    
 
 
 
 
  
    

 
    

 
 
  
 

- 5
 
 

              
   
       
 
    #
  9 
 5
 
  )
   
   
  


 
   
 
) 

   
   
  
   
    
   
        :    ;
 *3    
  

 
   
 
      
  
    
  
   
  
  
 )   
  %&  '    )
          
  +      


) 

 
    
"   
)

-7-
Programarea calculatoarelor în limbajul C++

(& 
 
  
 
   
   7
8    %
 '
8 #  %=?C'
8   %
'

 
     
  

  
      
  
  
%= 
' 


            
  
 


   
  

 4 ) 
 

  
  
    
    )   
   %   #' "  & 
 


     )
)
 
 
   
   
   

2
 
    %'      

   
  

         

 4 )

2
 
  # %=?C' 
    
  
 


   


          
  #  &  


   
#

<    
  ) 
 
 
    
)  #

          
  
 #       
 
  
# 

 )

" 
 
    


)

-8-
Programarea calculatoarelor în limbajul C++



   
      

 
 
 

    
  
  % ) ' 
 

   
 )  
  
 
# )   
 )  


  
  
 
) 

      



  
 

- 

   
   
   %)        '    
) 

-9-
Programarea calculatoarelor în limbajul C++


 "               %  ?   ' 

  
   
     
  
   
  

%&,&6& 
 

 
=
   
"  
   >"
 

 9=, %

 

'  
 
    
    4
   


%' 
   
      
) 

      +   

*

     

4

      
 
      
  
   -      !  
   

 
 +7

3 

   

 
  
   
  
    
 


%  &  

  
+) ' 
 
 
     

 )
  + 
 

 


#  + 



 
   

   

  )    
   #  
  

 "  %D 
'

-10-
Programarea calculatoarelor în limbajul C++

3  


       
 3         


 # >"  
   
   %      
  '  
 
)   
  
   #   
      
  
?
  ?  
 #    % &        
 
  0 '

2 


      

7

-11-
Programarea calculatoarelor în limbajul C++

-          ) %     '

%&,&7&  8

)  
   
 
   

 )     
 
  
     
  )    )        



    
  
 %  &    

)'

(&  )7
8 
      %' "
 )
 
     
  



 %
'   
  
 "  & 

  
3 

 
 *:

    
" 
    

 
  

      
     ) 6
8 )
  %! ' "        
 


    



   "   #
   
    
  
 6
8    B
 " 
  
         
  
  

 
           
    
 
6   

 
  
   
  
@   
  
  !   6
8 
 
 %1
 C' "   
  
 

    
  6
8   %E7' "     
    
 
  
    

             6   
  
 
 
   
  
    
 


     
    
 )
    
 + 
    

 " 

)      
   


     
 

    

   "        !

3   )    


    


   
  
 ) %     )          '

(&   


  )
    
     
)  

-12-
Programarea calculatoarelor în limbajul C++

 
    )    
  
 


      
  

     

    
 ) 
)
(
           
        
)    

"


8 91)),  :

*

 )
 
     %
   
'  
   )  


    "  
   
"   


-

 
         7
8    
      
   >
=6
8  
 
      6
  

3 
  
 
        

 
 " 

      
 
 
 
  

"

 
92
:

     


 
  
 
  
@   
   
 -
 

     
     
    
 
   

9 
 
   
        3     &
 
      
 
    
 
     

      
 *   
        
  

 
 
  -
 

      
 
      &
 
 

    
  
  

-13-
Programarea calculatoarelor în limbajul C++

#    )     



       
   
 

 7

*

 +           F7 3       
+    
     
      

 
 
  
    
 
      F7 
=

(&  7

-14-
Programarea calculatoarelor în limbajul C++

$   
       
   
 
   3 


      
 
 
 .   ) 
 
 
 

 
 
 
 

 
 
)

      




)                    

   *

          )    
+
         )   

 
)
   

 %#            4
'

-15-
Programarea calculatoarelor în limbajul C++

%&,&;& 2

93
:
5  1   #     

 % 
'


      ) 
   

        
 
) 
 
 

 
  
  


%&,&*& <
 4 
*
     
        % ' 
    

   
 
  "     
  
%
  
 
  "
 

'

*
 

 "    "     
 

  
   
    

  

   


  !
  
 


  
&  
 

 -    
  
  


  
          
  
       
 
  " 
     
 
#      
 

*
 
 
      $ 
     
 5
      
 
      )   
 #  
6  


-16-
Programarea calculatoarelor în limbajul C++

( 

   
        #    
   


 "  *
   
 
 
  
 

   
  )   
      4
    
  
#
  

54 
 


 
 
    # !   =
     


 
 
    
 
 
 
       
 
  

-17-
Programarea calculatoarelor în limbajul C++

*
 )
 
     !   =


-18-
Programarea calculatoarelor în limbajul C++

,& !


,&,& 3

 8
, !   


      
 .!
 5
 
   &
 !    
      


 
    

   
    
    

     

  
& 


   ! 
 
 

 
   
 
  
&   
 #  #  
     



A
  
        

 



 
    
     

8 


%-
(-


 '

* #  
  


 
       & 
 

    !   
)    
   
  




 

4
 =      !      )    

         !    -    ! 
  
    )


   
 
    & 

   

)    
) 
   %
   &  


 
' -   &        
      

 
 )
 
  
 -      
 



 

  
 
  

,&)&        


   
  )   !  


   
 

   !
   
    

 
  
  

// primul program in C++

#include <iostream.h>
using namespace std;

int main ()
{
cout << "Bun venit in lumea C++!";
return 0;

   &   


 

   )
     ! 

-19-
Programarea calculatoarelor în limbajul C++




 =    &   
  
    ! %?.  )   
//B?' 5    
# 
    

// primul program in C++

     


  $   
      +"
 %44'  
 
 
       
   

   *

 

   
 
  
 &    
) 


   



#include <iostream.h>

, 
     =   
) 



      
    
  &
     



  
  - 
 
) 3 
 4 )  5   


         

   

  
    
     

//  

4
  
      
      
)

       
  



using namespace std;

$       
//   
        
  %  '   
        


   &
     )          
)
   

 // 
       


int main ()

   


          
    
  % '
     
  &   




//  
     

      
    
 (   

 

 // 
        )#    
    
+  
   

   
    - // & 

  
  

      
  &
 2   
   

  

      
 
  
      

   >?      
   

      


    &  

cout << "Bun venit in lumea C++!";

    


  // 2 
    &
    

 &    
    
          

    )     
 

  

   &   
 
 

-20-
Programarea calculatoarelor în limbajul C++

//    &


   
   )  

 %  


 +'   &   
 
 
 
   
    

  
    

          


     
 
 
)      


   2 
)   
   +  

 . %   )
 ' 


   
+
 

 
   // 9    

) 

   &  
   

    

return 0;


  
  
 +
 &       
 
  
     

% &  
 C' 9  

C 

      
  

   
        
 


 &           +
   

 // -  
  
        
   

 3 &  >
 
!55  
 
 
    +
    

5  

           

       #
 &     5   
     
 %
   00'  

  
) 



%
   ='6    
 
+    
    %     '   #
    
   

  
  )
&   *

   
       
  
   

 //  &
  
 


 
 
  
  

     
7
int main () { cout << "Bun venit in lumea C++!"; return
0; }

$ 

     
   
  

         

)
  %     ' - // 

 
 
     
 
  


  .    #
  
 
   5

       
 
   
 
   
     
 

 


-21-
Programarea calculatoarelor în limbajul C++

)& 2  4 




)&,& +

 

-  !     )
  
  
      2 
 

  
"     8 


      (&7
int i,j;
float a,b;

$         )


  !     
6   4    


 
  

 )
      

  
  
 



* # 
      !  //    
     


 
  

7
8  " 


8 " 


 

8  " 
  
8 
"  
 )
      
 

)&)& 1 /


 

5 
    
"  

  
    

  
 

  < 

         
 
  





 ) 

    
   
  7
//declararea variabilelor
float a,b;
//afisarea unui mesaj pentru introducerea unui numar:
cout << "Introduceti un numar real: ";
//instructiunea pentru citirea numarului scris la
tastatura:
cin >> a;

2

  
   

7
a = a+b;
//adunare - rezultatul este stocat în variabila a
a += b;
//adunare - acelasi efect ca în instructiunea de mai

-22-
Programarea calculatoarelor în limbajul C++

sus
b = b-a;
//scadere - rezultatul este stocat în variabila b
b -= a;
//scadere - acelasi efect ca în instructiunea de mai
sus

c = a*b;
//înmultire
c = a/b;
//împartire

*
  


7
  
     
 " 
 



   
  

 6 #  
   
  


 

  


   
 (& 7
a = a+b/(b+1);
//efectul executiei instructiunii de mai sus este
similar cu secventa:
c = b+1;
b = b/c;
a = a+b;

2


   
   

   


    
 
   
 %  & (       )
 
  ( ' 3 

  
 

 
)
 
  
 

    

  
4 

)&'& !
4 
9   
)    ) 
         
 
 


  %D' <              
 

     
 -     
 )
 

      
 
 
 5     

  %D'          )
 

   


  
 ) +
 
)   
  -   
    )
     
 
       


2 
  
   
   

      
 
     )# +   !   //    
   )
+
 
)  % 
'  7
asm, auto, bool, break, case, catch, char, class,
const, const_cast, continue, default, delete, do,
double, dynamic_cast, else, enum, explicit, export,
extern, false, float, for, friend, goto, if, inline,

-23-
Programarea calculatoarelor în limbajul C++

int, long, mutable, namespace, new, operator, private,


protected, public, register, reinterpret_cast, return,
short, signed, sizeof, static, static_cast, struct,
switch, template, this, throw, true, try, typedef,
typeid, typename, union, unsigned, using, virtual,
void, volatile, wchar_t, while

-          




 
 
 )   


   )
 
)     7
and, and_eq, bitand, bitor, compl, not, not_eq, or,
or_eq, xor, xor_eq

 
           )
 
)  

! $ , !    ?  )?         




  !     +)       

  
  3 & 
)
     $G      )
     7

)&6& "  4 






- 
   

 )
       
    
 

   
  

   ) 
 
 )
  
       

  
 
  
     % E' 9  % E'    
  
        // 9        
 )
  7  


   

  % 
  
 C  F11' 3

   
    
     & 
 
)  

  
 
 "  
 
   
 %
   G  '   

 

  !   
   
        // 
    
) 
 
  

    
   
7
2
+
 

58

+


 
  H 
+
  
 
 F 
%+
'
 
 0 
  
   0 
%'
 ) 
  H 
%  '
   

  % )
  0 
 '
  

  %)
  HC 
   '  

-24-
Programarea calculatoarelor în limbajul C++


   
:+
D 

 % )#' F 

A 
    -  '
  
+
    



      &   A 
               
 !
  
 IF   *
 
  
     

    
  
 
+
   %   )#'    



 %+
 +
   ' 
    
     
    
 
 
      
  )
    %       ' 


   
 
      
     
 

)&7& +
 

@
8  

$  )
  

      
"  

 
  
  


      
 

     )
  2 )
    
      2 )
     
  
  
     

  


         )
     
 


   

(& 7
#include <iostream.h>

//variabile globale
int a, b;
char c;
char sir[20];

int read_vars()
{
//citirea valorilor variabilelor a si b
cout << "a="; cin >> a;
cout << "b="; cin >> b;
}

int main ()
{
//variabile locale
int result;

//citirea variabilelor
read_vars();

// procesare:

-25-
Programarea calculatoarelor în limbajul C++

result = a - b;

// afisarea rezultatului:
cout << result;

A
         
 
    +
 

  


      
 3   &  )
 
    
    
 
   %JK'  
  
 3 &    )
 
 
     
      %  &    ' )
    
     
     
  
  +
   

)&;& ! /


 

, 

  )
  ) 
       
  3 
 
   )
   +  !  ) 
    

  
)
  
       5    
     )
   //7
8     !     
    ? ?7   
 H I  J

(& 7
int a = 0;

8         


 

   
    
  

) 
   
 
 7   
0 I  2J

(& 7
int a (0);

  
   
 )
 
  )    +)   //

(& 7
// initializarea variabilelor

#include <iostream.h>

int main ()
{
int a=5;
// valoarea initiala = 5
int b(2);
// valoarea initiala = 2

-26-
Programarea calculatoarelor în limbajul C++

int result;
// valoarea initiala nedeterminata

a = a + 3;
result = a - b;
cout << result;

)&*& A  
 


A
  
 +  ) 
  
 
       #  



           %' % 



  

'

, !  // 


  
 

 

 



 
      

           
 
  
 
"  

 
      

2 
 
    
         

 
)
     
            
    
) 




 

  + 
&

$(<L(B             


 // - 
)
  %  & .
  // 01' 

 
     

(& 7
//primul exemplu cu siruri
#include <iostream.h>
#include <string>
using namespace std;

int main ()
{
string mystring = "Acesta este un sir";
cout << mystring;
return 0;

 
 


         

         
)     ? 
 )
 
?     

(& 7

-27-
Programarea calculatoarelor în limbajul C++

string mystring = "Acesta este un sir";


string mystring("Acesta este un sir");

-28-
Programarea calculatoarelor în limbajul C++

'& 2  4 



(  

'&,& 

    &


   ) 
 &





5    
&

  ) 
 
 
  
    
   


 3      &     

     ) 

 )
 7
a = 5;

"  
 1    
      


  


    
 
  

  % )
   ' 

 


 ) 
 

2




5     
 
   ) 
 
 ( 
  
     

&
     
      + %?'   


  -  
  # 
    ) 
  
 
"  

  


    


* #  
  HC %  ' // 
 
     

 

 M % '   HN %+&  ' *
&
   

   
    
    % %

 
' *
&
   

+&    


    
   

 %@ % 
 &'

(&7
75
// zecimal
0113
// octal
0x4b
// hexazecimal

$  )
      

   
 O1 &
   HC M  HN

  )
    
     
#       
 ) 
   
      3
   
   
  
    
  
   

 

 
     

 %
 
 ' 


 
       %


-29-
Programarea calculatoarelor în limbajul C++

 '
75
// int
75u
// unsigned int
75l
// long
75ul
// unsigned long

-   
  &       #  
  #    !  

2

  8  8

5     
 
   ) 

     4 & 
          


 
  ?   HC   

P?   P   ) 
 
  

   

 '

(&7
3.14159
6.02e23
1.6e-19
3.0

    
 

  &
   // *
   
 #   
-  
 
  


  
 
   
 %   

&
  ' "   
   
&  " 
    
 I &
   
   
  )
   

$   


  
  
  )
      
 *

&
   &      4     
      &  4
 7
3.14159L
// long double
6.02e23f
// float

2

  
 
   
     
  )
    %  '
   
  # 
  #   !   
    
 






     ) ,

-30-
Programarea calculatoarelor în limbajul C++

5     


   & 7
'z'
'p'
"Hello world"
"Introduceti o valoare:"

*
   &


      

 


  

 
    
%'        

 5  
)  


   


    

 %  ' %B' 




  

      %'

, 

  
  

 
    
 + %
 ' 
      )
 
)      
 
)
      &
    !   
7
x
'x'

& 
 

   )
   
   
 & 
Q&Q %&   

+ '

       



  


   


) 
 
 
 
    

      

   
        &
 
      
  

    & 

     %R'  


  %R' $  
     
     ?  %R'   !    

  <

R    %:'
R

)
    

#   %

 

'
R  %  


  '
R)  )
  %  

)
 '
R 
  


  % > '


R )     
%
  '
R 
 
 % '
RQ +  % 
Q'
R? +  % 

-31-
Programarea calculatoarelor în limbajul C++

?'
R@ 

 %  @'
RR > + %  R'

-      &
 
 

 ! 
     5 
 




   ?  %R'
     5 &
    
  % M' 
+&   % HN' - 
   % ' 

       
 ?  %  & RFI  R0C'     %+&  '  
  

8
  

%  & R&FC  R&0'

    


%'             
  

    ?  %R'  #
  
    & 

7
"sir scris pe \
doua linii de cod"

5            



 

 
     
      
 % ' 

  

       

 
 
7
"aceste subsiruri" "formeaza" "un singur" "sir de
caractere"

3        


      & 
   

 
%=' %=  I'    

  %  '   
  
   
& 
C7
L"Acesta este un sir format din caractere wide"



 =      
  


  

   


 


  

(& 
  ) 
  )  7     %  -    '   
&
   //  ) 
   

 
 
  
   



4
9=
4
:

5     
   
  

    
  

   

 
 
 
)  


=
4
 
   7
#define identificator valoare

(&7
#define PI 3.14159265

-32-
Programarea calculatoarelor în limbajul C++

#define NEWLINE '\n'

       7 *  <(;,<( 2       
    
      & 

7
// constante definite: calculul circumferintei

#include <iostream>
using namespace std;

#define PI 3.14159
#define NEWLINE '\n';

int main ()
{
double r=5.0; // raza
double circle;

circle = 2 * PI * r;
cout << circle;
cout << NEWLINE;

return 0;

3   
  
 
    


 # # 
) K 
    
 
   
 
) % &       * 
<(;,<('    ) 
 
    %IH0H1SFN1 
) QRQ'

3
) K    
  //   
) 



6 



 
    
   
 
)   
    +   


Q.Q   
   

 #
 ) 
  
    
 

  
 
)    

  




9 :

 
&     
  
#         
 
)
 7
const int width = 100;
const char tabulator = '\t';
const zipcode = 12440;

3          %    &     '  




          


-33-
Programarea calculatoarelor în limbajul C++

'&)& -

*
  
 )
     // 
  
 5

 
    !  
 

    
   ) + 

 
//    
  
    
    
      
  
       //   
    
      
)
  
 

 

  
  )
     
   

-
 

9D:

2

  
 
   ) 
  )
 7
a = 5;

  


  
  ) 
 
  7 )
   *
  # 

 
 
 %G'       
  
%) 
 #' 

 

   
%) 

 ' A 
 # % 
' 
     )
  
  ) 

  %
'        )
 
     

 
    
    
 
  
 
 
 

  "# 7 
  
 

      
  
 #  
  )


a = b;

  


  
  )
   % ' ) 
    )
   % '
A 
   #           

   

   ) 
  
 3   
         
 ) 
    
  )
        & 
 
  

 
 *


   
 

 ) 
 )
   )   ) 

)
  

(& 7
// operatorul de asignare
#include <iostream>
using namespace std;

int main ()
{
int a, b;
// a:?, b:?
a = 10;
// a:10, b:?
b = 4;

-34-
Programarea calculatoarelor în limbajul C++

// a:10, b:4
a = b;
// a:4, b:4
b = 7;
// a:4, b:7

cout << "a:";


cout << a;
cout << " b:";
cout << b;

return 0;

  
 
   ) 
 0 
)
   ) 
 O 
)
  
5  
)  ) 
 )
         
 )
  
+
    
  G    

2 

   
 
  !  //         !   


  
 %
  
 
'      ) 

  % '
% 
  ' 
  
 
 3 & 7
a = 2 + (b = 5);

 +)   7


b = 5;
a = 2 + b;

(&


    )    //7
a = b = c = 5;

5 
  ) 
 1  



 )
 7   

-
 
  9 E (E FE 0E G :

, !  //     



7

/ 

"  

T  

4 



-35-
Programarea calculatoarelor în limbajul C++

U  

2
  
  
  
  

 
  
 



  
) 5
 

         % G'  

 

   
  

 3 & 7
a = 11 % 3;

) 
 ) 
 F  
  

 ) 
 HH  I

-
 

   9DE (DE FDE 0DE GDE HHDE IIDE JDE KDE LD:

#  
  
 ) 
  )
  
 
  
  

) 
 
      

  
  7

@


@



8
) 
 /G ) 
 G ) 
 /
 
6  
6
"G 16 G " 16
4G 6 G 4 6
TG / H6 G T % / H'6

   
   

 3 & 7
// asignarea compusa

#include <iostream>
using namespace std;

int main ()
{
int a, b=3;
a = b;
a+=2;
// echivalent cu a=a+2
cout<< a;
return 0;

! 


  



 9E ((:

2

  

 %'  

  

 %((' 
 

 
 
 ) 
   
" )
     +)   &
 D, 

) (D, 



 &
   +) 7
a++;

-36-
Programarea calculatoarelor în limbajul C++

a+=1;
a=a+1;

9  
   
  
 
 
&
      
# 
 

   

      #  
 


 
  
       # 
    
#  
       

)+

2 

 


 

  

       #
 
& #    &    
    

 ) 

)
   -  &
     
  

     
     
 

   

 3
   

  

   
   

 # 

 


 % 

'      & )
   
   
) 
   
   )
  3 & 7
b=3;
a=++b;
//a contine 4, b contine 4
b=3;
a=b++;
//a contine 3, b contine 4

- 
  &  )
   
     ) 
    
 
)
   - &     ) 
   
  )
    

 
  - + 

   &
   +) 7
a=++a;
a=a++;

-
 
  9DDE MDE HE IE HDE ID :

2


       #  
 

   &
  
!    



   
      //7
GG (  
BG 3
 
V   
 #
W    #
VG   
    
WG       

-37-
Programarea calculatoarelor în limbajul C++

=     

     ) 
   
       

4 
% )
   ' (&7
(7 == 5)
// evaluat ca false
(5 > 4)
// true
(3 != 2)
// true
(6 >= 6)
// true
(5 < 5)
// false

.  
 &


       )
    &

)   (&7
a=2; b=3; c=6;
(a == 5)
// evaluat ca false deoarece a nu este egal cu 5
(a*b >= c)
// true deoarece (2*3 >= 6) este adev#rat
(b+4 > a*c)
// false deoarece (3+4 > 2*6) este fals
((b=2) == a)
// true



M 2

 D %   ? ?'      

 DD %   
? ?'6 
   

  
 
   

     


  &
 
 
 
 
       &

  +)  % 
    )  
 
  &
   '

-
   9 ME JJE LL :

2

 M  

 // 
    
   <9 %/"'6
 


    
        )

 ) 
 
  

 #
    4 
 
   

) 
 
  
4 
 3 & 7
!(5 == 5)
// evaluat ca false deoarece expresia din dreapta (5 ==
5) este true
!(6 <= 4)

-38-
Programarea calculatoarelor în limbajul C++

// evaluat ca true deoarece (6 <= 4) are ca rezultat


false
!true
// false
!false
// true

2

  JJ  LL    #  )      &
 
  


  
   2

 JJ 
   
  X %/''  


 
   
   
    )    
  

4 

  JJ

 
 


    
  
  
     

2

 LL 
   
  59 %"'   

 
  

   
 
   )    
 4 
   
   
)    4 
 *          

7
  LL

 
 


   

  
 

     

3 & 7
( (5 == 5) && (3 > 6) )
// evaluat ca false ( true && false )
( (5 == 5) || (3 > 6) )
// evaluat ca true ( true || false )

-
  9 N :

2

    )     &
  
  ) 
 
     

   ) 
 
     4 
 
   7
conditie ? rezultat1 : rezultat2

-39-
Programarea calculatoarelor în limbajul C++

3     


&
 ) 

    H  
7==5 ? 4 : 3
// întoarce 3, deoarece 7 nu este egal cu 5
7==5+2 ? 4 : 3
// întoarce 4, deoarece 7 este egal cu 5+2
5>3 ? a : b
// întoarce valoarea lui a, deoarece 5 este mai mare
decât 3
a>b ? a : b
// întoarce valoarea cea mai mare, a sau b

(&  
 

      

7
// operatorul conditional
#include <iostream.h>
using namespace std;

int main ()
{
int a,b,c;

a=2;
b=7;
c = (a>b) ? a : b;

cout << c;

return 0;

'&'& -
 

0


(&      


  
    )
   
  
 
  ! 
    
 

4
 

    
 
 
 
 
   !  

 ) 


   
  
 
  


- // 
  

4
               

  

   ! 5   

4
         
    
 

4
      
  
 
% ' 
  



-40-
Programarea calculatoarelor în limbajul C++

'&6& !

  9  :
 
    
 
    

  
  
    
% & ' //  
   
    %


'   
  
   

   7 II

2

 II 
   
 
    &  
  
  - & 
  ! 
      
?$&? 
) ) 
    )
  8
5  
)    #  
 
   & %    
' 

      
 + 
      )
 
cout << "Text";
// afiseaza "Text"
cout << Text;
// afiseaza continutul variabilei Text

2

  

 %II'           
    
 7
cout << "Text: "<< Text << "\n";

'&7& !
  9 :
3 )   

  
      
   
 

  

// 
    
 
 

   8  %HH'   &   %


' 2

 HH 
   
   )
  
 +   

 
  &
   & % ' 3 & 7
int a;
cin >> a;

*
 
       
  )
        
 
 
   

    %  
' 
   )
  

   
 

     
     
   $ *



+
   
 
   


  #    
 
     $ 
 

 %    

 
 

 

)'   
 

B     

   )
  
  3   
 
 
 
) 
   
 
   
    

6   
  



   
   

  

(&  
 

 

4
7

-41-
Programarea calculatoarelor în limbajul C++

// exemplu I/O
#include <iostream.h>
using namespace std;

int main ()
{
int i;
cout << "Introduceti un numar intreg: ";
cin >> i;
cout << "Valoarea introdusa este " << i;
cout >> " iar dublul acesteia este " << i*2 <<
".\n";
return 0;
}

      

  
  
 
    
   


7
cin >> a >> b;

  )    +)   7


cin >> a;
cin >> b;

-   
  
 
   
    ) 
  
)
   

)
      
 
 
 

)  7      
 

-42-
Programarea calculatoarelor în limbajul C++

6&    


6&,&    

9 

      ) 
  
  * 

  & 

         
 
    )    *

  //    

  
 - 
 


    
 
 
  
   
         
 7 >  ?

6&)& !  
  8$ 4 


 )#  + 4    


&   
      
 
            
 
 7
if (conditie) instructiune;

 
  &
 

    )   3 
  )   
 % )
' 
   &   3     
   

%  &  '  

     
  

    


   

3 &  
   

  ?&  HCC?  ) 
   
)
  &  HCC7
if (x == 100)
cout << "x este 100";

3   
 & 
    

      
   
  %'       
  
   7
if (x == 100)
{
cout << "x este ";
cout << x;

5      
 ) 
  #       
 )#  +

 
 
 

        7
if (conditie) instructiune1 else instructiune2

-43-
Programarea calculatoarelor în limbajul C++

3 & 7
if (x == 100)
cout << "x este 100";
else
cout << "x nu este 100";

   
 ?&  HCC?  &
 ) 
 HCC  ?&   HCC?  & 

  HCC

5

 4

      & #  
 )

   
 ) 
    & 7
if (x > 0)
cout << "x este pozitiv";
else if (x < 0)
cout << "x este negativ";
else
cout << "x este 0";

# 
  &       
  
    
  
 

"    
  
  
 
   > ?

6&'& !  
 



O 
5 &  
       2 )     )
    
) 
     
 &
 
  

 7

switch (expresie)
{
case constanta1:
grup de instructiuni 1;
break;
case constanta2:
grup de instructiuni 2;
break;
. . .
default:
grup de instructiuni pentru executie implicita;

   7 O  )    &


  )
 
     +) 
   ?
  &? 
  &      & #  #


   ? # # 
   ? 
  #
  

 )

-44-
Programarea calculatoarelor în limbajul C++

O 

3  &
     
  & )  )
     
  (
3         )  &       ( #  #


   ?  
  #
  

 ) O 

3  ) 
 &
             %   

#    + ' 

  ) &  
     +
       

5)

     +) 7
//exemplu switch
switch (x)
{
case 1:
cout << "x este 1";
break;
case 2:
cout << "x este 2";
break;
default:
cout << "valoare necunoscuta";

//echivalent if-else
if (x == 1)
{
cout << "x este 1";

} else
if (x == 2)
{
cout << "x este 2";
}
else
{
cout << "valoare necunoscuta";
}


  O      &   !    
     
  
   

  

 
     
   ?  


  
  
 
  &   
         

    )
     )
 
#  
)
      

-45-
Programarea calculatoarelor în limbajul C++

   )
 &   
 
)



M O         
)
    
  &
  

) 
   <    )
   + %  &  < "     
)
 '     ) 
   % 0&*2' 
    
  // )  

#  


 )

 
  ) 
   ) 
 
   
      
  4(

  

6&6& P  O

.         


  
       
 
 
#         


   
  O
7
while (conditie) instructiune


      
 
  #      %'

3 &    



 

 )
7
// numaratoare inversa cu while

#include <iostream.h>
using namespace std;

int main ()
{
int n;
cout << "Enter the starting number > ";
cin >> n;

while (n>0) {
cout << n << ", ";
--n;
}
cout << "GO!";
return 0;
}

# 

       
 
    
  
 
 

 )
   &   6  ) 
 
   
  %VC'     
    &     
 #   
%VC'
# 

-46-
Programarea calculatoarelor în limbajul C++

, 

   = 
                

    +      


 
  
)     


  
    &   )    -
&          
  ((. 

 ) 
 )
 
        H% )  

6&7& P  (O


   
  7
do instructiune while (conditie);


           O
 
 
  # 
    %' 3
             
& 
 
  %
 
' .  (O
        
  O
      

*

     !    
 
  

      
 # #
 
 
   C % 
'7
#include <iostream.h>
using namespace std;

int main ()
{
unsigned long n;
do {
cout << "Introduceti un numar (0 pentru încheierea
programului): ";
cin >> n;
cout << "Ati introdus numarul: " << n << "\n";
} while (n != 0);
return 0;
}

.  (O
   
    #   
 
 +

     

 
  %
 
' 
 
 - & 

   
    

 

6&;& P  4

   
  7
for (initializare; conditie; incrementare)
instructiune;

-47-
Programarea calculatoarelor în limbajul C++


   
   
 
  %
 ' #  #  

# )
    = 3
    4    
  
 
    

 
     
     
       
&    
)   

 
     
   
  

    
 

7
8  &    
  3
   
   ) 
   )
  
  

   &       
8  )
     3   )
 %'       + 

   
       &  
8  &   
   
         
    

  
  
 
  
8  &   
   #   

 .       


%    )
  
  '

*

     ! &    

 )
 
"  
<
// numaratoare inversa într-o bucla for:
#include <iostream.h>
using namespace std;

int main ()
{
for (int n=10; n>0; n--) {
cout << n << ", ";
}
cout << "GO!";
return 0;
}

.  (O
   
    #   
 
 +

     

 
  %
 
' 
 
 - & 

   
    

 

#
   
   

       
#  

   
 
      ?  ; -? %.' 3 &     
7

 0JL&%J2  
 0JL&%J552 

2    



)
  % E'        &
  

 
#
   4 2

 )
  % E'   

 &
  
 

    &
   #       

 3 &              )
  
"  47
for ( n=0, i=100 ; n!=i ; n++, i-- )

-48-
Programarea calculatoarelor în limbajul C++

{
// instructiuni...
}

    &    1C  


   
         
)
    

6&*& !  
 
Q
 
  
Q    
   +
    
 
      *     
 
"    


 +
       
   3 &  




  

 )
  &      7
// exemplu de întrerupere a unei bucle
#include <iostream.h>
using namespace std;

int main ()
{
int n;
for (n=10; n>0; n--)
{
cout << n << ", ";
if (n==3)
{
cout << "numaratoarea inversa intrerupta!";
break;
}
}
return 0;
}

6&R& !  
 


  

 

   
 
       
 
 #
 !    
   
#  
 
     

-49-
Programarea calculatoarelor în limbajul C++



 - & 



  
   
 1   

 )
7
// exemplu de salt peste un pas al buclei
#include <iostream.h>
using namespace std;

int main ()
{
for (int n=10; n>0; n--) {
if (n==5) continue;
cout << n << ", ";
}
cout << "GO!";
return 0;
}

6&S& !  
 

   
 
        
"      


*        + 
    
   
  
2 +  
  
"    

     $ %    '

9 &  
    !7
// exemplu de utilizare a instructiunii goto
#include <iostream.h>
using namespace std;

int main ()
{
int n=10;
loop:
cout << n << ", ";
n--;
if (n>0) goto loop;
cout << "GATA!"; return 0;
}

-  
    
    
     





  
    

6&,%& T  
@

-50-
Programarea calculatoarelor în limbajul C++

@          5   


     
+ &  

         
 *
    7
void exit (int exitcode);

@ 
       

        
 



      *
 )    
 C  +
 
 
&  

    
  ) 
      

  
  

) 

-51-
Programarea calculatoarelor în limbajul C++

7& T  

7&,& +

   /
 4   
 ! 
  
   

 

 
" 
  
  
)  ! 
  


 

 2     
  
  

  &   #      
"       

   
  

     7
tip nume ( parametru1, parametru2, ...) { instruc#iuni
}

 7
8    
      
  

    
    % '
8     
 
 
 )    
  
8   &M   (M    

   %#      
' 



 
  
"   
   
      
%   


  )
 ' *

   
 
 )
  $      


 

 

8  

  
     
  
 )
 &   # 
      
     
  
    > ?

9 &  
  
   7
#include <iostream.h>
using namespace std;

int suma (int a, int b)


{
int r;
r=a+b;
return (r);
}

int main ()
{
int z;
z = suma (5,3);
cout << "Rezultatul este " << z;
return 0;
}

2
 

 // 
    
        
 )  & 

-52-
Programarea calculatoarelor în limbajul C++



   -           
  )
  7   
 -

           5   
)  
  

 
    
   3 
       ) 
 
   
 
     
 %' 
   )  
  )
  7
    
 *

 

   %   
  '  
    
 A 
 
  
   %1  I   & '
    


-     
        
      
    
    A 

 
%,  *'      )
     

-     


   )
      
 % '  ! 

&
 H 5 ) 

    
 )
 
   
  )
  
-       
       )
    @ 0,5*2

,  

 %02J' +    
  
     
A 
 
        

    %  
) 
    )
  '  

 
    )  
    

- 
    &  
  
   7
// exemplu de utilizare a functiilor
#include <iostream.h>
using namespace std;

int diferenta (int a, int b) {


int r;
r=a-b;
return (r);
}

int main ()
{
int x=5, y=3, z;
z = diferenta (7,2);
cout << "Primul rezultat este " << z << '\n';
cout << "Al doilea rezultat este " << diferenta
(7,2) << '\n';
cout << "Al treilea rezultat este " << diferenta
(x,y) << '\n';
z= 4 + diferenta (x,y);
cout << "Al patrulea rezultat este " << z << '\n';
return 0;
}

(& #              


)        

-53-
Programarea calculatoarelor în limbajul C++

    
      
 $       
 +)  

     //

7&)& T   488 & 1 /


   
5 &  
    7
tip nume ( parametru1, parametru2, ...) { instruc#iuni
}

3
     
       
     
   
#   

3     
   ) 
 
    &  %        

      '         %'         
     
 
 
 

  #
    

// exemplu de functie void


#include <iostream>
using namespace std;

void afisare_mesaj ()
{
cout << "Exemplu functie";
}

int main ()
{
afisare_mesaj ();
return 0;
}

$ 
         

    
 & 
   
     

 3 &          I N
   
  7
void afisare_mesaj (void)
{
cout << "Exemplu functie";
}

2
  
    )    

   6   

   
      #   
 



( 
 
  
 
    
    
 

7
    
      
     

  


-54-
Programarea calculatoarelor în limbajul C++


 6 +
   
 

 
   
 
  # 
   3  )      I N    7
afisare_mesaj ();

*
    &   )
            
)
    
  //  

 
7
afisare_mesaj;

7&'& 

 
  
  
4
8
%   ) 
 
  
 
 
    ' -
&  #  
  
  


  ) 

      
     

    
  

  ) 


   )
  3 &  
    

 % '    7
int x=5, y=3, z;
z = addition ( x , y );

-    
    ) 
 ,  *  )
  8  C

-    #       ) 


 )
 
    ) , 

) *

  
 )
 
 

   
   
 
)
 
8  C    
    
  )
  

 
     ) 
 
 5     
 
 
   

   ) 
  )
  &
 %
  )
 
 B' *
    
 
  

   & 
       !7

// transmiterea parametrilor prin referinte


#include <iostream.h>
using namespace std;

void duplicate (int& a, int& b, int& c)


{
a*=2;
b*=2;
c*=2;
}

int main ()
{

-55-
Programarea calculatoarelor în limbajul C++

int x=1, y=3, z=7;


duplicate (x, y, z);
cout << "x=" << x<< ", y=" << y << ", z=" << z;
return 0;
}

-56-
Programarea calculatoarelor în limbajul C++

;& "  

  

;&,& "   9U:


9     
              ) 

 
  

  )  
  
    &     

%  
 )
      '

          &  < ) 


    
"     
 

    
 < )
  
 
     

 - + 
)   < ) 
 
 %     & '     


  )
      
 
  
       2 

 
    // 7
tip nume [elemente];

"""""""""""""""""""""""

2-"V$       +  "


      



;&)& 



 


.   
//       
 

 

 



%' 
     
 


 

 $  
# 

   
  )  

  

     
      

3 &    7
char sir [20];

    
  FC       %

'

"""""""""""""""""""""""

2-"V$       +  "


      



;&'& 

A
    
)     
 
      ! 

  

 < 
      
  
  
 
  
           
  # 
  )
 

"""""""""""""""""""""""

-57-
Programarea calculatoarelor în limbajul C++

2-"V$       +  "


      



;&6&    


2 

  

   
   
       
 %
'  
 


     ) 
  
5

     
  //   &

7
struct nume_structura {
tip_membru1 nume_membru1;
tip_membru2 nume_membru2;
tip_membru3 nume_membru3;
.
.
} nume_obiecte;

"""""""""""""""""""""""

2-"V$       +  "


      



-58-
Programarea calculatoarelor în limbajul C++

*&  
 
8 



*&,&  

 

    &  

   "    +     
   #  #   

9 
    
    *
    )
      
       
        )
 

     
 
   )  +    
  

7
class nume_clas# {
specificator_acces_1:
membru_1;
specificator_acces_2:
membru_2;
...
} nume_obiecte;

"""""""""""""""""""""""

2-"V$       +  "


      



-59-
Programarea calculatoarelor în limbajul C++

R&   
 C

R&,& 5
 

/ 
 
 P   6&7
     )
  
 
)
  !     .
  //
01 , 
  &          # "    >  
  
 



  ; : %5
 " *

 " .
  '  

#  ; : (&


 PW&<X< %  >'

-      !    )  


    
      
 )
  


Y 
        7 Y   
 


  
%
  
   " $
' -    
  
   
 


        
     &   
   ) 
  
"  
 &
@
 <  

      
  &  
  
 
   
    T


(    
     

      7
8 + 
   

8

   

8 )
   

-60-
Programarea calculatoarelor în limbajul C++

8
   


8 
  &    



*

 
              T
    
-
 2
O 
) 
% 
'

*

   

     
      


-61-
Programarea calculatoarelor în limbajul C++

=    
 
 

 

   
  
    

7

*
 
  &    

  

       )
 

-62-
Programarea calculatoarelor în limbajul C++

   +
       

         


 
  "
 
  



      

       
 3 
   


   
 


 


  
 
 (

   &
      
  



   
      



 
 
  
     

-63-

You might also like