[PDF] Avec exercices de programmation Mikl´os Cs?ur¨os





Previous PDF Next PDF



Exercices Cours largumentation et les types darguments

2?Donnez votre point de vue en vous basant sur vos propres arguments. - La télévision anéantit l'esprit critique. - Elle est un outil précieux d'information. - 



Fiche pratique de confinement - De largumentation à la dissertation

5 avr. 2020 EXERCICE 3 : LES TYPES D'ARGUMENTS. Vous trouverez ci-dessous une liste d'arguments. Distinguez les arguments fondés sur.



ATELIER N°4 : EXERCICES DARGUMENTATION

ETAPE 4 : Le déroulement du 1er jeu = 15 minutes. Exercice 2 : les 2 binômes du groupe B expose leurs arguments au groupe A chacun d'eux disposant de leur.



Avec exercices de programmation Mikl´os Cs?ur¨os

Exercice 1.5. Donner le code pour définir les variables locales a b



Cahier avec notes de cours et exercices

(b2) Exercice sur les types de jugement : Pour chacune des affirmations suivantes dites s'il s'agit d'un jugement de fait



Exercices : Les arguments

Exercices : Les arguments. EXO 1 - Choisir des arguments pertinents. A - Pour chaque thèse trouver les 3 arguments pertinents :.



Plan-cadre Philosophie et rationalité PHI-101

les types de raisonnement : par induction par déduction



Le discours anti-vaccination en ligne au Canada : une typologie des

15 janv. 2021 mieux élucider les différents types d'arguments qui sont déployés ... ensuite faire le même exercice avec les articles pertinents des 10 ...



ETA 719 – Largumentation léthique et le dialogue (3 cr.)

10 mai 2014 Les exercices préparés seront ciblés sur des éléments précis et peu nombreux à tester sur des textes. PLANIFICATION DU COURS. 1. Dates.



Fonctionnement de largumentation

OU exercice inverse : A partir des arguments retrouver la thèse. 2) Exercice Oral : Proposer une thèse à la classe ; les élèves donnent une série d'arguments.

IFT1015 INTRODUCTION`A LA

PROGRAMMATION: EXIGENCES

Avec exercices de programmation

Mikl

´os Csur¨os

D ´epartement d"informatique et de recherche op´erationnelle

Universit

´e de Montr´eal

Automne 2008

Chapitre 1

Notions de base, boucles, et

tableaux

1.0 Unix/Linux

Il est absolument n

´ecessaire de se familiariser avec le syst`eme d"exploitation Unix (ou Linux). Utilisez la ligne de commande pour g

´erer vos fichiers et r´epertoires.

M ˆeme si vous travaillez sur votre propre ordinateur chez vous, uilisez la ligne de commande : en MacOS X, vous pouvez lancer l"application Terminal; si vous travaillez avec un PC, installez une version de Linux ou Cygwin.

Il existe une version online du manuel du S

´eminaire Unix offert par le DIRO :

http://www-etud.iro.umontreal.ca/

˜semunix/(v."Documenta-

tion»).

Pour l"

´edition de fichiers, uilisez un´editeur g´en´erique comme Emacs. Avant que vous soyez expert en programmation Java, il est fortement d

´ecourag´e d"utiliser

un environnement integr ´e de d´eveloppement comme Netbeans ou Eclipse.

1.0.1 Exigences

?Commandes de base :cd,pwd,mkdir,rmdir,cp,rm,mv,chmod,ls, man. ?Utilisation d"Emacs : ouvrir un fichier existant, ou cr´eer un nouveau fichier, edition d"un fichier, sauvegarder. 1

1.1 Ex

´ecution de programmes Java

1.1.1 Fichiers de source

Votre code Java doit

ˆetre plac´e dans un fichier de classe (c"est un fichier dont l"extension est.javaet a le mˆeme nom que la classe).

Exercice 1.1.

´Ecrire le code suivant.public class ProgrammeSimple public static void main(String[] args) System.out.println("C"est mon programme simple.");

1.1.2 Compilation et ex

´ecution

Pour compiler votre code source, utilisezjavac. Cela produit un fichier avec le m ˆeme nom que votre fichier de source mais avec l"extension.cls. Le programmejavaex´ecute le bytecode d"une classe. Plus pr´ecisement, la commandejava XXXXXex´ecute le code de la m´ethodemaindans la classe XXXXX, en utilisant la compilation encod´ee dans le fichierXXXXX.cls. Exercice 1.2.Compiler et ex´ecuterProgramSimple.javade l"exercice 1.1.

Exercice 1.3.

´Ecrire, compiler et ex´ecuter un programme qui affiche le d´ebut du poˆeme de

Verlaine :

Les sanglots longs

des violons de l"automne blessent mon coeur d"une langueur monotone.

Exercice 1.4.

´Ecrire, compiler et ex´ecuter un programme qui calcule le nombre de seconds dans un an de 365 jours. 2

1.1.3 Exigences

´Ecrire, modifier, compiler et ex´ecuter une classe Java ex´ecutable en utilisant la ligne de commande et un logiciel d"

´edition g´en´erique (comme Emacs).

1.2 Variables et types

1.2.1 Notions de variable et de type

En th ´eorie de langages de programmation, untypeest d´efini par l"ensemble de valeurs possibles et les op ´erations sur celles-ci. Par exemple, le typebyteen Java est d ´efini par l"ensemble de valeurs enti`eresf128;127;:::;0;1;:::;127gavec les op ´erations qui peuvent y appliquer comme les op´erations arithm´etiques+,*, etc. Unevariableest l"abstraction d"un emplacement en m´emoire. Une variable a unnom, une adresse physique en m´emoire (qui n"est pas n´ecessairement visible au programmeur) qui s"apelle la valeur gauche (l-value), un type, une valeur (stock´ee a l"adresse physique associ´e, en utilisant un bloc de cellules de m´emoire selon l"im- plantation du type) qui s"apelle sa valeur droite (r-value), et unevisibilit´equi d ´etermine les r`egles d"usage de la variable par son nom dans le code. En Java, le type de toutes les expressions est fix

´e lors du temps de compilation.

Le compilateurjavacinf`ere ce type en appliquant des r`egles bien d´efinies, et g ´en`ere une erreur de compilation pour l"utilisation ill´egale de types.

1.2.2 Types primitifs

Rang ´eesJava d´efinit les types simples ("primitifs»dans la t´erminologie de Java) : boolean, et les types num´eriqueschar,byte,short,int,long,float, double. Les deux derniers repr´esente des nombres flottants;char,...,long sont des types entiers. Le typecharprend des valeurs entre 0 et 65535 (2161). Les types entiersbyte,...,longprend des valeurs entre2r1et2r11o`u r= 8pourbyte,r= 16pourshort,r= 32pourintetr= 64pourlong. Lit ´eraux et constantesLe langage Java offre plusieurs types de constantes comme celles des typesbool(true("vrai») etfalse("faux»)),char("a"), en- tiers (-99181), nombres flottants (1.3988,.5e-3). Pour forcer l"interpr´etation d"une constante enti `ere commelong, il faut ajouter 'L"`a la fin :12L. 3

Les bornes des types sont pr

´ed´efinis comme les variables constantesbyte Byte.MIN_VALUE, byte Byte.MAX_VALUE,int Integer.MIN_VALUE,int Integer.MAX_VALUE, etc. Les constantesdouble Double.MAX_VALUEetdouble Double.MIN_VALUE d ´efinissent le plus grand et le plus petit nombre positif qui peutˆetre repr´esent´e par un typedouble; les constantesfloat Float.MAX_VALUEetfloat Float.MIN_VALUE ont une utilit

´e analogue.

D"autres variables utiles :double Double.POSITIVE_INFINITYet double Double.NEGATIVE_INFINITYqui repr´esentent des valeurs infi- nies,double Math.PIqui a la valeurdoublela plus proche`a= 3:14159265358979. Exercice 1.5.Donner le code pour d´efinir les variables localesa;b;c;dde typesdouble, char,longetboolet valeurs initiales6:02214171023, le signe de tabulation TAB,

2008et faux; dans cet ordre.

Exercice 1.6.

´Ecrire, compiler et ex´ecuter un programme qui calcule le nombre de seconds dans le20esi`ecle.

1.2.3 Variables locales et statiques

En Java, les variables sont d

´eclar´es par le syntaxetype nomqui peutˆetre suivi par la d ´efinition de valeur initiale=valeur.`A l"omission d"une valeur initiale sp ´ecifique, les variables sont initialis´ees par d´efaut : 0 pour des types entiers, 0.0 pour les nombres flottants et faux pour bool

´eens. Il vaut mieux toujours faire une

initialisation explicite pour rendre le code plus facile `a comprendre et v´erifier.

Si une variable est declar

´ee`a l"ext´erieur de toutes les m´ethodes dans un fi- chier de classe avec le mot-cl ´estatic, alors c"est une variable statique qui est visible partout dans la classe. Si la variable est d

´eclar´e dans une s´equence d"instruc-

tions, alors c"est une variable locale qui est visible dans le m

ˆeme bloc d"instruc-

tions apr `es sa d´eclaration. Si une variable locale a la mˆeme nom qu"une variable de classe, alors le nom r ´ef`ere`a la variable locale. Pour acc´eder`a la variable de la classe, il faut utiliser sonnom qualifi´e, c"est`a dire fournir le contexte dans le style

Classe.variable.

Exercice 1.7.Compl´eter le pi`ece de code suivant (la ligne// CALCULER...) : 4 public class ClasseExample public static int nombre=9; public static void main(String[] args) int nombre = 12; // CALCULER LA SOMME DES DEUX VARIABLES "nombre"

1.2.4 Tableaux

Les tableaux sonts des types compos

´es pour repr´esenter des vecteurs de valeurs du m ˆeme type. On peut avoir un tableau de n"importe quel autre type, donc mˆeme d"un autre type tableau. Par exempleint[]est le type d"un tableau d"entiers, double[][]est un tableau de tableaux de doubles,String[]est un tableau deStrings. Les tableaux sont des objets en Java, et donc leur valeur initiale estnull.

Pour allouer du m

´emoire, fairetableau = new type[taille]. Pour des tableaux de tableaux, on peut sp ´ecifier des tailles en commun pour des repr´esenter des matrices de n"importe quelle dimension : int[][][][] x = new int[2][3][4][5];. On peut´egalement allouer les ´el´ements d"un tel tableau s´eparamment :int[][][][] x = new int[2][3][][]; for (int i=0; i<2; i++) for (int j=0; j<3; j++) x[i][j] = new int[i+j+1][4]; La valeur droite d"une variable de type tableau est lar´ef´erence`a l"objet qui contient les entr ´ees. Le nombre d"´el´ements dans le tableau est stock´e par la variable lengthdu tableau. On peut intialiser les´el´ements d"un tableau en utilisant le syntaxe { entree0, entree1, ..., }.

Exercice 1.8.

´Ecrire du code qui convertit le mois d´efini dans une variableint jouren une cha ˆıne de caract`eresString nom_du_jourcorr´espondante. Pourjour= 1, nom_du_jourdoitˆetredimanche, purjour= 2,nom_du_jourdoitˆetre lundi, etc. Utiliser un tableau deStringqui contient les noms des jours. 5

1.2.5 Conversion de types

"Conversion»est le terme pour d´enoter le changement de type, accompagn´e par la traduction n ´ecessaire de valeurs. La conversion est automatique quand il s"agit d"un enlargement de type, comme entre les types simples dans la s

´eriebyte!

short!int!long!float!doubleou dechar`aint. (La conversion n"est pas automatique debyteou deshort`achar- la va- leur est converti enint, et ensuite les r`egles de conversion deint`achar sont appliqu ´ees.) La conversion peutˆetre forc´ee en utilisant uncastavec le syn- taxe(type) expressionqui convertitexpressiond"un type quelconque au type d ´esir´e. Dans le cas d"une conversion d"un nombre flottant (doubleou float) vers un nombre entier (int,long, etc.), Java utilise la troncation (ar- rondi vers le nombre entier inf ´erieur) pour la projection de valeurs. Notez qu"il n"existe pas de conversion `a partir d"unString`a un type primitf : il faut utiliser les m

´ethodes.parse...(voirx1.4.2).

Exercice 1.9.Donner une expression qui calcule l"arrondi usuel (vers le plus proche nombre entier) d"une variabledouble z. Exercice 1.10.Donner une expression qui calcule l"arrondi au deuxi`eme chiffre apr`es le point d ´ecimal pour une variabledouble z. Par exemple, siz= 78:0567, l"expression devrait donner78:06.

1.2.6 Exigences

?Types primitifs, leurs bornes ?Op´erations arithm´etiques+,-,*,/%; incr´ementation/decr´ementation++ et--; comparaisons<,>,<=,>=,==,!=; op´erations logiques&&,||,!; op

´erateur conditionnel? :.

?Usage de variables locales : d´eclaration, initialisation et valeurs par d´efaut ?Visibilit´e de variables ?Usage de tableaux : syntaxe, allocation de m´emoire, variable de tableau length, valeur initiale, tableaux de deux dimensions ou plus ?Conversion automatique entre types simples, conversion forc´ee (cast)

1.3 Instructions de contr

ˆole

Les instructions sont normalement execut

´ees l"une apr`es l"autre dans un bloc

d"instructions. Le flux de contr ˆole peutˆetre chang´e par les constructionsif- 6 then-elseetswitch(ex´ecution conditionnelle), et les instructions de boucles. Dans un bloc deswitch, il est typiquement n´ecessaire de forcer lacompl´etion pr ´ecipit´eede l"ex´ecution avec le mot-cl´ebreak: sinon, toutes les intructions apr `es lecaseappropri´e sont execut´ees, mˆeme`a travers d"autrescases.

Exercice 1.11.

´Ecrire du code qui convertit le mois d´efini dans une variableint jour en une cha ˆıne de caract`eresString nom_du_jourcorr´espondante. Pourjour= 1, nom_du_jourdoitˆetredimanche, purjour= 2,nom_du_jourdoitˆetre lundi, etc. Utilisez la structureswitchdans la solution.

1.3.1 Boucles

Pour ex

´ecuter le mˆeme bloc d"instructions autant de fois qu"on veut, il faut l"emballer dans une structurefor,whileoudo-while. Le syntaxe de la boucle whileestwhile(condition)o`uconditionest une expression bol´eenne qui est ´evalu´e au d´ebut de chaque it´eration. Les instructions de la boucle sont ex ´ecut´ees tandis que laconditions"´evalue`atrue(0 ou plusieurs fois). La condition de la boucledo...while(condition)est´evalu´ee`a la fin de chaque it ´eration. Les instructions sont ex´ecut´ees de nouveau si la condition´evalue afalse(donc au moins 1 it´eration est faite). L"instructionforest compos´e de trois blocs de contr ˆole d"it´eration : initialisation, condition et it´eration dans le syn- taxe for(initialisation;condition;iteration) instructionsLe code d"initialisation peut contenir la d ´efinition de variables locales visibles dans les instructions d"it ´eration. La condition est´evalu´ee au d´ebut de chaque it´eration. Le codeiterationest ex´ecut´e`a la fin de chaque it´eration. Chacun des trois blocs peut ˆetre vide, donc on peut sp´ecifier une boucle sans conditionfor(int i=0; ; i++), sans it ´erationfor(int i=0; i<10; )ou mˆemefor(;;).

La compl

´etion normale de boucles peutˆetre pr´ecipit´ee parbreak(sort de l"it ´eration) etcontinue(saute`a la fin des intructions d"it´eration et continuation par l"it

´eration suivante si n´ecessaire).

Exercice 1.12.Calculer la somme de valeurs dans un tableaudouble[] A. Exercice 1.13.Trouver la valeur minimale dans un tableaudouble[] A. Exercice 1.14.Trouver la deuxi`eme plus grande valeur dans un tableaudouble[] A de taille au moins 2. (On peut supposer que toutes les valeurs sont distinctes.) Exercice 1.15.Compter le nombre de valeurstruedans un tableau bool´een. 7 Exercice 1.16.Soitint[] Aun tableau de nombres entiers.´Ecrire le code pour construire un tableauint[] Bqui contient chaque valeur distincte deAexactement une fois.Indice :utilisez un tableau auxilaireboolean[] deja_vuo`udeja_vu[i] est vrai si la valeurA[i]apparaˆıt parmiA[0], ...A[i-1].

Exercice 1.17.

´Etant donn´e deux matricesdouble[][] Aetdouble[][] B (tableaux de deux dimensions de la m ˆeme taille), calculer la matricedouble[][] Cde la m

ˆeme taille o`uC[i][j] =A[i][j] +B[i][j].

Exercice 1.18.

´Ecrire le code pour calculerFn, len-`eme nombre Fibonacci. Par d´efinition F

0=F1= 1etFi+1=Fi+Fi1.

Exercice 1.19.

´Ecrire le code pour calculer le logarithme d"une variableint x`a la base

int a, arrondi au plus proche entier inf´erieur. N"utiliser que de l"arithm´etique sur entiers.

Indice: utiliser une boucle dans laquellexest divis´e parajusqu"`a ce qu"on arrive`a 1 (dont le logarithme est 0, bien s

ˆur).

Exercice 1.20.

´Ecrire le code pour calculer la racine dedouble xavec la m´ethode de

Newton. L"id

´ee est de calculer une s´erie d"appoximationsy1;y2;y3;:::jusqu"`a ce qu"on arrive assez proche depx:jynpxj< . Ici,est un petit nombre qui d´efinit la pr ´ecision souhait´ee. La r`egle est de commencer avec uny0>0quelconque (p.e.,y0=x=2) et de calculeryi+1=yi+x=yi2 .Indice: utiliser une boucledo-whileouwhiledans

laquelle la variableyest utilis´ee pour calculer lesyis; la condition de finir l"it´eration est

d"avoir jynyn1jy n1. Exercice 1.21.Impl´ementer la m´ethode d"´Eratosth`ene pour trouver des nombres premiers inf ´erieurs`a un seuilN. On forme une table avec tous les entiers naturels compris entre2 etNet on raye les uns apr`es les autres, les entiers qui ne sont pas premiers de la mani`ere suivante : d

`es que l"on trouve un entier qui n"a pas encore´et´e ray´e, il est d´eclar´e premier, et

on raye tous les autres multiples de celui-ci. Uilisez un tableauboolean[] premier de tailleNdans votre implantation, o`u chaque entr´ee contient la valeurtrueau d´ebut. En d ´ebutant avec l"indicei= 2, v´erfiez sipremier[i]est vrai. Si oui, alors affichezi, c"est un nombre premier. Apr `es, marquez chaque case2i,3i, ...comme faux, et continuez avec leisuivant dans la recherche (i++). Notez que les multiples deisont d´ej`a rayonn´es si premier[i]est faux. Afficher chaque nombre premier en une ligne surSystem.out. 2 3 5 8 7 11 13

1.3.2 Exigences

?Blocsif-then-else, etswitch. Imbrication de multiplesifs. Compl´etion pr

´ecipit´ee parbreak.

?Boucleswhile,do-whileetfor. Compl´etion pr´ecipit´ee parbreaket continue. 1.4 M

´ethodes statiques

1.4.1 Arguments et valeur retourn

´ee

Le type de la valeur retourn

´ee doitˆetre sp´ecifi´e pour chaque m´ethode. Si aucune valeur n"est retourn ´ee, alors on utilise le mot-cl´evoid. Tous les types (incluant les types primitifs, tableaux, objets, tableaux d"objets, etc.) sont permis pour la valeur retourn ´ee. L"ex´ecution de la m´ethode est complet´ee par le mot-cl´e return. La liste d"arguments peutˆetre vide (aucun argument), ou non : on utilise les arguments d"une m ´ethode quelconque dans le code de la m´ethode comme des variables locales (donc, pour acc ´eder`a une variable statique avec le mˆeme nom, il faut utiliser le nom qualifi ´eClasse.variableparce que l"argument le cache).

Si un tableau ou un objet quelconque est pass

´e comme argument, la m´ethode

rec¸oit la r ´ef´erence`a cet objet, et peut changer son´etat (p.e., changer les´el´ements du tableau). Une m ´ethode de la classe (m´ethode statique) est d´eclar´ee avec le mot- cl

´estatic.

Lasignatured"une m´ethode est compos´ee de son nom et la liste des types des arguments (qui peut ˆetre vide). Donc rien n"empˆeche la d´efinition de plusieurs m ´ethodes avec le mˆeme nom si les arguments ont de types diff´erents. Le type de la valeur retourn ´ee peutˆetre diff´erent entre des m´ethodes avec signatures diff´erentes. Exemple :Math.max(int,int)retourne unintetMath.max(double,double) retourne undouble. 9

1.4.2 Contexte de classe

Tout comme avec les variables statiques, les m

´ethodes statiques peuventˆetre

utilis ´ees par leurnom qualifi´edans le syntaxeClasse.methode(...). La partie avant la p ´eriode donne lecontextede l"appel`a la m´ethode. De cette fac¸on, on peut utiliser les m ´ethodes de plusieurs classes en mˆeme temps. La classeMathfournit des m´ethodes statiques importantes pour faire du calcul num ´erique avec des fonctions commeex,lnx,yx,sinx, etc. Les classesByte,Short,Integer,Long,DoubleetFloatd´efinissent des m ´ethodes de traduction d"une chaˆıne de caract`eres vers un type simple. M ´ethode Type de valeur retourn´eeByte.parseByte byte

Short.parseShort short

Integer.parseInt int

Long.parseLong long

Float.parseFloat float

Double.parseDouble double(Toutes les m

´ethodes prennent unStringcomme argument.) Cela permet dans la m ´ethodemain, par exemple, la communication avec la ligne de commande`a l"aide de l"argumentString[].public class TroisArguments public static void main(String[] args) int x0 = Integer.parseInt(args[0]); double x1 = Double.parseDouble(args[1]); // pas de String.parseString() ...

String x2 = args[2];

Apr `es compilation, l"ex´ecution est faite p.e. par java TroisArguments 10 0.07 "Bonjour tristesse"

1.4.3 Droits d"acc

`espublic/private

Si une m

´ethode ou une variable est d´eclar´eepublic, alors elle peutˆetre utilis ´ee dans n"importe quelle autre classe avec le nom qualifi´e dans le syntaxe Classe.methode(...)ouClasse.variable. Par contre, si elle est d´eclar´ee 10quotesdbs_dbs1.pdfusesText_1
[PDF] les types d'entreprises pertinents pour l'auto emploi

[PDF] les types d'impots au niger

[PDF] les types de capteurs

[PDF] les types de chomage

[PDF] les types de climat au sénégal pdf

[PDF] les types de compte rendu

[PDF] les types de corpus

[PDF] les types de credit documentaire pdf

[PDF] les types de culture cellulaire

[PDF] les types de familles

[PDF] les types de fichiers

[PDF] les types de financement international

[PDF] les types de flux economique

[PDF] les types de formation en entreprise

[PDF] les types de lartisanat marocain