Examen principal + Correction ASD

5
Enseignant : Mme Ouaz Ines Année Scolaire 2014-2015 1 1 Institut Des Hautes Etudes de Sousse Niveau : 1 ère année Informatique Matière : ASD I Nombres d’heures : 2H Examen principal : Algorithme & structures de données I Exercice 1 : (5 points) On désire calculer le montant de la facture de l’électricité d’un abonné sachant qu’il paye des frais fixes d’abonnement de 1.700 DT, puis il paye sa consommation selon un tarif à tranches : 0.135 DT / KWH pour les 100 premiers KWH 0.180 DT / KWH pour les 150 KWH suivants 0.210 DT / KWH pour la fraction de consommation qui excède. On doit connaitre pour cet abonné le résultat de relevé du compteur en saisissant l’ancien indice (AI) et le nouvel indice (NI). Ecrire un algorithme d’un programme permettant de calculer et d’afficher la somme à payer (SP). Correction : Consommation C = nouvel indice (NI) ancien indice (AI) avec NI et AI deux données SP = 1700 + les frais de la consommation Les frais de la consommation sont calculés en fonction de la consommation : Si C <= 100 alors SP = 1700 + C * 0.135 Si 100 < C <= 250 alors SP = 1700 + 100 * 0.135 + (C-100) * 0.180 Si C > 250 alors SP = 1700 + 100 * 0.135 + 150 * 0.180 + (C-250) * 0.210 Algorithme Facture_Electricite Variables ni, ai, cons : entiers sp : réels Début Ecrire (‘’L’ancien indice du relevé du compteur :’’) Lire (ai) Ecrire (‘’L’ancien indice du relevé du compteur :’’) Lire (ai) Cons ni-ai Si (cons <=100) alors Sp 1700 + cons * 0.135 Sinon si (100 < cons <= 250) alors Sp 1700 + 100 * 0.135 + (cons-100) * 0.180 Sinon Sp 1700 + 100 * 0.135 + 150 * 0.180 + (cons-250) * 0.210 Fin Si Ecrire (‘’Le montant à payer est : ’’, sp)

Transcript of Examen principal + Correction ASD

Enseignant : Mme Ouaz Ines

An

née

Sco

lair

e 20

14-2

015

1

1 Institut Des Hautes Etudes de Sousse

Niveau : 1ère année Informatique Matière : ASD I Nombres d’heures : 2H

Examen principal : Algorithme & structures de données I

Exercice 1 : (5 points)

On désire calculer le montant de la facture de l’électricité d’un abonné sachant qu’il paye des frais fixes d’abonnement de 1.700 DT, puis il paye sa consommation selon un tarif à tranches : 0.135 DT / KWH pour les 100 premiers KWH 0.180 DT / KWH pour les 150 KWH suivants 0.210 DT / KWH pour la fraction de consommation qui excède.

On doit connaitre pour cet abonné le résultat de relevé du compteur en saisissant l’ancien indice (AI) et le nouvel indice (NI). Ecrire un algorithme d’un programme permettant de calculer et d’afficher la somme à payer (SP). Correction : Consommation C = nouvel indice (NI) – ancien indice (AI) avec NI et AI deux données SP = 1700 + les frais de la consommation Les frais de la consommation sont calculés en fonction de la consommation : Si C <= 100 alors SP = 1700 + C * 0.135 Si 100 < C <= 250 alors SP = 1700 + 100 * 0.135 + (C-100) * 0.180 Si C > 250 alors SP = 1700 + 100 * 0.135 + 150 * 0.180 + (C-250) * 0.210

Algorithme Facture_Electricite Variables ni, ai, cons : entiers sp : réels Début Ecrire (‘’L’ancien indice du relevé du compteur :’’) Lire (ai) Ecrire (‘’L’ancien indice du relevé du compteur :’’) Lire (ai) Cons ni-ai Si (cons <=100) alors Sp 1700 + cons * 0.135 Sinon si (100 < cons <= 250) alors Sp 1700 + 100 * 0.135 + (cons-100) * 0.180 Sinon Sp 1700 + 100 * 0.135 + 150 * 0.180 + (cons-250) * 0.210 Fin Si Ecrire (‘’Le montant à payer est : ’’, sp)

Enseignant : Mme Ouaz Ines

An

née

Sco

lair

e 20

14-2

015

2

2 Institut Des Hautes Etudes de Sousse

Niveau : 1ère année Informatique Matière : ASD I Nombres d’heures : 2H

Fin

Exercice 2: (5 points)

Soit la suite S suivante :

S = 1 + 22

2! + 33

3! + 44

4! + … +

𝑛𝑛

𝑛 ! pour tout n>3

Ecrire un algorithme permettant de calculer la suite S. N étant donné un entier saisie au clavier au début.

Exemple : n= 5 S = 1 + 22

2! +

33

3! +

44

4! +

55

5!

1) Saisir un entier n au clavier 2) Calculer la puissance p de chaque terme 3) Calculer le factoriel de chaque terme 4) Calculer la somme de toute la suite.

Correction :

Saisir un entier n qui doit être supérieur à 3 Calculer la puissance puiss Calculer la somme de 1 à n du rapport puiss/factoriel Algorithme Somme_Suite Variables Puiss, fact, n,i, j : entiers Som : réels Début Répéter Ecrire (‘’Donner un entier n : ’’) Lire(n) Jusqu’à (n>3) Som 1 Pour i de 2 à n faire Puiss 1 Pour j de 1 à i faire Puiss puiss * i Fin Pour Fact 1 Pour j de 1 à i faire fact fact * j Fin Pour Som Som + (puiss/fact) Fin Pour Ecrire (‘’La somme de la suite est : ’’, som)

Enseignant : Mme Ouaz Ines

An

née

Sco

lair

e 20

14-2

015

3

3 Institut Des Hautes Etudes de Sousse

Niveau : 1ère année Informatique Matière : ASD I Nombres d’heures : 2H

Fin

Exercice 3 : (5 points)

Ecrire l’algorithme d’un programme qui permet de convertir un nombre décimal positif en

un nombre binaire.

Exemple : 12(10)= 1100(2) 85(10)=1010101(2)

Indication : pour convertir un nombre décimal n en

binaire, on procède de la manière suivante :

On divise n par 2

On garde le reste de la division à coté

On remplace n par le quotient de la division

On répète les étapes 1, 2 et 3 jusqu’à obtenir un quotient nul.

Le résultat de la conversion est la succession des restes

déterminés, rangés dans l’ordre inverse de leurs

apparitions : le 1er reste apparu sera le chiffre des unités

du nombre binaires.

Correction :

Saisir un entier n positif On divise n par 2 et on garde le reste de la division dans un tableau TBinaire On remplace n par le quotient de la division On répète les étapes jusqu’à obtenir un quotient nul. Algorithme Conversion_Decimal_Binaire Types Tab : Tableau *1..100+ d’entiers Variables N, i, j : entiers TBinaire : Tab Début Ecrire (‘’Donner un entier n :’’) Lire (n) I 1 Répéter TBinaire[i] n MOD 2 n n DIV 2 I i + 1

Enseignant : Mme Ouaz Ines

An

née

Sco

lair

e 20

14-2

015

4

4 Institut Des Hautes Etudes de Sousse

Niveau : 1ère année Informatique Matière : ASD I Nombres d’heures : 2H

Jusuq’à ( n = 0) Ecrire (‘’Le résultat est : ’’) Pour j de i à 1 par pas -1 faire Ecrire(TBinaire[j]) Fin Pour Fin

Exercice 4 : (5 points)

Soient TN, TP et TM trois tableaux contenant chacun n données relatives aux candidats

participants à un concours national, avec 200<=n<=20000.

Le tableau TN contient les noms des candidats, TP contient leurs prénoms et TM contient les

moyennes générales des épreuves passées par chacun des n candidats.

Ecrire un algorithme du programme qui permet d’afficher les noms, prénoms et les

moyennes générales des candidats admis, sachant qu’un candidat n’est admis que s’il y a

une moyenne générale >= 12.

Exemple :

Résultat : La liste des admis : Riahi Fatma 15 Gharbi Skander 16.5 Sayada Ali 18 …

Algorithme Candidats_Concours Types TMoy = Tableau [1..100] de réels TChar = Tableau [1..100] de chaine de caractères Variables TN, TP : TChar TM : TMoy I, n : entiers

Riahi Amar Gharbi Sayada Sallem Haccoun Haddad Taieb Kassabi Marzouk

Fatma Bilel Skander Ali Nesrine Rym Zied Nada Ahmed Walid

15 10 16.5 18 11 12.75 13.25 8.5 10.25 9

Enseignant : Mme Ouaz Ines

An

née

Sco

lair

e 20

14-2

015

5

5 Institut Des Hautes Etudes de Sousse

Niveau : 1ère année Informatique Matière : ASD I Nombres d’heures : 2H

Début Répéter Ecrire (‘’Donner le nombre de candidats : ’’) Lire (n) Jusqu’à (n >= 200 && n <= 20000) Pour i de 1 à n faire Ecrire (‘’Donner le nom du candidat : ’’) Lire(TN[i]) Ecrire (‘’Donner le prénom du candidat : ’’) Lire(TP[i]) Ecrire (‘’Donner la moyenne du candidat : ’’) Lire(TM[i]) Fin Pour Ecrire (‘’Les candidats admis sont : ’’) Pour i de 1 à n faire Si (TM[i] >= 12) alors Ecrire (TN[i], TP[i], TM[i]) Fin Pour Fin