TP n 5 (1.5 séances)

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

TP, première séquence d exercices.

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Java Licence Professionnelle CISII,

ACTIVITÉ DE PROGRAMMATION


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)

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

Langage Java. Classe de première SI

Programmer en JAVA. par Tama

Conventions d écriture et outils de mise au point

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

Arguments d un programme

Le langage C. Séance n 4

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

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

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

Une introduction à Java

Chapitre 10. Les interfaces Comparable et Comparator 1

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

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

Corrigés des premiers exercices sur les classes

PROGRAMMATION PAR OBJETS

Introduction au langage C

TP1. Outils Java Eléments de correction

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

TP1 : Initiation à Java et Eclipse

Programme Compte bancaire (code)

Algorithmique et Programmation, IMA

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

Notions fondamentales du langage C# Version 1.0

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

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

Corrigé des exercices sur les références

Utilisation d objets : String et ArrayList

Structurer ses données : les tableaux. Introduction à la programmation

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

Cours 1: Java et les objets

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

Architecture de l ordinateur

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Principes des langages de programmation INF 321. Eric Goubault

STAGE IREM 0- Premiers pas en Python

TD/TP PAC - Programmation n 3

Package Java.util Classe générique

as Architecture des Systèmes d Information

Java Licence Professionnelle CISII,

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

Machines virtuelles fonctionnelles (suite) Compilation ML Java

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

Le prototype de la fonction main()

Présentation du langage et premières fonctions

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

Flux de données Lecture/Ecriture Fichiers

Projet de programmation (IK3) : TP n 1 Correction

TD/TP PAC - Programmation n 3

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

Introduction à MATLAB R

INF 321 : mémento de la syntaxe de Java

Exercices sur les interfaces

Tp 1 correction. Structures de données (IF2)

Recherche dans un tableau

Initiation à la programmation en Python

Cours 1 : Qu est-ce que la programmation?

1. Langage de programmation Java

INITIATION AU LANGAGE JAVA

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

I. Introduction aux fonctions : les fonctions standards

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

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

Programmation Objet Java Correction

Apprendre Java en 154 minutes

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

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

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

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

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

Programmation par les Objets en Java

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

Quelques éléments de compilation en C et makefiles

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

Premiers Pas en Programmation Objet : les Classes et les Objets

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Programmation système I Les entrées/sorties

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

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

Claude Delannoy. 3 e édition C++

TP1 : Initiation à Java et Eclipse

Cours Programmation Système

Java c est quoi? Java pourquoi?

Solutions du chapitre 4

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

Travaux Dirigés n 1 : chaînes de caractères

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

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

Transcription:

Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2007/2008 TP n 5 (1.5 séances) Pour vous éviter d avoir à recopier les programmes, tous les listings se trouvent dans l archive listingstp5.zip sur e-campus. Tous les exercices doivent être traités, les réponses attendues doivent contenir des explications concises de vos résultats. La clarté de votre rédaction, ainsi que l orthographe seront pris en compte dans la note. Vous rédigerez votre compte rendu dans un fichier type Word (extension.doc ou.odt) que vous déposerez sur e-campus avant la date limite dans l espace prévu à cet effet. Aucun retard ne sera excusé. Variables et type Exercice 1. Considérer le programme suivant : public class Type public static void main ( S t r i n g [ ] args ) int x ; float y ; x = 1234; y = 3.14 f ; int z = 4 2 ; int i = ( int ) 3. 1 4 ; System. out. p r i n t l n ( i = + i ) ; Donner le nom et le type des variables utilisées dans le programme. Qu affiche le programme lors de l exécution? Expliquer. Que se passe-t-il à la compilation si l on modifie l affectation y = 3.14f ; en y = 3.14 ;? Que faire pour éviter l erreur? Pourquoi le programme original compile et s exécute lorsque l on remplace la déclaration float y ; par double y ;? Exercice 2. Ecrire un programme Typage qui déclare une variable x de type int et lui affecte la valeur 1234. Compiler. Recompiler après avoir affecté successivement x avec des valeurs -2, 3.14f, 4.5, "toto", false. Expliquer ce qu il se passe dans chacun des cas.

Opérateurs arithmétiques Exercice 3. Ecrire un programme Arithmetique qui évalue et affiche les expressions arithmétiques suivantes, en essayant de prédire les résultats : 1. 4 / 3 2. 4 / 3.0 3. 4-3 * 5 4. 4 - (3 * 5) 5. (4-3) * 5 6. 117 % 7 7. 0.3-0.2 8. 2-0.1 9. 1.3 / 0 10. (-1.3) / 0 11. 0 / 1.3 12. 0 / 0 Exercice 4. Que signifie l opérateur + dans les deux instructions suivantes? i = 45 + 2.2 System.out.println("Valeur de i :" + i) ; Exercice 5. Ecrire un programme Moyenne qui lit 4 notes (de type double), affiche leur somme et leur moyenne : en utilisant 1 tableau permettant de stocker 4 doubles en utilisant 1 seule variable pour la lecture des doubles (on exploitera chaque nombre après l avoir lu, et on réutilisera la même variable pour lire le double suivant) Dans les deux cas, on utilisera une boucle for pour éviter de réécrire plusieurs fois une même instruction. Pour la lecture d un double saisi au clavier par l utilisateur, on utilisera la méthode nextdouble de la classe Scanner présente dans le package java.util : /... / sc. uselocale ( Locale. US ) ; x = sc. nextdouble ( ) ; Calculer la moyenne de 12, 14.5, 13 et 18.5 des deux façons. Exercice 6. 1. Qu affiche le programme suivant? int i = 1 0 ; int n = i++ % 5 ; System. out. p r i n t l n ( i = + i ) ; System. out. p r i n t l n ( n = + n ) ; 2. Que se passerait-il si au lieu d utiliser l opérateur d incrémentation post-fixe i++, on avait utilisé l opérateur d incrémentation préfixe ++i? Expliquer. 3. Pourquoi l expression 5++ est-elle incorrecte? Opérateurs booléens Exercice 7. Ecrire un programme ExprBool qui évalue et affiche les expressions booléennes suivantes : 2

1. 10 > 5 2. 10 == 5 3. 5 == 5 4. 5 == (11-6) 5. false (5!= 4) 6. false && (5!= 4) 7.!(30 % 3 == 0) 8. (0.3-0.2) == (0.2-0.1) Que se passe-t-il si l on demande d évaluer les expressions suivantes? f a l s e && ( 0 / 0 ) ; (0/0) && f a l s e ; Exercice 8. Ecrire un programme Logique qui 1. demande à l utilisateur d entrer successivement 3 variables entières a puis b puis c 2. évalue les expressions booléennes correspondant aux conditions suivantes a est supérieur à 3 et le quotient entier de la somme de a et de b par c est un multiple de 4 a divise b et a divise c si a divise b alors a divise bc Tester ces expressions avec les valeurs a = 10, b = 22 et c = 2. Exercice 9. Voici un programme qui noie inutilement le poisson. class PoissonNoye1 public static void main ( S t r i n g [ ] argv ) System. out. p r i n t ( Taper 0 ou 1 : ) ; int x = sc. nextint ( ) ; boolean val, r e s ; i f ( x==0) i f ( val == true ) r e s = true ; r e s = f a l s e ; System. out. p r i n t l n ( r e s ) ; Que fait-il? Réécrire ce programme de telle sorte que le corps de la méthode main ne fasse plus que 4 lignes de code. Exercice 10. Dans le même esprit que celui de l exercice précédent améliorer les deux programmes suivants : class PoissonNoye2 3

public static void main ( S t r i n g [ ] argv ) boolean val ; System. out. p r i n t ( Taper 0 ou 1 : ) ; boolean b = ( sc. nextint ( ) == 1 ) ; System. out. p r i n t ( Taper 0 ou 1 : ) ; boolean c = ( sc. nextint ( ) == 1 ) ; i f ( b == true ) i f ( c == true ) i f ( c == true ) System. out. p r i n t l n ( val ) ; class PoissonNoye3 public static void main ( S t r i n g [ ] argv ) boolean val ; System. out. p r i n t ( Entrer un c h i f f r e e n t r e 1 et 9 : ) ; int x = sc. nextint ( ) ; System. out. p r i n t ( Entrer un c h i f f r e e n t r e 1 et 9 : ) ; int y = sc. nextint ( ) ; i f ( y > 1) i f ( y < 5) i f ( x > 2) i f ( x >2) i f ( y < 5) val = ( ( x > 2) && ( x < 2 ) ) ; System. out. p r i n t l n ( val ) ; 4

Manipulation de chaînes de caractères Exercice 11. Ecrire un programme ADemiMot qui extrait et affiche la première moitié d un mot donné par l utilisateur. On utilisera la méthode next() de la classe Scanner et les méthodes length et substring de la classe String. Tester le programme sur les mots ordinateur et programme. Exercice 12. Ecrire un programme TeteAQueue qui inverse la première et la dernière lettre d un mot donné par l utilisateur (indication : chercher dans la classe String une méthode permettant de récupérer un caractère de la chaîne). Tester le programme sur les mots informatique, laval, ko, x. Que se passe-t-il? Exercice 13. Ecrire un programme Prediction qui : demande à l utilisateur de taper un nombre entier strictement compris entre 50 et 100, ajoute ce nombre à 62 et affiche le résultat, supprime le premier chiffre de ce résultat et l ajoute au chiffre restant (ex : 113 1 + 13 = 14), puis affiche le résultat, enlève ce dernier nombre obtenu au premier nombre donné par l utilisateur et affiche ce résultat. Démontrer que le résultat final vaut bien 37. Blocs et Variables locales Exercice 14. Les codes suivants sont-ils corrects? class Code1 public static void main ( S t r i n g [ ] args ) int n = 4 ; int m = 5 ; System. out. p r i n t l n ( n ) ; System. out. p r i n t l n (m) ; class Code2 public static void main ( S t r i n g [ ] args ) int n = 1 0 ; int n = 5 ; System. out. p r i n t l n ( n ) ; Messages d erreur Exercice 15. Compiler le programme suivant. Analyser les différents messages d erreur en les identifiant dans le code. Corriger et recompiler jusqu à ce qu il n y ait plus d erreurs. 5

public class Erreur public static void main ( S t r i n g [ ] arguments ) System. out. P r i n t l n ( exo1 ) ; c h a r a c t e r a ; int a, bb char c = bonjour ; boolean t t = a=2; bb = x+3; t t=x+4; a = x +1; bb= 3 w; bb+1 = 3 ; bb==2; 6