{"cells":[{"metadata":{},"cell_type":"markdown","source":"

TP2 - Demarrer avec Python - Boucles bornées ou non bornées

"},{"metadata":{},"cell_type":"markdown","source":"### Boucles Bornées\n

Une boucle bornée for (Pour) permet de répéter des instructions un nombre de fois déterminé à l’avance.

\nOn peut :
\n\n- Soit répéter une instruction identique."},{"metadata":{"trusted":false},"cell_type":"code","source":"# exemple\nfor i in range(3):\n print(\"Attention\",i)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"- Soit répéter une instruction qui dépend de la variable.
\n Exemple : \nOn fait un décompte, l’affichage change à chaque tour dans la boucle. "},{"metadata":{"trusted":false},"cell_type":"code","source":"# Exemple : On fait un décompte, l’affichage change à chaque tour dans la boucle.\nfor i in range(1,6):\n print(6-i)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Remarques\n- La ligne du for se termine toujours par deux points(:)\n- Les instructions qui doivent être répétées lors de la boucle for doivent être indentées.\n- in range (1,6) effectue la liste des entiers de 1 à 5. Attention, on remarquera que la borne droite est toujours exclue.\n- in range(3) effectue la liste des entiers de 0 à 2. De la même manière, la borne droite est toujours exclue.\n- in range(1,10,2) effectue la liste des entiers de 1 à 9 avec un pas de 2, c'est à dire i=1,i=3,i=5,i=7 et i=9"},{"metadata":{"trusted":false},"cell_type":"code","source":"# exercuter ce code \nfor n in range(20):\n print(n,end=\";\")\nprint(\"\\n\") # permet d'aller à la ligne\nfor n in range(3,20):\n print(n,end=\";\")\nprint(\"\\n\")\nfor n in range(3,20,5):\n print(n,end=\";\")\nprint(\"\\n\")\nfor n in range(20,11,-2):\n print(n,end=\";\")\nprint(\"\\n\")\nfor n in range(32,20,5): # rien ne s'affiche !\n print(n,end=\";\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 1.\tEcrire un programme qui demande un nombre puis affiche les carrés des entiers de 1 à ce nombre ? on évitera d'aller à la ligne ( end=\"\\t\" à rajouter dans le print)"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 2.\tÉcrire les multiples de 3 jusqu'à 100 "},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 3 : Ecrire la table de multiplication de 7 :"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 4.\tÉcrire un programme qui affiche toutes les tables de multiplication de 1 à 10.\nOn utilisera 2 boucles for uniquement."},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 5.\tÉcrire un programme qui demande un nombre puis affiche une suite de 10 nombres dont chaque terme est égal au triple du terme précédent, le 1er est le nombre utilisé par l'utilisateur. si on entre 4 , on doit afficher 4,12,36,108,...."},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 6.\tÉcrire un programme qui affiche les entiers de 1 à 100 et qui affiche TIC si c'est un multiple de 3, TAC si c'est un multiple de 5 et donc TICTAC si c'est un multiple de 15, les autres étant affichés par leur valeur.
\nAffichage demandé :
\n1
\n2
\n3 TIC
\n4
\n5 TAC
\n....
\n15 TICTAC
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 7. Complèter les lignes du programme suivant qui calcule la somme des n premiers entiers naturels 1+2+3+.....+n .\nPar exemple si on entre 10 pour n la somme est de 55\n"},{"metadata":{"trusted":false},"cell_type":"code","source":"n=int(input(\"entrer n\"))\nsomme=...\nfor i in range(..):\n somme=........\nprint(somme)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 8 : tester ce programme puis modifier-le pour qu'il affiche la simulation de 10 lancers de dé cubiques"},{"metadata":{"trusted":false},"cell_type":"code","source":"from random import randint\nfor i in range(10):\n n=randint(0,1)\n print(n)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 9 : Ecrire un programme qui simule 100 lancers de pièces et qui compte et affiche le nombre de fois pile. "},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Boucles non bornées\n

Une boucle non bornée while (Tant que) permet de répéter des instructions autant de fois que la condition fixée initialement est vérifiée.\n

\nExemple :\n\nUn particulier possède une piscine et décide de s’équiper d’un système automatique de remplissage pour tenir compte de l’évaporation pendant la période estivale.\nSur un site spécialisé, il apprend que les conditions climatiques dans sa région pendant cette période sont telles qu’il peut prévoir une évaporation quotidienne de 4 % de la quantité d’eau.\nIl décide alors de régler son système de remplissage automatique à un apport de 2 m3 d’eau par jour.\nLe premier jour de la mise en fonctionnement du système automatique de remplissage, la piscine contient 75 m3. \nSi le volume d’eau dans la piscine est inférieur à 65m3, le niveau de l’eau est insuffisant pour alimenter les pompes de filtration ce qui risque de les endommager."},{"metadata":{"trusted":false},"cell_type":"code","source":"nbjours=0\nvolume=75\nwhile volume > 65:\n volume=volume*0.96+2\n nbjours=nbjours+1\nprint(\"Le réglage automatique pourra rester en place pendant\", nbjours ,\"jours.\" )","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Remarques\n- Il faut vérifier qu’on entre une première fois dans la boucle ( que la condition est vérifiée la première fois ).\n- Il faut s’assurer que la boucle se termine ( que la condition n’est pas toujours vérifiée ).
\nComme pour les conditions ou la boucle bornée:\n- Il ne faut pas oublier les deux points à la fin de la ligne du while.\n- Les instructions à répéter doivent être indentées."},{"metadata":{},"cell_type":"markdown","source":"Exercice 10. a) Que fait ce programme ?"},{"metadata":{"trusted":false},"cell_type":"code","source":"a=26\nb=3\nq=0\nwhile a>b:\n q=q+1\n a=a-b\nprint(q) ","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"b) Modifier le pour qu'il affiche aussi le reste "},{"metadata":{},"cell_type":"markdown","source":"Exercice 11.\tEcrire un programme qui demande un nombre entier , affiche par exemple \"5 est un joli nombre\" et qui s'arrête lorsque vous tapez 0."},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 12.\tEcrire un programme qui demande un prénom. Si ce prénom est Paul, le programme affiche \"enfin c'est toi\", sinon le programme redemande un nouveau prénom car ce n'est pas la personne qu'il attend (un genre de mot de passe non?)."},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 13.
\tEcrire un programme qui additionne tous les nombres que vous entrez (tour à tour) et qui s'arrête lorsque vous tapez 0."},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Exercice 14.
\tEcrire un programme qui additionne tous les nombres que vous saisissez (un par un) et qui s'arrête lorsque la somme dépasse 100."},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3.9.13 64-bit (windows store)","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.9.13"},"vscode":{"interpreter":{"hash":"970a2a4939579a4c22872227820a264ec023ee5692739211cbaca24386397975"}},"widgets":{"application/vnd.jupyter.widget-state+json":{"state":{},"version_major":2,"version_minor":0}}},"nbformat":4,"nbformat_minor":2}