Sie sind auf Seite 1von 8

Intra 1015 H2013

file:/ 1fU sers/pascal/Academic/Cours!IFf 10 15/H20 13/Intra_1 0 ...

IFT1015, Hiver 2013


Professeur: Pascal Vincent

Examen Intra
Dure: 2h00
Seule documentation permise: deux feuilles recto-verso (format letter, et sans loupe!) rsumant le
cours. L'utilisation de tout appareil lectronique (ordinateur, ipad, ipod, calculatrice) est interdite
durant l'examen, l'exception d'une montre pour connatre l'heure
Prnom:
Nom:
Code permanent:
Le total de l'examen est sur 100 pts. Veuillez rpondre aux questions dans les zones de blanc laisses
cet effet.
On suppose que les programmes sont excuts dans un environnement o une fonction print existe
pour l'affichage (tel que dans CodeBoot).

Remarque: il n'y a aucune erreur de syntaxe dans les extraits de programmes ci-dessous.
Bonne chance!

1 sur 9

13-03-01 14:46

file://lU sers/pascal/Academic/Cours!IFT 10 15/H20 13/Intra_1 0 ...

lntra 1015 H2013

Exercice 1: Variables et expressions (10 pts)


Soit l'extrait de programme suivant, indiquez, ct de chaque dclaration de variable, la valeur que
contiendra la variable et son type.
(pour les types string, crivez la valeur entre "").

2 sur9

var
var
var
var
var
var
var
var
var

el
e2
e3
e4
eS
e6
e6
e7
e8

"el";
"el"+l;
el+2+3;
el+2*3;
"e2"+2*3;
e2+2+3;
e2+2*3;
e2"+u2*3";

var
var
var
var
var
var
var

e9
el
ell
el2
el3
el4
el5

(e2==el);
("e2"==e2);
("el"==e2);
Math.sqrt(eS)==el;
e4>el Il ( el<2 Il e4>6 ) ;
e4>el && ! ( el<2 Il e4>6 ) ;
e4>el && 1( el<2 && e4>6 );

var
var
var
var
var

s = "Bonjour";
el6
Math.sqrt(s.length-3);
el7
s.charAt(2)+s.charAt(l);
el8
s.charAt(s.length-2)+s.charAt(s.length-l);
el9
s .charAt( 1 )==("Bonjour" .charAt( 4));

1+2;

11

13-03-01

v u-.

file:/1lU sers/pascal/Academic/Cours/IFfl 0 15/H20 13/lntra_l 0 ...

Intra 1015 H2013

Exercice 2: Affectations (6 pts)

+:46

Pour le programme suivant, crivez pour chaque print ce qu'il affiche (crivez-le droite des//)
var allo, bonjour, salut;
al.lo = "salut";
bonjour = allo;
salut
"bonjour";
salut = bonjour;
print(allo);
print(bonjour);
print(salut);

11

Il
Il

salut = "au revoir" ;


bonjour = "bonjour";
al.lo = "ciao";
bonjour = salut;
salut = allo;
al.lo = bonjour +
+ allo;
print(allo);
print(bonjour);
pr int (salut);

3 sur9

Il
Il
Il

13-03-01 14:46

file://fU sers/pascal/Academic/Cours/IFTl 0 15/H20 13/Intra_l 0

Intra 1015 H2013

Exercice 3: Excution conditionnelle (10 pts)


Qu'affiche le programme suivant (donnez la rponse dans l'espace laiss blanc droite).
var a=S;
var c="a";
var b=c;
var t = false;
i f (b=="c")
{

print( "Chat");
}

eLse i f (cl="a"

Il

! (a>S))

print( "Lapin");
if (a==("Lapin".length))
print( "Souris");
}

eL se
{

print( "Chien");
}

if

( false)
print( "Dragon");
el se
print ("Serpent");
switch(b)
{
case nell:

print( "Tigre");
break;
case "a":

print( "Lion");
case "b":
t= ! t I l a<lO;
i f (t)

print( "Panda");
el se
print( "Tortue");
break;
default:
print( "Escargot");
}

4 sur9

13-03-01 14:46

Intra 1015 H2013

file:/ 1/Users/pascaUAcademic/Cours/IFTl 0 15/H20 13/lntra_1 0 ...

Exercice 4: criture de fonction (30pts)


Ecrivez une fonction qui prend deux paramtres: une chane de caractres, et un caractre (c.a.d. une
clJ.ane de longueur 1).
Elle ne doit rien afficher, mais doit calculer et retourner le nombre de fois que le caractre spcifi est
prsent dans la chane.
(Remarque: choisissez un nom que vous jugez appropri pour cette fonction).
crivez galement une deuxime fonction effectuant un test unitaire de cette premire fonction (pour
vrifier son bon fonctionnement),
Le test devra tre effectu avec la chane "Bonjour Monsieur" et les caractres "o" puis "z". Vous
pouvez utiliser soit if et print soit assert pour vrifiez que vous obtenez le bon rsultat, libre vous.

5 sur9

13-03-01 14:

file://lU sers/pascal!Academic/CoursllFTl 0 15/H20 13/Intra_l;

Intra 1015 H2013

Exercice 5: Boucles (15pts)


crivez pour chacun des programmes suivants ce qu'il afficherait l'cran.

Programme 4.1
var
var
var
var

i
n
b
s

1;
10;
3;
0;
1) ...

wh.ile (i<=n) {
i f ( i%b==O) {
s = s+i;
print(i+", "+s);
}

i+1;

print( "Finalement i=" + i)


print( "Finlernent s=" + s);

Programme 4.2
var n = 6;
for (var i=O; i<n; i++) {
var s =
for(var j=n-i; j>i; j
s = s+j;

1)

print(s);
}

Programme 4.3
var t =["il", "etait", "une", "fois", "un", "petit", "chaperon", "rouge"];
for (var i=O; i<t.length; i++) {
if (i%2==0 && i+2<t.length) {
t[i] = t[i+2];
}

print(t);

crivez simplement ce que contiendra le tableau aprs la boucle (c'est ce que le print final affichera).

7 sur9

13-03-01 14:46

file:/1lU sers/pascal/Academic/CoursllFf 10 15/H20 13/lntra_1 0 ...

Intra 1015 H2013

Exercice 6: Appels de fonctions et passage de praramtres (13


pts)
Dans le programme suivant, crivez ct de chaque print ce qu'il affiche (crivez-le droite du Il)
var f = function(a,b) {
i f (b>=a) {
b = b*2;

b;

return a;
}

var a,b;
a = 1;
b = 2;
f ( a,b);
pr~nt(a);

//

pr~nt(b);

11
11

print( f(a,b)

);

pr~nt(a);

//
print( f(b,a) ) ;
11
a = f(a,b);
print(a);
//
print(b);
11
a = 1;
b = 2;
c = f(b,a);
print(c);
print( f(c,c) ) ;
print( a== f(a,b) );
print( 2*b == f(a,b) ) ;
print( b = f(b+b,a) );
print(b);

8 sur 9

11
11
//

11
//

11

13-03-01 14:.:,;

Intra 1015 H2013

file://fU sers/pascal/Academic/Cours!IFT 10 15/H20 13/lntra_l 0 ...

Exercice 7: Fonction de recherche dans un tableau


bidimensionnel (16pts)
crivez une fonction nomme maxEtPosition qui prend en paramtre un tableau 2 dimensions
(matrice) de nombres.
La fonction doit trouver l'lment du tableau ayant la valeur maximale en se souvenant de sa position
(ligne, colonne).
Elle devra retourner un tableau de taille 3 contenant: la valeur maximale trouve, son indice de ligne
et son indice de colonne.
Remarque: si le tableau bidimensionnel reu en paramtre contient plusieurs lments ayant la mme
valeur maximale, retournez les informations du premier tel lment que vous avez rencontr lors de
votre parcours.

9 sur9

13-03-01 14:46

Das könnte Ihnen auch gefallen