1. Qual o tipo e o valor das seguintes expressões na linguagem Objective Caml:
1 + 2 * 3 ; 3 / 2 ; 3 mod 2 ; -3 / -2 ; -3 mod -2 ; 3 / -2 ; 3 mod 2 ; -3 / 2 ; -3 mod 2; abs min_int

1 + 2 * 3  => int = 7
3 / 2 => int = 1;
3 mod 2 => int = 1;
- 3 / -2 => int = 1
- 3 mod -2 => int = -1
3 / -2 => int = -1
3 mod 2 => int = 1;
-3 mod 2 => int = 1;
abs min_int => int = 1073741823; : ( max_int ) valor extremo

2 -
# 1 + 2;;
- : int = 3
# 1 + 2 + 3;;
- : int = 6
# 2 + ( 1 - 3 );;
- : int = 0
# 1 / 0;;
Exception: Division_by_zero.
# 34 / 5;;
- : int = 6
# (~- 34 ) / 5;;
- : int = -6
# 1.0 + 2.0;;
Characters 0-3:
  1.0 + 2.0;;
  ^^^
This expression has type float but is here used with type int
# 1.0 +. 2.0;;
- : float = 3.
# 1.0 *. 2.0;;
- : float = 2.
# 1.0 -. 2.0;;
- : float = -1.
# 1.0 /. 2.0;;
- : float = 0.5
# 1.0 / 0.0;;
Characters 0-3:
  1.0 / 0.0;;
  ^^^
This expression has type float but is here used with type int
# sin 3.14;;
- : float = 0.0015926529164868282
# sin 3.141**2.0;;
- : float = 3.5123823637202139e-007
# (sin 3.1415) ** 4 ;;
Characters 16-17:
  (sin 3.1415) ** 4 ;;
                  ^
This expression has type int but is here used with type float
# ( sin 3.1415 ) ** 4.0;;
- : float = 7.3696862511197922e-017

3 - a )
# max_int;;
- : int = 1073741823
# min_int;;
- : int = -1073741824
b)
 São usados 1 ou 2, 4, 8 bytes para representar um inteiro ( 8 , 16, 32, 64 bits ).
8 bytes para um inteiro
limite para bytes = 2^8
limite para 32-bit-arquitetura = 2^32
4 -  * tem maior precedência do que +
      * tem maior precedência do que -
       / tem maior precedência do que *
     
Hosted by www.Geocities.ws

1