1 Premier exemple 1. 2 Généralités 1. 4 Variables et types 2. 6 Opérateurs 5. 7 Tableaux 6. 8 Tableaux 2D 7. 9 Fonctions Enregistrements 9

Documents pareils
Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

TP 1. Prise en main du langage Python

Algorithmique et Programmation, IMA

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Découverte de Python

Chapitre 2 Devine mon nombre!

STAGE IREM 0- Premiers pas en Python

Programme Compte bancaire (code)

Présentation du langage et premières fonctions

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if


Structure d un programme et Compilation Notions de classe et d objet Syntaxe

TD3: tableaux avancées, première classe et chaînes

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Représentation d un entier en base b

I. Introduction aux fonctions : les fonctions standards

INF 321 : mémento de la syntaxe de Java

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Recherche dans un tableau

Java Licence Professionnelle CISII,

Langage Java. Classe de première SI

Les classes en Python

Utilisation d objets : String et ArrayList

1 Recherche en table par balayage

Initiation à la programmation en Python

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Cours d Algorithmique et de Langage C v 3.0

Introduction à l algorithmique et à la programmation M1102 CM n 3

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Programmation C++ (débutant)/instructions for, while et do...while

PROGRAMMER EN MQL4. Apprenez à automatiser vos stratégies sur MetaTrader 4

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Notions fondamentales du langage C# Version 1.0

as Architecture des Systèmes d Information

2 Comment fonctionne un ordinateur, dans les grandes lignes

Initiation à l algorithmique

L informatique en BCPST

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Initiation à la Programmation en Logique avec SISCtus Prolog

Programmer en JAVA. par Tama

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

Langage Éric Guérin 5 octobre 2010

Cours Informatique Master STEP

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Algorithmique, Structures de données et langage C

Classes et Objets en Ocaml.

R, Bonnes pratiques. Christophe Genolini

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Claude Delannoy. 3 e édition C++

Conventions d écriture et outils de mise au point

Plan du cours. Historique du langage Nouveautés de Java 7

ALGORITHMIQUE ET PROGRAMMATION En C

Les structures de données. Rajae El Ouazzani

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Algorithmique & programmation

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Programmation en Java IUT GEII (MC-II1) 1

1. Structure d'un programme FORTRAN 95

SUPPORT DE COURS. Langage C

Licence Sciences et Technologies Examen janvier 2010

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Les bases du langage Python

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Chap III : Les tableaux

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

TRIGONOMETRIE Algorithme : mesure principale

Les chaînes de caractères

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2

Corrigé des exercices sur les références

Examen Médian - 1 heure 30

Bases de programmation. Cours 5. Structurer les données

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Lier Erlang avec d autres langages de programmation

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

TP1 : Initiation à Java et Eclipse

Propagation sur réseau statique et dynamique

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

OCL - Object Constraint Language

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Le langage C. Séance n 4

Cours d algorithmique pour la classe de 2nde

Programmation avec Xcas ou Python

TP, première séquence d exercices.

Cours 7 : Utilisation de modules sous python

Corrigé des TD 1 à 5

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Programmation Web. Madalina Croitoru IUT Montpellier

TABLEAU CROISE DYNAMIQUE

Transcription:

Traduction des Arbres Programmatiques en 3 Table des matières 1 Premier exemple 1 2 Généralités 1 3 Méthode de programmation 2 4 Variables et types 2 5 Structures de contrôle 3 6 Opérateurs 5 7 Tableaux 6 8 Tableaux 2D 7 9 Fonctions 8 10 Enregistrements 9 1 Premier exemple hello42 hello42.py acher("hello", sqrt(1764)) achersaut() # definit le programme principal def : print("hello ", sqrt(1764)) 2 Généralités Commentaires de code : Sur une ligne, tout ce qui est écrit après un caractère # est considéré comme du commentaire de code. Indentation : En, l'indentation fait partie de la syntaxe! Formulaire_AP_3 page 1/ 9

3 Méthode de programmation 1. ouvrir geany 2. créer un nouveau chier et l'enregistrer intelligemment (par exemple, TP1_ex1.py) 3. traduire progressivement l'arbre programmatique en : (a) traduire une fonction/procédure et l'appeler dans le programme principal, la tester (b) exécuter le programme (bouton exécuter ou touche F5) (c) vérier que le programme s'exécute correctement, sinon revenir à l'étape (a) (d) vérier que le programme produit le bon résultat, sinon revenir à l'étape (a) (e) recommencer avec la fonction/procédure suivante, jusqu'à ce que tout l'arbre soit traduit 4 Variables et types En python, il n'est pas nécessaire de déclarer les variables ni de spécier leur type. Type AP Type Exemple de valeur booléen bool True entier int 1 réel oat 1.0 texte str "salut fred" Un nom de variable peut contenir des lettres (sans accent) et des chires mais ne doit pas commencer par un chire. Les majuscules et les minuscules sont distinguées. Nommez vos variables de façon cohérente : par exemple des noms les variables ( moyenneponderee) et des verbes les fonctions (calculermoyenneponderee). Les variables de type composé (tableaux, enregistrements...) doivent être initialisées avec un constructeur, une fonction d'initialisation ou la fonction copy (voir les sections 7, 8 et 10). Formulaire_AP_3 page 2/ 9

5 Structures de contrôle monprogramme resultatok : booléen resultatok Vrai def : resultatok = True pas de traduction, écrire les instructions à la suite acher("entrer x : ", x) x saisir() x = int(input("entrer x : ")) x = float(input("entrer x : ")) x = str(input("entrer x : ")) x = bool(input("entrer x : ")) acher("x = ", x) print("x = ", x, end="") print("bonjour") acher("bonjour") achersaut() si if condition : actionsivrai condition actionsivrai si condition actionsivrai actionsifaux if condition : actionsivrai else : actionsifaux for i in range(1, N+1) : action i de 1 à N action tant que while condition : action condition action Formulaire_AP_3 page 3/ 9

Exemple : moyenne de 3 nombres moyenne3 a, b, c, m : réel acher("entrez a : ") a saisir()... m (a+b+c)/3.0 acher("moyenne = ", m) def : a = float(input("entrer a : ")) b = float(input("entrer b : ")) c = float(input("entrer c : ")) m = (a+b+c)/3.0 print("moyenne = ", m) Exemple : saisir un entier positif entierpositif n : entier acher("entrez n>=0 : ") n saisir() tant que acher("bravo, vous avez saisi ", n) n<0 acher("erreur, entrez n>=0 : ") n saisir() def : n = int(input("entrez n>=0 : ")) while n < 0 : n = int(input("erreur, entrez n>=0 : ")) print("bravo, vous avez saisi", n) Formulaire_AP_3 page 4/ 9

6 Opérateurs En cas de doute sur les priorités entre opérateurs, utiliser des parenthèses. Opérateurs arithmétiques Opérateur AP Opérateur Exemple en + + 12 + 3 # resultat : 15-12 - 3 # resultat : 9 * 12 * 3 # resultat : 36 / / 7.0 / 2.0 # resultat : 3.5 div // 7 // 2 # resultat : 3 mod % 7 % 2 # resultat : 1 Opérateurs de comparaison Opérateur AP Opérateur Exemple == == 12 == 3 # False!= 12!= 3 # True < < 12 < 3 # False > > 12 > 3 # True <= 12 <= 3 # False >= 12 >= 3 # vrai Opérateurs logiques Opérateur AP Opérateur Exemple NON not not (12 < 3) # True ET and 12 < 3 and 12 > 3 # False OU or 12 < 3 or 12 > 3 # True Formulaire_AP_3 page 5/ 9

7 Tableaux Les tableaux sont des types composés et doivent donc être initialisés avec un constructeur ou une fonction d'initialisation. tab : tableau 5 entier tab = empty((5), dtype=int) for i in range(0, 5) : tab[i] = int(input()) i de 0 à 4 tab[ i ] saisir() Exemple : initialiser à 0 un tableau de 20 entiers puis l'acher tableau20 i : entier ; tab : tableau 20 entier i de 0 à 19 tab[ i ] 0 i de 0 à 19 acher(tab[ i ]) acher(" ") def : # construit un tableau tab = empty((20), int) # remplit le tableau for i in range(0, 20) : tab[i] = 0 # affiche le tableau for i in range(0, 20) : print(tab[i], end=" ") Formulaire_AP_3 page 6/ 9

8 Tableaux 2D Les tableaux 2D sont des types composés et doivent donc être initialisés avec un constructeur ou une fonction d'initialisation. M : tableau 3 4 réel M = empty((3, 4), dtype=float) i de 0 à 2 for i in range(0, 3) : for j in range(0, 4) : M[i][j] = 0.0 j de 0 à 3 M[ i ][ j ] 0.0 Exemple : matrice identité 4 4 matriceidentite i, j : entier ; M : tableau 4 4 réel i de 0 à 3 j de 0 à 3 si i == j M[ i ][ j ] 1.0 M[ i ][ j ] 0.0 def : # construit le tableau 2D M = empty((4, 4), dtype=float) # remplit le tableau 2D for i in range(0, 4) : for j in range(0, 4) : if i == j : M[i][j] = 1.0 else : M[i][j] = 0.0 Formulaire_AP_3 page 7/ 9

9 Fonctions Dans une fonction, les paramètres sont accessibles en lecture les types simples et en lecture/écriture les types composés. x, y : entier entier, entier calculerminmax si def calculerminmax(x, y) : if x < y : return x, y else : return y, x x<y retourner x, y retourner y, x mini, maxi calculerminmax(a, b) mini, maxi = calculerminmax(a, b) Exemple : multiplier un tableau par un entier k : entier ; T : tableau 5 entier multipliertableau i : entier i de 0 à 4 T[ i ] k T[ i ] tableaufoistrois i : entier ; tab : tableau 5 entier... multipliertableau(3, tab) # declare une fonction def multipliertableau(k, T) : for i in range(0, 5) : # lecture/ecriture du tableau T T[i] = k*t[i] def : # construit un tableau tab = empty((5), dtype=int) # remplit le tableau for i in range(0, 5) : tab[i] = int(input()) # modifie les valeurs du tableau multipliertableau(3, tab) # affiche le tableau for i in range(0, 5) : print (tab[i], end=" ") Formulaire_AP_3 page 8/ 9

10 Enregistrements Les enregistrements sont des types composés et doivent donc être initialisés avec un constructeur ou une fonction d'initialisation. Complexe : enregistrement partiereelle : réel ; partieimaginaire : réel class Complexe: def init (self): self.partiereelle = float() self.partieimaginaire = float() c1 : Complexe c1 = Complexe() c1.partiereelle c1.partiereelle Exemple : nombres complexes Complexe : enregistrement r, i : réel Complexe initialisercomplexe c : Complexe c.r 0.0 c.i 0.0 retourner c nombrescomplexes c1 : Complexe c1 initialisercomplexe()... # declare un enregistrement class Complexe: def init (self); self.r = float() self.i = float() # declare une fonction # d'initialisation def initialisercomplexe() : # construit un enregistrement c = Complexe() # initialise les champs c.r = 0.0 c.i = 0.0 # retourne l'enregistrement return c def : # initialise le complexe c1 = initialisercomplexe() #... Formulaire_AP_3 page 9/ 9