adplus-dvertising

Exercices corrigés sur les bases de la programmation

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.

Exemple :
Données d'entrée 
  • 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) $$

Exemple :
Données d'entrée 
  • 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.

Exemple :
Données d'entrée 
  • 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.

Exemple :
Données d'entrée 
  • 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.

Exemple :
Données d'entrée 
  • 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.

Exemple :
Données d'entré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 $$

Exemple :
Données d'entrée 
  • 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}$$

Exemple :
Données d'entrée 
  • 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.

Exemple :
Données d'entrée 
  • 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$$

Exemple :
Données d'entrée 
  • 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();
    }
}
                                        
Partager ce cours avec tes amis :
 
Rédigé par ESSADDOUKI Mostafa
ESSADDOUKI
The education of the 21st century opens up opportunities to not merely teach, but to coach, mentor, nurture and inspire.