Exercices dirigés séance n 3 - corrigé

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

Solutions du chapitre 4

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

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

Java Licence Professionnelle CISII,

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

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)

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

ACTIVITÉ DE PROGRAMMATION

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Flux de données Lecture/Ecriture Fichiers

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

TP, première séquence d exercices.


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

Corrigé des exercices sur les références

Package Java.util Classe générique

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

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

Programme Compte bancaire (code)

Programmer en JAVA. par Tama

Programmation avec des objets : Cours 7. Menu du jour

Chapitre 2 Devine mon nombre!

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

Initiation à la programmation en Python

as Architecture des Systèmes d Information

Java Licence Professionnelle CISII,

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Examen Médian - 1 heure 30

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

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Le prototype de la fonction main()

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

Utilisation d objets : String et ArrayList

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

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

I. Introduction aux fonctions : les fonctions standards

Recherche dans un tableau

TD/TP PAC - Programmation n 3

Cours d initiation à la programmation en C++ Johann Cuenin

Les bases de l informatique et de la programmation. École polytechnique

Les structures de données. Rajae El Ouazzani

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

Cours d algorithmique pour la classe de 2nde

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

1. Langage de programmation Java

Chapitre 10. Les interfaces Comparable et Comparator 1

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

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

Projet de programmation (IK3) : TP n 1 Correction

Algorithmes récursifs

Cours 14 Les fichiers

Programmation Par Objets

INF 321 : mémento de la syntaxe de Java

CORRECTION EXERCICES ALGORITHME 1

Objets et Programmation. origine des langages orientés-objet

PROGRAMMATION PAR OBJETS

Java DataBaseConnectivity

Conventions d écriture et outils de mise au point

Représentation d un entier en base b

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

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

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Introduction à JDBC. Accès aux bases de données en Java

Gestion distribuée (par sockets) de banque en Java

2. Comprendre les définitions de classes

Programmation Classique en langage C

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

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Dis papa, c est quoi un bus logiciel réparti?

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

TP 1. Prise en main du langage Python

Algorithmique et programmation : les bases (VBA) Corrigé

Introduction au langage C

INITIATION AU LANGAGE JAVA

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

Découverte de Python

Exercices sur les interfaces

Notions fondamentales du langage C# Version 1.0

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Cours Informatique Master STEP

Découverte du tableur CellSheet

Corrigé des TD 1 à 5

Cours Programmation Système

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Machines virtuelles fonctionnelles (suite) Compilation ML Java

1 Recherche en table par balayage

Cours 1 : Qu est-ce que la programmation?

Programmation par les Objets en Java

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

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

L ALGORITHMIQUE. Algorithme

Généralités sur le Langage Java et éléments syntaxiques.

1.6- Génération de nombres aléatoires

TD2 Programmation concurrentielle

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

Cours de Systèmes d Exploitation

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Transcription:

Exercices dirigés séance n 3 - corrigé Exercice 1 : triangle Ecrire un programme capable d afficher les figures du type de celle qui suit : idée : pour chaque ligne afficher les espaces nécessaires puis les ''. Exprimer les par une suite arithmétique. Solution Le nombre de caractères ' ' à afficher sur chaque ligne est déterminé par la suite {x i : x 0 = h-1 x i = x i-1 1 Le nombre de caractères ' ' à afficher sur chaque ligne est déterminé par la suite {y i : y i = 1 y i= y i-1 +2 / La classe Triangle affiche sur le terminal un triangle de hauteur h et formé du caractère '' @author D.Enselme @version 25/11/2008 / public class Triangle{ // hauteur du triangle int h = Integer.parseInt(args[0]); int x = h-1; // x représente le nombre d' ' ' à afficher int y = 1; // y représente le nombre d' '' à afficher for(int i=1;i<=h;i++){ //afficher une ligne de ' ' for (int j=1;j<=x;j++) System.out.print(' '); x--; //afficher une ligne de '' for (int k=1;k<=y;k++) System.out.print(''); y = y+2; System.

Exercice 2 : pgcd Déterminer le plus Grand Commun Diviseur (PGCD) de 2 entiers. On sait que : étant donnés 2 entiers a et b tels que a>b. Supposons que f est leur PGCD. Alors, a-b et b ont f pour PGCD. Question 1 Proposez un algorithme qui affiche les résultats des calculs successifs et finalement le PGCD trouvé. Question 2 Le programme permettra de soumettre autant de couples de données que l'utilisateur le souhaite. Solution import javax.swing.joptionpane; public class PGCDGraphique{ public static void main( String[] args ){ boolean encore = true; int a, b, rep; String res = null; String sa = null, sb = null; while(encore){ sa = JOptionPane.showInputDialog(null, "entrez un entier", "Données du PGCD", JOptionPane.QUESTION_MESSAGE); a = Integer.parseInt(sa); sb = JOptionPane.showInputDialog(null, "entrez un autre entier", "Données du PGCD", JOptionPane.QUESTION_MESSAGE); b = Integer.parseInt(sb); while(a!=b){ if(a>b) a = a-b; else b = b-a; res = " le PGCD de "+sa+" et "+sb+" est : "+a; JOptionPane.showMessageDialog(null,res, "Calcul du PGCD",JOptionPane.INFORMATION_MESSAGE); rep = JOptionPane.showConfirmDialog(null, " Voulez vous continuer?"); encore = (rep==0)? true:false; JOptionPane.showMessageDialog(null,"Au revoir!", "Calcul du PGCD",JOptionPane.INFORMATION_MESSAGE);

Exercice 3 : Zim Zam Zoum Le jeu de Zim Zam Zoum se joue à deux. Chaque joueur a le choix entre 3 possibilités : la pierre, les ciseaux, la feuille. Sachant que la feuille recouvre la pierre, le ciseau coupe la feuille et que les ciseaux se casse sur la pierre, le joueur gagnant est celui qui a fait le bon choix. Question Ecrire un programme qui permet de jouer contre l ordinateur tant que l arrêt de la partie n est pas demandée. Notes : o Comment choisir aléatoirement un chiffre entre 0 et 2? Pour cela la première ligne de votre programme sera : Pour générer une séquence aléatoire, il faut tout d abord fixer la graine : Puis pour chaque choix aléatoire entre 0 et 2 : int choix = alea.nextint(3); o Comment lire un caractère? La seconde ligne du programme sera : import java.util.scanner ; pour lire un entier à partir du clavier : Scanner input = new Scanner( System.in ) ; int val = input.nextint() ; Solution 1 / La classe ZZZ simule une partiede ZimZamZoum @author auditeurs du 27/11/2008 @version 27/11/2008 / import java.util.scanner; public class ZZZ{ final int PIERRE=0,FEUILLE=1,CISEAUX=2; Scanner input = new Scanner( System.in) ; // le caractère lu représente : 0 (feuille), 1 (pierre), 2 (ciseaux) int joueur = 3, ordi = 3; while ( true ){// lire le choix du joueur out.println("faites votre choix :"); out.println("0 pour feuille"); out.println("1 pour pierre"); out.println("2 pour ciseaux"); out.println("ou 3 pour sortir: "); joueur = input.nextint(); if ( joueur >= 3 ){ out.println("au revoir!");system.exit(0); if (!( joueur== 0 joueur ==1 joueur== 2))

out.println(" erreur de frappe, nouvelle saisie!"); // choix de l'ordinateur ordi = alea.nextint(3); // 0=feuille,1=puits,2=ciseaux // qui a gagné? // les lignes représentent le joueur // les colonnes représentent l'ordinateur String [][] matrice = {{"match nul","joueur gagne","ordi gagne", {"ordi gagne","match nul","joueur gagne", {"joueur gagne","ordi gagne","match nul"; out.println(matrice[joueur][ordi]); Solution 2 import java.util.scanner; public class ZimZamZoum{ final int PIERRE=0, FEUILLE=1, CISEAUX=2; Scanner input = new Scanner( System.in) ; int joueur = 0, ordi = 0; int val; int gagneordi=0, gagnejoueur=0; while ( true ){// lire le choix du joueur System.out.println("0 pour feuille"); System.out.println("1 pour pierre"); System.out.println("2 pour ciseaux"); System.out.println("= ou >3 pour sortir: "); System.out.print("------ faites votre choix : "); // On suppose que l'opérateur saisit un nombre // sinon une exception est levée joueur = input.nextint(); if ( joueur >= 3 ){ System.out.println("Au revoir!");system.exit(0); if (!( joueur==pierre joueur==feuille joueur==ciseaux )) System.out.println(" erreur de frappe, nouvelle saisie!"); else{ // choix de l'ordinateur val = alea.nextint(3); // 0=feuille,1=puits,2=ciseaux // qui a gagné? switch(val){ out.println("ordi a joué feuille=>égalité!"); break; out.println("ordi a joué feuille=>vous avez perdu!"); out.println("ordi a joué feuille=>vous avez gagné!");

;break; out.println("ordi a joué pierre=>vous avez gagné!"); out.println("ordi a joué pierre=>égalité!");break; out.println("ordi a joué pierre=>vous avez perdu!"); ;break; out.println("ordi a joué ciseaux=>vous avez perdu!"); out.println("ordi a joué ciseaux=>vous avez gagné!"); out.println("ordi a joué ciseaux=>égalité!");break; ;break; default : break; out.println("-------"); out.println("l'ordi a gagné "+gagneordi+" parties"); out.println("vous avez gagné "+gagnejoueur+" parties");