Exercices corrigés sur les bases de la programmation
Dans ces exercices de programmation, nous nous concentrerons sur les bases de la programmation. Après avoir terminé ces exercices, vous apprendrez la structure de base et la sémantique d'un programme et comment écrire des programmes mathématiques.
Tous les problèmes sont résolus en utilisant les trois langages de programmation les plus utilisés comme C, Python et Java
Exercice 1
Écrivez un programme qui lit deux nombres à partir de l'utilisateur, puis calcule leur somme.
- Saisir le premier nombre : 7
- Saisir le deuxième nombre : 8
Données de sortie
- La somme = 15
Corrigé
#include <stdio.h> int main() { int nb1, nb2, somme; /* * Lecture des deux nombres */ printf("Saisir le premier nombre : "); scanf("%d", &nb1); printf("Saisir le deuxième nombre :"); scanf("%d", &nb2); /* calculer la somme */ somme = nb1 + nb2; /* Afficher le résultat */ printf("la somme = %d", somme); return 0; }
nb1=int(input('Saisir le premier nombre :')) nb2=int(input('Saisir le deuxième nombre :')) somme = nb1 + nb2 print("la somme = ", somme)
import java.util.Scanner; public class Test { public static void main(String[] variables) { Scanner clavier = new Scanner(System.in); int nb1, nb2, somme; // Fournir les données d'entrée System.out.print("Saisir le premier nombre : "); nb1 = clavier.nextInt(); clavier.nextLine(); // récupérer le caractère de touche Entrée abandonné System.out.print("Saisir le deuxième nombre :"); nb2 = clavier.nextInt(); clavier.nextLine(); // calculer la somme somme = nb1 + nb2; // Afficher le résultat System.out.println("la somme = " + somme); // fermer les ressources clavier.close(); } }
Exercice 2
Écrivez un programme qui lit la longueur et la largeur d'un rectangle en entrée et calcule ensuite son périmètre.
$$ perimetre = 2(longueur+largeur) $$
- Saisir la longueur : 5
- Saisir la largeur : 10
Données de sortie
- le périmètre = 30
Corrigé
#include <stdio.h> int main() { float longueur, largeur, perimetre; /* * Fournir les données */ printf("Saisir la longueur : "); scanf("%f", &longueur); printf("Saisir la largeur: "); scanf("%f", &largeur); /* Calculer le perimètre */ perimetre = 2 * (longueur + largeur); /* Afficher le résultat */ printf("le périmètre = %f ", perimetre); return 0; }
longueur=float(input('Saisir la longueur :')) largeur=float(input('Saisir la largeur:')) perimetre = 2 * (longueur + largeur) print("le périmètre = ", perimetre)
import java.util.Scanner; public class Test { public static void main(String[] variables) { Scanner clavier = new Scanner(System.in); float longueur, largeur, perimetre; // Fournir les données d'entrée System.out.print("Saisir la longueur : "); longueur = clavier.nextFloat(); clavier.nextLine(); // récupérer le caractère de touche Entrée abandonné System.out.print("Saisir la largeur : "); largeur = clavier.nextFloat(); clavier.nextLine(); // Calculer le perimètre perimetre = 2 * (longueur + largeur); // Afficher le résultat System.out.println("le périmètre = " + perimetre); // fermer les ressources clavier.close(); } }
Exercice 3
Écrivez un programme qui lit la longueur en centimètres en entrée et la convertit ensuite en mètres et kilomètres.
- Saisir la longueur en centimètres : 1000
Données de sortie
- Longueur en mètres = 10 m
- Longueur en Kilomètres = 0.01 km
Corrigé
#include <stdio.h> int main() { float cm, metre, km; /* fournir la longueur en cm */ printf("Saisir la longueur en centimètres : "); scanf("%f", &cm); /* Convertir en m et km */ metre = cm / 100.0; km = cm / 100000.0; printf("Longueur en mètres = %.2f m \n", metre); printf("Longueur en Kilomètres = %.2f km", km); return 0; }
cm = float(input('Saisir la longueur en centimètres :')) metre = cm / 100.0 km = cm / 100000.0 print("Longueur en mètres = {0} m".format(metre)) print("Longueur en Kilomètres = {0} km".format(km))
import java.util.Scanner; public class Test { public static void main(String[] variables) { Scanner clavier = new Scanner(System.in); float cm, metre, km; // fournir la longueur en cm System.out.print("Saisir la longueur en centimètres : "); cm = clavier.nextFloat(); // Convertir en m et km metre = cm / 100; km = cm / 100000; // Afficher le résultat System.out.println("Longueur en mètres = " + metre + " m \n"); System.out.println("Longueur en Kilomètres = " + km + " km"); // fermer les ressources clavier.close(); } }
Exercice 4
Écrivez un programme pour saisir le nombre de jours de l'utilisateur et convertissez-le en années, semaines et jours.
- Saisir le nombre de jours : 373
Données de sortie
- 1 an(s)
- 1 semaine(s)
- Jour(s) : 1 jour(s)
Corrigé
#include <stdio.h> int main() { int jours, annees, semaines; /* Fournir le nombre de jours */ printf("Saisir le nombre de jours : "); scanf("%d", &jours); /* Conversion */ annees = (jours / 365); semaines = (jours % 365) / 7; jours = jours - ((annees * 365) + (semaines * 7)); /* afficher le résultat */ printf("%d an(s) \n", annees); printf("%d semaine(s) \n", semaines); printf("%d jour(s)", jours); return 0; }
jours = int(input('Saisir le nombre de jours : ')) annees = (jours // 365) semaines = (jours % 365) // 7 jours = jours - ((annees * 365) + (semaines * 7)) print("{0} an(s) \n".format(annees)) print("{0} semaine(s) \n".format(semaines)) print("{0} jour(s)".format(jours))
import java.util.Scanner; public class Test { public static void main(String[] variables) { Scanner clavier = new Scanner(System.in); int jours, annees, semaines; // Fournir les données d'entrée System.out.print("Saisir le nombre de jours : "); jours = clavier.nextInt(); // Conversion annees = (jours / 365); semaines = (jours % 365) / 7; jours = jours - ((annees * 365) + (semaines * 7)); // afficher le résultat System.out.println(annees + " an(s)"); System.out.println(semaines + " semaine(s)"); System.out.println(jours + " jour(s)"); // fermer les ressources clavier.close(); } }
Exercice 5
Écrivez un programme qui lit deux nombres en entrée à partir de l'utilisateur et trouve ensuite leur puissance.
- Saisir la base : 6
- Saisir l'exposant : 2
Données de sortie
- 6 ^ 2 = 36
Corrigé
#include <stdio.h> #include <math.h> // Used for pow() function int main() { double base, expo, puissance; /* fournir la base et l'exposant */ printf("Saisir la base : "); scanf("%lf", &base); printf("Saisir l'exposant : "); scanf("%lf", &expo); /* calculer la puissance */ puissance = pow(base, expo); printf("%.2lf ^ %.2lf = %.2lf", base, expo, puissance); return 0; }
import math base = float(input('Saisir la base : ')) expo = float(input("Saisir l'exposant : ")) puissance = math.pow(base, expo) print('{0} ^ {1} = {2}'.format(base, expo, puissance))
import java.util.Scanner; import java.lang.Math; public class Test { public static void main(String[] variables) { Scanner clavier = new Scanner(System.in); double base, expo, puissance; // Fournir les données d'entrée System.out.print("Saisir la base : "); base = clavier.nextDouble(); System.out.print("Saisir l'exposant : "); expo = clavier.nextDouble(); // calculer la puissance puissance = Math.pow(base, expo); // Afficher le résultat System.out.println(base + " ^ " + expo + " = " + puissance); // fermer les ressources clavier.close(); } }
Exercice 6
Écrivez un programme pour saisir un nombre et calculer sa racine carrée.
- Saisir un nombre : 9
Données de sortie
- La racine carrée du 9 = 3
Corrigé
#include <stdio.h> #include <math.h> int main() { double nb, racine; /* Fournir un nombre */ printf("Saisir un nombre : "); scanf("%lf", &nb); /* Calculer la racine */ racine = sqrt(nb); /* Afficher le résultat */ printf("La racine carrée du %.2lf = %.2lf", nb, racine); return 0; }
import math nb = int(input('Saisir un nombre : ')) racine = math.sqrt(nb) print("La racine carrée du {0} = {1}".format(nb, racine))
import java.util.Scanner; import java.lang.Math; public class Test { public static void main(String[] variables) { Scanner clavier = new Scanner(System.in); double nb, racine; // Fournir les données d'entrée System.out.print("Saisir un nombre : "); nb = clavier.nextDouble(); // Calculer la racine racine = Math.sqrt(nb); // Afficher le résultat System.out.println("La racine carrée du " + nb + " = " + racine); // fermer les ressources clavier.close(); } }
Exercice 7
Écrivez un programme pour saisir deux angles de l'utilisateur et trouver le troisième angle du triangle.
$$a + b + c= 180 $$
- Angles : 50 30
Données de sortie
- 3ème angle = 100
Corrigé
#include <stdio.h> int main() { int a, b, c; /* Fournir les angles */ printf("Angles : "); scanf("%d%d", &a, &b); /* Calculer la 3ème angle */ c = 180 - (a + b); /* Afficher le résultat */ printf("3ème angle = %d", c); return 0; }
a=int(input('Saisir angle 1')) b=int(input('Saisir angle 2')) c = 180 - (a + b) print("3eme angle = ", c)
import java.util.Scanner; import java.lang.Math; public class Test { public static void main(String[] variables) { Scanner clavier = new Scanner(System.in); int a, b, c; // Fournir les données d'entrée System.out.print("Saisir angle 1 : "); a = clavier.nextInt(); System.out.print("Saisir angle 2 : "); b = clavier.nextInt(); // Calculer la 3ème angle c = 180 - (a + b); // Afficher le résultat System.out.println("3ème angle = " + c); // fermer les ressources clavier.close(); } }
Exercice 8
Écrivez un programme pour saisir la base et la hauteur d'un triangle et trouver la surface du triangle donné.
$$ surface = \frac{h*b}{2}$$
- Saisir la base : 15
- Saisir la hauteur : 30
Données de sortie
- La surface est = 225
Corrigé
#include <stdio.h> int main() { float base, hauteur, surface; /* Fournir la base et la hauteur */ printf("Saisir la base : "); scanf("%f", &base); printf("Saisir la hauteur: "); scanf("%f", &hauteur); /* Calculer la surface */ surface = (base * hauteur) / 2; /* Afficher le résultat */ printf("La surface est = %.2f", surface); return 0; }
base = float(input('saisir la base : ')) hauteur = float(input('Saisir la hauteur : ')) surface = (base * hauteur) / 2 print("La surface est = ", surface)
import java.util.Scanner; public class Test { public static void main(String[] variables) { Scanner clavier = new Scanner(System.in); float base, hauteur, surface; // Fournir les données d'entrée System.out.print("Saisir la base : "); base = clavier.nextFloat(); System.out.print("Saisir la hauteur: "); hauteur = clavier.nextFloat(); // Calculer la surface surface = (base * hauteur) / 2; // Afficher le résultat System.out.println("La surface est = " + surface); // fermer les ressources clavier.close(); } }
Exercice 9
Écrivez un programme pour saisir les notes de cinq matières d'un élève et calculer le total, la moyenne et le pourcentage de toutes les matières.
- Saisir les notes de 5 matières : 10 11 12 13 14
Données de sortie
- Total = 60
- Moyenne = 12
- Pourcentage = 12.00 %
Corrigé
#include <stdio.h> int main() { float mat1, mat2, mat3, mat4, mat5; float total, moyenne, pourcentage; /* Fournir les notes */ printf("Saisir les notes de 5 matières : "); scanf("%f%f%f%f%f", &mat1, &mat2, &mat3, &mat4, &mat5); /* Calculer les résultats */ total = mat1 + mat2 + mat3 + mat4 + mat5; moyenne = total / 5.0; pourcentage = (total / 500.0) * 100; /* Afficher les résultats */ printf("Total = %.2f\n", total); printf("Moyenne = %.2f\n", moyenne); printf("Pourcentage = %.2f", pourcentage); return 0; }
mat1 = float(input('Saisir la 1ere note : ')) mat2 = float(input('Saisir la 2eme note : ')) mat3 = float(input('Saisir la 3eme note : ')) mat4 = float(input('Saisir la 4eme note : ')) mat5 = float(input('Saisir la 5eme note : ')) total = mat1 + mat2 + mat3 + mat4 + mat5 moyenne = total / 5.0 pourcentage = (total / 500.0) * 100 print("Total = ", total) print("Moyenne = ", moyenne) print("Pourcentage = ", pourcentage)
import java.util.Scanner; public class Test { public static void main(String[] variables) { Scanner clavier = new Scanner(System.in); float mat1, mat2, mat3, mat4, mat5; float total, moyenne, pourcentage; // Fournir les données d'entrée System.out.print("Saisir la 1ere note : "); mat1 = clavier.nextFloat(); System.out.print("Saisir la 2eme note : "); mat2 = clavier.nextFloat(); System.out.print("Saisir la 3eme note : "); mat3 = clavier.nextFloat(); System.out.print("Saisir la 4eme note : "); mat4 = clavier.nextFloat(); System.out.print("Saisir la 5eme note : "); mat5 = clavier.nextFloat(); // Calculer la surface total = mat1 + mat2 + mat3 + mat4 + mat5; moyenne = total / 5; pourcentage = (total / 500) * 100; // Afficher le résultat System.out.println("Total = " + total); System.out.println("Moyenne = " + moyenne); System.out.println("Pourcentage = " + pourcentage); // fermer les ressources clavier.close(); } }
Exercice 10
Écrivez un programme pour saisir le côté d'un triangle équilatéral de l'utilisateur et trouvez la surface du triangle donné.
$$surface=\frac{\sqrt{3}}{4} * d^2$$
- Saisir le côté d'un triangle : 30
Données de sortie
- La surface du triangle = 389.71
Corrigé
#include <stdio.h> #include <math.h> // Used for sqrt() function int main() { float cote, surface; /* Fournir le côté */ printf("Saisir le côté d'un triangle : "); scanf("%f", &cote); /* Calculer la surface */ surface = (sqrt(3) / 4) * (cote * cote); /* Afficher le résultat */ printf("La surface du triangle = %.2f", surface); return 0; }
import math cote = float(input("Saisir le cote d'un triangle :")) surface = (math.sqrt(3) / 4) * (cote * cote) print("La surface du triangle = ", surface)
import java.util.Scanner; import java.lang.Math; public class Test { public static void main(String[] variables) { Scanner clavier = new Scanner(System.in); double cote, surface; // Fournir les données d'entrée System.out.print("Saisir le côté d'un triangle : "); cote = clavier.nextDouble(); // Calculer la surface surface = (Math.sqrt(3) / 4) * (cote * cote); // Afficher le résultat System.out.println("La surface du triangle " + surface); // fermer les ressources clavier.close(); } }