Vous êtes sur la page 1sur 7

{

"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# <center>TD 1 - Variables, séquences et conditionnelles </center>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Compétences visées\n",
"- Déclarer et initialiser des variables de type numérique (entier,
flottant...)\n",
"- Afficher des chaînes de caractères simples et contenant des expressions avec
une fstring\n",
"- Déclarer et initialiser des listes\n",
"- Évaluer des expressions numériques et booléennes en tenant compte des
priorités entre opérateurs en Python\n",
"- Écrire une conditionnelle simple (if/else)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercice 1 - Premières instructions\n",
"\n",
"*L'objectif de cet exercice est de calculer l'image de x par la fonction f(x)
= 3x + 2 pour différentes valeurs de x.*\n",
"\n",
"Dans la cellule ci-dessous, faites les questions une par une. Avant de passer
à la question suivante pensez à **exécuter votre code** pour vous assurer qu'il n'y
a pas d'erreur.\n",
"\n",
"1. ***Déclarez une variable entière nommée x et initialisez cette variable à
la valeur 10.***\n",
"2. ***Déclarez une variable entière nommée fx et initialisez cette variable
avec l'expression 3 * x + 2.***\n",
"3. ***Affichez la valeur de la variable fx et vérifiez que la valeur est
correcte.***\n",
"4. ***Modifier la valeur de x et exécuter à nouveau.***"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Faire les questions 1 à 4 ici"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"***"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false
},
"source": [
"## Exercice 2 - Affichage\n",
"\n",
"1. ***Lisez le code dans la cellule suivante et essayez de comprendre ce qu'il
fait.***"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"11.180339887498949\n"
]
}
],
"source": [
"from math import sqrt # Permet d'importer la fonction racine carrée (sqrt) du
module math\n",
"\n",
"longueur1 = 10\n",
"longueur2 = 5\n",
"hypotenuse = sqrt(longueur1 ** 2 + longueur2 ** 2)\n",
"\n",
"print(hypotenuse)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": false,
"editable": false
},
"source": [
"On voudrait améliorer l'affichage de ce code afin d'afficher une description
du résultat qui fonctionne quelque soit les valeurs des variables longueur1,
longueur2 et hypotenuse.\n",
"\n",
"2. ***Dans la cellule ci-dessous, écrivez le code permettant d'afficher le
résultat sous la forme :*** \n",
"L'hypoténuse d'un triangle rectangle de côté 10 cm x 5 cm est:
11.180339887498949 cm"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Faire la question 2 ici"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. ***Vérifiez qu'en changeant les valeurs des variables longueur1 ou
longueur2 l'affichage est toujours correct.***"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"***\n",
"### <center> *Les question suivantes sont optionnelles* </center>\n",
"\n",
"4. ***En vous appuyant sur le CM1, cherchez comment améliorer l'affichage pour
n'afficher que 2 chiffres significatifs après la virgule de la variable
hypotenuse.***"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Faire la question 4 ici"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"5. ***Cherchez comment afficher la valeur de l'hypoténuse sous forme
d'écriture scientifique tout en conservant 2 chiffres significatifs après la
virgule.***"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Faire la question 5 ici"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On souhaite afficher les valeurs des hypoténuses des triangles de côtés: \n",
"- côté1: 5cm, côté2: 22cm\n",
"- côté1: 10cm, côté2: 0.99cm\n",
"- côté1: 200cm, côté2: 157cm\n",
"\n",
"Avec l'affichage précédent, on obtiendrait le résultat suivant: \n",
"<pre>longueur1: 5, longueur2: 22, hypotenuse: 22.56\n",
"longueur1: 10, longueur2: 0.99, hypotenuse: 10.05\n",
"longueur1: 200, longueur2: 157, hypotenuse: 254.26</pre>\n",
"\n",
"On souhaiterait améliorer l'affichage pour obtenir le résultat suivant: \n",
"<pre>longueur1: 5, longueur2: 22, hypotenuse: 22.56\n",
"longueur1: 10, longueur2: 0.99, hypotenuse: 10.05\n",
"longueur1: 200, longueur2: 157, hypotenuse: 254.26</pre>\n",
"\n",
"6. ***Cherchez comment arriver à ce résultat sans ajouter d'espaces
manuellement, mais en trouvant un formatage dédié.***"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from math import sqrt # Permet d'importer la fonction racine carrée (sqrt) du
module math\n",
"\n",
"# Faire la question 6 ici"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"***"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercice 3 - Expressions et priorité entre opérateurs\n",
"\n",
"1. ***Sur papier, prédisez le résultat de chaque expression suivante.*** \n",
"Vous pouvez notamment vous aider de la documentation sur l'ordre de priorités
entre les opérateurs en Python
[ici](https://docs.python.org/fr/3/reference/expressions.html#operator-summary).\
n",
"2. ***Vérifiez que vos réponses sont correctes.***"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"2 + 1 * 4 "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"var = \"5\"\n",
"int(11.5) + 2.5 - float(var)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"True or True and False "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"10 * 2 - 2 % 3 == 0 "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"liste = [1, 2, 3]\n",
"liste[2] <= 3 - liste[1]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"***"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercice 4 - Produit scalaire"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Soit deux vecteurs v1 et v2 quelconques représentés par des listes. L'objectif
de cet exercice est de calculer leur produit scalaire et d'afficher si l'angle
entre ces vecteurs est inférieur à 90°.\n",
"\n",
"1. ***Déclarez deux listes nommées v1 et v2. Initialisez chacune des listes
avec deux entiers représentant les coordonnées du vecteur.***"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Faire la question 1 ici"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. ***Déclarez une variable nommée produit_scalaire et affectez lui
l'expression permettant de calculer le produit scalaire entre v1 et v2.*** \n",
"On rappel la formule du produit scalaire entre deux vecteurs $v_1 = (x,y)$ et
$v_2 = (x',y')$: \n",
"$v_1.v_2 = xx' + yy'$"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Faire la question 2 ici"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. ***À l'aide d'une conditionnelle simple, écrivez un code permettant
d'afficher si l'angle entre les vecteurs v1 et v2 est inférieur à 90° ou si il ne
l'est pas.*** \n",
"On rappel que l'angle entre deux vecteurs quelconques est inférieur à 90° si
leur produit scalaire est positif."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Faire la question 3 ici"
]
}
],
"metadata": {
"celltoolbar": "Format de la Cellule Texte Brut",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}

Vous aimerez peut-être aussi