Entier : 42, Caractère : A, Réel : 3.140000
TD1A
Bases de l’algorithmique et du C
27 août 2025
Exercice 1: Configuration de VSCode
et Hello World!
- Démarrer sur Linux.
- Télécharger l’archive
zip
du dossier du TP disponible sur le dépôt https://framagit.org/benabel/r101-c. - Extraire l’archive
zip
présent dans le dossierTéléchargements
vers le dossierDocuments
. - Ouvrir VSCode et ouvrir le dossier précédent (
Menu Fichier > Ouvrir un dossier
). - Installer les extensions recommandées pour le codage C (cliquer sur la notification en bas à droite).
- Dans l’explorateur de fichiers à gauche ouvrir le fichier
td00/main.c
. - Exécuter le fichier en appuyant sur le bouton situé en haut de l’écran.
- Vérifier la sortie attendue dans le terminal en bas de l’écran.
Exercice 2: Premier programme
Pour organiser nos fichiers, nous créerons un dossier par td avec un sous-dossier par exercice. Le programme principal sera appelé main.c
.
Dans l’explorateur de fichiers de VSCode, créer un dossier
td1a
puis un sous-dossierex2
et enfin un fichiermain.c
.Écrivez un programme qui affiche “Bonjour Monde!” à l’écran. L’exécuter avec le bouton et vérifier la sortie dans le terminal.
Ouvrir le terminal dans le dossier de
main.c
grâce à un clic droit sur le fichier dans l’explorateur à gauche. Compiler le programme grâce à gcc avec la commandegcc main.c -o main
et exécuter le programme avec la commande./main
.
Exercice 3: Introduction aux variables et types de base
- Écrivez un programme qui déclare trois variables de types différents (
int
,char
,double
), leur affecte des valeurs, puis les affiche à l’écran.
- Expliquez la différence entre déclaration, affectation et définition d’une variable en C. Donnez un exemple pour chaque cas.
- Écrivez un programme qui lit deux entiers au clavier, calcule leur somme et leur produit, puis affiche les résultats.
Entrez deux entiers : 7
5
Somme : 12, Produit : 35
Exercice 4: Instructions conditionnelles
Écrivez un programme qui lit un entier et affiche s’il est pair ou impair.
Modifiez le programme précédent pour qu’il affiche aussi si l’entier est divisible par 3.
Écrivez un programme qui lit trois entiers et affiche le plus grand des trois.
Exercice 5: Calculatrice
Coder une mini-calculatrice:
- elle affiche « Bonjour ! »
- elle demande deux nombres entiers à l’utilisateur
- elle les additionne, soustrait, multiplie et les divise et affiche ces résultats
- elle affiche « Au revoir :) »
Bonjour !
Veuillez saisir le premier nombre: 12
Veuillez saisir le deuxième nombre: 15
Calculs:
12 + 15 = 27
12 - 15 = -3
12 * 15 = 180
12 / 15 = 0.800
Au revoir :)
Exercice 6: Conversion de température
Pour convertir des degrés Fahrenheit en degrés Celsius, on a la formule suivante:
où F est une température en degrés Fahrenheit et C la température correspondante en degrés Celsius.
- Écrire un programme qui convertit une température entrée au clavier exprimée en degrés Fahrenheit et affiche une valeur approchée de la même température en degrés Celsius. Les températures seront exprimées par des nombres flottants.
Entrez une température en °F: 100.0
Temperature de 37.778080 °C
Exercice 7: ACLASSER
Exercice 8: Algorithme d’Euclide par divisions successives
Nous avons vu dans le cours l’algorithme d’Euclide pour calculer le PGCD de deux nombres entiers en utilisant des soustractions successives. Vous allez maintenant réécrire cet algorithme en utilisant des divisions successives.
Vous trouverez les explications de cette version de l’algorithme sur Wikipédia.
L’opération informatique permettant de calculer le reste d’une division est appelée modulo. En C, l’opérateur modulo est %
.
- Commencer par écrire le pseudo-code de ce nouvel algorithme.
- Écrire le programme en C correspondant à ce pseudo-code.
Exercice 9: Entrées et sorties avec printf
et scanf
Dans l’exercice 2, la modification des valeurs des variables a et b se fait manuellement dans le fichier main.c, ce qui n’est pas pratique. La fonction scanf permet de récupérer des caractères entrés aux claviers et de les utiliser dans le programme.
- Créer un nouveau programme et utiliser le code suivant:
Observer le fonctionnement du programme.
Améliorer le programme en affichant d’abord le message «Entrer un nombre:
».
- Modifier le programme pour entrer un 2e entier qui sera appelé
b
.
À l’aide de deux printf
, afficher des messages: a est plus grand ou égal b: 0 ou 1 selon que le test est faux ou vrai a est plus petit ou égal à b: 0 ou 1 selon que le test est faux ou vrai.
Remarque: plusieurs points gênants apparaissent, mais ne sont pas encore traités.
L’utilisation de é et à affiche des caractères bizarres dans le printf
. De plus, scanf
ne vérifie pas qu’un nombre est entré. Que se passe-t-il si on tape n
comme nombre entier? Ces problèmes seront traités dans les chapitres ultérieurs.
Exercice 10: Variables et opérations
Créer un nouveau projet et démarrer avec le programme ci-dessous. Nous travaillons avec une fonction: main
, ce qui permet de simplifier la structure du projet en se passant de fichier en-tête.
int main() {
int a, b;
// Récupération des valeurs a et b
printf("Entrez la valeur de a: ");
scanf("%i", &a);
printf("Entrez la valeur de b: ");
scanf("%i", &b);
// Additions directes
printf("Main somme 1: a + b = %i\n", a + b);
return 0;
}
- Quelles sont les 3 parties qui composent la fonction
main
? Donner leurs utilités.
- Qu’affiche ce programme?
- À la suite de la somme et avant l’instruction
return
, modifier le programme afin d’ajouter 1 à b puis de calculer de nouveau la somme et d’afficher sa valeur en l’appelant somme 2.