The Best College Academy of Our Small City

Latest News - QUIS NOSTRUM - Exercitationem ullam corporis suscipit laboriosam

Exercices Corrigée Algorithme: Fonctions et Procédures

Introduction

Des que les algorithmes deviennent plus importants en volume et en complexité . il devient plus difficile a gérer leur fonctionnement et de reperer les erreurs 

L'une des solutions a ces problémes est la modularité c'est a dire decomposer l'algorithme en module distincts, ces modules sont generalement appelés des "sous algorithme" ou procédures et fonctions

Definition

Qu est-ce qu'une fonction

Une fonction est un bloc d'instruction qui retourne obligatoirement une et une seule valeur résultat a l'algorithme appelant .Une fonction n'affiche jamais la reponse a l'ecran car elle la renvoie simplement a l'algorithme appelant.

Qu est-ce qu'une procedure 

Une procédure est un sous-algorithme, qui peut etre appelé dans un autre algorithme ou dans différents lieux du meme algorithme.

Voici quelque exercice avec solutions pour mieux comprendre 

Exercice 1

Ecrire un algorithme qui a l'aide d'une fonction calcule la somme de deux entiers A et B 

Solution 

Algorithme 
var 
  Fonction
Debut
Som := X +Y
Fin
Debut
  Ecrire ('donner deux entiers A et B postitif :') ;
Lire (A,B) ;
S := som(A,B) ;
ecrire ('la somme de A et B est :', S);
Fin

Exercice 2

Ecrire un algorithme qui a l'aide d'une fonction calcule le produit de deux entiers A et B en utilisant l'addition 

Solution
 
Algorithme Produit
Var A, B : entier 
Fonction prod
Var P , 
  Debut
P:=0;
Pour i:= 1 a y faire
P := P+X ;
FinSi
Prod:=P;
Fin
Debut
ecrire('donner deux entiers A et B positif :'):
Lire (A,B);
Pr :=prod(A,B);
ecrire ('la puissance A'b est :' Pr);
Fin

Exercice 3

Ecrire un algorithme utilisant une fonction qui permet de saisir un nombre entier positif et d'afficher un message indiquant si ce nombre est premier ou non

Solution

Algorithme exo

 Fonction  premier (N : entier) :

Variables

  i : entier

 estPremier : booléen

Debut

  estPremier <-- vrai

  pour i<-- 2 a N div 2 pas 1 faire

Exerice 4

Ecrire une fonction qui calcule la somme de deux entiers

Solution

Algorithme  somme

var 

x,y,z : entier ;

fonction som(a,b : entier) : entier ;

var 

s : entier ;

debut 

s:= a+b ;

som :=s ;

Fin

Debut 

Ecrire ('donner les deux valeurs x et y')

Lire (a,b);

Exercice 5

Ecrire un algorithme utilisant une procedure qui affiche les entiers inferieur a n

Solution

Algorithme affichage 

var 

x : entier ;

procedure affi(a : entier ) : entier ;

var 

i : entier ;

debut

pour i:= la a faire  

Exercice 6

Ecrire un algorithme qui calcule et affiche la valeur absolue d'une valeur en utilisant une fonction 

Solution 

Algorithme val ;

var 

a,b,c : entier ;

Fonction abs (x : entier) : entier ;

var

VA : entier ;

Debut 

si x>= 0 alors va : = x

Exercice 7

En utilisant les procédures , ecrire un algorithme qui affiche les nombres premiers d'un intervalle donné sachant qu'un nombre est premier s'il est divisible uniquement par 1 et soi-meme

Exercice 8

Ecrire un algorithme utilisant une procedure qui permet de saisir un nombre entier positif et d'afficher un message indiquant si ce nombre est premier ou non

Exercice 9

Ecrire un algorithme utilisant une fonction ou une procedure qui demande a l'utilisateur de saisir une année et qui verifie s'elle est bissextile (366 jours) ou non

Exercice 10

Ecrire une fonction qui permet de lire deux nombre calculer la somme et le produit et affiche si ces derniers sont positifs ou negatifs



Les vecteurs exercices corrigees algorithme

Un tableau posséde des dimensions.Un tableau a une dimension est un tableau ligne, aussi appelé vecteur .Ce type de variable est tres utile pour memoriser une liste de données.Un tableau a deux dimensions (lignes , colone) trouve son utilité dans le traitements d'images pour mieux comprendre solvez les exercices suivant

 Exercice 1

Soient V et V deux vecteurs de meme taille , contenant des entiers

Ecrire un algorithme qui permet de :

  • Calculer la somme des elements de V1
  • Calculer la somme des elements de V2
  • Faire une comparaison entre les deux sommes

Exercice 2

Ecrire un algorithme qui crée un tableau de numeriques puis inverse l'ordre de ses elements 

Exercice 3

Ecrire un algorithme qui fait entrer 10 nombres entiers dans un tableau et fait a sépaation entre les nombres positifs et les nombres negatifsen utilisant deux vecteurs

Exercice 4

Soit l'algorithme suivant :
Algorithme  Fait_Quoi
Tab : tabbleau [1 .. 10] de reel 
x:reel 
i : entier 
Debut 
Ecrire ('entrez la valeur a rechercher')
lire (x)
Pour i <-- 0 a 10 faire 
   si x= Tab[i]  Alors 
   Ecrire (X, 'fait partie du tableau')
sinon
Ecrire (X, 'ne fait pas partie du tableau') 
FinPour
Fin
  1. Que fait cet algorithme 
  2. Pensez vous que cet algorithme est correct ? sinon corrigez le

Algorithme : Exercices avec Solution

 L'algorithme est le resultat de l'analyse d'un probleme en utilisant des méthodes et des regles des mathématiques et de la logique pour que celui ci soit presenté a une machine pour mieux comprendre les regles on met a votre disposition une série d'exercices ci dessus


   

 

Exercice 1

Fait le déroulement de l'algorithme suivant en donnant le résultat produit

Algorithme  produit
var V,  D : entier ;
Debut 
V := 2 ;
D :=V * 2;
Ecrire ('v') ;
Ecrire (D) ;
Fin

Solution

Cet algorithme affecte la valeur 2 a la variable V , puis calcule la valeur de la variable D a partir de variable V multipler par 2 , ensuite il affiche la lettre V et non pas le contenu de la variable V et enfin il affiche la valeur de D qui correspond a 4

 Exercice 2

Ecrire un algorithme qui demande un nombre de depart , et qui calcule sa factorielle

Solution 

Algorithme Factorielle 

N, i,  Fact : Entier

Debut 

Ecrire ('Entrez un nombre :')

Lire (N)

Fact <--- 1

pour i <--- 2 a N faire 

  Fact <-- Fact*i

Fin pour 

Ecrire ('la factorielle est:' , Fact)

Fin 

Exerice 3

Ecrrire un programme qui demande un nombre A a l'utilisateur , puis qui calcule et affiche le carré de ce nombre

Solution

Algorithme Carré

Var 

A , C : entier ;

Debut

Ecrire ('donner la valeur de A');

Lire (A) ;

C:= A*A ;

Ecrire ('la carré de A est :' , C);

Fin

Exercice 4

Ecrire un algorithme qui demande un nombre de depart, et qui ensuite ecrit la table de multiplication de ce nombre

Solution 

Algorithme  Table_Mult

N, i : Entier 

Debut 

Ecrire ('entrez un nombre :'

Lire (N)

Ecrire ('La table de multiplication de ce nombre est :')

pour i <--- 1 a 10 faire 

  Ecrire ( N, "x" , i, "=", n*i)

FinPour

Fin

Exercice 3

Ecrire un programme qui permet de lire deux entiers A,B et de claculer leurs somme

Solution

Algorithme somme
Var A , B , C : entier ;
Debut
Ecrire ('donner la valeur de A puis de B');
Lire (A , B);
S : = A+B ;
Ecrire ('La somme de A et B est :', S);

Exercice 4

Ecrire un algorithme qui calcule et affiche le périmetre du cercle dont on sait le rayon

Solution

Algorithme perimetre 
Const
PI=3.14 ;
var
P , R : reel ;
Debut 
Ecrire ('donner la valeur du rayon ');
Lire (N);
P := 2*PI*R ;
Ecrire ('le perimetre du cercle est :' , P);
Fin
Exercice 5
Ecrire un algorithme qui demande deux nombres non nul a l'utilisateur et l'informe ensuite s'ils sont du meme age

Solution

Algorithme signe
Var  A , B : entier ;
Debut
Ecrire ('donner la valeur de A puis de B');
Lire (A, B);
Si a*b > 0  alors ecrire (' A et B sont du meme signe ')
     sinon ecrire ('A et B sont de deux signes differents');
Fin

Exercice 5

Soit une equation du deuxieme degré : ax^2 + bx + c = 0

A,B,C sont des nombres rééls.

Ecrire un algorithme qui premet de résoudre cette équation .

Solution 

Algorithme equation 
  A,B,C :reel
x0,x1,x2:reel
D:reel
Debut
Lire (A)
Lire (B)
Lire (C)
Si ( A=0) et (B=/0) alors 
  ecrire ('equation de premier degré')
x0 <--- -C/B
ecrire ('La solution de l'equation est :' , x0
sinon 
D <--- B*B-4*A*C
Si D=0 alors
x0 <--- -b/ (2*A)

Exercise 6

Ecrire un algorithme qui cherche tous les nombres parfaits entre 1 et N

Solution

Algorithme nb_parfait ;
    c: entier
    s : entier
    k , i : entier
    t : entier
    r : entier
Debut
ecrire ('doner la valeur maximale de intervalle:')
lire(t)
i<-- 1
c<-- 0
tant que i<=t faire
s<--0
pour k<--1 a (i div 2) faire
r<-- i mod k
si r=0 alors
s<-- s+k
finpour
si s=i alors
ecrire ( i , ' est parfait')
c<--c+1
finsi
i<-- i+1
DinTque
si c=0 alors
  ecrire ('t ne contient aucun nombre parfait')
sinon
  ecrire ('le nombre de nombres parfaits est; 'c)
FinSi
Fin

Exercice 7

Ecrire un algorithme qui vérifie si un nombre est premier ou non