10/04/ COURS DE LOGIQUE DE PROGRAMMATION 1 ère Multimédia IAD Professeur: Mauricio Caroca
10/04/2015 2Introduction La logique de programmation, pourquoi ? Elle facilite l’analyse d’un programme Elle facilite sa compréhension Elle facilite l’écriture du programme
10/04/ A l’aide de votre logique et d’un schéma séquentiel, réalisez une suite d’ instructions à donner au µp pour réaliser la moyenne de trois côtes sur 20, si la moyenne est >10 on imprime « réussi », si elle est < 10 on imprime « à recommencer » et on recommence la séquence jusqu’à la réussite. Exercice 1:
10/04/ Outils : Les Ordinogrammes décomposer un programme en différents éléments moins complexes. Représenter par un schéma le cheminement à imposer au micro-ordinateur
10/04/ Ordinogramme exercice 1 DEBUT Entrer: a,b,c X = (a+b+c)/3 X > 10 « reussi » FIN « à recommencer » oui non
10/04/ Les figures utilisées Indique le début, la fin ou l’interruption de la procédure. Indique l’entrée de données ou la sortie de résultats Indique un traitement de données Symbolise une question, un test. Connecteur fin de page Connecteur de flux Direction des flux
10/04/ Exercice 2 : Etablissez un ordinogramme permettant à un joueur de trouver un chiffre de 0 à 9 en interrogeant le µp. ce dernier devra répondre « EXACT » en cas de réponse correcte et « TROP GRAND » ou « TROP PETIT » suivant le cas. Le chiffre à trouver est introduit par un autre joueur au début du programme.
10/04/ Ordinogramme exercice 2 DEBUT Entrer: x Entrer: y y = x oui non « exact » FIN y > x « trop petit » « trop grand » oui non
10/04/ Récapitulatif La logique de programmation facilite : L’analyse d’un programme. Son écriture. Sa compréhension. Les Ordinogrammes: Représentent un cheminement à imposer au µ-processeur Décomposer un programme en élements moins complexes.
10/04/ Exercice 3 Representez le problème suivant sous forme d’ordinogramme : - Détailler la procédure de calcul du salaire net en gérant les heures supplémentaires payées 150% et 200% en sachant que : 1.- Si un employé travaille 40 hrs par semaine ou moins, il est payé au salaire horaire multiplié par le nombre d’heures travaillées. 2.- Si un employé travaille entre 40 et 50 hrs. Par semaine, il est payé au salaire horaire multiplié par 40 hrs. Plus le salaire horaire multiplié par 1,5 et par le nombre d’heures comprises entre 40 et 50 heures par semaine. 3.- Si un employé travaille plus de 50 hrs. Par semaine, il est payé pour chaque semaine au salaire horaire multiplié par deux pour les heures dépassant les 50 hrs hebdomadaires, plus 10 heures à 1,5 fois le salaire horaire, plus 40 fois le salaire horaire par semaine.
10/04/ Solution exercice 3: Début Nbre d’hrs? Hrs < 40 ? Paye = Taux horaire * nbre hrs A oui non Hrs < 50 ? oui Paye = Taux horaire * 40 Hrs.supp = 1.5 * (nbre d’hrs – 40)* taux horaire non 1 Tot = Paye + Hrs.supp A
10/04/ Solution suite : 1 Paye = Taux horaire * 40 Hrs.supp = 1.5 *10*taux horaire Hrs.supp dble = 2*(nbre d’hrs – 50 )*taux horaire Imprimer chéque A Fin Tot = paye + hrs.supp + hrs.supp dble
10/04/ Exercice 4 Etablissez l’ordinogramme qui permet d’imprimer le résultat de la factorielle n ( n! = le produit des n premiers nombres)
10/04/ Solution exercice 4 Début Entrer N ? R=0 Z=1 R=R+1 Z=Z*R R=N Imprimer Z fin oui B B Non A A
10/04/ Exercice 5 Etablissez l’ordinogramme pour un joueur qui décide de risquer une somme d’argent à la roulette. Il veut jouer dix fois de suite en rajoutant sur la mise précédente le double de celle-ci; imprimer le numéro de la mise, le montant, le total joué. Exemple : Numéro de la mise = 1 Montant de la mise = 100 euro Total joué = 100 euro Numéro de la mise = 2 Montant de la mise = 200 euro Total joué = 300 euro Numéro de la mise = 3 Montant de la mise = 400 euro Total joué = 700 euro
10/04/ Solution exercice 5 Début Entrer M ? N=0 Z=0 N=N+1 N 10 oui Non fin A A Z=Z+M Imprimer num. de la mise N Imprimer montant M Imprimer total joué Z M=M*2 B B
10/04/ Exercice 6 Representez l’ordinogramme d’un appel téléphonique à un ami 1.- Supposez que vous n’entendiez pas la tonalité lorsque vous décrochez le combiné. 2.- Supposez que le téléphone de votre ami sonne occupé. 3.- Supposez que votre ami soit chez lui et qu’il réponde. 4.- Supposez que votre ami soit absent. 5.- Supposez que votre ami soit absent, mais que sa mère réponde
10/04/ Solution exercice 6 Début Aller au téléphone Décrocher le combiné Tonalité ? Composer le numéro occupé ? Pas de réponse ? racrocher le combiné B Non Oui racrocher le combiné A Attendre 10 minutes racrocher le combiné A Attendre 2 heures Non Oui 1 A
10/04/ Suite solution : 1 il repond? Non Oui Parler à votre ami Demander votre ami Est-il Chez lui? Non Oui Attendre votre ami Parler à votre ami C Racrocher le combiné Fin C C B
10/04/ Exercice 7 Etablissez l’ordinogramme permettant d’une part d’afficher les carrés des nombres de 5 à 10 et ensuite de calculer et afficher le nombre qui est égal à la somme du carré précédent et celui en cours.
10/04/ Solution exercice 7 DEBUT M=0 I=4 I=I+1 I >10 FIN Oui A A N=I*I Imprimer N S=M+N Imprimer S M=N B B Non
10/04/ Exercice 8 Etablissez l’ordinogramme permettant d’obtenir l’intérêt simple d’un capital (C) placé pendant 2,4,6,8,10,12 mois (N) au taux (R). La formule est : I =C*R*N / (12*100) C et R sont introduits en Input. Exemple de présentation : capital = Taux = 7 % Durée = 2 Intérêt =
10/04/ Solution exercice 8 DEBUT INPUT C INPUT R N=0 N = 12 FIN A A N=N+2 I = C*R*N / ( 12*100) Imprimer Capital = C Imprimer Taux = R Imprimer Durée = N Imprimer Intérêt = I B B Oui Non
10/04/ Exercice 9 Etablissez l’ordinogramme permettant d’entrer uniquement des nombres paires, si ce n’est pas le cas afficher « on ne peut entrer que des nombres paires » si c’est un nombre paire afficher « bravo ».
10/04/ Solution exercice 9 DEBUT INPUT N N = N - 2 N < 0 Oui Non N = 0 Oui Non « Bravo » Fin « on ne peut entrer que des nombres paires »
10/04/ Etablissez l’ordinogramme permettant d’afficher ou imprimer Z en sachant que: - on entre la variable N (seulement nombres paires) - la variable C égale à toutes les factorielles des nombres paires. (en dessous et y compris N) - la variable A égale à toutes les factorielles des nombres impaires (en dessous et y compris N+1). - B = A*A - Z = B – C (« C » étant la factorielle du nombre paire juste précédent A) Exemple - N = 2 - C=2 A = 2*3 = 6 et B = 6*6 =36 Z = 36 – 2 = 34 Afficher « 34 » - N = 4 - Première boucle C=2 A = 2*3 = 6 et B = 6*6 =36 Z = 36-2 = 34 Afficher « 34 » - Deuxième boucle C= 2*3*4 =24 A = 2*3*4*5 = 120 et B = 120*120 =14400 Z = = Afficher « » exercice 10
10/04/ Solution exercice 10 DEBUT INPUT N W=N W=W-2 W < 0 Oui Non W = 0 Oui Non Uniquement nombres paires 1
10/04/ X = 0 Y = 3 A = 1 C = 1 X = X + 2 T = X - 1 C = C*X*T A A X > N Fin Oui Non U = Y - 1 A = A*Y*U B=A*A Z = B - C Y = Y + 2 Imprimer Z B B
10/04/ Exercice 11 Faire l’ordinogramme du programme qui permettra de faire la somme du coût des articles achetés dans un magasin ainsi que le payement et le remboursement éventuel sur le montant à payer; le payement peut s’effectuer en liquide ou par carte (Bancontact, proton).
10/04/ Solution exercice 11 DEBUT INPUT P N = 0 P = Prix article N = Total à payer M = Payement N = N + P Encore des articles Oui Non A A A payer = N B B Payement liquide Oui Non Bancontact Oui Non 1 Insérer carte PROTON Composer code Imprimer Ticket Fin Payement =M R = M - N Rendre R Fin
10/04/ Suite exercice 11 Insérer carte Bancontact Composer code (client) Fin Imprimer Ticket 1 Montant Plus important Oui Non Insérer carte Bancontact Composer code (client) Fin Imprimer Ticket Donner différence
10/04/ Exercice 12 On rentre dans un ordinateur 5 nombres quelconques mais différents, veuillez faire l’ordinogramme du programme qui permettra d’afficher les 4 premiers nombres du plus petit au plus grand et le 5ème nombre à la 5ème place. Exemple : Chiffre 1 = 1500 Chiffre 2 = 300 Chiffre 3 = 700 Chiffre 4 = 1450 Chiffre 5 = 200 Affichage : 300, 700, 1450, 1500, 200
10/04/ Solution exercice 12 DEBUT INPUT a,b,c,d,e a < b Oui Non x = b b = a a = x 1 b < c x = c c = b b = x 1 Non Oui c < d x = d d = c c = x 1 Non Oui a b Fin c d e 1