Vous êtes sur la page 1sur 4

ENSA Tétouan Année universitaire 2014/15

Filière: 2AP-1

Module: Informatique 2
Elément de module: Matlab
Contrôle continu 1 (durée 1h30min)

Nom: ………………………………………..
Prénom: ………………………………………..
CNE: ………………………………………..
Groupe de TP: ………………………………………..

Partie I: QCM (14 points)


Cocher l’unique case correspondant à votre choix pour la bonne réponse et se trouvant
immédiatement à gauche de celle-ci. (Attention ne pas cocher plusieurs cases et le trait ne doit pas
sortir de la case cochée).
Il sera adopté le système de notation « suisse »: une réponse juste → 1 ; une réponse fausse → 0

Question 1: étant donné A = linspace(1,10,5), quelle est la commande à utiliser pour lister tous les
éléments de A sous la forme d’un vecteur colonne?
Réponses:
1. A'
2. A(☺)
3. A*
4. A(1:5)

Question 2: quelle est la différence entre le produit matriciel et le produit terme à terme?
Réponses:
1. Aucune différence
2. Le produit matriciel opère sur des matrices quelconques et le produit terme à terme sur des
tableaux ayant les mêmes dimensions
3. Le produit matriciel est exécuté par la commande * et le produit terme à terme par .*
4. Le produit terme à terme ne peut s’effectuer que lorsque le nombre des colonnes de la
matrice à gauche est égal au nombre des lignes de la matrice à droite

Question 3: examiner le script suivant de Matlab


A=1 ; for k=1:2 A=[A, A*k] ; end ; B=A
Quelle est la valeur de B à la fin du programme ?
Réponses:
1. B = 1,0,0,0
2. B = 1 1 2 2
3. B = 1 1 2 3
4. B = 1
2
3

1
Question 4: quelle est l’une des différences entre un script et une fonction?
Réponses:
1. seul un M-file de type function peut être exécuté à partir de la fenêtre de commande
2. un M-file de type function ne requiert pas d’arguments en entrées
3. seul un M-file permet de définir une fonction
4. les noms des variables d’un M-file de type function n’ont de sens qu’à l’intérieur de la
fonction, alors que les variables d’un script sont disponibles pour les autres programmes tant
qu’on ne les a pas nettoyés

Question 5: quelle est la commande pour générer un vecteur x contenant 15 valeurs équidistantes
entre 4 et 20?
Réponses:
1. x = linspace(4,15,20)
2. x = linspace(15,4,20)
3. x = linspace(4,20,15)
4. x = 4:15:20

Question 6: quelle est l’expression à utiliser pour affecter la valeur bonjour à la variable A de type
caractère?
Réponses:
1. A = 'bonjour'
2. A = "bonjour"
3. A = #bonjour#
4. A = bonjour

Question 7: combien d'erreurs se trouvent-elles dans le script suivant?


clear all; close all; lcl; A(0)=1; A(1)=2; dislpay(A)
Réponses:
1. 0 erreurs
2. 1 erreur
3. 2 erreurs
4. 3 erreurs

Question 8: quelle est la suite d'instructions à utiliser pour calculer le maximum numérique d'une
fonction f (Supposée déjà définie dans un M-file avec la possibilité d'agir sur un tableau) sur un
intervalle [a,b] discrétisé par 100 points?
Réponses:
1. x = linspace(a,b,100); y = f(x); ymax = max(y)
2. x = linspace(a,b,100); y = f(x); ymax = max(y')
3. x = linspace(a,b,100); y = f(x); [ymax,imax] = max(y); xmax = x(imax)
4. Aucune des 3 réponses précédentes

2
Nom: ………………………………………..
Prénom: ………………………………………..

Question 9: quel est le résultat de l'opération suivante? 3*4/4*3/3-1


Réponses:
1. 0
2. 8
3. 2
4. 0.6666666666666667

Question 10: quelle est la commande qui permet d'afficher le nombre des éléments d'une matrice A
non carrée?
Réponses:
1. max(size(A))*min(size(A))
2. size(A)^2
3. 2*size(A)
4. size(A( ))

Question 11: soit la matrice A = ones(4)+eye(4), quelle est la commande permettant d'extraire le
terme A(2,3)?
Réponses:
1. A[2,3]
2. A(10)
3. A{2,3}
4. A(2;3)

Question 12: soit la matrice B = 3*ones(4), quelle est la seule proposition vraie?
Réponses:
1. la valeur de B(:,2) est 3
2. l'exécution du script suivant: clear all; format short; B=3*ones(4) ; C=B+j %donne une
matrice 4 x 4
3. B+4 donne un message d'erreur
4. la commande >>D = (B+j )' %donne D = B+j

Question 13: on veut calculer les volumes de plusieurs cylindres admettant le même rayon r=3 et
dont les hauteurs sont listées dans le tableau h=[1,2,3], quelle est la commande à utiliser?
Réponses:
1. r=3; h=[1;2;3], V=p*r^2*h(1,2,3)
2. r=3; h=[1;2;3], V=p*r^2*h
3. r=3; h=[1;2;3], V=pi.*r.^2.*h(1,2,3)
4. r=3; h=[1;2;3], V=pi*r^2*h

3
Question 14: quelle la commande qui convertit une matrice X en une représentation de type chaine
de caractères avec 4 digits et un exposant si cela est requis.
Réponses:
1. T = num2str(X)
2. T = str2num(X)
3. T = mat2str(X)
4. T = class(X)

Partie II : Ecriture d’un script à l’aide du langage Matlab (6 points)

1) Ecrire le script d’une fonction permettant le calcul de la partie entière d’un réel x strictement
positif selon l’algorithme suivant:

Entrée:
x : nombre réel strictement positif
Sortie:
y : partie entière de x
début
E ← 0
tant que E < x faire
E ← E +1
fin
y ← E −1
fin

2) Ecrire un script appelant la fonction précédente et permettant de calculer le reste de la division


euclidienne d’un entier naturel a par un autre entier naturel non nul b . L’algorithme associé est le
suivant:

Entrées:
a : entier naturel
b : entier naturel non nul
Sortie:
r : reste de la division euclidienne de a par b
début
q ← partie entière de a / b
r ← a − b*q
Afficher: "le reste de la division euclidienne de a par b est r "
fin

Vous aimerez peut-être aussi