© Mr HousNi *
[email protected]
Contrôle Continu de Langage C Durée: 1h30mn
Questions de cours 1. Y a-t-il une différence entre Algorithme et Programmation, si oui laquelle? 2. Quelle est la différence entre compilation et exécution? 3.C'est quoi le but de la déclaration des variables, et quel est sa signification de point de vue mémoire? 4. Quel est le rôle de l'utilisation des tableaux dans la programmation? Exercice 1 Ecrivez un programme qui permet de calculer Fact = n!, sachant que n! = 1x2x3x...x(n-1)xn Exercice 2 Ecrivez un programme qui permet de: 1. Déclarer un tableau qui contient N éléments. 2. Remplir ce tableau alétoirement par des nombres entres 0 et 30 en utilisant la fonction rand(). 3. En utilisant le modulo (Z=X%Y c-à-d Z est le reste de la division de X par Y, exp: 5%2=1). Afficher séparément les multiples de 2, 3 et 5 appartenant à ce tableau. Exercice 3 Ecrivez un programme qui demande un nombre décimal et affiche sa conversion en binaire, en se servant de l'opérateur div (/ exp: 5/2=2), et de l'opérateur modulo (% 5%2=1).
1/4
© Mr HousNi *
[email protected]
Corrigé Questions de cours 1. L'algorithme est une suite d'opérations permettant de résoudre un problème. La programmation est la traduction de l'algorithme écrit en langage ordinaire en langage de programmation tel que le C. 2. La compilation est la conversion du programme écrit en C par exemple en langage machine, ce qui ressemble à des suites de 0 et de 1 compréhensibles par le matériel. L'éxécution est faire exécuter le programme par la machine. 3. La déclaration des variables permet leurs manipulation dans le corps du programme, et cela signifie qu'on a réservé des emplacements dans la mémoire principale (RAM) qu'on a nommé avec les noms de ces variables. 4. L'utilisation des tableaux en programmation permet d'entrer plusieurs valeurs consécutives, et de les manipuler par leurs indices. Exercice 1 /* programme calculant le factoriel d'un nombre n */ #include
// fonctions d'entrées/sorties #include // fonctions générales main() { // déclaration des variables int n; int i; int Fact=1; // lecture de la valeur de n printf("Donner n: "); scanf("%d",&n); // calcul de factoriel for(i=1;i<=n;i++) Fact=Fact*i; // affichage de factoriel printf("\n%d!=%d\n\n",n,Fact); // pause systeme system("PAUSE"); }
2/4
© Mr HousNi * [email protected]
Exercice 2 /*
Programme qui déclare un tableau de dimension N donnée par l'utilisateur, et qui remplie ce tableau avec des valeurs aléatoires comprises entre 0 et 30, et qui affiche séparément les multiples de 2, 3 et 5 appartenant à ce tableau */ #include #include #include main() { int N; // la taille du tableau int i; // le compteur // lecture de N printf("Donner N: "); scanf("%d",&N); int t[N]; // déclaration du tableau srand(time(NULL)); /* initialisation du générateur des valeurs aléatoires */ // remplissage et affichage du tableau for(i=0;i
3/4
© Mr HousNi * [email protected]
Exercice 3 /* Programme qui lit un entier N et le convertit en binaire
*/
#include #include main() { int N, M; // l'entier N int cmpt=0; // compteur pour la boucle while int i; //compteur // lecture de N printf("Donner N: "); scanf("%d",&N); M=N; // calcul de la taille du tableau de conversion while(M!=0){ cmpt++; M=M/2; } // déclaration du tableau int t[cmpt]; // conversion binaire de N cmpt=0; while(N!=0){ t[cmpt]=N%2; cmpt++; N=N/2; } // affichage de la conversion binaire de N for(i=cmpt-1;i>=0;i--) printf("%d",t[i]);
}
// passage à la ligne et system pause printf("\n"); system("PAUSE");
4/4