0% ont trouvé ce document utile (0 vote)
37 vues3 pages

Contrôle de Programmation S4 - Exemples

Le document présente plusieurs exercices de programmation en langage C. Les exercices portent sur des boucles for, do-while et switch ainsi que sur la décomposition d'un nombre en somme de ses chiffres. Des solutions détaillées aux exercices sont fournies.

Transféré par

ferdaousse2004
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
37 vues3 pages

Contrôle de Programmation S4 - Exemples

Le document présente plusieurs exercices de programmation en langage C. Les exercices portent sur des boucles for, do-while et switch ainsi que sur la décomposition d'un nombre en somme de ses chiffres. Des solutions détaillées aux exercices sont fournies.

Transféré par

ferdaousse2004
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université CADI AYYAD Année universitaire 2011/2012

Faculté des Sciences Semlalia


Département de Physique
Marrakech

Contrôle de Rattrapage SMP S4


Programmation
Durée 2h

Exercice 1.1 :

Soit le programme suivant :


main()
{
int i;
for(i=5;i<=9;i++)
printf("bonjour\n");
printf("%d",i*i);
}

Exécutez-le à la main et écrivez sur la feuille d’examen les affichages attendus.

Solution

bonjour
bonjour
bonjour
bonjour
bonjour
100

Exercice 1.2:

Soit le programme suivant:


main()
{
int i,N=5;
do{

for(i=0;i<=N; i++)printf("*");
N--;
printf("\n");
}while(N>=0);
}

[Link] page facebook


a. Donnez sur la feuille d’examen l’affichage produit à l’exécution de ce code.
b. Sans modifier le résultat produit par le programme, Remplacer l’instruction “do
while” par l’instruction ″for″ et l’instruction ″for″ par ″do while″, réécrire ce
programme.

Solution :

******
*****
****
***
**
*

Exercice 1.3:

Etant donné le programme suivant

main()
{
char t[]={'i','n','f','o','r','m','a','t','i','q','u','e'};
int i,k,N=12;
for(i=0;i<N;i++) printf("%c",t[i]);
printf("\n");
for(i=0;i<N;i++)
{
switch(t[i])
{
case 'a':k=0;break;
case 'e':k=0;break;
case 'i':k=0;break;
case 'o':k=0;break;
case 'u':k=0;break;
case 'y':k=0;break;
default:k=1;
}
if(k) printf("%c",t[i]);
}
}

Ecrire sur la feuille l’affichage produit à l’exécution de ce programme.

Solution
informatique
nfrmtq

Exercice 2:

[Link] page facebook


On veut écrire un programme qui réalise la somme des chiffres qui composent un nombre N.
Par exemple : Pour N= 563, on calcule la somme 5+6+3 soit un total égal à 14. On doit
prendre en considération que si la somme est strictement supérieure à 9, on fait encore la
somme des chiffres qui compose ce total. Dans l’exemple, on un total de 14, alors on fait 1+4
soit 5. C’est le résultat final.
Ecrire un programme qui :
a- Lit un nombre entier N au clavier. De préférence supérieur à 100.
b- Trouver le moyen d’isoler les chiffres qui composent N en utilisant les operateurs
arithmétiques adaptés.
c- Faire la somme des chiffres. Si cette somme est supérieure à 9 recommencer l’étape
précédente jusqu’à ce que la somme soit inferieure à 10.
d- Dans le cas où cette somme est égale à 9, 6 ou 3 alors afficher que N est multiple de 3.

Solution :

Soit N le nombre à décomposer (563 par exemple). N est déclaré de type int. Soit
Som(initialement nul) la somme des éléments de N(dans le cas de N=563 on a : Som=5+6+3)
Etape 1 : N%10 donne le reste R de la division de N par 10. Pour 563 ça donne 3 (colonne
des unités). On ajoute R à la som
Etape 2 : N/10 donne la division entière de N par 10. Pour 563 ça donne 56. On affecte à N
cette nouvelle valeur N=N/10 et on recommence l’étape 1 tant que N est supérieur à 0.
A la fin de chaque étape 1 on stock R dans la somme, on doit vérifier si som n’est pas
supérieure strictement à 9. Si som est supérieure à 9 alors on doit la remplacer par :
som=som/10+som%10 ou som=som-9

#include<stdio.h>
main()
{
int N, som = 0, N_mem;
scanf("%d", &N);
N_mem = N;
do
{
som = som + N%10;
if(som>9) som=som/10+som%10;
///if (som>9) som = som - 9;
N = N/10;
}while(N);
printf("som=%d",som);
if(som==3||som==6||som==9)printf("\n%d est multiple de
trois",N_mem);
}

[Link] page facebook

Vous aimerez peut-être aussi