[PDF] Travaux Pratiques de programmation no7





Previous PDF Next PDF



Apprendre linformatique avec Javascool `a travers la

16 mars 2012 Javascool d'un algorithme exprimé en méta-langage est plus simple ... Le tutoriel “Fonctions” de Javascool permet de bien comprendre la ...



ISN : Initiation à la programmation TP 1 Syntaxe à retenir }

Vous pouvez copier le code de ce programme Javascool dans l'éditeur à gauche Le tutoriel "Fonctions" de Javascool permet de bien comprendre la notion de ...



Syntaxe générale du langage Javascool / Java

Syntaxe générale du langage Javascool / Java Syntaxe d'une fonction (les paramètres fonctionnent de manière similaire) : type_retour nom_fonction().



Sujets de travaux pratiques

Javascool est un logiciel pédagogique utilisé dans les lycées principalement en 1) Définissez la fonction factorielle



Mini-projet Bataille navale en Javascool - Éléments de solution

16 oct. 2017 déconseillé plus tard mais pas en terminale! Décomposer en différentes tâches. • Diviser pour mieux régner ! • Une fonction par tâche :.



Reformulation de programmes avec PluriAlgo

La fonction créée (nommée par défaut calculer_volume) peut à son tour être reformulée : Et pour les autres langages (Javascool Python



Le langage LOGO

22 sept. 2000 Tableau 3 : Fonctions "HASARD" et "CAP". Instructions. Résultat. // Gribouillis. VE // Efface l'écran. REPETE 4000. [.



Éléments de cryptographie

En JAVA (Ici Java's Cool) cela peut donner : // Le chiffre de César avec Java's Cool. // Définition de la fonction de chiffrement.



Travaux Pratiques de programmation no7

Polynôme défini par les fonctions ci-dessous : 1 void PolynomeNul(Polynome &p); bien « Dans quel ordre dois-je passer les paramètres à la fonction .



Travaux dirigés (D ) Le codage des caractères

Ex. D1 Écrire un programme pour vérifier que Java's Cool utilise encore Écrire la fonction majuscule() qui prend un caractère entre a et z en.



[PDF] Apprendre linformatique avec Javascool `a travers la

Le tutoriel “Fonctions” de Javascool permet de bien comprendre la notion de structuration d'un programme en différentes fonctions pour le rendre plus lisible 



[PDF] ISN : Initiation à la programmation TP 1 Syntaxe à retenir }

En langage algorithmique : Vous pouvez copier le code de ce programme Javascool dans l'éditeur à gauche (en le copiant avec Ctrl-C puis en le 



[PDF] Apprendre linformatique avec Javascool `a travers la - BestCours

http://javascool gforge inria fr/documents/crespin-etal pdf Table des mati`eres 3 4 3 Exercice : Réécrire des algorithmes en utilisant des fonctions



[PDF] Loi binomiale en Javascool avec PluriAlgo

Nous poursuivons par l'étape 1 de l'article L'onglet Principal permet de créer une fonction comptant le nombre de piles (nbPiles) lors d'une simulation de n 



[PDF] ISN Menton TP JAVA : représenter des images 2012-2013 1 Objectif

Objectif : Utiliser la proglet JavaScool CodagePixel pour comprendre des transformations effectuées sur les pixels d'une image I Créer des carrés uniformes 



[PDF] ISN TP1 - Wiki wiki

Téléchargez JavaScool (http://javascool gforge inria fr/index php) sur votre 3) Testez votre fonction pour de "grandes" valeurs de n (e g 20 )



Apprendre linformatique avec Javascool à travers la programmation

29 fév 2012 · URL http://javascool gforge inria fr/documents/crespin-etal pdf Titre Apprendre l'informatique avec Javascool à Fonction(s) auteur



[PDF] MEMO JAVAS COOL

JAVA'S COOL Lycée Gabriel Touchard - Le Mans Page 8/21 Tracé de fonctions mathématiques void main() { double x; double y; reset(10 10);



[PDF] TP2 : Initiation à la programmation (2) I) Fonctions II) Boucles

I) Fonctions Lancer Java's Cool puis la proglet « abcdAlgos » algorithmique en reprenant la fonction int abs((int x) décrite au début du tutoriel

:

Travaux Pratiques de programmation n

o7Cours de programmation impérative-Licence MPI L1 S2 - Info 121-Exemple d"utilisation d"un type abstrait : les polynômes

Dans cette séance de travaux pratiques, nous utilisons une implantation du type abstrait Polynôme, défini par les fonctions ci-dessous :

1voidP olynomeNul(Polynome& p);

2voidm odifierCoeffPoly(Polynome& p,i ntd ,f loatc o);

3intd egrePoly(Polynomep );

4floatc oeffPoly(Polynomep ,i ntd );

5boole stNulPoly(Polynomep );

6boole galPoly(Polynomep ,P olynomeq );

L"implantation est fournie dans deux fichiersPolyAbstr.hppetPolyAbstr.cpp. Il n"est pas utile que vous compreniez le contenu de ces deux fichiers qui utilisent la programmation orientée objet.1 Conventions de nommage Quand on commence à écrire des programmes avec quelques dizaines de fonctions, pour éviter

d"avoir en permanence à se poser des questions comme " Quel est le nom de la fonction qui ... » ou

bien " Dans quel ordre dois-je passer les paramètres à la fonction ... », il est utile de suivre quelques

conventions. Toutes les entreprises de développement de logiciels, tous les projets de logiciels sérieux

fixent ainsi un certain nombre de règles concernant l"indentation du code, le choix des noms des fonctions et l"ordre des paramètres.

Les choix faits dans la convention suivante sont pour la plupart arbitraires, ils sont là seulement

pour éviter des hésitations comme par exemple : dois-je écrire "EstVide» ou bien "estVide» où

encore "est_vide»? Rien ne vous interdit de vous en écarter si elles ne vous plaisent pas, mais ne

pas suivre de conventions est un bon moyen de perdre bêtement du temps. Les noms des types commencent par une majuscule (par exemplePolynome). On utilise la convention ditecamelCasepour les noms de fonctions (les mots accolés et com- mençant par une majuscule). Lesconstructeurs d"un type abstraitcommencent par le nom du type (par exemple PolynomeNul); le premier paramètre est l"objet à construire. Les procédures et fonctions qui manipulent un type abstrait ont leurnom qui se termine par le type (ou une abréviation, iciPoly).

Quand une procédure fait un calcul, il y a souvent deux manières de transmettre le résultat :

1. soit on modifiel"un des paramètres passé en mode Donnée-Résultat; dans ce cas le nom de la fonction sera unverbe conjugué qui décrit l"actionque l"on fait sur le paramètre; ce paramètre sera toujoursle premier paramètre. Par exempleajoutePoly(p, q)ajouteqau paramètrep. 2. soit on retourne le résultatdans un paramètre passé en mode Résultat; dans ce cas le nom de la fonction sera unnom qui décrit le résultat de l"action. Le paramètre recevant le résultat sera alors toujoursle dernier paramètre. Par exemplesommePoly(a, b, c)place danscla sommea+b. 1

2 Mise en place

Les quatre fichiersmain.cpp,PolyAbstr.hpp,PolyAbstr.cppetMakefilesont à extraire depuis l"archive comme dans les précédents T.P. 1. Ouvrir le fic hierd"en-tête PolyAbstr.hppet lire la partie de ce fichier contenant la documen- tation des fonctions, en cherchant à bien comprendre ce que fait chaque fonction. 2. Ouvrir le fic hiermain.cppet deviner ce qu"il va afficher à l"exécution (sans le compiler ni l"exécuter pour l"instant). 3. Comme le co deest comp oséde plusieurs fic hiers,il faut normalemen ttap erplusieurs c om- mandes pour le compiler. Il est plus pratique d"écrire une bonne fois pour toutes les commandes

à taper et de laisser la machine lancer les commandes nécessaires à la compilation. Pour ceci,

on utilise l"outilmake. Avec cet outil, on décrit la configuration du projet dans un fichier appelé

Makefile. Ensuite, pour compiler projet il suffit de taper dans le terminal la commande make L"outil va lancer tout seul les appels au compilateur nécessaires comme si vous les aviez tapé au clavier. Il faut donc comme d"habitude se trouver dans le dossier où se trouvent vos fichiers pour que la commande fonctionne. On peut ensuite faire le ménage en tapant make clean 4. Après a voircompilé en utilisan tmake, lancez le programmemain. Vous devriez normalement voir apparaître :

Le polynome p est : 4X^5 - 5X^2 + X - 1

Le polynome 3*p est : 12X^5 - 15X^2 + 3X - 3

La derivee de p est : 20X^4 - 10X + 1

Ainsi, nous pouvons créer, afficher, multiplier par une constante, et dériver un polynôme.

On remarque que pour pouvoir les utiliser, vous n"avez pas besoin de savoir comment sont implantés

les polynômes. (Pour les curieux : nous utilisons ici des tables associatives qui sont usuellement elles-

mêmes un type abstrait implanté avec des arbres auto-équilibrants dits rouge-noir.) Attention :Dans la suite de ce TP, on ne modifiera que le fichiermain.cpp. On considère en effet

que le travail d"implantation du type abstrait est effectué par une autre équipe de développement.

La semaine prochaine, nous ferons le contraire : on ne modifiera pas le programme principal, mais on implantera nous-même les 5 fonctions du type abstrait.

3 Calcul avec les polynômes

En s"inspirant des fonctions déjà écrites, on demande d"écrire et de tester dans lemainles fonctions

suivantes (en prenant soin de procéder à chaque étape à des tests de validation) :

1.void polynomeCoeffEgaux(Polynome &p, int degree, float coeff)qui construit un po-

lynômepde degrédegreepour lequel tous les coefficients sont égaux àcoeff. Ainsi, l"appel polynomeCoeffEgaux(p, 3, 2)a comme résultat le polynôme2X3+ 2X2+ 2X+ 2.

2.float evalPoly(Polynome p, float x)qui calcule la valeur du polynômepau pointx. Par

exemple, pour le polynômeX4+ 2X25, on s"attend à ce que la fonctionevalPolyrenvoie

19si elle est évaluée pourX= 2. Vous utiliserez pour cela la fonctionpuissance(float x,

int k), qui renvoiexket qui est déjà fournie (voirPolyAbstr.hpp). Puis (une fois la fonctionevalPolycodée et testée) : 2 (a)À l"aide de la fonction polynomeCoeffEgaux, construisez un polynôme de degré10000dont

tous les coefficients sont égaux à 1.0001. Évaluez le polynôme construit à l"aide de la fonction

EvalPolyau pointX= 1:0001.

(b) On p euten fait aller b eaucoupplus vite p ourl"exécution de evalPoly. Afin d"accélérer l"évaluation d"un polynôme, nous allons implémenter une seconde fonction evalHornerPoly(Polynome p, float x). Cette méthode permet de calculer la valeur d"un polynôme de degrénen ne faisant quenadditions etnmultiplications au lieu den(n+1)2

La méthode consiste à multiplier le coefficient de plus haut degré parx, puis à lui ajouter le

second coefficient. On multiplie le résultat parx, auquel on ajoute le troisième coefficient, etc. Considérons l"exemple du polynôme2X3+3X25X+6, pourX= 3. On l"écrit sous la forme(((2)X+ 3)X5)X+ 6. On effectue donc le calcul de la manière suivante : Le premier co efficient(celui de plus haut degré), v aut2. Je le m ultiplepar Xet j"ajoute le deuxième coefficient soit3, et j"obtiens3, qui est la valeur de(2)X+ 3. Je m ultipleà nouv eaupar Xet j"ajoute le troisième coefficient5, je passe donc à14, qui est la valeur de((2)X+ 3)X5. Je m ultipleune nouv ellefois par Xpuis j"ajoute le dernier coefficient,6. J"obtiens le résultat final de36(valeur de(((2)X+ 3)X5)X+ 6soit le résultat voulu).

Implémentez l"algorithme de Horner.

(c) La métho dede Horner p ossèdeun autre a vantage.Construisez le p olynômeX1099X9, et évaluez-le pourX= 100avec la méthode normale et la méthode de Horner. Que constatez- vous?

3.void ajoutePoly(Polynome &p, Polynome q)qui ajouteqau polynômep.

4.void produitPolyXn(Polynome p, int n, Polynome &res)qui place dansresle produit

du polynôme p parXn. Par exemple, si P est défini parP= 4X55X2+X1, alorsPX2 est le polynômeP= 4X75X4+X3X2

5.void produitPoly(Polynome p, Polynome q, Polynome &res)qui place dansresle pro-

duit de deux polynômes. Par exemple siPest toujours défini par

P= 4X55X2+X1;

on calculeP(X3+ 2X1)par

P(X3+ 2X1) = 1(PX3) + 2(PX1) + (1)P(X0)

= (4X85X5+X4X3) + 2(4X65X3+X2X) + (4X5+ 5X2X+ 1) = 4X8+ 8X69X5+X411X3+ 7X23X+ 1

6.void puissancePoly(Polynome p, int n, Polynome &res)qui place dansresla puissance

n-ième du polynômep. On peut alors afficher les puissances successives du polynôme(X+ 1) 3 et voir apparaître le triangle de Pascal : 1 X+ 1 X

2+ 2X+ 1

X

3+ 3X2+ 3X+ 1

X

4+ 4X3+ 6X2+ 4X+ 1

X

5+ 5X4+ 10X3+ 10X2+ 5X+ 1

X

6+ 6X5+ 15X4+ 20X3+ 15X2+ 6X+ 1

X

7+ 7X6+ 21X5+ 35X4+ 35X3+ 21X2+ 7X+ 1

4quotesdbs_dbs45.pdfusesText_45
[PDF] javascool random

[PDF] situation problème dans l'enseignement

[PDF] situation problème didactique

[PDF] caractéristiques démographique définition

[PDF] exercices de démographie

[PDF] démographie définition pdf

[PDF] démographie française

[PDF] exercice javascript formulaire corrigé

[PDF] cours demographie

[PDF] démographie mondiale

[PDF] tp javascript formulaire corrigé pdf

[PDF] le maroc et les droits de l homme

[PDF] droit humain maroc

[PDF] examen javascript corrigé

[PDF] conjoncture économique mondiale 2016