TP2 : Initiation à l algorithmique - 2ème partie (1 séance)



Documents pareils
TP1 : Initiation à l algorithmique (1 séance)

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

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Algorithmique et Programmation, IMA

Feuille TD n 1 Exercices d algorithmique éléments de correction

Conventions d écriture et outils de mise au point

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)

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

NOTICE TELESERVICES : Créer mon compte personnel

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

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

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


INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Consigne : je remplis le tableau en tenant compte des informations de la ligne supérieure et de la colonne de gauche (droite pour les gauchers)

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Cours 1 : Qu est-ce que la programmation?

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

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

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

TP 1. Prise en main du langage Python

Introduction à MATLAB R

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Chap III : Les tableaux

Aide - mémoire gnuplot 4.0

Algorithmique avec Algobox

Algorithme. Table des matières

Algorithmique avec Algobox

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Cours d algorithmique pour la classe de 2nde

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

1 Introduction et installation

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

Cours d Informatique

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

Programmation C. Apprendre à développer des programmes simples dans le langage C

Outils pour la pratique

Cours d Algorithmique et de Langage C v 3.0

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

Rappels sur les suites - Algorithme

INITIATION AU LANGAGE JAVA

Organigramme / Algorigramme Dossier élève 1 SI

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

L exclusion mutuelle distribuée

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

TP1 : Initiation à Java et Eclipse

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Le langage C. Séance n 4

SEO perspec(ves Novembre 2013

Manuel d utilisation de XLOGO :

Qualité du logiciel: Méthodes de test

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

TP Protocoles SMTP et POP3 avec Pratiquer l algorithmique

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Programmation Web. Madalina Croitoru IUT Montpellier

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Logiciel de Base. I. Représentation des nombres

Gestion d identités PSL Exploitation IdP Authentic

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

Logiciel Libre Cours 3 Fondements: Génie Logiciel

TP3 : Manipulation et implantation de systèmes de fichiers 1

NOTICE TELESERVICES : Gérer les contrats de paiement de l impôt sur le revenu

Initiation à LabView : Les exemples d applications :

Guide de démarrage rapide

PROMOTIONS & BESTOF 2015 STYLOS MUGS CONFERENCIERS PUBLICITAIRES POUR ENTREPRISE

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

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

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Le poids et la taille des fichiers

Python - introduction à la programmation et calcul scientifique

UE Programmation Impérative Licence 2ème Année

L informatique en BCPST

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique I. Algorithmique I p.1/??

INF 321 : mémento de la syntaxe de Java

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Exercices M1 SES Ana Fermin ( fermin.perso.math.cnrs.fr/ ) 14 Avril 2015

alg - Classes, instances, objets [oo] Exercices résolus

Nombre de marches Nombre de facons de les monter

ACTIVITÉ DE PROGRAMMATION

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Rappels Entrées -Sorties

SEMIN- Gestion des couleurs sous R. Michel BAYLAC. MNHN Département Systématique et Evolution OSEB

= constante et cette constante est a.

TP, première séquence d exercices.

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Programmer en JAVA. par Tama

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

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

Créer vos données sources avec OpenOffice, adieu Excel

Guide de l approbateur de base

Automatisation de l administration système avec

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Transcription:

Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP2 : Initiation à l algorithmique - 2ème partie (1 séance) 1 Rappels sur le TP1 Si cela n a pas été fait durant la première séance, avant de commencer à programmer : 1. Vous devez vous placer dans le sous-répertoire TP2 afin d y mettre tous les fichiers et dossiers utilisés par la suite. télécharger les packages antlr.jar et V235.jar à l adresse suivante : http ://www.kafarnaum.net/mulot/download.html 2. Vous pouvez alors lancer une application en tapant l instruction suivante java -cp antlr.jar:v235.jar MlTappli Attention à bien respecter la casse (minuscules et majuscules). 3. Vous obtenez alors une interface graphique constituée de trois zones : La zone d édition qui permet la saisie des programmes. La zone graphique Terrain de jeu pour mulots où l on retrouve les tracés des mulots. La zone d affichage des erreurs où apparaissent des messages d erreurs (lorsque votre programme est incorrect et que vous cliquez sur le bouton Run!). Règles du jeu Un programme en est constitué par des instructions encadrées par les mots clés et. Pour créer un mulot s appelant hector, il suffit d écrire hector = new (100,100,BLUE) Le mulot hector se place alors sur l écran aux coordonnées (100,100). Il tracera un trait de couleur bleue. Vous avez d autres couleurs possibles : BLACK (défaut), WHITE, RED, YELLOW, PINK, GREEN, ORANGE, CYAN, MAGENTA, GRAY, DARKGRAY et LIGHT- GRAY. Notre mulot hector sait faire 4 actions élémentaires : Baisser/Lever le stylo : hector.baisse() ; hector.leve() ; Avancer d un certain nombre de pixels : hector.avance(200) ; Tourner d un certain angle (en degré et dans le sens trigonométrique) : hector.tourne(45) ; Pour effacer la zone graphique entre deux dessins, penser à utiliser le bouton Clear.

2 Syntaxe du langage La syntaxe du langage MULOT est très proche de celle adoptée en algorithmique. Pour que le mulot puisse faire plusieurs actions consécutivement, on utilise le séquencement d instructions. Chaque instruction se termine par un ; ex : hector.tourne() ; hector.avance(200) ; Le mulot peut prendre des décisions différentes suivant la situation dans laquelle il se trouve grâce aux conditionnelles. Il s agit d une instruction ayant la syntaxe suivante : Si (condition) Alors instructions1 ; Sinon instructions2 ; Si la condition est réalisée, alors les instructions1 seront exécutées, sinon les instructions2 le seront. ex : suivant la valeur de l entier decision, hector décidera soit d avancer de 100 pixels (dans le cas où decision vaut 0), soit de faire demi-tour et d avancer de 100 pixels (dans le cas où decision n est pas égal à 0). Si (decision == 0) Alors hector.avance(100) ; Sinon hector.tourne(180) ; hector.avance(100) ; Enfin, le mulot peut répéter un certain nombre de fois un bloc d instructions à l aide d une itération. On dispose alors de deux types de boucles : La boucle TantQue ayant la syntaxe suivante : TantQue (condition) ex : tant que la variable decision sera égale à 0, hector décidera d avancer de 10 pixels. TantQue (decision==0) hector.avance(10) ; La boucle Pour ayant la syntaxe suivante : Pour affectation a expression ex : pour qu Hector avance de 100 pixels en 5 étapes, on pourra écrire Auteur : Vanessa Vitse 2

Pour i=0 a 4 hector.avance(20) ; Attention : l affectation des variables se fait avec le symbole = La comparaison d égalité est représentée par == Exercices Exercice 1. Saisissez dans la zone d édition le programme suivant : m = new ( 120,120 ) ; m.baisse() ; Pour i=0 a 5 m.avance(50) ; m.tourne(60) ; Lancez l exécution de ce programme. Décrivez ce qu il se passe. Exercice 2. A l aide des instructions Pour et Si, faites tracer au mulot 6 segments de longueur 100 pixels, en le faisant tourner de 90 les trois premières fois, et de 240 les fois suivantes. Décrivez ce qu il se passe. 3 Les procédures Au début du programme, vous pouvez inclure la définition de procédures et/ou de fonctions. Les procédures sont définies selon le schéma suivant : Proc nom (liste de parametres) Une procédure peut être appelée plusieurs fois à l intérieur d un programme. Cela permet de réduire considérablement la longueur du code. Exercice 3. Saisissez dans la zone d édition le programme suivant : Proc Carre (int longueur, m) i=0 ; TantQue (i<4) m.avance(longueur) ; m.tourne(90) ; i=i+1 ; hector = new ( 120,120 ) ; hector.baisse() ; Auteur : Vanessa Vitse 3

Carre(200,hector) ; Carre(100,hector) ; Carre(50,hector) ; Carre(25,hector) ; Lancez l exécution de ce programme. Décrivez ce qu il se passe. Détaillez ce que fait la procédure Carre. Exercice 4. Ecrivez un programme qui fait dessiner une maison au mulot. Transformez-le en une procédure prenant en paramètres le mulot et la taille de la maison, puis écrivez un programme utilisant cette procédure pour dessiner un lotissement. Pour le lotissement, deux programmes différents seront donnés : le premier utilisera un seul mulot pour dessiner tout le lotissement le deuxième utilisera plusieurs mulots dessinant chacun sa propre maison Le lotissement obtenu pourra avoir la forme suivante : Vous détaillerez dans le compte rendu les outils mathématiques utilisés par les mulots pour avoir un toit étanche. 4 Récursivité Il est bien sûr possible d appeler une autre procédure dans une procédure. Mais une procédure peut aussi s appeler elle-même! Une telle procédure est dite récursive. Exercice 5. Saisissez dans la zone d édition le programme suivant : Proc Spi ( m, int longueur) Auteur : Vanessa Vitse 4

Si (longueur>1) Alors m.avance(longueur) ; m.tourne(45) ; Spi(m,9*longueur/10) ; hector = new ( 120,120 ) ; hector.baisse() ; Spi(hector,100) ; Lancez l exécution de ce programme. Décrivez ce qu il se passe. Détaillez ce que fait la procédure Spi et expliquez le fonctionnement du programme. 5 Autres exercices Exercice 6. Ecrivez un programme qui réalise le dessin suivant : Vous utiliserez pour cela une procédure qui dessine un carré et deux boucles Pour imbriquées. Exercice 7. Modifiez le programme précédent pour obtenir le dessin suivant : Auteur : Vanessa Vitse 5