Langage de programmation I- : Langage Python ISN TS3 Les ingrédients des programmes Un programme est un texte qui décrit un algorithme que l’on souhaite faire exécuter par une machine.Ce texte est écrit dans un langage particulier, appelé langage de programmation.(exemple Python, Java, C, ) En général, un algorithme est construit en trois étapes : - Entrée/Initialisation : On saisit des données. L'initialisation : Le programme attribue des valeurs à des variables. Le traitement des données : Les instructions du programme effectuent des opérations à partir des données saisies dans le but de résoudre le problème. La sortie : Les résultats sont affichés. L'affectation consiste à attribuer une valeur à une variable. Affecter à Variable la valeur Valeur On note cette action d’affectation dans les algorithmes Partie A: Exemple1 a2 m5 am+a aa+1 maxm m2xm Algorithme 1 2 3 4 a0 b1 aa+b baxb aa-2 DEMANDER a et b Si a b ALORS │AFFICHER b SINON │AFFICHER a FINSI DEMANDER a et b TANT QUE b ≤ a │aa-b FIN TANT QUE AFFICHER a X18 REPETER 4 fois SI X est multiple de 2 ALORS │ X(X+10)/2 FINSI SI le reste de X3 vaut 2 ALORS │X(X+1)/3 FINSI FIN REPETER AFFICHER X ligne 1 2 3 4 5 6 a 2 2 7 8 8 8 m / 5 5 5 40 80 Question que valent les variables a et b à la fin du programme? 1- Qu’affiche ce programme pour a =7 et b=21 2- Qu’affiche ce programme pour a=13 et b=3 3- Plus généralement si a et b sont deux nombres décimaux. Que fait ce programme ? 1- Qu’affiche ce programme si on entre 14 pour a et 3 pour b 2- Plus généralement, si a et b sont deux entiers strictement positifs. Que fait ce programme ? 1- Qu’affiche ce programme ? 2- Que se passe-t-il si l’on répète 40 fois au lieu de 4 fois ? 1 5 Début A1 Lire N Pour I1 à N AAx3 Finpour Afficher A Fin 6 Début Nb ?I,X :Nombre Nb0 Pour I1 à 100 XEntier aléatoire entre 1 et 6 Si X= 1 Alors NbNb + 1 Finsi Finpour Afficher Nb/100 Fin Partie B : 1 2 Quel résultat sera affiché si la valeur saisie pour N=6 ? Que calcule-t-on dans cet algorithme ? 1- Donner un exemple d’affichage possible à la fin de l’algorithme 2- Que fait cet algorithme ? 3- Que fera-t-il si on change le test X=1 par X=3 ? Introduction au langage de programmation Python Un programme « passe son temps » à traiter des données. Pour pouvoir traiter ces données, l'ordinateur doit les ranger dans sa mémoire (RAM, voir partie sur le matériel). La RAM se compose de cases dans lesquelles nous allons ranger ces données (une donnée dans une case). Chaque case a une adresse (ce qui permet au processeur de savoir où sont rangées les données). Alors, qu'est-ce qu’une variable ? C'est une petite information (une donnée) temporaire que l'on stocke dans une case de la RAM. On dit qu'elle est "variable" car c'est une valeur qui peut changer pendant le déroulement du programme. Une variable est constituée de 2 choses : – Elle a une valeur : c'est la donnée qu'elle stocke (par exemple le nombre 5 ou la suite de caractères (chaîne de caractères) « bonjour ») – Elle a un nom : c'est ce qui permet de la reconnaître. Nous n'aurons pas à retenir l'adresse de mémoire, nous allons juste indiquer des noms de variables à la place. C'est le système compilateur-interpréteur qui fera la conversion entre le nom et l'adresse. Exemple : Dans un programme écrire « a = 5 » veut dire : « réserves une case mémoire (à l'adresse xxxxx, mais cela, le programmeur s'en moque un peu !) que l'on va appeler a, et ranges la valeur 5 dans cette case mémoire » (on peut aussi ranger la chaîne de caractères « bonjour » dans une autre case mémoire appelée b) on aura le programme « b='bonjour' » Le nom donné à une variable peut être composé de plusieurs lettres (exemple : « nbre_de_vie = 5 ») En Python, les noms de variables doivent obéir à quelques règles simples qu’on découvrira à fur et à mesure Pour rédiger un programme, il faut lancer l’environnement de Programmation IDLE de Python qui est une fenêtre permettant d’exécuter les instructions au fur et à mesure qu’on les tape : on parle de script Python. Un script se présente sous la forme d'un fichier texte avec l'extension .py 2 Démarrer → Programmes → Pyscripter L'éditeur de texte s'ouvre avec le code source du script Voici comment elle se présente : La fenêtre de l’éditeur est composée de plusieurs zones : A : Zone de saisie du programme B : Zone de l’explorateur Windows pour aller chercher vos fichiers C : Zone où le programme s’exécute, cette zone s’appelle aussi la console Python D : La barre de menu E : La barre d’outils notre premier programme sera l’affichage du texte "Hello World". Remarque : Certaines opérations ( sqrt,pi,sin,cos,exp,log, random et floor)ne font pas partie du langage Python mais d’une de ses extensions appelée math. Il faut donc ajouter au début du programme la commande from_math_import , si on veut les (Pas d’accent à lycee et un espace après import) L’interface d’EduPython ajoute automatiquement cette ligne quand vous cliquez sur « nouveau ». Jeu devine un nombre.py A vous de jouer ! Enregistrer ce script sur votre bureau. Aide en ligne : Bases de programmation Python 3 Algorithmique 1 Algorithmes et premières saisies EXERCICE1 : Voici un petit programme écrit en langage Python : a=4 b=7 print(’’A vous de jouer’’) x=int(input()) y=int(input()) if x==a and y==b : print(‘’Coulé’’) else : if x==a or y==b print (‘’En vue’’) else: print(‘’A l’eau’’) Ce même algorithme exprimé en langage calculatrice Casio BATAILLE 4A 7B A vous de jouer ?X ?Y If X = A And Y= B Then Coulé Else If X = A or Y= B Then En vue Else A l’eau IfEnd IfEnd Ce programme permet de jouer à la bataille navale, dans une variante simplifiée dans laquelle il n’y a qu’un seul bateau, toujours placé au même endroit et qui n’occupe qu’une seule case de la grille. On considère qu’un bateau est « en vue » si la case proposée est sur la même ligne ou la même colonne que le bateau. 1- Que fait ce programme 2- Modifier ce programme afin qu’il affiche A toi de jouer et non A vous de jouer 3- Modifier ce programme afin que le bateau soit sur la case de coordonnées (6 ;9). EXERCICE2 : 1) Le programme suivant permet de calculer le prix toutes taxes comprises d’un article connaissant son prix hors taxes, dans le cas où le taux de TVA est de 19.6% Adapter ce programme pour permettre à l’utilisateur de choisir le taux de TVA. Quel est le rôle de float (input()) 4 Exercice 3 : Que fait ce programme ? a=int(input()) b=int(input()) c=int(input()) d=int(input()) if b==0 or d==0: print(“Dénominateur nul interdit !”) else: print(a*c) print(b*d) Exercice 4 : Que fait ce programme ? a=int(input()) b=int(input()) c=int(input()) d=int(input()) if b==0 or d==0: print(“Dénominateur nul interdit !”) else: print(a*d+c*b) print(b*d) Exercice 5 : Après avoir exécuté ces programmes, devinez les significations des instructions print ,input, if , else, while EXERCICE6 : 1- Modifier l’algorithme "bataille navale" pour : – attribuer une case au hasard au bateau ; – donner la réponse si le choix du joueur est erroné. Exercice 7: Expliquez la mise en forme des deux programmes 5 6