Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

TP1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

Université Sultan Moulay Slimane Année universitaire : 2024 - 2025

Faculté Polydisciplinaire de Khouribga Filière : TC MIP


Département Mathématiques Informatique Module : Informatique1 : Algorithmique 1 / Python

TP1 : Types, variables, tests, Boucles.


Contenu :
• Familiarisation avec jupyter notebook ;
• Types de base : entier, flottant, chaîne de caractères, booléen ;
• Variables ;
• Saisies et affichage ;
• Instruction conditionnelle if ;
• Boucles for et while.

1. Types numériques et type chaîne de caractères


1.1. Les premières commandes python - les opérateurs
Nous allons maintenant dialoguer avec l’interpréteur Python : tapez les instructions de la colonne de gauche
et écrivez les résultats obtenus (les réponses de l'interpréteur), dans la colonne de droite, en commentant
éventuellement (essayez de prévoir la réponse et, si elle est différente, de comprendre pourquoi la réponse
qui vous paraît logique n'a pas été celle de l'ordinateur).

Tableau 1 : premières commandes python


Instruction à taper Résultat obtenu + commentaire ou explication
20+1
20/3
20//3
20%3
5.45*10
2**4
(3+2)*5
3+2*5
"bonjour"
(avec des guillemets)
'bonjour'
(avec des apostrophes et
non pas des guillemets)
"il fait " + "beau"
"bonjour"*5
Certaines instructions ne sont pas acceptées par l'interpréteur python et provoquent l'affichage d'un message
d'erreur. Il faut lire attentivement tous les messages d'erreur (même s'ils sont en anglais) car ces messages
nous apprennent comment fonctionne le langage et nous aident à corriger nos instructions et nos
programmes. Tapez les instructions suivantes, observez les erreurs obtenues et analysez-les :

Tableau 2 : premiers messages d'erreur


Instruction à taper Erreur observée + explication
20/0
20@3
"bonjour"/3
"bonjour" + 5
(3+2))*5
(3+2*5
Exercice 1 : opérateurs et types de données
Sur quels types de données peut-on utiliser les opérateurs +, *, / , // , % , ** ? Quel est le type du résultat ?
Répondre en complétant ci-dessous. Vous pouvez faire des tests en tapant d'autres instructions dans
l'interpréteur python.

(Exemple : 3+7.1 est accepté par l'interpréteur python, donc l'opérateur + s'applique à un entier et à un
flottant, et le résultat est de type flottant).

Opérateur Types de données utilisables Type du résultat


+
*
/
//
%
**
1.2. Le transtypage
On peut parfois transformer une donnée d'un certain type, en une donnée d'un autre type. Cela s'appelle le
transtypage (ou cast en anglais).

Tableau 3 : transtypage
Donnée de départ De quel type est la Instruction à taper Type du résultat obtenu
donnée de départ ? et/ou commentaire
3.0 int(3.0)
3.5 int(3.5)
3 float(3)
4 str(4)
"3" int("3")
"3.5" float("3.5")
"3.5" int("3.5")
"bonjour" int("bonjour")
1.3. Les variables et l'affectation

Il peut être pratique de ranger les données dans des contenants, aussi appelés variables, afin de les conserver
dans la mémoire de l'ordinateur pour les utiliser plus tard.

Le rangement d'une donnée (un contenu) dans une variable (un contenant) s'appelle l'affectation.
L'affectation se fait grâce à l'opérateur = qui s'appelle l'opérateur d'affectation.

Tableau 4 : opérateur d'affectation =


Instruction à taper Quelle est la variable ? Quelle est la donnée (ou est le résultat
de l'évaluation de la partie droite) ? De
quel type est cette donnée (ou ce
résultat) ?

age = 20
prenom = "Said"
taille_m = 1.75
taille_cm = 100*taille_m
age = age + 3
phrase1 ="bonjour "+ prenom
phrase2 = prenom +" a "
+str(age)+" ans."
1.4. Les fonctions d'entrée / sortie

Afin que l'utilisateur puisse entrer des données dans les variables du programme et visualiser les résultats
calculés par le programme, le programmeur utilise des fonctions d'entrée et de sortie.

La fonction print est une fonction de sortie : elle affiche à l'écran (à l'attention de l'utilisateur) une donnée ou
le contenu d'une variable.

La fonction input est une fonction d'entrée : le programme affiche une question à l'attention de l'utilisateur
et attend que l'utilisateur tape sur des touches du clavier en réponse à cette question. L'utilisateur doit
terminer sa saisie par la touche "Entrée" pour que le programme continue son exécution. La suite de
caractères saisie par l'utilisateur est récupérée par le programme où elle peut être utilisée. Elle est
généralement affectée à une variable du programme.

La donnée récupérée par la fonction input (en python3) est de type chaîne de caractères.

Si on souhaite récupérer un nombre (et non pas une chaîne de caractères), il faut transtyper cette donnée
récupérée par input.
Tableau 5 : utilisation de la fonction input
Instruction à taper Résultat ou Commentaire
numero = input("entrez un chiffre entre 1 et 5 : ")
type(numero)
numero = numero + 1
numero = int(numero)
type(numero)
numero = numero + 1
Tableau 6 : utilisation de la fonction print
Instruction à taper Résultat ou Commentaire
nom = input("Quel est ton nom ? ")
print("bonjour nom")
print("bonjour", nom)
print("bonjour"+nom)
print(f"bonjour {nom}")
Exercice 2 : afficher la somme de deux valeurs fournies en entrée par l'utilisateur
Tapez les lignes suivantes puis exécutez :
var1 = input("Quelle est la première valeur ? ")
var2 = input("Quelle est la deuxième valeur ? ")
var_somme = var1 + var2
print("La somme des deux valeurs est", var_somme)
Quel résultat est obtenu ?

On souhaite que la variable var_somme contienne la somme des deux nombres entrés par l'utilisateur.
Corrigez ce programme pour qu'il fasse ce qui est souhaité.

1.5. Le type booléen


Le type booléen ou bool est un type de données. Un booléen ne peut prendre que 2 valeurs : vrai (True) ou
faux (False).
Les opérateurs qui s'appliquent aux booléens s'appellent opérateurs logiques. Ce sont : not (NON), and (ET),
or (OU).
D'autres opérateurs s'appliquent à des données numériques ou chaînes de caractères et produisent un
résultat booléen : ce sont les opérateurs de comparaison :
== signifie“est égal à”
!= signifie“est différent de”
< , <= , > , >= signifient“est inférieur, inférieur ou égal, supérieur, supérieur ou égal” .
Ces opérateurs permettent de faire des tests. Le résultat de l'opération est True si le test est vrai, False si le
test est faux.
NB : ne pas confondre l'opérateur de test d'égalité == avec l'opérateur d'affectation = .
Taper les instructions suivantes dans l'interpréteur et compléter le tableau :
Tableau 7 : booléens
instruction à taper résultat obtenu + commentaire ou explication
1 == 1
1 == 3
1 != 3
1 == 1.0
(3+7) == (5*2)
(1 == 1) and (2<2)
(1 == 1) and (2<=2)
(2 == 15) or (3>2)
1 < 4 < 15
valeur = (1==1)
type(valeur)
not(valeur)
True and False
True or False
not(False)
2. Importer des modules et utiliser l'aide (help)
Dans un programme, on peut utiliser des fonctions et variables déclarées dans un autre programme (qu'on
appelle alors module), en tapant le mot clé import suivi du nom de ce module.
On peut afficher une aide sur un module tout entier, ou sur une fonction, en utilisant la fonction help() en
indiquant entre parenthèses le nom de l'élément au sujet duquel on souhaite une aide.
Exercice 3 : afficher l'aide du module math
Lancez la fenêtre de l'interpréteur python et tapez les instructions suivantes :
import math
help(math)
Dans la liste qui s'affiche, cherchez les fonctions : cos, acos, tan, atan, sqrt, pi, exp, log.
Répondez aux questions suivantes :
1.à quoi sert la fonction sqrt ? ...
3. L'instruction conditionnelle if
Pour faire les exercices ci-dessous, vous devez utiliser cette instruction conditionnelle if. (avec éventuellement
les instructions complémentaires elif et else).
On veut réaliser un programme qui calculera les racines réelles d'un trinôme du second degré : ax2 + bx + c,
où a, b et c sont trois réels. Si le trinôme n'a pas de racine réelle, on souhaite que le programme affiche une
phrase indiquant qu'il n'y a pas de racine réelle.
Le programme devra :
- Demander à l'utilisateur de saisir les coefficients du trinôme sous forme de 3 nombres flottants (float), qui
seront stockés dans des variables a, b, et c.
- Calculer la valeur du discriminant du trinôme qui sera nommé delta.
- Tester la valeur du discriminant, au moyen de l'instruction if. En fonction du signe du discriminant, afficher
à l'écran une phrase donnant le nombre de racines réelles du trinôme, puis la valeur de ces racines réelles
(ou de cette racine réelle s'il s'agit d'une racine double).
- N'oubliez pas le jeu d'essai en fin de programme, ainsi que des commentaires.
Indication : pour pouvoir utiliser la fonction sqrt du module math, écrivez juste après l’en-tête du fichier, la
ligne : from math import sqrt

4. Les boucles for et while


L’instruction for est une instruction composée, c’est-à-dire une instruction dont l’en-tête se termine par deux-
points :, suivie d’un bloc indenté qui constitue le corps de la boucle.
On dit que l’on réalise une itération de la boucle à chaque fois que le corps de la boucle est exécuté.
Le mot-clé while signifie tant que en anglais. Le corps de la boucle (c’est-à-dire le bloc d’instructions
indentées) sera répété tant que la condition est vraie.
• L’instruction break : L’instruction break permet de « casser » l’exécution d’une boucle (while ou for).
Elle fait sortir de la boucle et passer à l’instruction suivante.
• L’instruction continue : L’instruction continue permet de passer prématurément au tour de boucle
suivant. Elle fait continuer sur la prochaine itération de la boucle.
Exécuter le programme Python suivant :
Instructions à taper Résultats obtenus + commentaire ou explication
i=1
while i<10 :
print(i, end=" ")
i=i+1
i=1
while i<10 :
if i==6:
break
print(i, end=" ")
i=i+1
i=1
while i<10 :
if i==6:
i=i+1
continue
print(i, end=" ")
i=i+1
for i in range(1,10) :
print(i, end=" ")
for i in range(1,10) :
if i==6:
break
print(i, end=" ")
for i in range(1,10) :
if i==6:
continue
print(i, end=" ")

Vous aimerez peut-être aussi