Algorithmique Séance N 3 : Boucles Pour et Tant que

Documents pareils
Cours d algorithmique pour la classe de 2nde

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

= constante et cette constante est a.

TRIGONOMETRIE Algorithme : mesure principale

Initiation à la programmation en Python

Probabilités conditionnelles Loi binomiale

Séquence 3. Expressions algébriques Équations et inéquations. Sommaire

Examen Médian - 1 heure 30

Les suites numériques

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

Représentation d un entier en base b

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Licence Sciences et Technologies Examen janvier 2010

L ALGORITHMIQUE. Algorithme

Cours Informatique Master STEP

Présentation du langage et premières fonctions

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Introduction à l algorithmique et à la programmation (Info 2)

Rappels sur les suites - Algorithme

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Introduction à MATLAB R

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Programmation C++ (débutant)/instructions for, while et do...while

L informatique en BCPST

Statistiques à une variable

Conventions d écriture et outils de mise au point

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Corrigé des TD 1 à 5


avec des nombres entiers

THEME : CLES DE CONTROLE. Division euclidienne

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Définitions. Numéro à préciser. (Durée : )

Fonctions homographiques

Approche Contract First

Chap III : Les tableaux

TP 1. Prise en main du langage Python

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

POKER ET PROBABILITÉ

Cours 1 : La compilation

TP, première séquence d exercices.

Découverte de Python

C f tracée ci- contre est la représentation graphique d une

COURS ALGORITHMIE. Mathématiques. Le monde merveilleux des algorithmes!! Croyez-moi, vous allez les adorer. Julien Bordas T.S 3

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Introduction à l informatique en BCPST

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Programmation système I Les entrées/sorties

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Chapitre 2. Eléments pour comprendre un énoncé

Probabilités Loi binomiale Exercices corrigés

Algorithmique et programmation : les bases (VBA) Corrigé

1 Recherche en table par balayage

Chapitre 1 I:\ Soyez courageux!

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

CORRECTION EXERCICES ALGORITHME 1


Le chiffre est le signe, le nombre est la valeur.

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

L exclusion mutuelle distribuée

Application 1- VBA : Test de comportements d'investissements

EXERCICES DE REVISIONS MATHEMATIQUES CM2

Cours 1 : Qu est-ce que la programmation?

Le langage C. Séance n 4

Introduction au langage C

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

5.3. Bande numérique cartes numération et cartes à points pour apprendre les nombres de 0 à 99

1 I ) Une première approche de l algorithme en seconde, saison 2010 _ Antoine ROMBALDI

Les nombres entiers. Durée suggérée: 3 semaines

Raisonnement par récurrence Suites numériques

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Technique opératoire de la division (1)

Plan du cours. Historique du langage Nouveautés de Java 7

108y= 1 où x et y sont des entiers

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Fluctuation d une fréquence selon les échantillons - Probabilités

Calculatrice TI Collège Plus

Programmation C. Apprendre à développer des programmes simples dans le langage C

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Les structures. Chapitre 3

Dérivation : Résumé de cours et méthodes

Optimisation, traitement d image et éclipse de Soleil

Resolution limit in community detection

Continuité et dérivabilité d une fonction

Représentation des Nombres

Transcription:

Algorithmique Séance N 3 : Boucles Pour et Tant que A) Boucle Pour. On souhaite calculer la somme des n premiers entiers. Un algorithme répondant au problème est le suivant : ENTRER N entier naturel DANS A METTRE 0 POUR I variant de 1 à N DANS A METTRE FIN DU POUR A + I AFFICHER A. On faire fonctionner cet algorithme avec N = 8 : N A I Entrée 8 Initialisation 0 Traitement 0 + 1 = 1 1 1 + 2 = 3 2 3 + 3 = 6 3 6 + 4 = 10 4 10 + 5 = 15 5 15 + 6 = 21 6 21 + 7 = 28 7 28 + 8 = 36 8 36 On peut programmer cet algorithme sur calculatrice de la façon suivante : Texas Instrument : Input "N", N 0 S FOR ( I,1,100) S + I S END DISP " S = ", S Casio : "N"? N 0 S FOR 1 I S + I S NEXT " S =" : S Exercice n 1 : Taper ce programme sur votre calculatrice et vérifier le résultat obtenu. To N

B) Boucle Tant que. On souhaite obtenir un encadrement d amplitude 0,1 de la solution de l équation : x 3 = 5. 3 3 3 La fonction x étant strictement croissante et 1 = 1 < 5 < 2 = 8, on peut affirmer qu il existe une unique solution α ] 0 ; 1[. Un algorithme répondant au problème est le suivant : On faire fonctionner cet algorithme : DANS A METTRE 1 TANT QUE A 3 < 5 DANS A METTRE A + 0, 1 FIN DU POUR AFFICHER ENTRE A 0, 1 et A. Condition Boucle? A Entrée Initialisation 1 Traitement 1 3 = 1 < 5 Oui 1 + 0,1 = 1, 1 1,1 3 = 1,331 < 5 Oui 1,1 + 0,1 = 1, 2 1,2 3 = 1,728 < 5 Oui 1,2 + 0,1 = 1, 3 1,3 3 = 2,197 < 5 Oui 1,3 + 0,1 = 1, 4 1,4 3 = 2,744 < 5 Oui 1,4 + 0,1 = 1, 5 1,5 3 = 3,375 < 5 Oui 1,5 + 0,1 = 1, 6 1,6 3 = 4,096 < 5 Oui 1,6 + 0,1 = 1, 7 1,7 3 = 4,913 < 5 Oui 1,7 + 0,1 = 1, 8 1,8 3 = 5,832 > 5 Non Entre 1,7 et 1,8 On peut programmer cet algorithme sur calculatrice de la façon suivante : Texas Instrument : 1 A WHILE A^ 3 < 5 A + 0,1 A END DISP " ENTRE", A 0,1 DISP " ET ", A Casio : 1 A WHILE A^ 3 < 5 A + 0,1 A WHILEE ND "ENTRE ": A 0, 1 "ET ": A Exercice n 2 : Taper ce programme sur votre calculatrice et vérifier le résultat obtenu.

C) Pré-requis. 1) Division euclidienne. L ensemble IN des entiers naturels est formé des nombres 0 ; 1 ; 2 ; 3 ; 4, etc. Si on adjoint à l ensemble IN tous les opposés des entiers naturels 0 ; 1 ; 2 ; 3 ; 4 etc. on forme l ensemble _ des entiers relatifs qui comprend entre autres,...; 17 ;...; 3 ; 2 ; 1 ; 0 ; 1 ; 2 ; 3... La division de 30 par 7 se pose de la manière suivante : La division euclidienne de 30 par 7 s écrit : 30 = 7 4 + 2. Le reste (ici 2) doit être strictement inférieur au diviseur (ici 7). Définition : De manière générale, étant donnés deux entiers naturels a et b, il n y a qu une seule façon d écrire a = b q + r avec 0 r < b ( q et r doivent être des entiers naturels). Cette écriture s appelle la division euclidienne de a par b. a s appelle le dividende, b le diviseur, q le quotient, r le reste. 2) Divisibilité. Définition : Lorsque le reste de la division euclidienne de a par b est égal à zéro on dit que b est un diviseur de a ou que b divise a ou encore que a est divisible par b. Exemple : 7 est un diviseur de 35 puisque 35 = 7 5 + 0. 1 et 5 sont d autres diviseurs de 35 puisque 35 = 1 35 + 0 et que 35 = 5 7 + 0. Les nombres 1 ; 2 ; 3 ; 4 ; 6 ; 12 sont des diviseurs de 12. 3) Partie entière. Pour la réalisation de certains algorithmes dans la suite du cours, lorsque nous disposerons d un nombre réel, il sera utile d utiliser la notation ent ( a) pour parler de l entier relatif immédiatement inférieur ou égal au nombre a. Exemples : ent ( 3,9) = 3 ; ent ( 7,1) = 8 et ent ( 12 ) = 12 Remarque : Pour calculer la partie entière de 8,01 : avec les Texas Instrument, on entre ent ( 8,01) ( ent est dans le menu MATH). avec les Casio, on entre Int ( 8,01) ( Int est dans MENU OPTN NUM). avec CALC d OPEN OFFICE, on entre dans une cellule la formule ENT ( 8,01) =.

Exercice n 3 : On considère l algorithme suivant : ENTRER A et B entiers naturels DANS I METTRE 0 TANT QUE A B FAIRE DANS A METTRE A B DANS I METTRE I + 1 FIN DU TANT QUE AFFICHER A et I 1) Faire fonctionner cet algorithme pour : A = 26 et B = 4. Condition Boucle? I A B Entrée 26 4 Initialisation 0 Traitement A = 26 B = 4 Oui 2) Faire fonctionner cet algorithme pour : A = 19 et B = 7. Entrée Initialisation Traitement Condition Boucle? I A B 3) Que fait cet algorithme? Remarque : La variable I prend comme valeur, le nombre de tours effectués.

Exercice n 4 : On considère l algorithme suivant : A et B sont des entiers naturels tels que 1 DANS R METTRE 1 B A TANT QUE R 0 DANS R METTRE A B ENT ( A/ B) DANS A METTRE B DANS B METTRE R FIN DU TANT QUE AFFICHER A 4) Faire fonctionner cet algorithme pour : A = 26 et B = 16. Condition Boucle? R A B Entrée 28 16 Initialisation 1 Traitement R = 1 0 Oui 5) Faire fonctionner cet algorithme pour : A = 98 et B = 56. Entrée Initialisation Traitement Condition Boucle? I A B 6) Que fait cet algorithme?

Exercice n 5 : Les Babyloniens ont utilisé un algorithme très performant pour trouver une valeur approchée de la racine carrée d un nombre. Voici leur méthode pour trouver une valeur approchée de 7 : 7 Etape 1 : On part de a = 1 et on divise 7 par a et on lui ajoute a, on obtient donc 1 + = 8 ; on 1 divise le résultat précédent par 2 ; on obtient 4. Etape 2 : On recommence l étape 1 en prenant pour a le résultat obtenu (c'est-à-dire a = 4 ) ; on 7 23 23 obtient donc 4 + = ; on divise le résultat précédent par 2 ; on obtient. 4 4 8 Etape 3 : On procède de même en repartant du résultat de l'étape 2 ; on obtient donc 23 7 977 977 + = ; on divise le résultat précédent par 2 ; on obtient. 8 23 184 368 8 On obtient 977 2, 65 or 7 2,646... 368 On peut poursuivre cet algorithme pour obtenir une précision plus grande. Voici l algorithme en langage naturel correspondant à ce programme : X un réel positif et N un entier naturel DANS A METTRE 1 POUR I variant de 1 à N X DANS A METTRE A + 2 A FIN DU POUR AFFICHER A AFFICHER A 1) Faire fonctionner cet algorithme pour : X = 12 et N = 6. X N I A Entrée 12 5 Initialisation 1 Traitement 1 X 2) Ecrire sur votre calculatrice le programme correspondant à cet algorithme.

Exercice n 6 : Valeur entre 1 et 100? On considère l algorithme suivant rédigé en langage naturel : A un entier entre 1 et 100 DANS I METTRE un entier aléatoirement choisi entre 1 et 100 TANT QUE A I SI A > I AFFICHER «UN PEU MOINS» DANS A METTRE un entier entre 1 et 100 choisi par l utilisateur FIN DU SI. SI A < I AFFICHER «UN PEU PLUS» DANS A METTRE un entier entre 1 et 100 choisi par l utilisateur FIN DU SI FIN DU TANT QUE AFFICHER «BRAVO» 1) Quelle est le but de cet algorithme? 2) Taper un programme nommé «JEU» correspondant à cet algorithme sur votre calculatrice. On pourra utiliser les fonctions suivantes : Avec les Texas Instrument : «NbrAléat» qui donne un nombre entre 0 et 1 au hasard. Avec les Casio : «Ran#» qui donne un nombre entre 0 et 1 au hasard.