Tema 3

96

Īntrebări

  1. Definiţi următorii termeni:

a.    operator

b.    operand

c.    expresie

d.    precedenţă

e.    asociativitate

  1. Ce operaţii sunt efectuate de următorii operatori?

a.   &&

b.   &

c.   ^

d.   ne

e.   .

  1. Ce operatori efectuează următoarele operaţii?

a.    Compararea egalităţii şirurilor

b.    rest

c.    dublicarea şirurilor

d.    OR la nivel de bit

e.    mai mare sau egal ca numeric

  1. Care este reprezentarea binară a următoarelor numere?

a.    171

b.    1105

c.    0

  1. Care este reprezentarea standard (baza 10) a următoarelor?

a.   01100100

b.   00001111

c.   01000001

  1. Care este valoarea următoarelor expresii?

a.   17 * 2 ** 3 / 9 % 2 << 2

b.   0 && (171567 * 98275 / 1174.5 ** 4)

c.   1171 ^ 904

d.   "abc" . "de" x 2

Exerciţii

  1. Scrieţi un program care să utilizeze operatorul << pentru a tipări primele 16 puteri ale lui 2.
  2. Rescrieţi următoarea instrucţiune utilizānd operatorul condiţional:

if ($var1 == 5 || $var2 == 7) {
$result = $var1 * $var2 + 16.5;
} else {
       print("condition is false\n");
       $result = 0;
}

  1. Rescrieţi următoarea expresie folosind instrucţiunile if şi else:

$result = $var1 <= 26 ? ++$var2 : 0;

  1. Scrieţi un program care să citească doi īntregi de la intrarea standard (pe rānd), să-l īmpartă pe primul la al doilea şi să tipărească cātul şi restul.

               De ce se poate īntāmpla ca următoarea instrucţiune să nu atribuie valoarea 5.1 variabilei $result?

$result = 5.1 + 100005.2 - 100005.2;

  1. Găsiţi ordinea operaţiilor īn următoarea instrucţiune şi adăugaţi paranteze pentru a preciza această ordine:

$result = $var1 * 2 << 5 + 3 || $var2 ** 3, $var3;

  1. Care este valoarea atribuită variabilei $result de către următorul cod (program sursă)?

$var1 = 43;
$var2 = 16;
$result = ++$var2 == 17 ? $var1++ * 2 - 5 : ++$var1 * 3 - 11;

  1. Găsiţi şi reparaţi greşelile īn următorul program

#!/usr/local/bin/perl
$num = <STDIN>;
chop ($num);
$x = "";
$x += "hello";
if ($x != "goodbye" | $x == "farewell") {
$result = $num eq 0 ? 43;
} else {
$result = ++$num++;
}
print("the result is $result\n");

© Cornel Mironel Niculae, 2003-2004

13-Nov-2009