langage Python; c'est aussi le cas de la calculatrice Numworks qui elle est intégralement program- mée en gramme de jeu qui propose à l'utilisateur de
Previous PDF | Next PDF |
[PDF] TD n°2 dalgorithmique : Programmer un jeu sur la calculatrice (suite)
Le rôle de la calculatrice va peut-être se limiter au choix de la lettre On ne va pas mettre un dictionnaire dans la toute petite mémoire de notre Numworks,
[PDF] IFA 2018 : NumWorks : Les évolutions de la calculatrice française
scripts NumWorks devient ainsi la calculatrice universelle qui facilite l' apprentissage des les consoles de jeu, pour qu'ils se l'approprient instantanément
[PDF] Le youtubeur star des maths et sa Numworks - Licence K
NumWorks, la première calculatrice graphique française, lance avec Yvan les codes des smartphones et des consoles de jeu, l'utilisation de la calculatrice
[PDF] Algorithme & Programmation en Python - Le site de Jean-Philippe
calculatrice (Numworks, casio ou TI) ou sur des éditeurs en ligne (edupython, repl it ) 2 1 Installation Ici nous utiliserons IDLE ou la calculatrice Numworks
[PDF] LISTE DES FOURNITURES https://promonumworksfr:12477
Pour commander cette calculatrice cliquer sur ce lien (voir dernière page) https:// promo numworks fr:12477 NumWorks La première calculatrice collaborative
[PDF] Fiche A Éléments de langage de programmation - Perpendiculaires
langage Python; c'est aussi le cas de la calculatrice Numworks qui elle est intégralement program- mée en gramme de jeu qui propose à l'utilisateur de
[PDF] Pile ou Face
Jeu au coup par coup Dans le menu PROB de sa calculatrice, repérer la touche Rand (TI) ou Ran# (Casio) Après l'avoir utilisée plusieurs fois, que peut-on dire
[PDF] Rapport final de projet de fin détudes - Wiki de Projets IMA
15 déc 2018 · Projet 28 : Clonage d'une calculatrice open-source NumWorks n'importe quel jeu vu qu'il n'y a plus de place de base dans la calculatrice
[PDF] calculer la masse d'une entité
[PDF] calculer la masse d'une mole
[PDF] calculer la masse d'une molécule d'ammoniac
[PDF] calculer la masse d'une molécule de nicotine
[PDF] calculer la masse d'une molécule de saccharose
[PDF] calculer la masse d'une piece
[PDF] calculer la masse d'une planète
[PDF] calculer une loi normale avec la calculatrice
[PDF] calculer une loi normale avec la calculatrice ti
[PDF] calculer une primitive avec exponentielle
[PDF] calculer une primitive avec geogebra
[PDF] calculer une primitive exponentielle
[PDF] calculer une primitive qui s'annule en 0
[PDF] calculer une primitive sur ti 82
Fiche AÉléments de langage de programmationSommaire
A.1 Langages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
A.1.1 Le langage courant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 A.1.2 Traduction en Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136A.2 Algorithmes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.2.1 À quoi sert un algorithme?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 A.2.2 Un exemple célèbre : l"algorithme d"EUCLIDE. . . . . . . . . . . . . . . . . . . . 137A.3 Types, affectations, variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
A.3.1 Types simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138A.3.2 Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
A.3.3 Affectation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
A.3.4 Entréeset sorties standards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
A.4 Fonctions et procédures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
A.4.1 Instructionreturn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 A.4.2 Fonction ou procédure?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141A.4.3 À retenir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
A.5 Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
A.6 Boucles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
A.6.1 Boucles "Tant que». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144A.6.2 Boucles Répéter Pour et itérateurs. . . . . . . . . . . . . . . . . . . . . . . . . . . 144
L"intégralité de ce chapitre, ou presque, est extrait du documentIntroduction à l"algorithmique et à
la programmationavec Pythonde Laurent Signac 1A.1 Langages
Un langage de programmation permet d"écrire un programme. Un programme, lorsqu"il est sous la forme de code source, est un texte qui exprime un algorithme (nous y reviendrons), en vue de permettre l"exécution de ce dernier sur une machine.1. Disponible ici :https://deptinfo-ensip.univ-poitiers.fr
135A.1 LangagesPremière générale : enseignementde spécialité
Les langagesutiliséspour programmersont situésquelque part entreles séquences de 0 et 1 chères
à la machine et le langage naturel cher à l"humain. Au lycée nous utiliseronsdeux langages : le langage ditcourantet le langage nomméPython. Le langagecourant:c"est un langage, parfois appelépseudo code, assez proche du langage natu- rel mais il colle tout de même aux constructions habituellesdes langages de programmation (tests, boucles...).Le langage Python:Il est généraliste, assez répandu, assez jeune, expressif et agréable à utiliser et
c"est celui que les instructionsministériellesnous demandent d"utiliser!On évoquera parfois le langage propre à certaines calculatrices (Casio et TI), même si ces langages
sont voués à disparaître puisque les nouveaux modèles de cesfabricants, intègrent désormais le
langage Python; c"est aussi le cas de la calculatrice Numworks qui elle est intégralement program-
mée en Python.A.1.1 Le langagecourant
Voici un exemple d"algorithme (suite d"instructions), destiné à convertir une température donnée
en degré Farenheit (fare) en degré Celsius (celc), en langage courant :Entrées
f are: nombreInstructions
celc←(f are-32)/1,8Sortie
celcOn notera la flèche←qui pourrait être remplacée par l"expression " prend la valeur » ou bien "se
voit affecter lavaleur».C"est ce qu"on appellelesymboled"affectation,ici enlangagecourant.Nous en reparlerons plus tard.A.1.2 Traduction en Python
Voici ce que donnerait un tel algorithmetraduit en Python :En Python avecfonction :
def conversion(fare): celc = (fare-32)/1.8 return celcEn Python sans fonction : fare = input(""Entrez un entier"") fare = int(fare) celc = (fare-32)/1.8 print(celc) Lors de la conception d"un programme un peu long, il est indispensable de le structurer en partiesindépendantes. C"est le rôle de la fonction telle que donnéeen exemple ci-dessus. C"est un sous-
programme dans le programme qui peut être utilisée comme suit : # Fonction def conversion(fare): celc = (fare-32)/1.8 return celc 136http://perpendiculaires.free.fr/ Première générale : enseignementde spécialitéA.2 Algorithmes # Programme principal fare = float(input("Temperature en degres Fahrenheit ")) celc = conversion(fare) print("En degres Celsius, cela fait ", celc)
Si votre bibliothèquede programmesest bien structurée,vous pourrezmême utiliserdes fonctions
d"autres programmes ou d"autres bibliothèquesdans vos programmes. Pour une plus grande efficacité, il faut prendre l"habitude d"user et d"abuser de ces fonctions.A.2 Algorithmes
A.2.1 À quoi sert un algorithme?
L"algorithmique est bien plus ancienne que l"informatique, que l"ordinateur ou que le langage Py- thon. Les exemples les plus anciens et célèbres sont : • les calculs d"impôts babyloniens (il y a 4000 ans); • le calcul du plus grand diviseur commun (EUCLIDE, vers-350);• les premières méthodesde résolutionsystématique d"équations (ALKHAWARIZMI, IXesiècle).
Aujourd"huion entendparalgorithmela réflexion préliminaireà l"écriture d"un programmed"ordi-
nateur. C"est la partie conceptuelle de la programmation, l"abstraction d"un programme d"ordina- teur. L"algorithmique est parfois considérée comme une branche des mathématiques, parfois comme les années 30 et 40 par : KURTGÖDEL, ALANTURING, JOHN VONNEUMANN... Les compétences en algorithmiquefont partie du bagage minimum d"un scientifique. A.2.2 Un exemple célèbre : l"algorithme d"EUCLIDE FIGUREA.1: Extrait de "Les Éléments» livre VII, édition de 1632David ROBERT137
A.3 Types, affectations, variablesPremière générale : enseignementde spécialitéDéfinition A.1.Étant donnés deux entiers, retrancher le plus petit au plus grand et recommen-
cer jusqu"à ce que les deux nombres soient égaux. La valeur obtenue est le plus grand diviseur commun.EXERCICE.
Appliquez l"algorithmed"Euclide, à la main, aux nombres 133 et 49.Voici comment on peut procéder pour passer de l"idée à l"algorithme puis au programme, en raffi-
nant petit à petit :Étape 1 :Écrire proprement l"idée.
Prendre les deux nombres et, tant qu"ils
ne sont pas égaux, retirer le plus petit au plus grand. Étape 2 :Décrire plus précisément les étapes : aetb: deux nombresRépéter tant queaetbsont différents :
siaest le plus grand les deux nombres deviennenta-betb sinon(lorsquebest le plus grand) les deux nombres deviennentaetb-a le pgcd estaÉtape 3 :Écrire en langage courant ou pseudo code : fonctionpgcd(a,b: entiers)Répéter tant quea?=b:
sia>b a←a-b sinon b←b-a retourneraÉtape 4 :Écrire en langage de programmation
(ici Python) : def pgcd(a,b): while a != b: if a > b: a = a-b else: b = b-a return aEXERCICE.
Entrer cette fonction dans votre calculatrice Numworks en Python et entrer print(pcgd(133,49)) dans la console pour vérifier ce qu"elle renvoie.A.3 Types, affectations, variables
A.3.1 Typessimples
Le type d"une donnée caractérise sa nature : entier, nombre àvirgule, couleur, liste, etc. et par voie
de conséquence les opérationsqu"il est possiblede lui appliquer(on peut ajouter des nombres, pas
forcément des couleurs). Les types disponibles dans un langage informatique dépendent fortement du codage utilisé pour pas dans les machines (les réels par exemple).Quelques exemples de types simples en Python :
Nom commun
PythonRemarques
EntiersintVoir le paragrapheci-dessous
RéelsfloatLes calculs en flottantssont approchésBooléenboolVrai ou faux
CaractèreEn Python, il n"y a pas de type caractère 138http://perpendiculaires.free.fr/ Première générale : enseignementde spécialitéA.3 Types, affectations, variables
Cas des entiers etde réels
Les entiers, par exemple, ont une taille limitée en Python enfonction de la mémoire disponible(l"entier maximum est considérablement grand). L"ensemble des entiers " mathématiques», lui,
n"est pas limité.par des nombres à virgule flottante (ou flottants). En conséquence, tous les calculs sur ordinateur
utlisant les flottantssont par nature faux (ou approchés).Le typeint, permet de représenter les entiers de taille machine (quelques octets) ou les grands en-
tiers(limitésuniquementparlatailledelamémoire).Lepassagedel"unà l"autre(entiersmachines ou grands entiers) est transparent pour l"utilisateur (depuis la version 3 de Python). Pour indiquer une valeur entière, il est possible d"utiliser différentes bases : >>> 42 # en decimal >>> 0o52 # en octal >>> 0x2A # en hexadecimal >>> 0b101010 # en binaire Les opérations disponibles sur les nombres entiers sont résumées dans la tableA.1de la présente
page.TABLEA.1: Opérations sur les entiers
Opération
Type du retourDescription
x + yintSomme x - y intDifférence x * y intProduit x / y floatQuotient x // y intQuotient de la division euclidienne x % y intReste de la division euclidienne -x intOpposé de x abs(x) intValeur absolue de x float(x) floatConversionvers un float int(x) intConversionvers un int str(x) strConversionen chaîne de caractères hex(x) strReprésentationhexadécimale oct(x) strReprésentationoctale bin(x) strReprésentationbinaireA.3.2 Variables
Il faut voircelccomme une variable, c"est-à-dire une case prévue pour recevoir un contenu. Une variable posède plusieurscaractéristiques : identificateur (nom)Il doit être bien choisi, surtout dans un programme long. Il ne comporte au-cune espace ou carcatère spécial et ne peut pas être un mot clé. Chaque langage dispose de
règles très précises décrivant la syntaxe des identificateurs typeDans certains langages, comme Python, le type d"une variable peut changer en cours d"éxe- cution du programme. Dans d"autres il est fixé une fois pour toute. valeurC"est l"objet / la valeur désigné par la variable portéeOn ne peut utiliser le nom d"une variable que dans la fonctionqui la contient.David ROBERT139
A.4 Fonctions et procéduresPremière générale : enseignementde spécialitéA.3.3 Affectation
L"instructioncelc←(f are-32)/1,8 s"effectue de la manière suivante : l"algorithme(ou la machine
si cet algorithmeest implémenté dans une machine) évalue oucalcule la valeur de (f are-32)/1,8
puis stocke cette valeur dans la variable nomméecelc.La flèche←est le symbole en langage courant pour indiquer l"affectation. Ce symbole varie selon
les langages de programmation.En Python ce symbole est le signe égal =On écrit alors :
celc = (fare - 32)/1.8 Remarque.Sur les calculatrices Casio et TI, dans leur langage de programmation particulier, l"af- fectation se fait dans le sens inhabitueldes autreslangagesde programmation:(f-32)/1,8→cpar exemple.A.3.4 Entrées et sorties standards
Vos programmespeuvent permettre la saisie au clavier avec la fonctioninput: >>> a = input("Entrez votre nom : ")Entrez votre nom : Bond
>>> print(a, type(a))Bond
La fonctioninputrenvoie une chaîne de caractères, mais on peut la convertir au passage : >>> a = int(input("Entrez votre âge : ")) Entrez votre age : 3
>>> print(a, type(a))3
A.4 Fonctions et procédures
points fondamentaux à retenir dès la fin de lecture de cette section : • comprendre pourquoi on écrit des fonctions; • s"obliger à le faire dès les premiers programmes.Commençons par un exemple en Python :
def calculttc(val, taux):Calcule le montant ttc, connaissant la somme
hors taxe (val) et le taux (par ex 19.6) ttc=val * (1 + taux / 100) return ttc 140http://perpendiculaires.free.fr/ Première générale : enseignementde spécialitéA.4 Fonctions et procédures
A.4.1 Instructionreturn
Dans tousleslangagesalgorithmiques,y comprisPython,l"instructionretourner(return)fait seter-miner la fonction ou la procédure (dans le cas d"une procédure,returnn"est pas suivi d"une valeur),
même si cette instructionest exécutée avant la fin du texte dela fonction. Une fois la fonctioncalculttclue par l"interpréteur,il est possible de l"utiliser ainsi: >>> calculttc(1000, 19.6) => 1196 Notons qu"il convient de bien séparer la définitionet l"utilisationde la fonction :définition :on indique comment "marche»la fonction et comment on s"en sert (déclaration). La
fonction n"est pas utilisée (exécutée), mais juste "lue» pour être connue de l"interpréteur.
utilisation :onexécutedemanièreeffectivelecode delafonctionpourdesvaleursd"entréesfixées (1000 et 19,6 dans l"exemple). Voici quelques occasions dans lesquelles vous devez écriredes fonctions (ou des procédures) :1. Le bloc de programme que vous écrivez ne tient pas entier à la vue sur votre écran.
2. Vous utilisez plus d"une fois des portions de code exactement identiques, ou presque iden-
tiques. Vous gagnerezen clarté et en maintenabilitéà écrire une fonction à la place de ce bloc
et à l"appeler plusieursfois.3. Vous ne savez pas exactement si la méthode de résolution employée pour telle tâche est la
façon de procéder, il suffira de modifier la fonction sans toucher au reste.4. Le problème que vous traitez est difficile : découpez-le enfonctions que vous écrirez et teste-
des portions de programme est énorme). Dans chaque fonctionindépendante, vous pourrez choisir des noms de variables appropriés,qui rendront votre code plus simple à comprendre.A.4.2 Fonction ou procédure?
Il ne faut pas confondre procédure et fonction, même si leur définition, en Python par exemple, est
similaire : • Une fonction calcule. Elle vaut quelque chose (exemples : pgdc et calculttc)• Une procédure n"a pas de valeur, mais elle fait/modifie quelque chose (exemple : afficher à
l"écran, modifier un objet). On dit qu"elle a un effet de bord (elle modifie quelque chose qui est en dehors de la procédure).Même si la différence fonction/procédure n"est pas syntaxique en Python, elle est très importante:
# Ceci est une fonction def foncttc(val, taux) : ttc = val * (1 + taux / 100) return ttc# Ceci est une proceduredef procttc(val, taux) : ttc = val * (1 + taux / 100) print(ttc)On pourrait penser que la fonctionfoncttcet la procédureprocttcsont équivalentes. Ce serait une
erreur. La fonction est plus générale. On ne peut pas écrire par exemple :David ROBERT141
A.5 ConditionsPremière générale : enseignementde spécialité # La ligne suivante ne fonctionne pas >>> print("Double du prix ttc : ", procttc(100, 19.6) * 2)En revanche, lamême ligne, en utilisantfoncttcfourniraitle bon résultat.Assurez-vousd"avoir bien
compris pourquoi la ligne qui précède marche avec une fonction et pas avec une procédure. C"est
vraiment très important.A.4.3 À retenir
1. Une fonctionvautquelque chose, une procédurefaitquelque chose.
2. La déclarationd"une fonction suffit (normalement)à savoir ce qu"elle calcule et comment on
l"utilise, mais pas comment elle le calcule.3. On écrit des fonctions et des procédures pour ne plus avoirà se soucier de la façon de régler
le problème qu"elles traitent. En conséquence, être obligéde retoucher le code d"une fonc-
tion pour un problème particulier indique généralement quela fonction a été mal conçue au
départ.