Top Posters
Since Sunday
o
1
1
A free membership is required to access uploaded content. Login or Register.

Exercices Algorithmique.docx

Uploaded: 6 years ago
Contributor: redsmile
Category: Data Structures
Type: Other
Rating: N/A
Helpful
Unhelpful
Filename:   Exercices Algorithmique.docx (37.07 kB)
Page Count: 10
Credit Cost: 1
Views: 109
Last Download: N/A
Transcript
Algorithmique et programmation : Exercices d’algorithmique 1. Exécuter les algorithmes partiels suivants et déterminer les valeurs qui seront affichées à l'écran 1.1 a <-- 10 b <-- 20 c <-- 15 a <-- b b <-- c Ecrire (a, b, c) 1.2 a <-- 10 b <-- 30 c <-- b - a b <-- b / 10 Ecrire (a, b, c) 1.3 a <-- 10 b <-- a * 2 Lire (a) ´(on lit la valeur 5) Ecrire (a, b) 2.1 Etant donnés un taux de TVA et le prix brut d'une machine à café, écrire un algorithme qui calcule et affiche le prix T.T.C. 2.2 Modifier l’algorithme obtenu pour faire ce calcul 10 fois ainsi qu’un nombre de fois indéterminé 3.1 Faire un algorithme qui propose la conversion d’une somme introduite en euro en un montant en francs suisse, selon un taux de change fixe et selon un taux de change variable. 3.2 Etendre l’algorithme précédent pour qu’il puisse effectuer des conversions monétaires de manière générique et selon les souhaits de l’utilisateur. 4.1 Un démarcheur à domicile est rémunéré avec un salaire fixe de 3000 Sfr par mois. Il perçoit aussi une commission qui représente 5% du montant des ventes qu'il a réalisé. Le salaire ainsi obtenu est également augmenté de 10 % pour prendre en compte ses frais de déplacement. Ecrire un algorithme qui calcule son salaire étant donné le montant des ventes réalisé. 4.2 Transformer l’algorithme précédent afin qu’il s’applique à un certain nombre de vendeurs. 5.1 - Ecrire un algorithme qui affecte et permute la valeur de deux variables. 5.2 - Ecrire un algorithme qui affecte et permute la valeur de trois variables. 6 Exécuter les algorithmes partiels suivants et déterminer les valeurs qui seront affichées à l'écran. 6.1 a <-- 20 b <-- 30 Si a > b Alors a <-- b Sinon b <-- a Fsi Ecrire (a, b) 6.2 a <-- 56 Lire (b) ´(la valeur lue est 12) Si b = a Alors Ecrire (b*2) Sinon Ecrire (a / 2) Fsi 7 Un concessionnaire automobile désire qu'on écrire à l'intention de ses clients un algorithme qui calcule les frais mensuels d'utilisation des voitures qu'il vend. Etant donné le nombre de kilomètres que parcourt le client en une année, le type de carburant utilisé (G pour diesel et E pour essence), et la cylindrée de la voiture, écrire l'algorithme sachant que : Si la voiture est à essence et la cylindrée est supérieure à 2000 cm3, le coût du carburant est calculé en tenant compte que la voiture consomme 10 litres aux 100 km. Si la voiture est à essence et la cylindrée est inférieure à 2000 cm3, le coût du carburant est calculé en tenant compte que la voiture consomme 8 litres aux 100 km. Si la voiture est à diesel, le coût du carburant est calculé en tenant compte que la voiture consomme 8 litres aux 100 km. Un surcoût de 70 % pour les frais d'entretien est appliqué aux véhicules diesel. Un surcoût de 60 % pour les frais d'entretien est appliqué aux véhicules essence. 8.1 Un transporteur routier vous demande d'écrire un algorithme qui lui permette de calculer les frais de transport des colis qu'il véhicule sachant que : La taxe de base applicable à tout colis est de 50 Sfr. Si le colis pèse plus de 60 Kg, une surtaxe de 10 Sfr par kilo supplémentaire est ajoutée. Si une des dimensions (largeur, longueur, hauteur) du colis dépasse 1mètre, 20 Sfr sont perçus. 10% du total obtenu sont ajoutés pour tout trajet supérieur à 100 Km. Etant donnés la largeur, la hauteur, la longueur, le poids du colis et la distance à parcourir, écrire un algorithme qui calcule le prix à payer pour le transport d'un colis. 8.2 Reprendre l’algorithme précédent afin qu’il calcul le prix du transport pour un certain nombre de colis. 9 Exécuter les algorithmes partiels suivants et déterminer les valeurs qui seront affichées à l'écran. 9.1 n <-- 4 a <-- 0 Pour i allant de 1 à n Faire Lire (x) ´(on lira 1, 4, 6, 9) a <-- a + x Fait Ecrire (a) 9.2 n <-- 4 a <-- 0 Pour i allant de 1 à n Faire Lire (x) ´(on lira 1, 4, 6, 9) Si x > 5 Alors a <-- a + x Fsi Fait Ecrire (a) 9.3 x <-- 10 Tant que x > 0 Faire x <-- x - 3 Fait Ecrire (x) 9.4 a <-- 9 x <-- 0 Répéter x <-- x + a Jusqu'à x > 20 Ecrire (x) 10. Expliquer pourquoi les algorithmes partiels suivants sont faux et les corriger. 10.1 Pour i allant de 1 à 7 Faire Lire (x) Si x > 0 Alors b <-- b + 1 Fsi Fait Ecrire (b) 10.2 a <-- 0 s <-- 0 Tant que a = 0 Faire Lire (x) s <-- s + 1 Fait Ecrire (s) 10.3 x <-- 0 Répéter x <-- x + 2 Jusqu'à x = 23 Ecrire (x) 11 Soit le corps de l’algorithme suivant : vars <-- 0 Pour i allant de 1 à 30 Faire Lire (nombre) vars <-- vars + nombre Fait Ecrire (vars) On vous demande: - Que calcule cet algorithme ? - Récrire cet algorithme en utilisant une boucle Tant Que. - Récrire cet algorithme en utilisant une boucle Répéter. 12 Ecrire un algorithme qui calcule la factorielle d'un nombre entré au clavier. On rappelle que: 0! = 1 n! = n * (n-1)! Corrigé des exercices d'algorithmique Exercice 1 a = 20, b = 15, c = 15. a = 10, b = 3, c = 20. a = 5, b = 20. Exercice 2 tauxTVA : le taux de TVA dans le pays en question. prixBrut : le prix de la machine à café hors taxe. prixTTC : le prix de la machine toutes taxes comprises. tauxTVA <- 0.076 'Initialisation de variable Lire(prixBrut) prixTTC <- prixBrut * (1 + tauxTVA) Ecrire(prixTTC). a) faire le calcul 10 fois tauxTVA : le taux de TVA dans le pays en question. prixBrut : le prix de la machine à café hors taxe. prixTTC : le prix de la machine toutes taxes comprises. tauxTVA <- 0.076 'Initialisation de variable Pour i allant de 1 à 10 Faire Lire(prixBrut) prixTTC <- prixBrut * (1 + tauxTVA) Ecrire(prixTTC) Fait b) faire le calcul un nombre de fois indéterminé tauxTVA : le taux de TVA dans le pays en question. prixBrut : le prix de la machine à café hors taxe. prixTTC : le prix de la machine toutes taxes comprises. tauxTVA <- 0.076 'Initialisation de variable continuer <- ‘o’ 'Initialisation de variable Tant que continuer = 'o' Faire Lire(prixBrut) prixTTC <- prixBrut * (1 + tauxTVA) Ecrire(prixTTC) Lire(continuer) Fait Exercice 3 a) Taux de change fixe tauxChange : le taux de change Suisse/France. montantEuro : le montant de Euro. montantCH : le montant de francs suisse. tauxChange <- 1.25 'Initialisation de variable Lire(montantEuro) montantCH = montantEuro * tauxChange Ecrire(montantCH) b) Taux de change variable tauxChange : le taux de change Suisse/France. montantEuro : le montant de Euro. montantCH : le montant de francs suisse. Lire(tauxChange) Lire(montantEuro) montantCH = montantEuro * tauxChange Ecrire(montantCH) Conversions génériques pays1 : le premier pays, celui dont on dispose de la monnaie. pays2 : le deuxième pays, celui dont on veut la monnaie. tauxChangePays1Pays2 : le taux de change entre ces deux pays. montantPays1 : le montant de monnaie du pays 1. montantPays2 : le montant de monnaie du pays 2. Lire(pays1) Lire(pays2) Lire(tauxChangePays1Pays2) Lire(montantPays1) montantPays2 <- montantPays1 * tauxChangePays1Pays2 Ecrire(montantPays2) Exercice 4 Pour un vendeur partieFixe : montant du salaire fixe. commission : taux de commission pour un vendeur. déplacement : taux d’indemnisation pour les frais de déplacement. ventes : montant de ventes réalisé par un vendeur. salaire : salaire calculé pour un vendeur. partieFixe <- 3000 'Initialisation de variable commission <- 0.05 'Initialisation de variable deplacement <- 0.1 'Initialisation de variable Lire(ventes) salaire <- partieFixe + ventes * commission salaire <- salaire * (1 + deplacement) Ecrire(salaire) 4.2 Pour un certain nombre de vendeurs partieFixe : montant du salaire fixe. commission : taux de commission pour un vendeur. déplacement : taux d’indemnisation pour les frais de déplacement. ventes : montant de ventes réalisé par un vendeur. salaire : salaire calculé pour un vendeur. nombreVendeurs : le nombre de vendeurs pour lesquels il faut effectuer le calcul. i : variable de compteur. partieFixe <- 3000 'Initialisation de variable commission <- 0.05 'Initialisation de variable deplacement <- 0.1 'Initialisation de variable Lire(nombreVendeurs) Pour i allant de 1 à nombreVendeurs Lire(ventes) salaire <- partieFixe + ventes * commission salaire <- salaire * (1 + deplacement) Ecrire(salaire) Fait Exercice 5 Permuter 2 nombres a : premier nombre b : deuxième nombre. c : variable de même type que a et b, afin de stocker l’une d’entre elles. Lire(a) Lire(b) c <- a a <- b b <- c Ecrire(a,b) Permuter 3 nombres a : premier nombre b : deuxième nombre. c : troisième nombre. d : variable de même type que a et b, afin de stocker l’une d’entre elles. Lire(a) Lire(b) Lire(c) d <- a a <- b b <- c c <- d Exercice 6 a = 20, b = 20. a = 28. Exercice 7 Calculer les frais mensuels d’utilisation nombreKM : le nombre de kilomètres parcourus par un client en une année. typeCarburant : le type de carburant utilisé, soit ‘E’ soit ‘D’. cylindree : la cylindrée de la voiture du client. consommation : la consommation du véhicule calculée en litres. prixEssence : le prix du carburant (essence ou diesel). primes : prime annuelle calculée. surcoutEssence, surcoutDiesel : surcoût calculé par le concessionnaire en fonction du type de véhicule. primeMois : la prime mensuelle que le client devra payé. surcoutEssence <- 0.6 surcoutDiesel <- 0.7 Lire(nombreKM) Lire(typeCarburant) Lire(cylindree) Si (typeCarburant = ‘E’) Alors Si (cylindree > 2000) Alors consommation <- nombreKM * (10/100) Sinon consommation <- nombreKM * (8/100) FSI primes <- ((prixEssence * consommation) * (1 + surcoutEssence)) Sinon consommation <- nombreKM * (8/100) primes <- ((prixDiesel * consommation ) * (1 + surcoutDiesel)) FSI primeMois <- prime / 12 Ecrire(primeMois) Exercice 8 Pour un certain nombre de colis somme : la somme totale que devra payer le client. n : nombre de colis i : variable de boucle. frais : taxe de base pour tous les colis. poids, largeur, longueur, hauteur : dimensions du colis. distance : distance du trajet à parcourir par le colis. somme <- 0 'Initialisation de variable Lire(n) Pour i allant de 1 à n Faire frais <- 50 Lire(poids) Lire(largeur) Lire(longueur) Lire(hauteur) Lire(distance) Si (poids > 60) Alors frais <- frais + 10 * (poids - 60) Fsi Si (largeur > 120) ou (hauteur > 120) ou (longueur > 120) Alors frais <- frais + 20 Fsi Si (distance > 100) Alors frais <- frais * 1.1 Fsi somme <- somme + frais Fait Ecrire(somme) Exercice 9 20 15 –2 27 Exercice 10 b n’a pas été initialisée et on ne connaît donc pas sa valeur initiale. Il faut donc lui en donner une : par exemple ‘b 0’ avant la boucle. La boucle ne modifie pas a qui est dans la condition : a restera égal à zéro et la boucle sera infinie. Il faudrait par exemple lire(a) au lieu de lire(x), ainsi si l’on entre une valeur différent de zéro, la boucle s’arrête. 0, la valeur initiale est une nombre pair, et la boucle lui ajoute deux à chaque fois : x ne vaudra donc jamais 23, puisqu’il passera de 22 à 24, et la condition d’arrêt de la boucle ne sera jamais remplie. Une condition d'arrêt comme ‘x >=23’ serait alors plus approprié (ou x = 24). Exercice 11 - Avec Tant que : vars <- 0 'Initialisation de variable i <- 1 'Initialisation de variable Tant que i <= 30 Faire Lire(nombre) vars vars + nombre i i+1 Fait Ecrire (vars) - Avec Répéter vars <- 0 'Initialisation de variable i <- 1 'Initialisation de variable Répéter Lire(nombre) vars vars + nombre i i + 1 Jusqu’à i > 30 Ecrire (vars) Exercice 12 Calculer la factorielle d’un nombre entier. n : nombre entier dont on calcule la factorielle. f : variable de calcul qui stocke la valeur intermédiaire de la factorielle. i : variable de boucle. n <- (-1) ‘initialisation afin de pouvoir rentrer dans la boucle. Tant que n < 0 Faire Lire(n) ‘Tant que l’utilisateur n’a pas entré un nombre positif on reboucle. Fait f <- 1 Pour i allant de 1 à n Faire f <- f * i Fait Ecrire(f)

Related Downloads
Explore
Post your homework questions and get free online help from our incredible volunteers
  817 People Browsing
 160 Signed Up Today
Your Opinion
Which 'study break' activity do you find most distracting?
Votes: 820