ALGORITHMIQUE. 1. Définition Un algorithme est une suite d'instructions élémentaires amenant à la résolution d'un problème

Documents pareils
Initiation à la programmation en Python

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.

Représentation d un entier en base b

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

Examen Médian - 1 heure 30

TRIGONOMETRIE Algorithme : mesure principale

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

Présentation du langage et premières fonctions

L ALGORITHMIQUE. Algorithme

Chapitre 2 Devine mon nombre!

TP 1. Prise en main du langage Python

1.6- Génération de nombres aléatoires

Recherche dans un tableau

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

STAGE IREM 0- Premiers pas en Python

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

Introduction à MATLAB R

Licence Sciences et Technologies Examen janvier 2010

1 Recherche en table par balayage

Algorithmique et programmation : les bases (VBA) Corrigé

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

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

Cours Informatique Master STEP


Découverte de Python

Algorithmique avec Algobox

Les suites numériques


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

Cours 1 : La compilation

ACTIVITÉ DE PROGRAMMATION

CORRECTION EXERCICES ALGORITHME 1

Application 1- VBA : Test de comportements d'investissements

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

I. Introduction aux fonctions : les fonctions standards

Introduction au langage C

Chapitre 4 Pierre, papier, ciseaux

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)

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : Licence Chimie, parcours Physique. Semestre S3

1. Structure d'un programme FORTRAN 95

Organigramme / Algorigramme Dossier élève 1 SI

Probabilités conditionnelles Loi binomiale

Les structures. Chapitre 3

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

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

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

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Corrigé des TD 1 à 5

Raisonnement par récurrence Suites numériques

La fonction exponentielle

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

L informatique en BCPST

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

Programmation avec Xcas ou Python

Simulation de variables aléatoires

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

Algorithmique avec Algobox

Cours 7 : Utilisation de modules sous python

MIS 102 Initiation à l Informatique

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

Calcul Formel et Numérique, Partie I

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

Java Licence Professionnelle CISII,

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

Développer, factoriser pour résoudre

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Correction TD algorithmique

20. Algorithmique & Mathématiques

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Logiciel SCRATCH FICHE 02

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

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

DOCM Solutions officielles = n 2 10.

Python - introduction à la programmation et calcul scientifique

TP, première séquence d exercices.

POKER ET PROBABILITÉ

Algorithmique et Programmation, IMA

Continuité et dérivabilité d une fonction

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

I. Cas de l équiprobabilité

Découverte du tableur CellSheet

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

TD3: tableaux avancées, première classe et chaînes

Peut-on tout programmer?

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

Par combien de zéros se termine N!?

Calcul Formel et Numérique, Partie I

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

Factorisation d entiers (première partie)

Probabilités Loi binomiale Exercices corrigés

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

Propagation sur réseau statique et dynamique

Transcription:

ALGORITHMIQUE 1. Définition Un algorithme est une suite d'instructions élémentaires amenant à la résolution d'un problème 2. Les étapes 1. L'entrée des données 2. Le traitement des données 3. La sortie des résultats Page 1 sur 23

Page 2 sur 23

Page 3 sur 23

FICHE n 1 : DECOUVRIR L'AFFECTATION En général, un algorithme est construit en trois étapes : - / : On saisie des données. - L'initialisation : Le programme attribue des valeurs à des variables. - Le traitement des données : Les instructions du programme effectuent des opérations à partir des données saisies dans le but de résoudre le problème. - La sortie : Les résultats sont affichés. L'affectation consiste à attribuer une valeur à une variable. Affecter à Variable la valeur Valeur Exemple : Affecter à Paul la valeur 15 ans Exercice 1 : Voici un algorithme écrit en langage naturel : Saisir A Affecter à B la valeur 5 Affecter à C la valeur A x B Affecter à A la valeur C + 4 Afficher A, B, C 1) a) Quelle est la valeur de C affichée en sortie lorsque A = 3. b) Même question lorsque A = 10. 2) a) Quelle est la valeur de A affichée en sortie lorsque A = 8. b) Même question lorsque A = -7. 3) Quelle valeur faut-il saisir en entrée pour obtenir A = 59 en sortie. Exercice 2 : Un commerçant accorde une remise sur des articles. On souhaite connaître le montant de la remise en euros. Voici un algorithme écrit en langage naturel donnant la solution au problème : Page 4 sur 23

Saisir le prix de départ A Saisir le pourcentage de remise P Affecter au montant de la remise R la valeur A x P 100 Afficher R 1) a) Calculer la valeur de la variable R lorsque A = 56 et P = 30. b) Donner une interprétation concrète du résultat précédent. 2) Même question avec A = 13 et P = 45. 3) Compléter les paragraphes "" et "" pour que l'algorithme affiche également le prix à payer B. 4) a) Calculer la valeur des variables R et B lorsque A = 159 et P = 24. b) Donner une interprétation concrète des résultats précédents. Exercice 3 : Rédiger en langage naturel un algorithme permettant de calculer le pourcentage de réduction d'un article connaissant le prix de départ et le prix à payer. Exercice 4 : Saisir le réel x Affecter à a la valeur x 2 + 1 Affecter à b la valeur 2a - 3 Afficher a, b Faire fonctionner l'algorithme et compléter le tableau : x 3 4 7 10 20 a b Page 5 sur 23

Exercice 5 : Affecter à x la valeur 2 Affecter à a la valeur x - 1 Affecter à b la valeur 2a Affecter à c la valeur b 2 Affecter à d la valeur c + 2 Afficher d 1) Qu'affiche l'algorithme en sortie? 2) a) Modifier l'algorithme pour que la valeur de x ne soit plus imposée mais soit saisie en entrée. b) Faire fonctionner ce nouvel algorithme et compléter le tableau : x -4 0 5 10 11 d c) Que constate-t-on? Démontrer ce résultat. Exercice 6 : Rédiger en langage naturel un algorithme utilisant au moins 4 variables et dont le résultat est le double du nombre saisi en entrée. Exercice 7 : Saisir x Saisir y Affecter à x la valeur x y Affecter à y la valeur x + y Affecter à x la valeur y x Afficher x Afficher y 1) a) Qu'affiche l'algorithme en sortie si x = 5 et y = 4 sont saisis en entrée. b) Même question pour x = 8 et y = 9. c) Que constate-t-on? 2) Démontrer le résultat précédent. Page 6 sur 23

FICHE n 2 : DECOUVRIR L'INSTRUCTION CONDITIONNELLE Une instruction conditionnelle permet d'effectuer un test suivant certaines conditions. En langage naturel, elle peut se présenter sous la forme suivante : Si Condition Alors Instructions 1 Instructions 2 Exemple : Si c'est un garçon Alors il s'appellera Paul Elle s'appellera Paulette Exercice 1 : Saisir A Affecter à B la valeur A Affecter à C la valeur arrondie à l'unité de B Si B = C Alors afficher "A est un carré parfait" Afficher "A n'est pas un carré parfait" 1) Lire l'algorithme. Quel problème permet-il de résoudre? 2) a) Quelle est la valeur de B et la valeur de C lorsque A = 40? b) Dans ce cas, quel est le résultat affiché à la suite de l'instruction conditionnelle? 3) Mêmes questions avec A = 2025. Page 7 sur 23

Exercice 2 : Saisir A Saisir B Si 3A < B Alors affecter à A la valeur 3A Affecter à B la valeur 3B Afficher A + B Faire fonctionner l'algorithme et compléter le tableau : A 6-5 4 10 2 B 15 1 7 30 7 A B A + B Exercice 3 : Saisir dans l'ordre croissant trois nombres entiers A, B, C Affecter à M la valeur de A 2 Affecter à N la valeur de B 2 Affecter à X la valeur de M + N Affecter à Y la valeur de C 2 Si X = Y Alors afficher Afficher 1) Recopier et compléter les deux dernières lignes de l'algorithme. 2) a) Calculer les valeurs successives de M, N, X et Y pour A = 8, B = 15 et C = 17. b) Quel est le résultat affiché à la sortie de l'algorithme dans ce cas? 3) Mêmes questions avec A = 12, B = 16 et C = 19. 4) Donner des valeurs de A, B et C qui satisfont le test de sortie de l'algorithme. Page 8 sur 23

Exercice 4 : Recopier et compléter l'algorithme suivant : Saisir trois nombres réels différents A, B, C Traitement et sortie Si A < B Alors Si B < C Alors afficher " est le plus grand" Afficher " est le plus grand" Si A < C Alors afficher " est le plus grand" Afficher " est le plus grand" Exercice 5 : Saisir deux nombres A, B Si A > B Alors Si B > 0 Alors affecter à C la valeur de A + B Affecter à C la valeur de A B Si A > 0 Alors affecter à C la valeur de A + B Affecter à C la valeur de B A Afficher C 1) Quelle est la valeur de C pour A = 15 et B = 25. 2) Même question pour A = 45 et B = -56. 3) Démontrer que dans tous les cas C est positif. Page 9 sur 23

FICHE n 3 : DECOUVRIR LES BOUCLES Les boucles permettent de répéter des instructions. - Boucle Tant que : On peut répéter les mêmes instructions tant qu'une condition reste vérifiée. En langage naturel, cela peut se présenter sous la forme suivante : Tant que Condition est vraie Faire Instructions Exemple : Tant que Le verre n'est pas plein Faire Verser de l'eau - Boucle Pour : On peut répéter les mêmes instructions pour un nombre de répétitions prédéfini par une variable. En langage naturel, cela peut se présenter sous la forme suivante : Pour Variable allant de Valeur début à Valeur fin Faire Instructions Exemple : Pour Marche d'escalier allant de 1 à 10 Faire Monter sur la marche suivante Exercice 1 : Saisir A Traitement et sortie Pour i allant de 1 à 5 Faire A = A + 1 Afficher A 1) a) Pour A = 3 qu'affiche l'algorithme en sortie. b) Même question pour A = -4. 2) Quelle valeur de A faut-il saisir pour obtenir en sortie l'affichage suivant : -9-8 -7-6 -5 Page 10 sur 23

Exercice 2 : Saisir n Traitement et sortie Tant que n < 50 Faire n = n + 1 Afficher n 1) a) Pour n = 45 qu'affiche l'algorithme en sortie. b) Même question pour n = 48,1. c) Même question pour n = 53. 2) Quelle valeur de n faut-il saisir pour obtenir en sortie l'affichage suivant : 44,3 45,3 46,3 47,3 48,3 49,3 Exercice 3 : La suite de Fibonacci Affecter à n la valeur 0 Affecter à A la valeur 1 Affecter à B la valeur 1 Traitement et sortie Tant que n < 10 Faire Affecter à n la valeur de n + 1 Affecter à C la valeur de B Affecter à B la valeur de A + B Affecter à A la valeur de C Afficher B 1) Recopier et compléter le tableau par les valeurs successives prises par A, B et C. n 0 1 2 3 4 5 6 7 8 9 A 1 B 1 C x 2) Quel est l'affichage à la sortie de l'algorithme? Page 11 sur 23

Exercice 4 : Algorithme de tri Saisir A, B, C Affecter à i la valeur 0 Tant que i < 2 Faire Affecter à i la valeur de i + 1 Si A > B Alors échanger les valeurs de A et B Si B > C Alors échanger les valeurs de B et C Afficher A, B, C 1) Tester l'algorithme pour différentes valeurs de A, B et C. 2) Quel problème permet de résoudre cet algorithme? Exercice 5 : Saisir N Affecter à S la valeur 0 Pour i allant de 1 à N Faire Affecter à S la valeur S + i Afficher S 1) Tester l'algorithme pour différentes valeurs de N. 2) Quel problème permet de résoudre cet algorithme? Exercice 6 : Rédiger en langage naturel un algorithme permettant de calculer le produit d'une suite d'entiers naturels successifs, le premier terme et le dernier terme de cette suite étant saisis en entrée. Page 12 sur 23

FICHE n 4 : PROGRAMMER L'AFFECTATION Syntaxe des instructions utiles dans cette fiche dans 4 langages de programmation : Langage naturel Python ou Scilab TI Affecter à A la valeur 5 A=5 5 A Langage naturel Python Scilab TI CASIO Afficher A print(a) afficher(a) Disp A A Langage naturel Python (*) Scilab TI CASIO A=input ('A=') A=input("A=") Input A ou "A="? A Saisir A Prompt A (*) En Python, input() renvoie une chaîne de caractères. Pour renvoyer une valeur entière, il faut utiliser A=int(input ('A=')) et pour renvoyer une valeur réelle, il faut utiliser A=float(input ('A=')) Langage naturel Python Scilab TI CASIO Quotient de la division euclidienne int(a/b) int(a/b) ent(a/b) Int (A B) de A par B Reste de la division euclidienne de A par B A%B reste(a,b) A B*ent(A/B) A BxInt (A B) Exercice 1 : Voici un algorithme écrit en langage naturel : Langage naturel Affecter à A la valeur 2 Affecter à B la valeur 2 x A Affecter à C la valeur B 2 Afficher C Ce même algorithme peut se traduire en langages de programmation : Python Scilab TI CASIO 1) Recopier un programme (langage au choix) en faisant correspondre les couleurs, Traitement,. Page 13 sur 23

2) Quelle valeur obtient-on en sortie? Vérifier éventuellement à l'aide d'une calculatrice programmable ou d'un logiciel. 3) Modifier un programme en affectant à A la valeur 4 en initialisation et en affichant la valeur de B en sortie. 4) Modifier un programme pour obtenir C = 25 en sortie. Exercice 2 : Voici trois algorithmes écrits en langage naturel : Langage naturel Algorithme 1 Algorithme 2 Algorithme 3 Affecter à A la valeur 7 Affecter à M la valeur 2 Affecter à A la valeur -1 Affecter à N la valeur 4 Affecter à B la valeur 6 Affecter à B la valeur 6 x A Affecter à C la valeur A + B Afficher à D la valeur B C Afficher D Affecter à A la valeur M x N Affecter à B la valeur M + N Afficher à C la valeur A/B Afficher C Affecter à P la valeur B A Affecter à Q la valeur P A Afficher P Afficher Q 1) Rédiger un programme (langage au choix) traduisant chacun de ces algorithmes. 2) Quelle valeur obtient-on en sortie pour chaque algorithme? Vérifier éventuellement à l'aide d'une calculatrice programmable ou d'un logiciel. Exercice 3 : Voici un algorithme écrit en langages de programmation : Python Scilab TI CASIO 1) a) Traduire un des programmes en langage naturel. b) Quel problème permet de résoudre cet algorithme? 2) Saisir un des programmes sur une calculatrice programmable ou un logiciel. 3) a) Calculer les valeurs de f (x) 12 2,4x et g(x) x 2 1 pour toutes les valeurs entières de x comprise entre 1 et 6. b) Trouver une solution de l'équation f (x) g(x). Page 14 sur 23

Exercice 4 : Pour chacune des équations suivantes, écrire et tester un programme permettant d'en trouver une solution. 1) x 2 11 10 4x 2) x 3 2x 2 85x 154 3) x 2,4 16,2 x Exercice 5 : Rédiger un programme où l'on saisit deux nombres entiers naturels en entrée et où l'on obtient le quotient et le reste de la division euclidienne de ces deux nombres en sortie. - Syntaxe en page 1 de la fiche - Exercice 6 : Inventer et tester à l'aide d'une calculatrice programmable ou d'un logiciel un programme mettant en œuvre de nombreuses instructions vues sur cette fiche (saisie, affectation, affichage, quotient, reste). Page 15 sur 23

FICHE n 5 : PROGRAMMER L'INSTRUCTION CONDITIONNELLE Syntaxe de l'instruction conditionnelle dans 4 langages de programmation : Langage naturel Python Scilab TI CASIO Si Condition Alors Instructions1 if condition: Instruction1 if condition then Instruction1 :If condition :Then else: else :Instruction1 Instructions2 Instruction2 Instruction2 :Else end Exercice 1 : Voici un algorithme écrit en langage naturel : :Instruction2 :End If condition Then Instruction1 Else Instruction2 IfEnd Saisir A Langage naturel Affecter à B la valeur A/13 Affecter à C la valeur arrondie à l'unité de B Si B = C Alors afficher "A est divisible par 13" Afficher "A n'est pas divisible par 13" Ce même algorithme peut se traduire en langages de programmation : Python Scilab Commentaires : "==" est le symbole d'égalité ; "=" celui d'affectation. TI CASIO 1) Quelle valeur obtient-on pour B et C lorsqu'on saisit A = 182 en entrée? Qu'affiche l'algorithme en sortie dans ce cas. Vérifier éventuellement à l'aide d'une calculatrice programmable ou d'un logiciel. 2) a) Modifier un programme dans le but de vérifier si un nombre est divisible par 29. b) Trouver deux nombres supérieurs à 1000 et divisible par 29 Page 16 sur 23

Exercice 2 : Ecrire un programme permettant de vérifier si un nombre donné est divisible par 13 en effectuant un test sur le reste de la division de ce nombre par 13. Tester ce programme à l'aide d'une calculatrice programmable ou d'un logiciel. Voici la syntaxe permettant d'afficher le reste d'une division euclidienne : Langage naturel Python Scilab TI CASIO Reste de la division euclidienne de A par B A%B reste(a,b) A B*ent(A/B) A BxInt (A B) Exercice 3 : Voici un algorithme écrit en langage naturel : Langage naturel Saisir x Saisir y Si x < 5y Alors affecter à x la valeur 10x Affecter à y la valeur 10y Afficher xy Dans chacun des programmes ci-dessous traduisant l'algorithme précédent, les instructions conditionnelles ont été supprimées. Python Scilab TI CASIO 1) Corriger en complétant un des programmes par les instructions conditionnelles manquantes. 2) À l'aide d'une calculatrice programmable ou d'un logiciel, tester ce programme pour x = 5 et y = 9. Page 17 sur 23

Exercice 4 : Saisir dans l'ordre croissant trois nombres entiers A, B, C Affecter à M la valeur de A 2 Affecter à N la valeur de B 2 Affecter à X la valeur de M + N Affecter à Y la valeur de C 2 Si X = Y Alors afficher "A, B, C est un triplet de Pythagore" afficher "A, B, C n'est pas un triplet de Pythagore" 1) Rédiger un programme (langage au choix) traduisant cet algorithme. 2) À l'aide d'une calculatrice programmable ou d'un logiciel, tester ce programme pour trouver quelques triplets de Pythagore. Exercice 5 : Dans chacun des programmes ci-dessous, les affichages en sortie de l'algorithme ont été supprimés. 1) Quel problème permet de résoudre cet algorithme? 2) Recopier et compléter un des programmes. 3) A l'aide d'une calculatrice programmable ou d'un logiciel, tester ce programme pour différentes valeurs de A et B. Python Scilab Page 18 sur 23

TI CASIO Exercice 6 : Ecrire un programme qui affiche le plus grand de deux nombres saisis en entrée. Tester ce programme à l'aide d'une calculatrice programmable ou d'un logiciel. Exercice 7 : Écrire un programme qui demande en entrée à un client le montant total de ses achats. En fonction de la somme dépensée, le programme affiche en sortie le prix à payer : - Si la somme dépensée est strictement inférieure à 75, il obtient 5 % de remise. - Si la somme dépensée est supérieure à 75, il obtient 8 % de remise. Tester ce programme à l'aide d'une calculatrice programmable ou d'un logiciel. Page 19 sur 23

FICHE n 6 : PROGRAMMER DES BOUCLES Syntaxe pour les boucles dans 4 langages de programmation : Langage naturel Python Scilab TI CASIO while Condition: while Condition :While Condition While Condition Tant que Condition est vraie Instructions Instructions :Instructions Instructions Faire Instructions end :End WhileEnd Langage naturel Python (*) Scilab TI CASIO for i in range(3,8): Instructions Pour i allant de 3 à 7 Faire Instructions for i =3:7 Instructions end :For(i,3,7) :Instructions :End (*) En Python, range(a,b) désigne la séquence des entiers n vérifiant a n b. range(b) désigne la séquence des entiers 0, 1,, b 1 For 3 i To 7 Instructions Next Syntaxe pour sortir d'une boucle : Langage naturel Python Scilab TI CASIO Sortir de la boucle break Syntaxe pour générer un nombre aléatoire : Langage naturel Python (*) Scilab TI CASIO Générer un nombre réel aléatoire de random() rand() rand Ran# l'intervalle [0,1[ Générer un nombre entier aléatoire de l'intervalle [1,5] randint(1,5) int(rand()*5)+1 randint(1,5) RanInt#(1,5) (*) En Python, les commandes random et randint nécessitent l'appel d'un module au début du programme. Pour ce faire, taper : from random import* Exercice 1 : Voici un algorithme écrit dans différents langages de programmation : Python Scilab TI CASIO Page 20 sur 23

1) Quel problème permet de résoudre cet algorithme. 2) a) En s'inspirant des programmes précédents, écrire un programme (langage au choix) permettant de calculer la somme des entiers de 34 à 145. Tester ce programme à l'aide d'une calculatrice ou d'un logiciel. b) Même question pour la somme des entiers de 67 à 456. Exercice 2 : Rédiger et tester un programme permettant de calculer la somme des entiers naturels pairs inférieure à 1000. Exercice 3 : 1) Compléter l'algorithme suivant qui permet de déterminer la moyenne d'une série de notes, où N est le nombre de notes. Saisir N Langage naturel Pour i allant de 1 à N Faire 2) Rédiger et tester un programme traduisant cet algorithme. Exercice 4 : On place un capital de 500 sur un compte rémunéré à 3% par an. L algorithme suivant, écrit en langage naturel, permet de calculer le nombre d'années au bout desquelles le capital sera doublé. Langage naturel Affecter à S la valeur 500 Affecter à A la valeur 0 Tant que S<1000 Faire Affecter à S la valeur 1,03xS Affecter à A la valeur A+1 Afficher A 1) Chacun des programmes ci-dessous traduisant l'algorithme précédent comprend une erreur. Corriger un des programmes (au choix) et le tester à l'aide d'une calculatrice ou d'un logiciel. Page 21 sur 23

Python Scilab TI CASIO 2) Modifier le programme précédent de telle sorte que le capital et le taux de rémunération soient saisis en entrée. L'algorithme affichera à nouveau en sortie le nombre d'années au bout desquelles le capital sera doublé. Exercice 5 : On dépose 25 dans une tirelire. L algorithme suivant, écrit en langage naturel, permet de calculer le nombre de pièces de 1 ou 2 ajoutés de façon aléatoire dans la tirelire avant de dépasser 50. Affecter à S la valeur 25 Affecter à D la valeur 0 Langage naturel Tant que S<50 Faire Affecter à A la valeur aléatoire 1 ou 2 Affecter à S la valeur S+A Affecter à D la valeur D+1 Afficher A Afficher D Rédiger et tester un programme traduisant cet algorithme. - Syntaxe pour un nombre aléatoire en page 1 de la fiche - Exercice 6 : D'après "Document ressource pour la classe de seconde" juin 2009 On demande à l utilisateur de deviner en moins de six essais un nombre tiré au hasard entre 10 et 100. On lui indique à chaque fois si le nombre proposé est supérieur ou inférieur au nombre cherché. 1) L'algorithme qui suit, écrit en langage naturel, permet d'effectuer le jeu. a) Que représentent les variables E, S et N? b) Rédiger et tester un programme traduisant cet algorithme. - Voir syntaxes en page 1 de la fiche - Page 22 sur 23

Langage naturel Affecter à S la valeur d'un nombre aléatoire entier compris entre 10 et 100 Affecter à E la valeur 1 et entrée Tant que E<7 Saisir N Si N>S Alors afficher "C'est moins" Si N<S Alors afficher "C'est plus" Afficher "C'est gagné" Sortir de la boucle E=E+1 Si E=7 Alors afficher "C'est perdu" 2) Sans stratégie, il est difficile de gagner. En effet, selon le choix des valeurs, il sera ou non possible de déterminer à coup sûr la solution. La méthode consiste, en choisissant à chaque fois la valeur située au milieu de l intervalle en cours, à réduire de moitié l amplitude de l intervalle dans lequel se trouve le nombre. Tester cette stratégie pour gagner à tous les coups à ce jeu. Page 23 sur 23