Cgo Algo 2015
ALGORITHME : LES STRUCTURES DE DONNÉES ET LES TRAITEMEN S 1. LA NOTION D’ALGORITHME. Exemple : On veut calculer la moyenne des notes d’un élève dans une matière donnée. On suppose que le nombre de notes est égal à 3. Algorithme « Moyenne » Variables Nom : chaîne de caractères Matière : chaine de c Moyenne : réel Note 1 : réel Note2 : réel Note3 : réel Début or 10 Sni* to View AFFICHER « Donnez le nom de l’élève : » SAISIR Nom AFFICHER « Donnez le nom de la matière : » SAISIR Matière AFFICHER « Donnez les trois notes (en les séparant par une virgule) : » SAISIR NOte1, N0te2, NOte3
Moyenne (Notel +Note2+Note3)/3 Afficher Nom, « a obtenu une moyenne de b, Moyenne, « en Matière Cette suite d’opérations qui permet de passer des données de base aux résultats correspond à un algorithme. la communication entre gestionnaires et informaticiens. C’est pourquoi on utilise au préalable le langage algorithmique (proche du langage naturel), afin de décrire pas à pas une solution au problème posé. 2. LES DONNEES ELEMENTAIRES. Tout algorithme utilise des objets ou données élémentaires comme par exemple des constantes ou des variables.
Une constante est un objet qui ne peut pas être modifié par ‘algorithme. Une variable est un objet appelé à subir des transformations au sein de l’algorithme. Constante et variable se caractérisent par : un identificateur : nom de l’objet ou de la donnée qui ne doit pas contenir d ‘espace. Une valeur : contenu de Hobjet. Un type : domaine ou l’objet puise sa valeur. Exemples : Constante Pia. 1416 Diamètre : réel Circonférence : réel Types d’objets existants. Types d’objets Ensemble de valeurs possibles opérations BOOLEEN Vrai, Faux Comparaison (z, NON, ET, OU.
CARACTERE « A » Comparaison, conversion 10 instructions de sortie autorisent L’affichage des Informations à l’écran. L’impression des informations sur papier. Instruction d’entrée : Saisir Nom_variable Consiste à affecter une valeur saisie ? partir du clavier à une variable. Instruction de sortie : Afficher Nom variable sur un support externe. Exemples Permet d’écrire la valeur d’une variable Afficher » Taper deux nombres : ‘ Saisir A, B somme OA+3 Afficher » la somme est de : « , Somme Remarque : Les messages à afficher sont définies entre « On peut saisir plusieurs variables en une seule fois, séparées par une virgule.
A la rencontre d’une instruction saisir, le programme est interrompu. Cutilisateur doit alors entrer la donnée. La saisie est terminée par l’appui sur la touche entrée. Le déroulement du programme se poursuit. 4. LES STRUCTURES CONDITIONNELLES OU ALTERNATIVES. La structure condltionnelle permet un aiguillage des traitements. Selon la valeur d’une expression, on pourra exécuter une suite dactions 1 ou une suite d’actions 2. 4. 1. La structure alternative. SI
Elle utilise alors les opérateurs de comparaison L’expression logique peut être complexe et peut faire intervenir les opérateurs logiques : ET, OU. Exemple : (a>b) ET (a>c). 4. 2. La structure conditionnelle. Parfois la structure alternative peut être simple, et ne comporte pas la clause SINON. SI cexpression logique> ALORS action Fin Si Si l’expression logique est vraie alors on exécute la suite d’actions sinon on poursuit la suite du traitement. 4. 3. Alternatives et conditionnelles imbriquées On peut emboiter plusieurs structures alternatives dans certains cas de figure.
SI exp_logl ALORS SI exp_log2 ALORS actioni SINON action2 FINSI SINON action 3 F INSI Exemple : Afficher le plus grand de deux nombres. Algorithme PlusGrand Nombrel : entier Nombre2 : entier 0 AFFICHER « MARS » Cas 12 : AFFICHER « DECEMBRE » SINON AFFICHER « Les mois sont compris entre 1 et 12 » FINSELON 5. LES STRUCTURES REPETITIVES ET ITERATIVES. 5. 1. ca structure POUR FIN POUR. Cette structure permet de répéter un ensemble d’actions un nombre connu de fois. Syntaxe : Pour Variable DE valeur-initiale À valeur-finale [pas de incrémentation] Actions Fin pour Variable est la variable d’énumération des répétitions.
Elle sera inltlallsée à la valeur de début, l’ensemble des actions sera exécuté, elle passera automatiquement à la valeur suivante jusqu’à la valeur finale. Exemple : POUR Compteur DE 1 A 10 FAIRE AFFICHER compteur FINPOUR Exemple : Afficher la table de multiplication par 8. Algorithme « Table de 8 » Compteur : Entier PAGF s 0 être exécuté tant que la condition est vérifiée. Lorsque la condition n’est plus vérifiée, le processus itératif s’arrête. Dans ce cas le traitement se poursuit avec les instructions se situant après le FINTANTQUE.
Phases d’exécution 1 : Évaluation de la condition : est-elle vérifiée ? Étape 2 : Si oui : CExécuter les actions. Cl Reprise de l’étape 1. Étape 3 : la condition n’est pas vérifiée : Arrêt de Vitération et le programme poursuit son exécution après FINTANTQUE. La condition d’arrêt doit être réalisable : sa valeur doit passer ? faux après un nombre fini de tours de boucle. Cette condition est composée d’une variable dont la valeur change à chaque tour de boucle. Cette variable est appelée variable de contrôle ou d’itération.
Elle doit être modifiée par une action dans la boucle. Exemple : Calculer la somme des N premiers nombres entiers. Algorithme Sommetantque Nombre : Entier Somme : Entier AFFICHER « Entrer un nombre entier : » SAISIR Nombre Somme n O Compteur 0 TANTQIJE Compteur Nombre FAIRE Somme 0 Somme + Co PAGF 10 entiers est : 1 er passage Somme 2ème passage 3ème passage 4ème passage 5ème passage 6ème passage Entrer un nombre entier . Somme = O Compteur 1 5 : VRAI Somme = 0+1 —1 Compteur = 1 + Retour ligne 5 2 5 : VRAI Somme = 1 + compteur = 2+1 7 0 15 Déroulement de l’algorithme : 1 .
AFFICHER « Entrer un nombre entier : » . Saisir Nombre 3. Somme 00 4. Compteur [11 5. REPETER 6. Somme D Somme + Compteur 7. Compteur D Compteur + 1 8. JUSQU’A Compteur Nombre 9. AFFICHER « La somme des Nombres,’ premiers entiers est Entrer un nombre entier Compteur = 1 Compteur —1 + 5: FAUX Retour ligne 6 Somme —1 + Compteur = 2+ 1 3 0 Faire en sorte que des libellés apparaissent clairement. 4. Écrire un algo ithme qui demande un nombre à futilisateur, et l’informe ensuite si ce nombre est positif ou négatif (on laisse de côté le cas où le nombre vaut zéro). ?crire un algorithme qui demande un nombre à Putilisateur, et l’informe ensuite si ce nombre est positif ou négatif (on inclut cette fois le traitement du cas où le nombre vaut zéro). 6. Écrire un algorithme qui demande l’âge d’un enfant à rutilisateur. Ensuite, il l’informe de sa catégorie : « Poussin’ de 6 à 7 ans « Pupille » de 8 à 9 ans « Minime » de 10 à 11 ans Cadet » après 12 ans Peut-on concevoir plusieurs algorithmes équivalents menant à ce résultat ? 7. ?crire un algo ithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! et inversement, « Plus prand re est inférieur à 10. : NumCatClt et TauxRemClt. Numéro catégorie client Nom catégorie client Taux remise client Autres 0,00 % CTR Client régulier 2,00 % ECO École 7,50 % ENS Enseignant 5,00 % ETU Étudiant LYC Lycée 8,00 % • Rédiger l’algorithme permettant d’afficher le taux de remise ccordé en fonction des numéros de catégorie saisis.
Exercice III La société Les Bons plats d’Élise commercialise des spécialités culinaires qui sont vendues sous différentes formes (conserves en verre, métalliques, surgelés, etc. ). Pour garder l’authenticité des produits, la société fait appel à des fournisseurs qul sont essentiellement des PME locales. Elle commercialise exclusivement ses produits auprès d’entreprises et de comités d’entreprise. Elle accorde des remises aux entreprises en fonction de leur chiffre d’affaires annuel, et aux comités d’entreprise en fonction du montant de leurs commandes 11)