Vous êtes sur la page 1sur 3

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

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 = linspcae(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

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

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)

function [y]=partie_entiere(x)
%x est un réel positif
E=0;
while E<x
E=E+1;
end
y=E-1;
end

2)

clear all;
close all;
format long;
a=input('Entrer l''entier naturel a ');
b=input('Entrer l''entier naturel non nul b ');
q=partie_entiere(a/b);
r=a-b*q;
disp(['le reste de la division euclidienne de ', num2str(a),' par
',num2str(b),' est ',num2str(r)])

Vous aimerez peut-être aussi