How to Think Like a Computer Scientist. Learning with C++

This book is an excellent introduction to the process of programming. It focuses on the theories and methods used, and n

446 14 1MB

English Pages 180 Year 2002

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

How to Think Like a Computer Scientist. Learning with C++

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

             

  

¾









                                                          

     

            !  "      #

               

 $   %    $ 

      $ 

$   &                           

  

'                  $         &        

   (              &             $    )        *    + ,                -     (. &

/            

 0 &      &            (. 1   ,             

           -22   $           &



   

   

        -22         (. &       3445 .  

'  -22  .  

'     &  

      6

   $

   $    7$ -  0,88( (        * $ +    

                   

         &      

 $  

        $  $ 

                   

3

       



  $    $  

 

'  $     0           $ 6  * +             )          )            $          %          "     $             $          9    $            $     $                          6      (           $         %                     

source code

interpreter

The interpreter reads the source code...

... and the result appears on the screen.

(          $             &        ,              &               $               

          (  &          -22 :     &        ! &          # /    "    $    "      *+            Æ&    

$        "    -22          $     $  &                

           "         ;

       &   

     

source code

compiler

The compiler reads the source code...




'' 567)-/

"  # 

:     $    $               $  

 #  %

 %  ((%  24%

 11%

  !9     !%

    









   

3A

%

%  % %

       $  

  $  







 

 

     $      

$                  >

9     ((24 /      *    $ +         $      0 & >



  !!%



  $   $     1  

(  $           $                $     >

 #  %

 %  ((%  24%

 11%

  !9     !        % ,                    $ 





E  $M

$% 

(                  $     )  1           $  -22                            $             

 

 

    

 

 

            -22       Æ   "          ,L 

  L  !,#     3 3445

:     

     

''$$$' 8   L           $   

  $   $  $ >

   

(

  %         %    0 &             

 

  $          M :    

$    

       

3D

&

"   

!                                 -22  &      &                 0 &          



      -22 &          $ >

( (

:(

;< 

 '


 #  %  ((%  24%

  !).  *     !%

  ;<   %

  !=  *       !%

   '<  %          >

).  *     0(4 =  *       <  "     &          $    $ 



 A4  A4 $  DC  C45

¯

¯

      $          



8; :(   A  @  8' :(   3  3 !      $  8'  C#     $        $    

 ;(

. %  (@(24%          $      $       >

 (% A + !!% .  (@(24%      &  1   (                 "   (  H                 

          $       H     0 &    $  $  (       H       K     -22       $  (   H   $  (

 )BCD  3EA9 7= >B6BCD9D6A  A9B9DCD)9A & :            &    )

       -22        "        $  $      ! #       )                    ) "   "              $        &    >

  $3 

  % &       $3 6                            $               &             -22  >

    

A

  

&

  != 3 !  %  $3 %

  !A  3 !  %

      

=   A        &          /       

    K /          >

  

&

   $3  $3  $3

 

!= 3 !  % % % % !A  3 !  %

,            3       >

  3  &

 $3 %  $3 %  $3 %

  

&

  != 3 !  %  3 %

  !A  3 !  %

:            > ¯ :               1          ¯ :  $                3   3   $3  (        

   

D

¯   3                     !           )      # ,                                              $                        

   (             &       > 3 -      $       $          0            &

                        /     $3    K  -                   $  0 &           $       3    B     J   K 

.   

.          $          >

      $3  &

  %

  3  &

 $3 %  $3 %  $3 %

  

&

  != 3 !  %  3 %

  !A  3 !  %

       "  >  $3   3   

      

J

   "               3      3   $3         "         $                -226  "          ! $#  "       :               %           &

/   %   (  

/      "     $                                         &        "              !       #     &                   0          H  &         &        "        &          

          %      &    $                           $   %  &        3  '     &    3           %  &    $3  0    -22                 $3             %   3   $              / )       K /     ) 

          H  &   '

/       

        $   $      $    $        ;  0 &      "        $                . $                $     .       &               $                        )           "           

    0 & >

 9$   

      % &

   

5

               /  $     !     $      #                         $                      $           $  $   0 &    $       >

   9$ 11% &   $   $                           $  11        9$         (  $       $            >

  

   1.1% 9$  % &      $   >     $       ! #              !#     >

$                                 %         L        &      $   $  !       1.1#  $   $     $                          

      -22   $             0                &     )

/     #     

.   $    &        /  

"                   

          9$          E                      $                   

 !       

4

     $     $    $       &             0 &       9$    >

argument

’b’

main

phil

’b’

printTwice

/$                                   $   

                   &               $         &       $         9$     $       

+

   %      

  &     $           

      0      $      

$   0 & 

 9  #   

  %

  !!%

   % &          #           $           (              $             M

  ((%   24% 9  #   %

'' 567)-/

   

¯

/          )         !

 )      $          

& #K

¯

/                  &   

¯

 $3  0K

-                    

 $3  9$ K

      1   *           $  +  )             $            1       (   $  1           -22     "        



  

%  

(   $  ! $ #        

        H    -226         

  "  

. 

(        $      $ 

     

   

(  1             

0                    



(        $       

.    $          $   $  

  

( $    $        $  

$         



-       &  



     

   

         !   &  #       "   $      -22           F   &  &          >

 

 G  0 ' %     0 F %  "     $            3   J $  <     3  $                 0 &  

         $     >  F +  L 

 $    + (            &            0 &  F (<        !

  3C#    F (

*   +   *  F8

>+ (0%



      $    

     $

-22  "     

(      

:             >

 .  (0% >+  . % 

'' 567)-///

,  

                      $    ,          

*  

  !  % 

    3 .  *  

main n:

3

countdown

n:

2

countdown

n:

1

countdown

n:

0

countdown

      

       $              $  

% $     




.  . (# . +(# . 8# . +8  

  * 

   5"E3D 

AA

        &  $      &     &   

. (       )  (  &              

3  

  L     

          (    &             $        $  

&+

* 

    $  

3         

              -22 $ 

      .   ::               . 

     

    $  



     

           $        &      0 &       >

  

 %                %       $      '   &                           $  )                        =                >

 

 * !.!%  .K - !  . !%     * .K -%

      %        =     

.  . 

       $ -    

     

    !.! !  . !%

       -  

 

(        

-22       $   

                      



    &            

            *(  +                     

0 &   8   -  ) 

#           7  Q 

! " 

      , 

.   R  B           >

 ** ! K!%

    1R1% $     1S1

     **  %   

% &        >

R K T K 3 K C K ) K 7 K > K S K

     

J

,    )  1      )$    *, +  *R + (  &           (                      $ -   =      &      ! K!         -22       $         $  $ 

&

    

:                P℄            0 & 

   !" # $/!%  P

* $ !.!

  !U # $   ./!  % &                      

* $  !.!

  !U $# !  $  !#   . * .!  % &  * $  !.!

  !U $# !  $  !#   *  .!  % & 

  !U # $   ./!  % & :                            (      

           (    

U $# V .#   . * . (          $    

               &   &         Æ           L  L     

   

&

J


  > . # +% &% JA

     

JD

  " 

       "       

    !  

    #

 "               

 +

      

          & 

           $ %            " 

             1    

)       ,   $ "         $     >

> .K% .K  > 

  !!    !# !  +  !!  % &

     

J5

>                   > .K      # @ (    &                   >        .  .  > (# > 8 .  8 : ( % . + 8+ : (+%   G  ; +;+% & '

,  #

/                       $       $  !          #  $   $       0 &    

> 

      >

main blank x:

3

y:

4 printPoint

p



>

x:

3

y:

4

  > 

         $  

  $  % 

.K

,        

                             *  $ +       $      !   #        

     '&

J4

,  (  

(   $         $    -22    *    +                        0 &    H     @A            $ !    #     

 * 

       >

  *  > 

&

'' 567)- //

.    %  +% +  %

'  )         

 * 

 $ 

%        $                

L

/        ! #       >

  *  >L 

&

.    %  +% +  %

           >

> .K%  *  .K% > .K%         & >

 # @ @#  B)            >

     

5C

main blank x:

3

4

y:

4

3 reflect

p   



         

.K

  

                    $                       



   %

.K

 * 

.          $        $  

                         $       

,         

            " 

$    

-22                            $ 

''

2  

  )                   1          $  $          K       )            $     L   $              >               ! 

  #   L !    #              L                   &          

        L      

> 

    -22   " 

   

  6  >  % . $#  % &%                     1 

  



53

,           

   

> " >

6  

 $

>  

 $ L # L +

&

   %

+% +  %

/           >

  0%  O 4% $ # O%

    O  %        40 9        

$            +         !   L # $           +  $  %    O /                      &         0 & >

       0%  O 4% $ # O (%

5