Les valeurs saisies au clavier par l’utilisateur et les résultats affichés à l’écran sont très utiles pour tester diverses entrées et/ou visualiser la valeur produite lors de la programmation d’un algorithme. Le document ressources 2017 semble cependant vouloir insister sur la non-équivalence « entrée d’algorithme – saisie clavier » et « valeur retournée par l’algorithme – affichage écran » :
On notera que les notions d’entrées-sorties input()
et print()
ne sont pas développées dans ce document : elles ne relèvent pas de la pensée algorithmique et l’accent mis par le programme sur la notion de fonction permet de s’en libérer complètement.
Au cours de cette formation, nous ferons donc bien la distinction entre :
- la valeur renvoyée par un algorithme (la sortie de l’algorithme);
- et un résultat (ou un message) affiché par un programme informatique.
Saisie clavier : input()
Saisir une chaîne de caractères
La fonction input()
permet de demander à l’utilisateur de saisir une chaîne de caractères au clavier. Il ne faut pas oublier d’affecter la valeur ainsi saisie à une variable.
Testez le programme suivant :
nom = input("Tapez votre nom : ")print("Bonjour ", nom, " !")
La première ligne affiche le message "Tapez votre nom : "
à l’écran puis stocke la chaîne entrée par l’utilisateur dans la variablenom
.
La seconde ligne affiche alors "Bonjour "
suivi du nom et d’unpoint d’exclamation.
Saisir un entier
On utilise également input()
pour que l’utilisateur saisisseun entier au clavier. Mais comme input()
renvoie nécessairementune chaîne, il faut utiliser une instruction de conversion de type.
Exemple :
n = int(input("Saisissez un entier : "))print("Le type de la variable n :", type(n)))
Grâce à la fonction int()
, n
est bien un entier.
Il faut bien sûr que l’utilisateur saisisse effectivement un entier(écrit avec des chiffres). S’il rentre par exemple le motdeux
, cela générera une erreur.
Saisir un réel
De façon analogue, on utilisera la fonction de conversion de typefloat()
:
x = float(input("Saisissez un flottant : "))print("Le type de la variable x :", type(x))print(x)
Si l’utilisateur tape 2
sur le clavier, vous pourrez constater que ladernière ligne (print(x)
) affichera 2.0
à l’écran.Le contenu de la variable x
est bien de type float
.
Saisir une opération
Si l’utilisateur saisit par exemple 3/4
ou 3+4
,il ne s’agit plus d’un float
ou d’un int
(bien que le résultat de l’opération soit un float
ou un int
).
Dans ce cas, on pourra utiliser la fonction eval()
.
x = eval(input("Saisir par exemple 3/4 : "))print("Le type de la variable x :", type(x))print(x)
On obtient :
Entrez par exemple 3/4 : 3/4Le type de la variable x : <class 'float'>0.75
Affichage à l’écran : print()
Pour afficher un résultat ou un message à l’écran, on utilisela fonction print()
.
print()
et virgule
On peut utiliser la virgule pour alterner message et valeur de variable.
nom = input("Tapez votre nom : ")age = int(input("Saisissez votre âge : "))taille = float(input("Saisissez votre taille (en mètres) : "))print("Vous vous appelez ", nom, ". Vous avez ", age, " ans et vous mesurez ", taille, " m.")
print()
et .format()
On peut utiliser la fonction .format()
qui permet d’écrireun texte moins haché en insérant le contenu des variables dans le texte à afficher :
nom = input("Tapez votre nom : ")age = int(input("Saisissez votre âge : "))taille = float(input("Saisissez votre taille (en mètres) : "))print("Vous vous appelez {}. Vous avez {} ans et vous mesurez {} m.".format(nom, age, taille))
La première accolade contient la valeur du premier paramètre de lafonction format()
(ici nom
), la seconde accolade affichera la valeur du second paramètre, …
On peut également indiquer des références explicites :
nom = input("Tapez votre nom : ")age = int(input("Saisissez votre âge : "))taille = float(input("Saisissez votre taille (en mètres) : "))print("Vous vous appelez {1}. Vous avez {0} ans et vous mesurez {2} m.nAu revoir {1}.".format( age, nom, taille))
L’accolade {0}
sera remplacée par la valeur du premierparamètre (ici age
), l’accolade {1}
sera remplacée par la valeur du second paramètre (ici nom
). Et lavaleur d’une même variable peut être utilisée plusieurs fois.
Documentation python sur la fonction format()
.
print()
et f-string
À partir de la version 3.6 de Python, on disposeégalement des f-strings qui permettent des affichages de résultat encoreplus lisibles.
Un exemple :
age = 48nom = "Schmoll"profession = "voyageur dans le temps"print(f"{nom} est âgé de {age} ans et exerce la profession de {profession}.")print(f"... il a maintenant rajeuni et son âge est {age/6} ans.")
On obtient :
Schmoll est âgé de 48 ans et exerce la profession de voyageur dans le temps.... il a maintenant rajeuni et son âge est 8.0 ans.
Si l’exécution de ce code ne fonctionne pas sur votre machine, vérifiez votre version de Python.
print()
et concaténation
On peut également concaténer des chaînes (en transformant en chaîne, grâceà la fonction str()
, les variables qui n’en sont pas).
nom = input("Tapez votre nom : ")age = int(input("Saisissez votre âge : ")) print("Vous vous appelez " + nom + ". Vous avez " + str(age) + " ans.")
Moyenne
Guido aimerait écrire un script lui permettant d’actualiser la moyenne de ses notes.
A chaque nouvelle note de contrôle, son script doit :
- Demander la moyenne avant cette nouvelle note (que Guido connaît puisqu’il calcule sa nouvelle moyenne à chaque nouvelle note).
- Demander le nombre de notes avant cette nouvelle note.
- Demander la nouvelle note.
- Afficher la nouvelle moyenne.
Écrire un tel script Python.
- Une solution
n = int(input("Saisir le nombre de notes précédentes : "))m = float(input("Saisir la moyenne avec ces notes : "))nv = float(input("Saisir la nouvelle note : "))nv_moyenne = (n*m + nv)/(n+1)print("La nouvelle moyenne est {:.2f}.".format(nv_moyenne))
:.2f
permet un formatage (deux décimales) de l’affichage du résultat.
Des secondes aux heures, minutes, secondes
Écrire un script Python demandantà l’utilisateur un nombre entier de secondeset transformant le résultat en heures, minutes, secondes.
- Algorithme
- Une solution
s
désigne un nombre entier de secondes.
h ← quotient de la division euclidienne de s par 3600s ← reste de la division euclidienne de s par 3600m ← quotient de la division euclidienne de s par 60s ← reste de la division euclidienne de s par 60
En fin d’algorithme, h
est le nombre entier d’heurescontenues dans le nombre de secondes initial, m
est le nombre entier de minutes contenu dans le nombre initialde secondes (après retrait des h
heures) et s
désigne le nombre entier de secondes restantes.
s = int(input("Saisir un nombre entier de secondes : "))h = s//3600s = s%3600m = s//60s = s%60print(" {} h, {} min et {} s.".format(h, m, s))
L’un des concepts les plus importants en programmation est celui de fonction19. Les fonctionspermettent en effet de décomposer un programme complexe en une série de sous-programmes plussimples, lesquels peuvent à leur tour être décomposés eux-mêmes en fragments plus petits, et ainside suite. D’autre part, les fonctions sont réutilisables : si nous disposons d’une fonction capable decalculer une racine carrée, par exemple, nous pouvons l’utiliser un peu partout dans nosprogrammes sans avoir à la ré-écrire à chaque fois.
19 Sous Python, le terme de « fonction » est utilisé indifféremment pour désigner à la fois de véritables fonctions maiségalement des procédures. Nous indiquerons plus loin la distinction entre ces deux concepts proches.
6-1. Interaction avec l’utilisateur : la fonction input()▲
La plupart des scripts élaborés nécessitent à un moment ou l’autre une intervention de l’utilisateur(entrée d’un paramètre, clic de souris sur un bouton, etc.). Dans un script simple en mode texte(comme ceux que nous avons créés jusqu’à présent), la méthode la plus simple consiste à employerla fonction intégrée input(). Cette fonction provoque une interruption dans le programme courant.L’utilisateur est invité à entrer des caractères au clavier et à terminer avec <Enter>. Lorsque cettetouche est enfoncée, l’exécution du programme se poursuit, et la fonction fournit en retour unevaleur correspondant à ce que l’utilisateur a entré. Cette valeur peut alors être assignée à unevariable quelconque.
On peut invoquer la fonction input() en laissant les parenthèses vides. On peut aussi y placer enargument un message explicatif destiné à l’utilisateur. Exemple :
Sélectionnez
print
'Veuillez entrer un nombre positif quelconque : '
,nn =
input
(
)print
'Le carré de'
, nn, 'vaut'
, nn**
2
ou encore :
Sélectionnez
prenom =
input
(
'Entrez votre prénom (entre guillemets) : '
)print
'Bonjour,'
, prenom
Remarques importantes :
- La fonction input() renvoie une valeur dont le type correspond à ce que l’utilisateur a entré. Dansnotre exemple, la variable nn contiendra donc un entier, une chaîne de caractères, un réel, etc.suivant ce que l’utilisateur aura décidé. Si l’utilisateur souhaite entrer une chaîne de caractères, ildoit l’entrer comme telle,
c’est-à-dire incluse entre des apostrophes ou des guillemets
. Nousverrons plus loin qu’un bon script doit toujours vérifier si le type ainsi entré correspond bien à ceque l’on attend pour la suite du programme.
- Pour cette raison, il sera souvent préférable d’utiliser dans vos scripts la fonction similaireraw_input(), laquelle renvoie toujours une
chaîne de caractères
. Vous pouvez ensuiteconvertir cette chaîne en nombre à l’aide de int() ou de float(). Exemple :
Sélectionnez
>>>
a =
raw_input
(
'Entrez une donnée : '
)Entrez une donnée : 52.37
>>>
type
(
a)<
type
'str'
>
>>>
b =
float
(
a) >>>
type
(
b)<
type
'float'
>
6-2. Importer un module de fonctions▲
Vous avez déjà rencontré des fonctions intégrées au langage lui-même, comme la fonction len(),par exemple, qui permet de connaître la longueur d’une chaîne de caractères. Il va de soi cependantqu’il n’est pas possible d’intégrer toutes les fonctions imaginables dans le corps standard de Python,car il en existe virtuellement une infinité : vous apprendrez d’ailleurs très bientôt comment en créervous-même de nouvelles. Les fonctions intégrées au langage sont relativement peu nombreuses : cesont seulement celles qui sont susceptibles d’être utilisées très fréquemment. Les autres sontregroupées dans des fichiers séparés que l’on appelle des modules.
Les modules sont donc des fichiers qui regroupent des ensembles de fonctions. Vous verrez plusloin comme il est commode de découper un programme important en plusieurs fichiers de taillemodeste pour en faciliter la maintenance. Une application Python typique sera alors constituée d’unprogramme principal accompagné de un ou plusieurs modules contenant chacun les définitions d’uncertain nombre de fonctions accessoires.
Il existe un grand nombre de modules pré-programmés qui sont fournis d’office avec Python.Vous pouvez en trouver d’autres chez divers fournisseurs. Souvent on essaie de regrouper dans unmême module des ensembles de fonctions apparentées que l’on appelle des bibliothèques.Le module math, par exemple, contient les définitions de nombreuses fonctions mathématiquestelles que sinus, cosinus, tangente, racine carrée, etc. Pour pouvoir utiliser ces fonctions, il voussuffit d’incorporer la ligne suivante au début de votre script :
Sélectionnez
from
math import
*
Cette ligne indique à Python qu’il lui faut inclure dans le programme courant toutes les fonctions(c’est là la signification du symbole *) du module math, lequel contient une bibliothèque defonctions mathématiques pré-programmées.
Dans le corps du script lui-même, vous écrirez par exemple :
Sélectionnez
racine =
sqrt
(
nombre) sinusx =
sin
(
angle)
Exemple :
Sélectionnez
from
math import
*
nombre =
121
angle =
pi/
6
print
'racine carrée de'
, nombre, '='
, sqrt
(
nombre)print
'sinus de'
, angle, 'radians'
, '='
, sin
(
angle)
L’exécution de ce script provoque l’affichage suivant :
Sélectionnez
racine carrée de 121
=
11.0
sinus de 0.523598775598
radians =
0.5
Ce court exemple illustre déjà fort bien quelques caractéristiques importantes des fonctions :
- une fonction apparaît sous la forme d’
un nom quelconque associé à des parenthèses
exemple : sqrt() - dans les parenthèses, on
transmet
à la fonction un ou plusieurs
arguments
exemple : sqrt(121) - la fonction fournit une
valeur de retour
(on dira aussi qu’elle « renvoie » une valeur)
exemple : 11.0
Nous allons développer tout ceci dans les pages suivantes. Veuillez noter au passage que lesfonctions mathématiques utilisées ici ne représentent qu’un tout premier exemple. Un simple coupd’oeil dans la documentation des bibliothèques Python vous permettra de constater que de trèsnombreuses fonctions sont d’ores et déjà disponibles pour réaliser une multitude de tâches, ycompris des algorithmes mathématiques très complexes (Python est couramment utilisé dans lesuniversités pour la résolution de problèmes scientifiques de haut niveau). Il est donc hors dequestion de fournir ici une liste détaillée. Une telle liste est aisément accessible dans le systèmed’aide de Python :
Documentation HTML → Python documentation → Modules index → math
Au chapitre suivant, nous apprendrons comment créer nous-mêmes de nouvelles fonctions.
(6) Exercices :
(Note : Dans tous ces exercices, utilisez la fonction raw_input() pour l’entrée des données)
6.1. Écrivez un programme qui convertisse en mètres par seconde et en km/h une vitesse fourniepar l’utilisateur en miles/heure. (Rappel : 1 mile = 1609 mètres)
6.2. Ecrivez un programme qui calcule le perimetre et l’aire d’un triangle quelconque dontl’utilisateur fournit les 3 cotes.(Rappel : l’aire d’un triangle quelconque se calcule a l’aide de la formule :S=√(d.(d-a).(d-b).(d-c))dans laquelle d designe la longueur du demi-perimetre, et a, b, c celles des trois cotes).
6.3. Ecrivez un programme qui calcule la periode d’un pendule simple de longueur donnee.La formule qui permet de calculer la periode d’un pendule simple est T=2 π√(l/g)l representant la longueur du pendule et g la valeur de l’acceleration de la pesanteur au lieud’experience.
6.4. Écrivez un programme qui permette d’encoder des valeurs dans une liste. Ce programmedevrait fonctionner en boucle, l’utilisateur étant invité à entrer sans cesse de nouvellesvaleurs, jusqu’à ce qu’il décide de terminer en frappant <enter> en guise d’entrée. Leprogramme se terminerait alors par l’affichage de la liste. Exemple de fonctionnement :
Sélectionnez
Veuillez entrer une valeur : 25
Veuillez entrer une valeur : 18
Veuillez entrer une valeur : 6284
Veuillez entrer une valeur :[25
, 18
, 6284
]
6-3. Un peu de détente avec le module turtle▲
Comme nous venons de le voir, l’une des grandes qualités de Python est qu’il est extrêmementfacile de lui ajouter de nombreuses fonctionnalités par importation de divers modules.
Pour illustrer cela, et nous amuser un peu avec d’autres objets que des nombres, nous allonsexplorer un module Python qui permet de réaliser des « graphiques tortue », c’est-à-dire des dessinsgéométriques correspondant à la piste laissée derrière elle par une petite « tortue » virtuelle, dontnous contrôlons les déplacements sur l’écran de l’ordinateur à l’aide d’instructions simples.
Activer cette tortue est un vrai jeu d’enfant. Plutôt que de vous donner de longues explications,nous vous invitons à essayer tout de suite :
Sélectionnez
>>>
from
turtle import
*
>>>
forward
(
120
)>>>
left
(
90
)>>>
color
(
'red'
)>>>
forward
(
80
)
L’exercice est évidemment plusriche si l’on utilise des boucles :
Sélectionnez
>>>
reset
(
)>>>
a =
>>>
while
a <
12
: a =
a +
1
forward
(
150
) left
(
150
)
Attention cependant : avant delancer un tel script, assurez-voustoujours qu’il ne comporte pas deboucle sans fin (voir page 36), car sic’est le cas vous risquez de ne pluspouvoir reprendre le contrôle desopérations (en particulier sousWindows).
Amusez-vous à écrire des scripts qui réalisent des dessins suivant un modèle imposé à l’avance.Les principales fonctions mises à votre disposition dans le module turtle sont les suivantes :
reset() On efface tout et on recommence goto(x, y) Aller à l’endroit de coordonnées x, y forward(distance) Avancer d’une distance donnée backward(distance) Reculer up() Relever le crayon (pour pouvoir avancer sans dessiner) down() Abaisser le crayon(pour recommencer à dessiner) color(couleur) <couleur> peut être une chaîne prédéfinie (‘red’, ‘blue’, ‘green’, etc.) left(angle) Tourner à gauche d’un angle donné (exprimé en degrés) right(angle) Tourner à droite width(épaisseur) Choisir l’épaisseur du tracé fill(1) Remplir un contour fermé à l’aide de la couleur sélectionnée write(texte) <texte> doit être une chaîne de caractères délimitée avec des » ou des ‘
Lorsqu’un programme contient des instructions telles que while ou if, l’ordinateur qui exécute ceprogramme doit évaluer la véracité d’une condition, c’est-à-dire déterminer si une expression estvraie ou fausse. Par exemple, une boucle initiée par while c<20: s’exécutera aussi longtemps quela condition c<20 restera vraie.
Mais comment un ordinateur peut-il déterminer si quelque chose est vrai ou faux ?
En fait – et vous le savez déjà – un ordinateur ne manipule strictement que des nombres. Tout cequ’un ordinateur doit traiter doit d’abord toujours être converti en valeur numérique. Cela s’appliqueaussi à la notion de vrai/faux. En Python, tout comme en C, en Basic et en de nombreux autreslangages de programmation, on considère que toute valeur numérique autre que zéro est « vraie ».Seule la valeur zéro est « fausse ». Exemple :
Sélectionnez
a =
input
(
'Entrez une valeur quelconque'
)if
a: print
"vrai"
else
: print
"faux"
Le petit script ci-dessus n’affiche « faux » que si vous entrez la valeur 0. Pour toute autre valeurnumérique, vous obtiendrez « vrai ».
Si vous entrez une chaîne de caractères ou une liste, vous obtiendrez encore « vrai ». Seules leschaînes ou les listes vides seront considérées comme « fausses ».
Tout ce qui précède signifie donc qu’une expression à évaluer, telle par exemple la conditiona > 5 , est d’abord convertie par l’ordinateur en une valeur numérique. (Généralement 1 sil’expression est vraie, et zéro si l’expression est fausse). Exemple :
Sélectionnez
a =
input
(
'entrez une valeur numérique : '
)b =
(
a <
5
)print
'la valeur de b est'
, b, ':'
if
b: print
"la condition b est vraie"
else
: print
"la condition b est fausse"
Le script ci-dessus vous renvoie une valeur b = 1 (condition vraie) si vous avez entré un nombreplus petit que 5.
Ces explications ne sont qu’une première information à propos d’un système de représentationdes opérations logiques que l’on appelle algèbre de Boole. Vous apprendrez plus loin que l’on peutappliquer aux nombres binaires des opérateurs tels que and, or, not, etc. qui permettent d’effectuerà l’aide de ces nombres des traitements logiques complexes.
Dans ce qui suit, nous n’allons pas apprendre de nouveaux concepts mais simplement utiliser toutce que nous connaissons déjà pour réaliser de vrais petits programmes.
6-5-1. Contrôle du flux – Utilisation d’une liste simple▲
Commençons par un petit retour sur les branchements conditionnels (il s’agit peut-être là dugroupe d’instructions le plus important dans n’importe quel langage !) :
Sélectionnez
print
"Ce script recherche le plus grand de trois nombres"
print
'Veuillez entrer trois nombres séparés par des virgules : '
nn =
list
(
input
(
))max
, index =
nn[
], 'premier'
if
nn[1
] >
max
: max
=
nn[1
] index =
'second'
if
nn[2
] >
max
: max
=
nn[2
] index =
'troisième'
print
"Le plus grand de ces nombres est"
, max
print
"Ce nombre est le"
, index, "de votre liste."
Note : Dans cet exercice, vous retrouvez à nouveau le concept de « bloc d’instructions », déjàabondamment commenté aux chapitres 3 et 4, et que vous devez absolument assimiler. Pour rappel,les blocs d’instructions sont délimités par l’indentation. Après la première instruction if, parexemple, il y a deux lignes indentées définissant un bloc d’instructions. Ces instructions ne serontexécutées que si la condition nn[1] > max est vraie.
La ligne suivante, par contre (celle qui contient la deuxième instruction if) n’est pas indentée.Cette ligne se situe donc au même niveau que celles qui définissent le corps principal duprogramme. L’instruction contenue dans cette ligne est donc toujours exécutée, alors que les deuxsuivantes (qui constituent encore un autre bloc) ne sont exécutées que si la condition nn[2] > maxest vraie.
En suivant la même logique, on voit que les instructions des deux dernières lignes font partie dubloc principal et sont donc toujours exécutées.
6-5-2. Boucle while – Instructions imbriquées▲
Continuons dans cette voie en imbriquant d’autres structures :
Sélectionnez
print
'Choisissez un nombre de 1 à 3 (ou zéro pour terminer) '
, a =
input
(
) while
a !=
: if
a ==
1
: print
"Vous avez choisi un :"
print
"le premier, l'unique, l'unité ..."
elif
a ==
2
: print
"Vous préférez le deux :"
print
"la paire, le couple, le duo ..."
elif
a ==
3
: print
"Vous optez pour le plus grand des trois :"
print
"le trio, la trinité, le triplet ..."
else
: print
"Un nombre entre UN et TROIS, s.v.p."
print
'Choisissez un nombre de 1 à 3 (ou zéro pour terminer) '
, a =
input
(
) print
"Vous avez entré zéro :"
print
"L'exercice est donc terminé."
Nous retrouvons ici une boucle while, associée à un groupe d’instructions if, elif et else. Notezbien cette fois encore comment la structure logique du programme est créée à l’aide des indentations(… et n’oubliez pas le caractère « : » à la fin de chaque ligne d’en-tête !)
L’instruction while est utilisée ici pour relancer le questionnement après chaque réponse del’utilisateur (du moins jusqu’à ce que celui-ci décide de « quitter » en entrant une valeur nulle :rappelons à ce sujet que l’opérateur de comparaison != signifie « est différent de »). Dans le corpsde la boucle, nous trouvons le groupe d’instructions if, elif et else (de la ligne 6 à la ligne 16), quiaiguille le flux du programme vers les différentes réponses, ensuite une instruction print et uneinstruction input() (lignes 17 <![CDATA[&]]> 18) qui seront exécutées dans tous les cas de figure : notez bien leurniveau d’indentation, qui est le même que celui du bloc if, elif et else, Après ces instructions, leprogramme boucle et l’exécution reprend à l’instruction while (ligne 5). Les deux dernièresinstructions print (lignes 19 <![CDATA[&]]> 20) ne sont exécutées qu’à la sortie de la boucle.
Exercices
6.5. Que fait le programme ci-dessous, dans les quatre cas où l’on aurait défini au préalable quela variable a vaut 1, 2, 3 ou 15 ?
Sélectionnez
if
a !=
2
: print
'perdu'
elif
a ==
3
: print
'un instant, s.v.p.'
else
: print
'gagné'
6.6. Que font ces programmes ?
a)
Sélectionnez
a =
5
b =
2
if
(
a==
5
) &
(
b<
2
):print
'"&" signifie "et"; on peut aussi utiliser le mot "and"'
b)
Sélectionnez
a, b =
2
, 4
if
(
a==
4
) or
(
b!=
4
):print
'gagné'
elif
(
a==
4
) or
(
b==
4
):print
'presque gagné'
c)
Sélectionnez
a =
1
if
not
a:print
'gagné'
elif
a:print
'perdu'
6.7. Reprendre le programme c) avec a = 0 au lieu de a = 1. Que se passe-t-il ? Conclure !
6.8. Écrire un programme qui, étant données deux bornes entières a et b, additionne les nombresmultiples de 3 et de 5 compris entre ces bornes.
Prendre par exemple a = 0, b = 32 → le résultat devrait être alors 0 + 15 + 30 = 45.
Modifier légèrement ce programme pour qu’il additionne les nombres multiples de 3 ou de5 compris entre les bornes a et b. Avec les bornes 0 et 32, le résultat devrait donc être : 0 +3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 + 20 + 21 + 24 + 25 + 27 + 30 = 225.
6.9. Déterminer si une année (dont le millésime est introduit par l’utilisateur) est bissextile ounon. (Une année A est bissextile si A est divisible par 4. Elle ne l’est cependant pas si A estun multiple de 100, à moins que A ne soit multiple de 400).
6.10. Demander à l’utilisateur son nom et son sexe (M ou F). En fonction de ces données, afficher« Cher Monsieur » ou « Chère Mademoiselle » suivi du nom de l’élève.
6.11. Demander à l’utilisateur d’entrer trois longueurs a, b, c. A l’aide de ces trois longueurs,déterminer s’il est possible de construire un triangle. Déterminer ensuite si ce triangle estrectangle, isocèle, équilatéral ou quelconque. Attention : un triangle rectangle peut êtreisocèle.
6.12. Demander à l’utilisateur qu’il entre un nombre. Afficher ensuite : soit la racine carrée de cenombre, soit un message indiquant que la racine carrée de ce nombre ne peut être calculée.
6.13. Convertir une note scolaire N quelconque, entrée par l’utilisateur sous forme de points (parexemple 27 sur 85), en une note standardisée suivant le code suivant :
Note Appréciation N >= 80 % A 80 % > N >= 60 % B 60 % > N >= 50 % C 50 % > N >= 40 % D N < 40 % E
6.14. Soit la liste suivante :
[‘Jean-Michel’, ‘Marc’, ‘Vanessa’, ‘Anne’, Maximilien’, ‘Alexandre-Benoît’, ‘Louise’]
Ecrivez un script qui affiche chacun de ces noms avec le nombre de caractèrescorrespondant.
6.15. Écrire une boucle de programme qui demande à l’utilisateur d’entrer des notes d’élèves. Laboucle se terminera seulement si l’utilisateur entre une valeur négative. Avec les notes ainsientrées, construire progressivement une liste. Après chaque entrée d’une nouvelle note (etdonc à chaque itération de la boucle), afficher le nombre de notes entrées, la note la plusélevée, la note la plus basse, la moyenne de toutes les notes.
6.16. Ecrivez un script qui affiche la valeur de la force de gravitation s’exerçant entre deuxmasses de 10000 kg , pour des distances qui augmentent suivant une progressiongéométrique de raison 2, à partir de 5 cm (0,05 mètre).
La force de gravitation est régie par la formule F=6,67 10-11 ·m·m’/d2
Exemple d’affichage :
Sélectionnez
d =
.05
m : la force vaut 2.668
Nd =
.1
m : la force vaut 0.667
Nd =
.2
m : la force vaut 0.167
Nd =
.4
m : la force vaut 0.0417
Netc.
Soyez le premier a laisser un commentaire