Episode 4
Challenge 1 : utilisation de la boucle « while »
☐ Créer un nouveau fichier nommé « exercice26.c ».
☐ Ecrire le code source suivant :
#include <stdio.h>
int main()
{
while(1)
{
printf("1 0 1 1 ");
}
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Voici un aperçu du résultat qui doit s’afficher :
Il ne faut pas avoir peur, ce n’est pas le film « The Matrix » . Fermer juste la fenêtre.
☐ Créer un nouveau fichier nommé « exercice27.c ».
☐ Ecrire le code source suivant :
#include <stdio.h>
int main()
{
int i = 1, s = 0;
while(i < 11)
{
s = s + i;
i = i + 1;
printf("s = %d\n", s);
}
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Voici un aperçu du résultat qui doit s’afficher :
☐ Adapter l’instruction « printf() » pour afficher le résultat comme suit :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Dans le code source ci-dessus, la valeur limite c’est 11. Modifier ce code pour que la valeur limite soit saisie
au clavier. Voici un aperçu du résultat qui doit s’afficher si l’on saisit la valeur 16 :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Ajouter la possibilité de saisir la valeur de début au clavier. Voici un aperçu du résultat qui doit s’afficher si
l’on saisit la valeur 5 pour la valeur de début et 13 pour la valeur limite :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Ajouter aussi la possibilité de saisir la valeur d’incrément de la variable « i » au lieu que ça soit 1 par défaut.
Voici un aperçu du résultat qui doit s’afficher si l’on saisit la valeur 5 pour la valeur de début, 13 pour la valeur
limite et 2 comme valeur d’incrément :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice28.c ».
☐ Ecrire un code source qui demande de saisir deux valeurs, l’une pour le début et l’autre pour la limite. Le code
devra afficher uniquement les valeurs paires se trouvant entre les deux premières valeurs saisies. Voici un aperçu
du résultat qui doit s’afficher si l’on saisit la valeur 1 pour la valeur de début et 10 pour la valeur limite :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice29.c ».
☐ Ecrire le code source suivant :
#include <stdio.h>
int main()
{
int n;
printf("Saisir une valeur entre 8 et 31 : ");
scanf("%d", &n);
if(n > 8 && n < 31)
{
printf("Valeur correcte\n");
}
else
{
printf("Valeur incorrecte\n");
}
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Voici un aperçu du résultat qui doit s’afficher :
☐ Adapter le code source ci-dessus pour que l’on continue à saisir la valeur de la variable « n » si elle n’est pas
dans l’intervalle requis. Voici un aperçu du résultat qui doit s’afficher :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Ajouter aussi le nombre d’essai après qu’on ait saisit une valeur correcte. Voici un aperçu du résultat qui doit
s’afficher :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Cocher la case de cette ligne si on a bien compris comment utiliser la boucle « while » sinon il est recommandé
de reprendre le challenge 1 dès le début.
Challenge 2 : utilisation de la boucle « for »
☐ Créer un nouveau fichier nommé « exercice30.c ».
☐ Ecrire le code source suivant :
#include <stdio.h>
int main()
{
for( ; 1 ; )
{
printf("* - . ");
}
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Voici un aperçu du résultat qui doit s’afficher :
Ce n’est pas le film « StarWar » . Fermer juste la fenêtre.
☐ Créer un nouveau fichier nommé « exercice31.c ».
☐ Ecrire le code source suivant :
#include <stdio.h>
int main()
{
int n, f, i;
n = 5;
f = 1;
i = 1;
for( ;i <= n; )
{
f = f * i;
i = i + 1;
}
printf("La factorielle de %d donne %d\n", n, f);
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Voici un aperçu du résultat qui doit s’afficher :
☐ Le code source ci-dessus pouvait être écrit autrement de manière simplifiée grâce à la boucle for. Modifier et
adapter le code source comme suit :
#include <stdio.h>
int main()
{
int n, f, i;
n = 5;
f = 1;
for(i = 1;i <= n;i = i + 1)
{
f = f * i;
}
printf("La factorielle de %d donne %d\n", n, f);
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Le résultat sera le même que précédemment :
☐ Modifier de nouveau le même code source pour que la valeur de la variable « n » soit saisie au clavier. Voici
un aperçu du résultat qui doit s’afficher si l’on saisit la valeur 7 :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Transformer une partie du code source ci-dessus en une fonction nommée « factorielle » pour compléter le
code source suivant :
int main()
{
int n, f;
printf("Donner une valeur : ");
scanf("%d", &n);
f = factorielle(n);
printf("La factorielle de %d donne %d\n", n, f);
return 0;
}
Voici un aperçu du résultat si la fonction « factorielle » a été bien créée :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Cocher la case de cette ligne si on a bien compris comment utiliser la boucle « for » sinon il est recommandé
de reprendre le challenge 2 dès le début.
Challenge 3 : utilisation de la boucle « do while »
☐ Créer un nouveau fichier nommé « exercice32.c ».
☐ Ecrire le code source suivant :
#include <stdio.h>
int main()
{
do
{
printf(":) :-) ");
}while(1);
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Voici un aperçu du résultat qui doit s’afficher :
Un peu de sourire, ça fait du bien. Fermer juste la fenêtre.
☐ Créer un nouveau fichier nommé « exercice33.c ».
☐ Ecrire le code source suivant :
#include <stdio.h>
int main()
{
int v;
do
{
printf("Donner une valeur > 0 : ");
scanf("%d", &v);
}while(v <= 0);
printf("C'est bon!\n");
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Voici un aperçu du résultat qui doit s’afficher :
☐ Adapter le code source ci-dessus pour que la valeur saisie ne soit pas non plus supérieure à ou égale à 100.
Voici un aperçu du résultat qui doit s’afficher :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice34.c ».
☐ Ecrire un code source qui produirait exactement le résultat ci-dessous en utilisant la boucle « do while »:
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Cocher la case de cette ligne si on a bien compris comment utiliser la boucle « do while » sinon il est
recommandé de reprendre le challenge 3 dès le début.
Challenge 4 : dessiner dans la console des rectangles ou des carrés avec des caractères
☐ Créer un nouveau fichier nommé « exercice34.c ».
☐ Ecrire le code source suivant :
#include <stdio.h>
int main()
{
int i, j, b;
b = 10;
for(i=1; i <= b; i++)
{
printf("* ");
}
printf("\n");
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Voici un aperçu du résultat qui doit s’afficher :
On peut considérer ce petit dessin avec des « * » comme une ligne.
☐ Modifier le code source en ajoutant une nouvelle boucle « for » au-dessus de la boucle « for » précédente :
#include <stdio.h>
int main()
{
int i, j, b, a;
b = 10;
a = 10;
for(j=1; j <= a; j++)
{
for(i=1; i <= b; i++)
{
printf("* ");
}
printf("\n");
}
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Voici un aperçu du résultat qui doit s’afficher :
On a à peu près dessiné un carré ou un rectangle.
☐ Adapter le code source précédent pour que les valeurs des variables « a » et « b » soit saisies au clavier comme
longueur et largeur. Voici un aperçu du résultat qui doit s’afficher si l’on saisit 7 et 17 :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Adapter de nouveau le code source pour qu’il affiche des points « . » sur des lignes paires et des étoiles « * »
sur des lignes impaires. Voici un aperçu du résultat qui doit s’afficher si l’on saisit 11 et 11 :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Adapter de nouveau le code source pour qu’il affiche des points « . » à l’intérieur des étoiles « * ». Voici un
aperçu du résultat qui doit s’afficher si l’on saisit 12 et 12 :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Cocher la case de cette ligne si on a bien compris comment utiliser la boucle « for » et les conditions pour
faire des petits dessins comme des rectangles sinon il est recommandé de reprendre le challenge 4 dès le début.
Challenge 5 : dessiner dans la console des triangles avec des caractères
☐ Créer un nouveau fichier nommé « exercice35.c ».
☐ Ecrire le code source suivant :
#include <stdio.h>
int main()
{
int i, j,a;
a = 10;
for(i=1; i <= a; i++)
{
for(j=1; j <= i; j++)
{
printf("* ");
}
printf("\n");
}
return 0;
}
Enregistrer les modifications avant de compiler & exécuter. Voici un aperçu du résultat qui doit s’afficher :
☐ Adapter le code source ci-dessus pour que la valeur de la variable « a » soit saisie au clavier comme la taille
du triangle. Voici un aperçu du résultat qui doit s’afficher si l’on saisit 7 :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Adapter de nouveau le code source pour qu’il affiche des points « . » à l’intérieur des étoiles « * ». Voici un
aperçu du résultat qui doit s’afficher si l’on saisit 15 :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Cocher la case de cette ligne si on a bien compris comment utiliser la boucle « for » pour faire des petits
dessins comme des triangles sinon il est recommandé de reprendre le challenge 5 dès le début.
Challenge 6 : dessiner dans la console des formes avancées avec des caractères. Ce challenge n’est pas obligatoire
pour passer à la saison suivante mais celui ou celle qui le fera aura maitrisé l’art de manipuler les boucles et les
conditions dans tous les sens.
☐ Créer un nouveau fichier nommé « exercice36.c ».
☐ Ecrire un code source qui produirait exactement le résultat suivant :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice37.c ».
☐ Ecrire un code source qui produirait exactement le résultat suivant :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice38.c ».
☐ Ecrire un code source qui produirait exactement le résultat suivant :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice39.c ».
☐ Ecrire un code source qui produirait exactement le résultat suivant :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice40.c ».
☐ Ecrire un code source qui produirait exactement le résultat suivant :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice41.c ».
☐ Ecrire un code source qui produirait exactement le résultat suivant :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice42.c ».
☐ Ecrire un code source qui produirait exactement le résultat suivant :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice43.c ».
☐ Ecrire un code source qui produirait exactement le résultat suivant :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice44.c ».
☐ Ecrire un code source qui produirait exactement le résultat suivant :
Ou si l’on saisit 13 et 5 :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Créer un nouveau fichier nommé « exercice45.c ».
☐ Ecrire un code source qui produirait exactement le résultat suivant :
Ensuite valider votre code source avec l’assistant avant de passer à l’étape suivante.
☐ Cocher la case de cette ligne si on a bien compris comment manipuler les boucles pour faire des dessins
avancés sinon il est recommandé de reprendre le challenge 6 dès le début.
La suite au prochain episode