Upload
gogol-plex
View
912
Download
0
Embed Size (px)
DESCRIPTION
Contrôle continu de Langage C avec corrigé
Citation preview
© Mr HousNi * [email protected]
Contrôle Continu de Langage CDuré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 <stdio.h> // fonctions d'entrées/sorties#include<stdlib.h> // 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 <stdio.h>#include <stdlib.h>#include<time.h>
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<N;i++) { t[i]=rand()%31; printf("%d, ",t[i]); } // affichage des multiples de 2, 3 et 5 appartenant au tableau printf("\nLes multiples de 2 dans le tableau sont:\n"); for(i=0;i<N;i++) if(t[i]%2==0) printf("%d ",t[i]); printf("\nLes multiples de 3 dans le tableau sont:\n"); for(i=0;i<N;i++) if(t[i]%3==0) printf("%d ",t[i]); printf("\nLes multiples de 5 dans le tableau sont:\n"); for(i=0;i<N;i++) if(t[i]%5==0) printf("%d ",t[i]); // passage à la ligne et pause systeme printf("\n"); system("PAUSE");}
3/4
© Mr HousNi * [email protected]
Exercice 3
/* Programme qui lit un entier N et le convertit en binaire*/
#include <stdio.h>#include <stdlib.h>
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