Exercices corrigés - Python et Langage C - TD1

Exercices corrigés - Python et Langage C - TD1

Exercice 1

Ecrire un programme qui permet de saisir un nombre puis déterminer s’il appartient à un intervalle donné, sachant que les extrémités de l’intervalle sont fixées par l’utilisateur.


Solution :
                                                #include <stdio.h>
                                                int main(void)
                                                {
                                                    int a, b, val;
                                                    printf("Saisir une valeur pour [a - ");
                                                    scanf("%d", &a);
                                                    printf("Saisir une valeur pour b] - ");
                                                    scanf("%d", &b);
                                                
                                                    printf("Saisir une valeur - ");
                                                    scanf("%d", &val);
                                                
                                                    if (val >= a && val <= b)
                                                    {
                                                        printf("%d appartient à l'intervalle [%d, %d]", val, a, b);
                                                    }
                                                    else
                                                    {
                                                        printf("%d n'appartient pas à l'intervalle [%d, %d]", val, a, b);
                                                    }
                                                
                                                    return 0;
                                                }
                                        
                                            a = int(input("saisir [a :"))
                                            b = int(input("saisir b]:"))
                                            val = int(input("saisir une valeur :"))
                                            if a <= val <= b:
                                                print(val, "appartient a l'intervalle [", a, ", ", b, "]")
                                            else:
                                                print(val, "n'appartient pas a l'intervalle [", a, ", ", b, "]")
                                        

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant

Saisir une valeur pour [a - 2
Saisir une valeur pour b] - 7
Saisir une valeur - 4
4 appartient à l'intervalle [2, 7]

Exercice 2

Ecrire un programme qui demande deux nombres à l’utilisateur et l’informe ensuite si leur produit est négatif ou positif. Attention toutefois on ne doit pas calculer le produit des deux nombres.


Solution :
                                                #include <stdio.h>
                                                int main(void)
                                                {
                                                    int a, b, val;
                                                    printf("Saisir une valeur pour a - ");
                                                    scanf("%d", &a);
                                                    printf("Saisir une valeur pour b - ");
                                                    scanf("%d", &b);
                                                
                                                    if ((a > 0 && b > 0) || (a < 0 && b < 0))
                                                    {
                                                        printf("Le produit est positif");
                                                    }
                                                    else
                                                    {
                                                        printf("Le produit est négatif (ou nul)");
                                                    }
                                                
                                                    return 0;
                                                }
                                        
                                            a = int(input("saisir a : "))
                                            b = int(input("saisir b : "))
                                            if a > 0 and b > 0 or a < 0 and b < 0:
                                                print("le produit est positif")
                                            else:
                                                print("le produit est négatif")
                                        

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant

Saisir une valeur pour a - 2
Saisir une valeur pour b - -3
Le produit est négatif (ou nul)

Exercice 3

Ecrire un programme qui permet de calculer le montant des heures supplémentaires d’un employé, sachant le prix unitaire d’une heure,  selon le barème suivant :

  •  Les 39 premières heures sans supplément,
  •  De la 40ième à la 44ième heure sont majorées de 50%,
  •  De la 45ième à la 49ième heure sont majorées de 75%,
  •  De la 50ième heure ou plus, sont majorées de 100%.

Solution :
                                                #include <stdio.h>
                                                int main(void)
                                                {
                                                    int nbheures;
                                                    float prix, montant;
                                                    printf("saisir le nombre d heures - ");
                                                    scanf("%d", &nbheures);
                                                
                                                    printf("saisir le prix unitaire d'une heure - ");
                                                    scanf("%f", &prix);
                                                
                                                    montant = 0;
                                                    if (nbheures <= 39)
                                                        montant = 0;
                                                    else if (nbheures < 45)
                                                        montant = (nbheures - 39) * (prix * 1.5);
                                                    else if (nbheures < 50)
                                                        montant = (5 * prix * 1.5) + (nbheures - 44) * (prix * 1.75);
                                                    else
                                                        montant = (5 * prix * 1.5) + (5 * prix * 1.75) + (nbheures - 49) * (prix * 2);
                                                    printf("le montant des heures supplementaires est : %f", montant);
                                                
                                                    return 0;
                                                }
                                        
                                                nbheures = int(input("saisir le nombre d heures"))
                                                prix = float(input("saisir le prix unitaire d une heure"))
                                                montant = 0
                                                if nbheures <= 39:
                                                    montant = 0
                                                elif nbheures < 45:
                                                    montant = (nbheures-39)*(prix*1.5)
                                                elif nbheures < 50:
                                                    montant = (5*prix*1.5)+(nbheures-44)*(prix*1.75)
                                                else:
                                                    montant = (5*prix*1.5)+(5*prix*1.75)+(nbheures-49)*(prix*2)
                                                print("le montant des heures supplementaires est : ", montant)
                                        

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant

saisir le nombre d heures - 50
saisir le prix unitaire d'une heure - 100
le montant des heures supplementaires est : 1825.000000

Exercice 4

Ecrivez un programme qui lira au clavier l’heure et les minutes, et il affichera l’heure qu’il sera une minute plus tard.
Par exemple, si l'utilisateur tape 21 puis 32, le programme doit répondre : "Dans une minute, il sera 21 heure(s) 33".
NB : on suppose que l'utilisateur entre une heure valide. Pas besoin donc de la vérifier.


Solution :
                                                #include <stdio.h>
                                                int main(void)
                                                {
                                                    int heure, minutes;
                                                    printf("saisir l'heure - ");
                                                    scanf("%d", &heure);
                                                    printf("saisir les minutes - ");
                                                    scanf("%d", &minutes);
                                                    if (heure < 23)
                                                    {
                                                        if (minutes == 59)
                                                        {
                                                            heure += 1;
                                                            minutes = 0;
                                                        }
                                                        else
                                                            minutes += 1;
                                                    }
                                                    else
                                                    {
                                                        if (minutes == 59)
                                                        {
                                                            heure = 0;
                                                            minutes = 0;
                                                        }
                                                        else
                                                            minutes += 1;
                                                    }
                                                    printf(" après une minute l'heure est %d:%d", heure, minutes);
                                                
                                                    return 0;
                                                }
                                        
                                                heure=int(input("saisir l heure : ")) 
                                                minutes=int(input("saisir les minutes : ")) 
                                                if heure<23 :
                                                    if minutes==59 : 
                                                        heure+=1
                                                        minutes=0 
                                                    else :
                                                        minutes+=1 
                                                else :
                                                    if minutes==59 : 
                                                        heure=0
                                                        minutes=0 
                                                    else :
                                                        minutes+=1
                                                print(" après une minute l'heure est ",heure,":",minutes)
                                        

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant

saisir l'heure - 23
saisir les minutes - 59
après une minute l'heure est 0:0

Exercice 5

Ecrire un programme qui à partir d’une note affiche la mention correspondante ?


Solution :
                                                #include <stdio.h>
                                                int main(void)
                                                {
                                                    float note;
                                                    printf("Saisir une note - ");
                                                    scanf("%f", ¬e);
                                                    if (note < 10)
                                                        printf("non admis");
                                                    else if (note < 12)
                                                        printf("passable");
                                                    else if (note < 14)
                                                        printf("assez bien");
                                                    else if (note < 16)
                                                        printf("bien");
                                                    else if (note <= 20)
                                                        printf("très bien");
                                                    else
                                                        printf("saisir une note valide");
                                                
                                                    return 0;
                                                }
                                        
                                                note=float(input("saisir une note : ")) 
                                                if note<10 :
                                                    print("non admis") 
                                                elif note<12 :
                                                    print("passable") 
                                                elif note<14 :
                                                    print("assez bien") 
                                                elif note<16 :
                                                    print("bien") 
                                                elif note<=20 :
                                                    print("tres bien") 
                                                else :
                                                    print("saisir une note valide")
                                        

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant

Saisir une note - 13.75
assez bien

Rédigé par M. ESSADDOUKI

Many people realize their hearts desires late in life. Continue learning, never stop striving and keep your curiosity sharp, and you will never become too old to appreciate life.