Académique Documents
Professionnel Documents
Culture Documents
Examen
Outils Informatiques
CORRECTION
16 décembre 2008
1 QCM (3 pts)
1.1. Le mot algorithme a été défini par Ada Lovelace en référence à
A Al Khuwarizmi, mathématicien arabe, précurseur de l’algèbre
B l’étymologie grecque de la locution « processus logique » introduite par le philosophe Aristote
C son père, le poète Lord Byron, comte de Gorith
Début
I <- 0 ;
Tant que (I <10)
I <- i+1 ;
Afficher (I) ;
Fin Tant que
Fin.
Cet algorithme :
A affiche la somme des entiers de 1 à 10 inclus
B affiche 10
C affiche tous les entiers de 1 à 10 inclus
1.5. Sous Excel, le tracé d’une fonction f(x) s’effectue en utilisant l’option
A nuage de points
B courbe
C surface
1.6. Soit une feuille de calcul sous Excel. La formule =A2-2 est contenue dans la cellule C1. Si
le contenu de cette cellule est copié dans la cellule D3, quel est le contenu de la cellule
D3 après l’opération ?
A =A2-2
B =B4-2
C =B4+A2
../..
Université Paul Sabatier – Licence 3 SDI – Outils Informatiques– Examen –2008/2009 – page 2/4
2.3 Citer les types de base du langage C. Donnez les avantages et inconvénients de définir un
nouveau type de données ?
Le langage C comporte quatre types de bases : int (entiers), float (nombres flottants), double (nombres
flottants double précision) et char (caractère assimilables à des entiers courts)
Définir un nouveau type de données permet de manipuler plus facilement un ensemble de données cohérentes
pour le problème traité : il est en effet plus facile, par exemple, de manipuler des données de type « vecteur »
qu’un ensemble de coordonnées x,y,z que le programmeur fait correspondre avec la notion de vecteur.
L’inconvénient (si cela en est vraiment un) est que la définition de ce nouveau type n’est pas « standard » et
doit donc être faite pour chaque nouveau problème à traiter
3. Algorithmique (5 pts)
Ecrire un algorithme qui utilise les structures de contrôle de l’algorithmique qui permet de calculer et d’afficher
la somme de N nombres positifs minorée du plus grand et du plus petit nombre entrés par l’utilisateur (l’entrée
du nombre -1 clôt l’entrée des données).
Vous utiliserez la méthode de raffinage des algorithmes pour exprimer le résultat.
scanf("%d",&nombre);
while (nombre >= 0)
{
// vérifier si le nombre est max ou min
if (nombre < min)
{
min = nombre;
}
if (nombre > max)
{
Université Paul Sabatier – Licence 3 SDI – Outils Informatiques– Examen –2008/2009 – page 3/4
max = nombre;
}
return(1);
}
4. Programmation en C (6 pts)
4.1. factorielle
Ecrire la fonction factorielle qui renvoie la factorielle d’un nombre positif ou nul
while (i <= x)
{
facto = facto * i;
i++;
}
return(facto);
}
float sinus(float x)
{
int i=0;
float sin=0.0;
while (i<=5)
{
sin = sin + (((float) moins_un_exposant_n(i)/factorielle(2*i+1))*pow(x,2*i+1));
i++;
Université Paul Sabatier – Licence 3 SDI – Outils Informatiques– Examen –2008/2009 – page 4/4
}
return(sin);
}
4.4. un programme
Ecrire maintenant un programme principal qui utilise les fonctions précédentes affiche successivement les
valeurs sinus(0), sinus(π/2), sinus(π) et sinus (3π/2)
#include <math.h>
#define PI 3.14
int main()
{
int i=0;
for (i=0;i<4;i++)
printf("Valeur de sinus(%d*PI/2) = %f\n",i,sinus(i*PI/2));
return(1);
}