Vous êtes sur la page 1sur 5

Exercices structures sous MATLAB :

1) Déterminer si deux entiers sont positifs ou négatifs et s’ils sont divisibles par 3 ou
non et s’ills sont pairs ou non
%%%%% lecture des deux entiers %%%%%%%%%%%
x = input(‘Entrez une valeur ‘);
y = input(‘Entrez une valeur ‘);
%%%%%%%% test de signe %%%%%%%%%%%%%%%%%%
if x>=0
if y >=0
disp(‘x et y sont positifs’);
else
disp(‘x est positif et y est négatif’);
end
else
if y >=0
disp(‘x est négatif et y est positif’);
else
disp(‘x et y sont négatifs’);
end
end
%%%%% lecture d’un entier %%%%%%%%%%%
a = input('Entrez une valeur : ');
%%%%% test de divisibilité %%%%%%%%%%%
if mod(a,3) == 0
disp('a est divisible par 3');
else
disp('a n est pas divisible par 3');
end
%%%%% lecture d’un entier %%%%%%%%%%%
a = input('Entrez une valeur : ');
%%%%% test de parité %%%%%%%%%%%
if mod(a,2) == 0
disp('a est un nombre pair’);
else
disp('a est un nombre impair’);
end
2) Déterminer s’il est divisible par 3 et ensuite par 7
n=input('Donner un nombre positif ');
if rem(n,3)==0
disp('Ce nombre est divisible par 3')
elseif rem(n,7)==0
disp('Ce nombre est divisible par 7')
else
disp('Ce nombre n''est pas divisible par 3 ou par 7')
end
3) Créer une calculatrice qui effectue les opérations de base d’une calculatrice
%%%%% lecture des deux entiers %%%%%%%%%%%
a = input(‘Entrez une valeur ‘);
b = input(‘Entrez une valeur ‘);
%%%%% lecture de l’operateur %%%%%%%%%%%
op = input(‘Entrez une valeur ‘);
switch op
case 0,
resultat = a + b;
case 1,
resultat = a * b;
case 2,
resultat = a/b;
case 3,
resultat = a-b;
otherwise
resultat = 0;
end
disp (resultat)

4) Selon la valeur saisie créer une matrice unitaire, magique, aléatoire


%%%%% lecture de taille %%%%%%%%%%%
n = input(‘Entrez une valeur ‘);
%%%% choix de matrice%%%%%%
numex = input(‘Entrez une valeur ‘);
if numex == 1
A = ones(n);
elseif numex == 2
A = magic(n);
elseif numex == 3
A = eye(n);
elseif numex == 4 | numex == 5
A = rand(n);
else
error(’numero d’’exemple non prevu ...’);
end
ou bien
%%%%% lecture de taille %%%%%%%%%%%
n = input(‘Entrez une valeur ‘);
%%%% choix de matrice%%%%%%
numex = input(‘Entrez une valeur ‘);
switch numex
case 1,
A = ones(n)
case 2,
A = magic(n);
case {3,4},
A = rand(n);
otherwise
error(’numero d’’exemple non prevu ...’);
end

5) Donner la réponse par ‘oui’, ‘non’, ou ‘chepas’


%%%%%lecture de votre reponse%%%%%%%%
rep = input(’Votre reponse (oui, non, chepas) :’);
switch rep
case {’oui’,’o’},
disp(’bravo ...’);
case {’non’,’n’}
disp(’perdu ...’);
case ’chepas’
disp(’c’’est pourtant facile ...’);
end
6) Calculer le produit de N entiers impairs:
for compteur = valeur initiale: pas: valeur finale
Execution à la main
N=5
p =1
i = 1, p = 1=1*1 =1
i = 2, p = 1*2 = 2
i = 3, p = 1*3 = 3
i = 4, p = 2*3 = 6
i = 5, p = 3*5 = 15
N = input (‘saisir valeur’)
p=1
for i = 1 : 2: N
p = p*i ; %%p*=i
%%%%%%%saisi valeur entire %%%%
N = input (‘saisir valeur’)
p = 1;
for i=[1:2:N]
p = p*i;
ou bien function prédéfinie
prod([1:2:N])

7) Saisir un entier positif (saisi contrôlé)


a = input('Entrez une valeur positive : ');
while a<0
a = input('Entrez une valeur positive : ');
end
disp(a);
8) Saisir un entier pair (saisi contrôlé)
b = input('Entrez une valeur paire : ');
while mod(b,2)~=0 %%%while mod(b,2)==1
b = input('Entrez une valeur paire : ');
end
disp(b);
9) Construire une matrice A de m lignes et n colonnes ayant des éléments entiers
générés de manière aléatoire entre 0 et T.
Calculer le rang de la matrice si l’appel est effectué avec 2 arguments de sortie.
Si la matrice est carrée, le troisième paramètre peut être ignoré.
Si la fonction est appelée avec un nombre d’arguments d’entrée différent de 2 ou 3,
Erreur s’affiche
T = input('Entrez une valeur Nmax : ');

%%%%Si la fonction est appelée avec un nombre d’arguments d’entrée différent de 2 ou 3, Erreur s’affiche%%%%%

if nargin ~= 2 & nargin ~= 3,


error(’ La fonction matrice doit avoir 2 ou 3 arguments d’’entree ’);
end
if nargin == 2
A = fix(T*rand(m));
else
A = fix(T*rand(m,n));
end
if nargout == 2
rang = rank(A);
if nargin == 2,
rangx = m;
else
angx = min([m,n]);
end
if rang ~= rangx,
warning(’ Le rang n’’est pas maximum ’);
end;
end

A faire
Calculer la somme des carrés de N entiers:

Calculer la factorielle à part la fct prédéfinie factorial() avec :


- la boucle for
- la boucle while

Calculer pgcd entre deux entiers


Exercice:

1) Créer une matrice M1 de dimension 4x3

2) Déterminer une matrice M2 de deux premières lignes et deux dernières colonnes

3) Déterminer une matrice M3 de tous les éléments de deux dernières lignes

4) Réaliser la somme de tous les éléments de la matrice M1

5) Calculer le maximum de M1 le long des colonnes

6) Calculer le maximum de M1le long des lignes

7) Déterminer le numéro d’ordre des éléments de matrice qui sont supérieur à 2

8) Mettre à 1 tous les éléments de M1 supérieur à 2

9) Ajouter 0.75 à tous les éléments de M1 égal à 1

10) Changer les éléments négatifs en positifs (valeur absolu)

11) Mettre à 1 tous les éléments > à 1 et à 0 tous les éléments <= à 1

Vous aimerez peut-être aussi