Séance 1 de travaux pratiques



Documents pareils
Solutions du chapitre 4

Cours 1 : Qu est-ce que la programmation?

Puissances d un nombre relatif


INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

TP, première séquence d exercices.

Représentation d un entier en base b

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

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

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

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 au langage C

Chapitre 10. Les interfaces Comparable et Comparator 1

Correction TD algorithmique

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

Algorithmique et Programmation, IMA

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

Le langage C. Séance n 4

B = A = B = A = B = A = B = A = Recopier sur la copie chaque expression numérique et la réponse exacte. Réponse A Réponse B Réponse C Solution

Java Licence Professionnelle CISII,

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

STAGE IREM 0- Premiers pas en Python

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

INF 321 : mémento de la syntaxe de Java

Le prototype de la fonction main()

Les structures de données. Rajae El Ouazzani

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

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

108y= 1 où x et y sont des entiers

Rallye Mathématiques de liaison 3 ème /2 nde et 3 ème /2 nde pro Epreuve finale Jeudi 21 mai 2015 Durée : 1h45

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

V- Manipulations de nombres en binaire

Programme Compte bancaire (code)

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

Exercices - Polynômes : corrigé. Opérations sur les polynômes

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Les arbres binaires de recherche

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

Chapitre 10 Arithmétique réelle

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

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

Algorithmique avec Algobox

Les structures. Chapitre 3

TP1. Outils Java Eléments de correction

Conversion d un entier. Méthode par soustraction

I. Introduction aux fonctions : les fonctions standards

FORD C-MAX + FORD GRAND C-MAX CMAX_Main_Cover_2013_V3.indd /08/ :12

Architecture de l ordinateur

Introduction à l étude des Corps Finis

Représentation des Nombres

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

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

Logiciel de Base. I. Représentation des nombres

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

Algorithme. Table des matières

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

DUT Techniques de commercialisation Mathématiques et statistiques appliquées

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

THEME : CLES DE CONTROLE. Division euclidienne

GUIDE PRATIQUE déplacements professionnels temporaires en France et à l étranger

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

Le chiffre est le signe, le nombre est la valeur.

Cours d Informatique

Claude Delannoy. 3 e édition C++

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

Auto-évaluation Programmation en Java

Programmation système I Les entrées/sorties

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Notions fondamentales du langage C# Version 1.0

Complément d information concernant la fiche de concordance

Examen d informatique première session 2004

Suites numériques. Exercice 1 Pour chacune des suites suivantes, calculer u 1, u 2, u 3, u 10 et u 100 : Introduction : Intérêts simpleset composés.

Diviser un nombre décimal par 10 ; 100 ; 1 000

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux

ACTIVITÉ DE PROGRAMMATION

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

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

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

Utilisation d objets : String et ArrayList

Poker. A rendre pour le 25 avril

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

L emprunt indivis - généralités

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

Environnements de développement (intégrés)

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

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

TD/TP PAC - Programmation n 3

EQUATIONS ET INEQUATIONS Exercices 1/8

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Exercices sur les interfaces

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Premiers Pas en Programmation Objet : les Classes et les Objets

Les fonction affines

Traduction des Langages : Le Compilateur Micro Java

avec des nombres entiers

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Informatique Générale

Probabilités. Une urne contient 3 billes vertes et 5 billes rouges toutes indiscernables au toucher.

Cours 1 : La compilation

Transcription:

Séance 1 de travaux pratiques 1 Calcul arithmétique Parenthésage 1 ( ) int calcul parenthésage [q1] Comment parenthéser l expression suivante pour avoir 8 comme résultat? 1 + 3 + 5 3 / 4 + 8 / 2 1 + 3 + 5 * (3 / 4) + 8 / 2 1 + 3 + ((5 * 3) / 4) + (8 / 2) (1 + 3 + (5 * 3) / 4 + 8) / 2 ((1 + 3) + (5 * (3 / 4))) + (8 / 2) Parenthésage 2 ( ) int parenthésage arrondis [q2] Que vaut l expression suivante? 40 / 2 / 3 6 6 36 40 42 Indéfini (opération invalide) Parenthésage 3 ( ) int parenthésage arrondis [q3] Lesquelles de ces expressions valent -2? (-1) / 2 + 2 / (-1) - 9 / 4 3 / (-4) - 2 (-2) * (-1) Quarante-deux! ( ) int [q4] Compléter la procédure showfourtytwo qui affiche 42 (suivi d un retour à la ligne). Culture : 42 est la réponse à la grande question sur la Vie, l Univers et le Reste. FourtyTwo.java Une somme, ou presque ( ) int [q5] Compléter la procédure showquasisum qui attend deux entiers n et m, puis affiche le résultat de n+m-2. QuasiSum.java 1

2 Variable Affectations de variables ( ) int variables [q6] A la fin de l exécution du programme suivant, que valent les variables a, b et c? int a = 6 ; int b = 7 ; int c = a b ; a b c Affectations de variables avec redéfinition (1) ( ) int variables [q7] A la fin de l exécution du programme suivant, que valent les variables a, b et c? int a = 6 ; int b = 7 ; int c = a b ; a = 1 3 ; a b c Distances ( ) int arrondis variables calcul [q8] On cherche à écrire une fonction qui calcule la distance parcourue en km, à partir de la vitesse, en noeuds, et du temps du voyage, en jours. On introduira des variables temporaires mhspeed et hours, représentant respectivement la vitesse en mètres par heures et la durée du voyage en heures. On «rappelle» qu un noeud vaut 1,852 km/h. On utilise des m/h et non des km/h, car on ne manie que des entiers. Pour rester le plus proche possible du résultat, on retarde donc la division au dernier moment. Travel.java Affectations de variables avec redéfinition (2) ( ) int variables [q9] A la fin de l exécution du programme suivant, que valent les variables x et y? int x = 6 ; int y = 7 ; x = x 7 ; y = x ; x y 2

Échanger des variables ( ) int variables [q10] Compléter la procédure showswap qui prend en paramètre deux entiers x et y, de telle sorte qu elle affiche d abord y puis x (suivi d un retour à la ligne à chaque fois). Swap.java 3 Conditionnelle Comparateur ( ) conditionnellesimple int [q11] Compléter la procédure compare qui attend deux entiers n et m affiche 1 si n > m, et -1 sinon, suivi d un retour à la ligne. Comparing.java Comparateur avec égalité ( ) conditionnellesimple int [q12] Compléter la procédure compare qui attend deux entiers n et m affiche 1 si n > m, -1 si n < m et 0 si n = m, suivi d un retour à la ligne. ComparingWithEquality.java Au musée ( ) int conditionnellesimple [q13] Au musée de Billecul, dans le Jura, le tarif enfant est de 5 euros et le tarif adulte est de 7 euros. Un groupe de plus de 10 personnes profite du tarif unique de 5 euros par personne. Tout enfant doit être accompagné d un adulte. L objectif de cet exercice est de programmer la caisse enregistreuse de ce musée. Compléter la procédure showprice qui prend en paramètre le nombre d enfants et le nombre d adultes du groupe, et qui affiche le prix à payer, s il y a au moins un adulte dans le groupe (et n affiche rien sinon). Museum.java Réserver un Hôtel pour un Groupe ( ) int variables conditionnellesimple [q14] Alice, directrice d une école à Wy-dit-Joli-Village, souhaite réserver un hôtel pour les n élèves de l école, dans le cadre d une sortie pédagogique. Une chambre avec deux lits jumeaux coûte 60e (pour deux personnes), tandis qu une chambre simple coûte 40e (pour une personne). Sachant qu il y a seulement nbtwin chambres doubles disponibles et nbsimple chambres simples disponibles, Alice souhaiterait savoir s il y a effectivement assez de place dans l hôtel, et si oui, quel est le prix minimal qu elle devra payer pour loger ses n élèves. Les personnels encadrants (dont Alice) seront évidemment logés dans des suites (toujours disponibles, et dont le prix n est pas à prendre en compte). Compléter la fontion gethotelprice qui prend en paramètre les trois entiers n, nbtwin et nbsimple, et qui retourne le prix minimal qu Alice devra payer pour loger ses n élèves, ou -1 s il n y a pas assez de place dans l hôtel. Hotel.java 4 Fonction Double : différence entre affichage et retour ( ) int calcul fonction différenceaffichageretour [q15] Compléter la procédure showdouble qui attend en argument un entier x et qui affiche le double de x (suivi d un retour à la ligne). Compléter la fonction getdouble qui attend en argument un entier x et qui retourne le double de x (mais qui n affiche rien). DoublePrintReturn.java 3

Utiliser une fonction ( ) int fonction [q16] On considère les fonctions suivantes : public static int s e c r e t ( int a ) { return a + 10 a ; public static int magique ( int a ) { return a a + 4 2 ; Que valent les expressions suivantes? secret(2) magique(3) secret(1) + magique(2) Fonctions et procédures ( ) int différenceaffichageretour [q17] Pour le code suivant : public static void s e c r e t ( int x ) { showint ( x + 4 2 ) ; public static int magique ( int x ) { return x + 4 2 ; / showint (n) a f f i c h e l e n t i e r n / public static void showint ( int n ) { System. out. p r i n t ( n ) ; lesquelles de ces affirmations sont vraies? secret est une procédure magique est une procédure secret(10) affiche 52 magique(10) affiche 52 secret(10) vaut 52 magique(10) vaut 52 showint(secret(10)) n est pas autorisé en Java showint(magique(10)) n est pas autorisé en Java Le chiffre des unités ( ) int fonction modulo [q18] Compléter la fonction getunitsdigit qui prend en paramètre un entier positif n et qui retourne son chiffre des unités. On rappelle que le chiffre des unités d un entier est le reste de la division euclidienne de cet entier par 10. UnitsDigit.java 4

Division ( ) int calcul conditionnellesimple fonction [q19] Complétez la fonction div pour qu elle retourne 0 lorsque le dénominateur den est nul, et le résultat la division entière de num par den sinon. Division.java Composition de fonctions ( ) int fonction [q20] On considère les fonctions suivantes : public static int t r i p l e ( int a ) { return 3 a ; public static int square ( int a ) { return a a ; Que valent les expressions suivantes? triple(2) square(2) square(triple(2)) triple(square(2)) Sissa et les échecs ( ) int fonction [q21] On raconte que le roi des Indes, pour remercier le sage Sissa d avoir inventé le jeu d échecs, lui promit de lui offrir le cadeau de son choix. Sissa lui demanda alors juste de poser un grain de blé sur la première case de l échiquier, deux sur la deuxième, quatre sur la troisième,... Ainsi sur la n-ème case, le roi dut poser 2 puissance (n-1) grains de blé. Compléter la procédure showgrains qui attend un entier n et qui affiche le nombre de grains sur la n-ème case. Vous utiliserez pour cela la fonction poweroftwo qui attend un entier n et qui retourne 2 à la puissance n. Vous n avez pas besoin de comprendre comment fonctionne cette fonction. Sissa.java Fonctions mystères ( ) int fonction calcul [q22] Compléter les fonctions mystery1 and mystery2 de telle sorte que la procédure usemysteriousfunctions qui prend en paramètre un entier x affiche le double du carré de x suivi du quadruple du carré de x. MysteriousFunctions.java 5 Boucle Une barre de zéros ( ) int bouclederépétition [q23] Compléter la procédure showzerobar qui attend un entier n et affiche n fois le caractère 0 (suivi d un retour à la ligne à la toute fin). ZeroBar.java Boucle de 42 et valeurs absolues ( ) int conditionnellesimple bouclederépétition [q24] Compléter la procédure showabsolutefourtytwo qui prend en paramètre un entier de signe quelconque n et qui affiche 42 à n reprises (suivi d un retour à la ligne à chaque fois). On rappelle que n est la valeur absolue de n : n = n si n 0 et n = n sinon. AbsoluteLoop.java 5

6 Bonus Facture téléphonique ( ) int conditionnellesimple arrondis [q25] Alice a un forfait téléphonique de 2 euros par mois, comprenant 60 minutes d appel et 120 textos. Au-délà, une minute d appel lui coûte 5 cents et un texto lui coûte 2 cents. Compléter la procédure showbill qui prend en paramètre le nombre de textos envoyés par Alice et le temps d appel d Alice (en minutes) dans le mois, et qui affiche le montant de sa facture mensuelle. Par exemple, pour 5 minutes et 128 textos, la procédure devra afficher 2,16 euros. Conseil : regarder bien les procédures fournies. Ce ne sont pas les procédures habituelles Phone.java Hello ( ) int [q26] Compléter la procédure showhello qui affiche hello. Pour ce faire, vous devez exclusivement utiliser la fonction showletter qui prend en argument un entier n entre 1 et 26, et qui affiche la n-ème lettre de l alphabet. Il est interdit d utiliser directement System.out.print. Hello.java 6