Seuillage d un réel [ss03] Exercice résolu

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

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

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

Programme Compte bancaire (code)

Java Licence Professionnelle CISII,

Corrigé des exercices sur les références

ACTIVITÉ DE PROGRAMMATION

Chapitre 10. Les interfaces Comparable et Comparator 1

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

Package Java.util Classe générique

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

Premiers Pas en Programmation Objet : les Classes et les Objets

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

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

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

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

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

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Solutions du chapitre 4

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

TD/TP PAC - Programmation n 3

Utilisation d objets : String et ArrayList

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

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

Corrigés des premiers exercices sur les classes

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Les arbres binaires de recherche

as Architecture des Systèmes d Information

Programmation avec des objets : Cours 7. Menu du jour

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

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

Flux de données Lecture/Ecriture Fichiers

Programmation par les Objets en Java

2. Comprendre les définitions de classes

TP1 : Initiation à Java et Eclipse

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

Synchro et Threads Java TM

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

Exercices sur les interfaces

Un ordonnanceur stupide

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

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

TP, première séquence d exercices.

Derrière toi Une machine virtuelle!


Threads. Threads. USTL routier 1

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

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

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

Réaliser la fiche de lecture du document distribué en suivant les différentes étapes de la méthodologie (consulter le support du TD!

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

Projet de programmation (IK3) : TP n 1 Correction

Programmer en JAVA. par Tama

Langage Java. Classe de première SI

Chapitre I Notions de base et outils de travail

Les structures de données. Rajae El Ouazzani

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

Traitement de données

Utiliser Java sans BlueJ

Une introduction à Java

Programmation Par Objets

TP1 : Initiation à Java et Eclipse

Cours 1: Java et les objets

Algorithmique & programmation

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Programmation Objet I

Chapitre VI- La validation de la composition.

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

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

INF 321 : mémento de la syntaxe de Java

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

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

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

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Problèmes liés à la concurrence

Utilitaires méconnus de StrataFrame

Algorithmique I. Algorithmique I p.1/??

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

Université Kasdi Merbeh Ouargla FSSI/ Département des maths et de l informatique Corrigé type TD N 8 de ASD2 (Les Graphes)

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

Java DataBaseConnectivity

STAGE IREM 0- Premiers pas en Python

Programmation Réseau SSH et TLS (aka SSL)

Initiation à l algorithmique

Java 1.5 : principales nouveautés

I. Introduction aux fonctions : les fonctions standards

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

LOG4430 : Architecture logicielle et conception avancée

Le prototype de la fonction main()

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

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)

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

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Systeme d'exploitation

Transcription:

Seuillage d un réel [ss03] Exercice résolu Karine Zampieri, Stéphane Rivière Unisciel algoprog Version 30 décembre 2016 Table des matières 1 Algorithmique, Programmation 2 1.1 Procédure ordonner2r (reordre de deux réels)................ 2 1.2 Fonction seuillagereel(seuillage d un réel)................. 2 1.3 Procédure seuillerreel(seuillage d un réel)................. 3 1.4 Programme principal............................. 4 2 Que retenir de cet exercice? 4 3 Références générales 5 Java - Seuillage d un réel (Solution) Mots-Clés Algorithmes paramétrés Utilise Procédure, Paramètres formels, Fonction Requis Structures de base, Structures conditionnelles Difficulté (30 min) Objectif Cet exercice seuille un réel par rapport à un intervalle. 1

Unisciel algoprog Seuillage d un réel [ss03], December 30, 2016 2 1 Algorithmique, Programmation 1.1 Procédure ordonner2r (reordre de deux réels) Écrivez le profil d une procédure ordonner2r(a,b) qui prend deux paramètres réels a et b et les modifie de manière à ce qu ils soient dans l ordre croissant. Orientation Paramètres Modifiés : Les entiers a et b Solution simple Les paramètres formels a et b sont des paramètres mixtes Donnée/Résultat. En effet, ils ont des valeurs avant l appel et ils sont modifiés en le minimum et maximum de a et b. Écrivez le corps de la procédure. Validez votre procédure avec la solution. static void ordonner2r(double[] a, double[] b){ if (b[0] < a[0]){ double tmp = a[0]; a[0] = b[0]; b[0] = tmp; 1.2 Fonction seuillagereel(seuillage d un réel) Écrivez une fonction seuillagereel(x,b1,b2) qui calcule et renvoie le réel seuillé (premier paramètre) par rapport à un intervalle de réels donnés (les deux derniers paramètres). Aide méthodologique Avant de réaliser le seuillage, la fonction appellera la procédure ordonner2r afin d assurer que la borne b1 est plus petite ou égale à la borne b2. Ces deux paramètres formels seront donc éventuellement modifiés via la procédure ordonner2r mais cette modification n a aucune répercussion sur les paramètres effectifs de l appel à la fonction seuillagereel puisque ce sont des paramètres entrants pour la fonction. Validez votre fonction avec la solution.

Unisciel algoprog Seuillage d un réel [ss03], December 30, 2016 3 static double seuillagereel(double x, double b1, double b2){ double[] borne1 = new double[1]; borne1[0] = b1; double[] borne2 = new double[1]; borne2[0] = b2; ordonner2r(borne1, borne2); if (x < borne1[0]){ x = borne1[0]; else if (x > borne2[0]){ x = borne2[0]; return x; 1.3 Procédure seuillerreel(seuillage d un réel) Écrivez le profil d une procédure seuillerreel(x,b1,b2) qui seuille un réel (premier paramètre) par rapport à un intervalle de réels donnés (les deux derniers paramètres), c.-à-d. qui doit modifier x s il n est pas dans l intervalle. Orientation Paramètres Le paramètre formel x ayant une valeur avant l appel de la procédure et étant éventuellement modifié par celle-ci, c est un paramètre mixte. Les paramètres formels b1 et b2 sont les bornes de l intervalle : ce sont des paramètres entrants. Écrivez le corps de la procédure. Aide méthodologique Avant de réaliser le seuillage, la fonction appellera la procédure ordonner2r afin d assurer que la borne b1 est plus petite ou égale à la borne b2. Ces deux paramètres formels seront donc éventuellement modifiés via la procédure ordonner2r mais cette modification n a aucune répercussion sur les paramètres effectifs de l appel à la procédure seuillerreel puisque ce sont des paramètres entrants pour la procédure. Validez votre procédure avec la solution. static void seuillerreel(double[] x, double b1, double b2){ double[] borne1 = new double[1]; borne1[0] = b1; double[] borne2 = new double[1]; borne2[0] = b2; ordonner2r(borne1, borne2); if (x[0] < borne1[0]){ x[0] = borne1[0];

Unisciel algoprog Seuillage d un réel [ss03], December 30, 2016 4 else if (x[0] > borne2[0]){ x[0] = borne2[0]; 1.4 Programme principal Écrivez un programme qui teste votre fonction et procédure dans les deux cas : 10.6 dans l intervalle [2.1,6.6] 3.0 dans l intervalle [8.5,2.4] Testez. Validez votre programme avec la solution. @[pgseuillage.java] public class PGSeuillage { public static void main(string[] args) { double y; double[] x = new double[1]; x[0] = 10.6; y = UtilsSSOpers.seuillageReel(x[0],2.1,6.6); UtilsSSOpers.seuillerReel(x,2.1,6.6); System.out.println("==> y=" + y + " et x=" + x[0]); x[0] = 3.0; y = UtilsSSOpers.seuillageReel(x[0],8.5,2.4); UtilsSSOpers.seuillerReel(x,8.5,2.4); System.out.println("==> y=" + y + " et x=" + x[0]); 2 Que retenir de cet exercice? Lorsque, dans un appel de procédure, les paramètres effectifs sont des identifiants (ce qui est toujours le cas des paramètres de statut DR ou R), ils se comportent comme des variables le temps de l exécution de la procédure. On peut donc leur appliquer les traitements comme on le ferait à des variables et leur valeur modifiée est directement prête à sortir de la procédure. Nous avons insisté sur le fait qu il fallait toujours prévoir des jeux d essais pour vérifier la justesse des algorithmes et des programmes. C est encore vrai lorsque ceux-ci contiennent des fonctions et des procédures. Il faut si possible séparer les tests pour vérifier chaque fonction ou chaque procédure. Mais, pour tester une procédure ou une fonction, il faut absolument qu elle soit appelée par un programme. C est pourquoi, lorsqu on travaille

Unisciel algoprog Seuillage d un réel [ss03], December 30, 2016 5 sur des fonctions ou des procédures, il est nécessaire d écrire des procédures de test dont le seul objectif est de les appeler pour les vérifier. Lorsqu on aborde un problème complexe, il peut être productif de ne pas cumuler les difficultés. Une méthode consiste à «déléguer» certains traitements à des procédures ou à des fonctions qui seront définies plus tard. Cela permet à l analyste de séparer les problèmes et d être plus à l aise pour élaborer une solution. 3 Références générales Comprend