[PDF] [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



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] calculatrice numworks occasion

[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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

A.2 Algorithmes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

A.2.1 À quoi sert un algorithme?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 A.2.2 Un exemple célèbre : l"algorithme d"EUCLIDE. . . . . . . . . . . . . . . . . . . . 137

A.3 Types, affectations, variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

A.3.1 Types simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

A.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?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

A.4.3 À retenir. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

A.5 Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

A.6 Boucles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

A.6.1 Boucles "Tant que». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

A.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 1

A.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

135
A.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: nombre

Instructions

celc←(f are-32)/1,8

Sortie

celc

On 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 parties

indé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 136
http://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 1632

David 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 nombres

Ré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 a

EXERCICE.

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és

BooléenboolVrai ou faux

CaractèreEn Python, il n"y a pas de type caractère 138
http://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 table

A.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ésentationbinaire

A.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 140
http://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.

4. Généralement, lorsqu"on a terminé l"écriture d"une fonction et qu"on l"a testée, on souhaite

quotesdbs_dbs20.pdfusesText_26