1ère Générale NSI

 

Term. Générale NSI

 

Terminale STI2D SIN

Bts Ccst

Technico-commercial 3.0

[[{"quiz":744}], [{"text":"

Une boucle permet d'exécuter une portion de code plusieurs fois de suite.

L'instruction while

\"\"

Syntaxe

while expression:\t\t# ne pas oublier le signe de ponctuation ':'\n    bloc d'instructions\t\t# attention à l'indentation\n# suite du programme

Si l'expression est vraie (True) le bloc d'instructions est exécuté, puis l'expression est à nouveau évaluée.
Le cycle continue jusqu'à ce que l'expression soit fausse (False) : on passe alors à la suite du programme.


","title":"Activité 4 : Les boucles et les fonctions","posi":0}, {"code":"a=0
while a < 5 : #Debut de la boucle
   print( a )
   a = a + 1

print(\"Suite du programme\")
"}, {"text":"Modifier le programme pour qu'il affiche les nombres de 1 à 10."}], [{"text":"

Table de multiplication par 8

# script Boucle2.py\n\ncompteur = 1\t# initialisation de la variable de comptage\nwhile compteur <= 10:\n    # ce bloc est exécuté tant que la condition (compteur <= 10) est vraie\n    print(compteur, '* 8 =', compteur*8)\n    compteur += 1    # incrémentation du compteur, compteur = compteur + 1\nprint(\"Et voilà c'est facile!\")


Tester le code ci-dessus dans le compilateur Python. Conclure.
","title":"Table de multiplication facile"}, {"code":""}, {"input":"","place":"Conclure ici."}, {"text":"Modifier le programme pour qu'il affiche la table de 13."}], [{"text":"

# script Boucle3.py\n\nimport time     # importation du module time\nquitter = 'n'   # initialisation\nwhile quitter != 'o':\n    # ce bloc est exécuté tant que la condition est vraie\n    # strftime() est une fonction du module time\n    print('Heure courante ', time.strftime('%H:%M:%S'))\n    quitter = input(\"Voulez-vous quitter le programme (o/n) ? \")\nprint(\"A bientôt\")


Copier et tester le programme ci-dessus. Conclure.

","title":"Exemple : Affichage de l'heure courante"}, {"code":"
# script Boucle3.py\n\nimport time     # importation du module time\nquitter = 'n'   # initialisation\nwhile quitter != 'o':\n    # ce bloc est exécuté tant que la condition est vraie\n    # strftime() est une fonction du module time\n    print('Heure courante ', time.strftime('%H:%M:%S'))\n    quitter = input(\"Voulez-vous quitter le programme (o/n) ? \")\nprint(\"A bientôt\")


"}, {"input":"","place":"Conclure ici."}], [{"text":"

Syntaxe

for élément in séquence :\n    bloc d'instructions\n# suite du programme

Les éléments de la séquence sont issus d'une chaîne de caractères ou bien d'une liste.

Tester le programme et conclure.

","title":"L'instruction for"}, {"code":"liste = [\"rouge\" , 1 , 3 , \"vert\"]
for element in liste :
  print(element)

print(\"Suite du programme\")
"}, {"input":"","place":"Conclure ici."}], [{"text":"

Fonction range()

L'association avec la fonction range() est très utile pour créer des séquences automatiques de nombres entiers :

# script Boucle6.py\nprint(list(range(1,5)))\n\nfor i in range(1,5):\n    print(i)\nprint(\"Fin de la boucle\")



Tester le programme et conclure
","title":"La fonction range"}, {"code":""}, {"input":"","place":"Conclure ici."}], [{"text":"


La création d'une table de multiplication paraît plus simple avec une boucle for qu'avec une bouclewhile :

# script Boucle7.py\n\nfor compteur in range(1,11):\n    print(compteur, '* 9 =', compteur*9)\nprint(\"Et voilà !\")

Tester le programme et conclure.
","title":"Table de multiplication avec range"}, {"code":""}, {"input":"","place":"Conclure ici."}, {"text":"Modifier le programme pour réaliser la table de 15."}], [{"text":"

L'instruction break provoque une sortie immédiate d'une boucle while ou d'une boucle for.

Dans l'exemple suivant, l'expression True est toujours ... vraie : on a une boucle sans fin.
L'instruction break est donc le seul moyen de sortir de la boucle.

# script Boucle8.py
chaine = \">\" \n
while True:\n    # strftime() est une fonction du module time\n    print(chaine)\n    quitter = input('Voulez-vous quitter le programme (o/n) ? ')\n    if quitter == 'o':\n        break\n    chaine = chaine + \">\"\nprint(\"A bientôt\")


Tester le programme et conclure.
","title":"L'instruction break"}, {"code":""}, {"input":"","place":"Conclure ici."}], [{"text":"Ecrire un programme qui affiche la table de multiplication de 7. ","title":"Exercice 1 : Table de multiplication de 7"}, {"code":""}], [{"text":"Ecrire un programme qui affiche le contenu d'une liste de marque de voiture.","title":"Exercuce 2 : Afficher le contenu d'une liste"}, {"code":"liste = [\"Mercedes\" , \"Bmw\" , \"Citroën\"  , \"Peugeot\" , \"Renault\" ,  \"Venturi\" ,\"Fiat\"]
#afficher la liste
"}], [{"text":"

Nous avons déjà vu beaucoup de fonctions : print(), type(), len(), input(), range()...

Ce sont des fonctions pré-définies (built-in functions).
Nous avons aussi la possibilité de créer nos propres fonctions !

Intérêt des fonctions

Une fonction est une portion de code que l'on peut appeler au besoin (c'est une sorte de sous-programme).

L'utilisation des fonctions évite des redondances dans le code : on obtient ainsi des programmes plus courts et plus lisibles.

Par exemple, nous avons besoin de convertir à plusieurs reprises des degrés en radians :

>>> import math\n>>> print(90*math.pi/180)
>>> print(30*math.pi/180)
>>> print(45*math.pi/180)


Tester la programme de conversion.

","title":"Les fonctions"}, {"code":"
import math\nprint(\"90° <=>\",90*math.pi/180,\"rad\")
print(\"30° <=>\",30*math.pi/180,\"rad\")
print(\"45° <=>\",45*math.pi/180,\"rad\")


"}, {"input":"","place":"Conclure ici."}], [{"text":"

La même chose en utilisant une fonction :

>>> def degenrad(degre):\n        # Conversion degré en radian \n        print(degre , \"<=>\" , degre * math.pi / 180 , \"rad\")\n>>> degenrad(90)
>>> degenrad(30)
>>> angle = 45\n>>> degenrad(angle)

Rien ne vous oblige à définir des fonctions dans vos scripts, mais cela est tellement pratique qu'il serait improductif de s'en passer !

"}, {"code":"def degenrad(degre):
        # Conversion degré en radian 
        print(degre , \"<=>\" ,  degre * math.pi / 180 , \"rad\")

degenrad(90)
degenrad(30)

angle = 45
degenrad(angle)
"}, {"input":"","place":"Conclure ici."}], [{"text":"

L'instruction def

Syntaxe

def nom_de_la_fonction(parametre1, parametre2, parametre3, ...):\n    \"\"\" Documentation\nqu'on peut écrire\nsur plusieurs lignes \"\"\"\t# docstring entouré de 3 guillemets (ou apostrophes)\n\n    bloc d'instructions\t\t# attention à l'indentation\n\n    return resultat \t\t# la fonction retourne le contenu de la variable resultat


Exemple n°1


","title":"L'instruction def"}, {"code":"

# script Fonction1.py
\n\ndef mapremierefonction():\t# cette fonction n'a pas de paramètre\n \"\"\" Cette fonction affiche 'Bonjour' \"\"\"\n print(\"Bonjour\")\n return\t\t\t# cette fonction ne retourne rien ('None')\n\t\t\t\t# l'instruction return est ici facultative


","code2":"

# script Fonction1.py

def mapremierefonction():\t# cette fonction n'a pas de paramètre
    \"\"\" Cette fonction affiche 'Bonjour' \"\"\"
    print(\"Bonjour\")
    return\t\t\t# cette fonction ne retourne rien ('None')
\t\t\t\t# l'instruction return est ici facultative

"}], [{"text":"


La fonction suivante simule le comportement d'un dé à 6 faces.
Pour cela, on utilise la fonction randint() du module random.

import random
# script Fonction2.py\n\ndef tirage_de():\n    \"\"\" Retourne un nombre entier aléatoire entre 1 et 6 \"\"\"\n    valeur = random.randint(1, 6)\n    return valeur

Tester le code plusieurs fois et conclure sur son rôle.","title":"Exemple n°2"}, {"code":"
import random
def tirage_de():
    \"\"\" Retourne un nombre entier aléatoire entre 1 et 6 \"\"\"
    valeur = random.randint(1, 6)
    return valeur
#Appeler la fonction tirage_de()\nprint(tirage_de())
"}, {"input":"","place":"Conclure ici."}, {"text":"Modifier le programme pour qu'il tire, au hasard, un nombre entre 1 et 10."}], [{"text":"

Une fonction qui affiche la parité d'un nombre entier.
Il peut y avoir plusieurs instructions return dans une fonction.
L'instruction return provoque le retour immédiat de la fonction.

# script Fonction6.py\n\n# définition de fonction\ndef parite(nombre):\n    \"\"\" Affiche la parité d'un nombre entier \"\"\"\n    if nombre%2 == 1:   # L'opérateur % donne le reste d'une division\n        print(nombre, 'est impair')\n        return\n    if nombre%2 == 0:\n        print(nombre, 'est pair')\n        return\n
parite(7)

Tester la fonction avec les nombre 2 , 9 , 12 et 0. 
","title":"Exemple n°3"}, {"code":""}, {"input":"","place":"Conclure ici."}], [{"text":"


La portée d'une variable est l'endroit du programme où on peut accéder à la variable.

Observons le script suivant :

a = 10\t\t# variable globale au programme\n\ndef mafonction():\n    a = 20\t# variable locale à la fonction\n    print(a)\n    return
print(a)\t\t# nous sommmes dans l'espace global du programme\n\nmafonction()\t# nous sommes dans l'espace local de la fonction\n\nprint(a)\t\t# de retour dans l'espace global\n

Nous avons deux variables différentes qui portent le même nom a

Une variable a de valeur 20 est créée dans la fonction : c'est une variable locale à la fonction.
Elle est détruite dès que l'on sort de la fonction.

Tester le programme et conclure.

","title":"Portée de variables : variables globales et locales"}, {"code":""}, {"input":"","place":"Conclure ici."}], [{"text":"
Ecrire une fonction qui calcule le carré d'un nombre.

Exemple :
carre(5)
25
","title":"Exercice 3 : Le carré"}, {"code":""}, {"solution":"def carre( nombre) :\n print( nombre**2 )\n\ncarre(5)"}], [{"text":"
Ecrire une fonction qui calcule la surface d'un disque en donnant son rayon.

Exemple :
disque(5)
78,3
","title":"Exercice 4 : Surface d'un disque"}, {"code":""}, {"solution":"import math\ndef disque( rayon) :\n print( math.pi * rayon**2 )\n\ndisque(5)"}], [{"text":"
Ecrire une fonction qui calcule la surface d'un triangle en donnant sa base et sa hauteur.

Exemple :
triangle( 4 , 5)
10
","title":"Exercice 5 : Surface d'un triangle"}, {"code":""}]]

En poursuivant votre navigation sur mon site, vous acceptez l’utilisation des Cookies et autres traceurs  pour réaliser des statistiques de visites et enregistrer sur votre machine vos activités pédagogiques. En savoir plus.