Création de fonctions "Asymptex" pour l édition de tableaux. Chap.3



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

Algorithmique et programmation : les bases (VBA) Corrigé

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

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

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

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

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

4. Groupement d objets

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Dragon Naturally Speaking 13

TP 1. Prise en main du langage Python

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

Les structures de données. Rajae El Ouazzani

[WINDOWS 7 - LES FICHIERS] 28 avril Logiciel / Windows

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

Initiation à Excel. Frédéric Gava (MCF)

Bernard Lecomte. Débuter avec HTML

Algorithmique et Programmation, IMA

STAGE IREM 0- Premiers pas en Python

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

UE Programmation Impérative Licence 2ème Année

Plateforme PAYZEN. Définition de Web-services

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

LES TYPES DE DONNÉES DU LANGAGE PASCAL


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

Comment vendre ses livres numériques sur la boutique Amazon Kindle (Jean-Claude Dunyach)

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

Recherche dans un tableau

Présentation du langage et premières fonctions

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Conventions d écriture et outils de mise au point

Chap III : Les tableaux

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

MANUEL POUR L UTILISATION DE L APPLICATION EN LIGNE DU SYSTÈME DE NOTIFICATION DES ACCIDENTS INDUSTRIELS

I/ Se connecter sur le réseau Scribe :

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

FAIRE UN PAIEMENT TIPI

LES DECIMALES DE π BERNARD EGGER

Rappels Entrées -Sorties

Utilisation d objets : String et ArrayList

Utilisation du site de retours Lexibook

Comment automatiser la création d index multiples avec Word Paul-Henri Dumas - URFIST

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

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

AWS avancé. Surveiller votre utilisation d EC2

Informatique Générale

Cours de Systèmes d Exploitation

Modes Opératoires WinTrans Mai 13 ~ 1 ~

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)

Réaliser un ing avec Global Système

Définitions. Numéro à préciser. (Durée : )

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Solutions du chapitre 4

SOMMAIRE AIDE À LA CRÉATION D UN INDEX SOUS WORD. Service général des publications Université Lumière Lyon 2 Janvier 2007

Algorithmique & programmation

Notions fondamentales du langage C# Version 1.0

ANNEXE 8 : Le Mailing

Langage Java. Classe de première SI

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

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

Baladeur Santé VITAL'ACT

Premiers Pas en Programmation Objet : les Classes et les Objets

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

I. Introduction aux fonctions : les fonctions standards

Document d accompagnement pour l utilisation du Cartable en ligne Lycée des Métiers Fernand LÉGER 2013/2014

1 - Se connecter au Cartable en ligne

Objet du document. Version document : 1.00

Guide rapide IDEP. Helpdesk

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

TD d économétrie appliquée : Introduction à STATA

ReadCard Guide Utilisateur

Corrigé des TD 1 à 5

Arbres binaires de recherche

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

A - Créer une Base de données au format dbase

Initiation à la Programmation en Logique avec SISCtus Prolog

COURS WINDEV NUMERO 3

Cours Informatique Master STEP

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

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

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

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran

Manuel d utilisation de Gestion 6

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

COMPTABILITE SAGE LIGNE 30

Génie Logiciel avec Ada. 4 février 2013

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Guide Utilisateur Transnet

Chapitre 5 : Flot maximal dans un graphe

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

IV- Comment fonctionne un ordinateur?

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Transcription:

Création de fonctions "Asymptex" pour l édition de tableaux. Chap.3 " Asymptex": (Raccourci de : Fonction Asymptote intégrant du code Latex.) Objectif: Construire une fonction Asymptote d édition de tableaux, avec ou sans grille, sans devoir distribuer ses données au milieu des esperluettes. Connaissances utiles: Avoir testé des programmes de la Galerie G.M et du poly. Ch.G Notions de programmation Asymptote. Pages 28..,76.. de la Doc.Officielle. Notions élémentaires sur la construction de fonctions Avoir lu le chapitre précédent où une fonction du même genre mais très simple est construite. Ces pages s adressent plus spécialement à des lecteurs qui débutent en Asymptote mais ayant un peu programmé.. "dans le temps!.." Contenu: Construction d une "Asymptex" simple à partir de l environnement array tests divers Edition "express" de tableaux de type real[][], string[][] Méthode: Comme dans le chapitre précédent,on commence par tester le code sous éditeur Latex! Si le résultat est correct on le recopie dans une fonction Asymptote qui le retournera dans variable de type string. Il sera ensuite aisé de récupérer le résultat dans une frame puis pour simplifier, de créer une fonction qui à partir du tableau comme paramètre, retounera la frame contenant son édition Latex. Le code Latex \begin{array}{ ccc } 1 & 2 & 3 4 & 5 & 6 7 & 8 & 9 10 & 11& 12 \end{array}

gedition d un tableau de réels sans grilleg Construction: Si on regarde ce code on constate qu il se compose: D écritures fixes : \begin{array}{, &, De données variables que l on mettra en paramètres de la fonction: le cadrage (l,c,r) les éléments du tableau. On rentre les écritures fixes dans des variables de type string string sdeb="\begin{array}{"; string samp=" & "; //ampersand string sep=""; //fin de ligne string sfin=" end{array}"; Ecrivons le début de la fonction avec les paramètres string tableau0( int nblig, int nbcol, string cadrage, real[][] tabinitial) { //Début du corps de la fonction Considérons l écriture des données: chaque valeur suivie d un & sauf pour la dernière de la ligne. en fin de ligne sauf sur la dernière. A priori aucune difficulté à reproduire. (Rappel: + pour la concaténation des variables de type string il va falloir transformer les données (des réels) en chaînes de caractères: rien de plus simple (Cf.Doc.Off.) Allons-y!.. //on rentrera le tableau dans s0 de type string string s0,s1;//on définit les variables utiles au départ s1=""; //On remplit la ligne i for (int j=0;j<nbcol-1;++j){s=(string)tab0[i][j]; s1=s1+s+samp; s1=s1+(string) tab0[i][nblig-1] ;//On ajoute la dernière colonne sans & à la fin if(i<nblig-1){s1=s1+sep;// pas de sur la dernière ligne du tableau s0=s0+s1; write(s0); //Les write(..) sont indispensables dans la mise au point des programmes //on ferme la boucle i On termine en concaténant toutes les variables de type string string s= sdeb+ cadrage + "}" ;//l accolade fermante du cadrage s=s+s0; //Le tableau avec les & et les s=s+sfin;//la dernière ligne return s;//on retourne de résultat La fonction retourne une variable de type string. (Ultérieurement ce sera dans une frame.) Si l édition du tableau est dans une variable de type string, on peut donc l éditer avec label(s,position, couleur). ==ZZZ== Si vous concaténez par exemple: "\bf" et "35" vous obtenez:"\bf35"! Erreur assurée! Il faut laisser un espace après bf.

\begin{array}{ ccc } 1 & 2 & 3 4 & 5 & 6 7 & 8 & 9 10 & 11& 12 \end{array} string tableau0( int nblig, int nbcol, string cadrage, real[][] tabinitial) { //Commencer par repérer les tableaux dans les paramètres et en faire des copies! real[][]tab0=copy(tabinitial); //On définit ce qui reste fixe string sdeb="\begin{array}{"; string samp="&"; //ampersand string sep=""; //fin de ligne string sfin="\end{array}"; Fonction tableau0(...) //on passe le tableau dans s0 de type string string s0,s1; s1=""; //réinitialise for (int j=0;j<nbcol-1;++j){s=(string)tab0[i][j]; s1=s1+s+samp; s1=s1+(string) tab0[i][nbcol-1] ; if(i<nblig-1){s1=s1+sep;// pas de sur la dernière ligne du tableau s0=s0+s1; write(s0); //on ferme la boucle i //On rassemble tout bout à bout.. string s= sdeb+ cadrage + "}" ;//l accolade fermante du cadrage s=s+s0; //Le tableau avec les & et les s=s+sfin;//la dernière ligne return s; Code d édition des tableaux. //le tableau initial real [][] tabinit={{1,2,3},{4,5,6},{7,8,9},{10,11,12} string s=tableau0(3,3,"ccc", tabinit); s=""+s+""; //Mode math. //Edition du tableau à l aide de la fonction label(s,position,pen); label(s,(5cm,-5cm));label(s,(10cm,-5cm),red);label(s,(15cm,-5cm),blue); 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9

Code d édition des tableaux avec différents cadrages. //le tableau initial real [][] tabinit={{10,22,3},{40,550,6},{700,8000,9},{1000,0.152,12} string s=tableau0(4,3," ccc ", tabinit); s="" + s + "";label(s,(6.7cm,yy)); string s=tableau0(4,3," l c r ", tabinit); s="" + s + "";label(s,(11.7cm,yy),blue); string s=tableau0(4,3," l rr", tabinit); s="" + s + "";label(s,(16.7cm,yy),red); gedition d un tableau de réels avec grille.g. \begin {array}{ c c c } 1 & 2 & 3 4 & 5 & 6 7 & 8 & 9 10 & 11 & 12 \end{array} Fonction d édition avec grille. string tableau1(int nblig, int nbcol, string cadrage,real[][] tabinitial) {real[][]tab0=copy(tabinitial); string sder,s,s0,s1; //On définit ce qui reste fixe string sdeb="\begin{array}{";string samp="&"; //ampersand string sep=""; string shline=" "; string sfin="\end{array}"; s1=""; //réinitialise for (int j=0;j<nbcol-1;++j){ s=(string)tab0[i][j]; s1=s1+s+samp; //On ajoute le dernier sans à la fin s1=s1+(string) tab0[i][nbcol-1] ; s1=s1+sep; s0=s0+s1+shline;//on ferme la boucle i //On concatène les chaînes sder="";sder= sdeb+ cadrage + "}" ;//l accolade sder=sder+ shline ; //le 1er sder=sder+ s0; //Le tableau avec les & et les sder=sder+sfin;//la dernière ligne return sder; Code d édition des tableaux avec différents cadrages. //le tableau initial real [][] tabinit={{10,22,3},{40,550,6},{700,8000,9},{1000,0.152,12} string s=tableau1(4,3," ccc ", tabinit); s="" + s + "";label(s,(6.7cm,yy)); string s=tableau1(4,3," l c r ", tabinit); s="" + s + "";label(s,(11.7cm,yy),blue); string s=tableau1(4,3," l rr ", tabinit); s="" + s + "";label(s,(16.7cm,yy),red);

gedition d un tableau de réels avec grille ou sans grille.g Méthode: Il suffit d ajouter un paramètre booléen pour choisir directement avec grille ou sans grille. On initialisera avec l édition la plus fréquente, sans doute: Avec grille. Pour faire au plus simple!.. On recopie les fonctions précédentes et on ajoute un if du genre: if (avec grille){ version: tableau0} else {version: tableau 1} on termine la fonction par return sder. On nomme le programme: edittab0 (pour réels!) et on ajoute un paramètre pour le choix Exemple: string edittab0( int nblig, int nbcol, string cadrage, real[][] tabinitial, bool grille=true //On initialise ){... if (grille==true){ partie avec grille sdre= } else{ partie sans grille sder= return sder; Si intéressé c est inutile de le rédiger à votre place! Code d édition des tableaux avec grille ou sans grille. real [][] tabinit={{10,22,3},{40,550,6},{700,8000,9},{1000,0.152,12} real yy=-25cm; //Avec grille string cad=" c c c ";string s=edittab0(4,3,cad, tabinit); s=""+ s+ "";label(s,(5cm,yy)); string cad=" l r l ";string s=edittab0(4,3,cad, tabinit); s=""+ s+ "";label(s,(9cm,yy),red); //Sans grille string cad="rrr";string s=edittab0(4,3,cad, tabinit,hhline=false); s=""+ s+ "";label(s,(13cm,yy),blue); //Sans grille string cad=" l rr";string s=edittab0(4,3,cad, tabinit,hhline=false); s=""+ s+ "";label(s,(17cm,yy),fuchsia);

Finalement!.. On édite facilement les tableaux en une ou deux lignes de code. En pratique, on n utilise pas (ou très rarement) les labels pour positionner.toutes les fonctions crées retournant des frames. on applique un programme d édition de frames qui évitera à chaque fois d initialiser les ordonnées. C est peut-être aussi rapide sous éditeur Latex mais le but ici est de rester sous Notepad++! Et si on a des tableaux de type real[], string[],string[][]?.. C est simple, ce sera l objet du prochain chapitre. Mais si vous vouliez prendre les devant... Pour le tableau de type string[][] on effectue un "copier/coller" de la fonction précédente en remplaçant dans la récupération des données,(string)tab0[i][j] par tab0[i][j] Pour les tableaux de type string[] et real[] même procédure: Copier/coller et modification des fonctions. Vous disposerez donc de quatre fonctions auxquelles vous donnerez LE MEME NOM!!(Asymptote saura les différencier.) De la sorte, vous n utiliserez qu un seul nom de fonction pour éditer tous vos tableaux. Pratique?!.. Si c est compliqué.. on passe un peu de temps au départ à créer les fonctions mais ensuite.. c est pour l éternité!.. Une dernière application: L édition "express" d un tableau aléatoire. Code d édition du tableau (20x12). real[][] T=matRa(20,12,2,-100,100);//le tableau initial (aléatoire à 2 décimales.) string cad=" c c c c c c c c c c c c "; //le cadrage s=edittab0(10,20,cad,t);//l édition du tableau "passe" dans s (option avec grille) s=""+s+"";// Ne pas oublier les en mode math pour l édition. yy=-20cm;label(s,(12cm,yy);//edition avec label en (12cm,yy) 57.98 87.03 29.88 67.59 26.41 22.79 99.07 17.82 58.12 64.04 44.52 89.8 33.83 0.79 24.14 64.98 78.44 25.05 97.34 54.15 40.51 17.8 13.68 4.85 92.56 89.26 17.73 45.09 55.94 51.24 22.38 10.67 16.57 52.73 37.35 57.59 53 21.47 45.62 60.68 80.33 3.96 42.04 92.46 96.17 94.03 70.96 2.04 69.22 21.11 30.34 53.07 30.46 69.85 52.28 60.81 38.9 69.71 50.61 13.34 94.87 35.8 74.89 83.1 96.07 33.8 66.21 7.38 69.83 70.76 47.06 88.94 52.99 91.53 81.34 15.17 85.62 9.76 25.26 46.81 28.13 25.47 20.38 79.87 37.93 48.39 56.46 63.89 53.15 64.58 9.67 34.39 14.37 91.99 2.66 86.09 66.64 4 38.41 8.58 87.12 58.51 19.19 0.49 96.53 45.52 53.05 56.88 62.85 33.8 64.16 94.94 26.17 43.5 3.43 72.97 96.88 55.4 16.21 77.31 92.4 43.01 70.33 65.2 70.6 95.72 78.81 74.88 58.92 25.13 82.24 87.59 58.35 88.71 77.65 30.63 39.1 57.76 57.41 71.79 37.97 87.29 34.1 94.03 19.51 99.13 80.74 57.19 91.2 65.26 29.15 17.7 17.71 91.96 42.44 71.93 63.92 33.42 47.33 13.97 82.03 20.44 88.14 75.26 83.25 2.44 98.05 94.58 50.94 3.99 39.13 76.28 57.52 93.36 98.43 24.59 81.1 15.47 42.5 39.38 83.98 32.22 9.53 17.13 74.12 44.45 9.65 39.04 43.33 64.52 89.63 48.56 26.31 8.55 20.96 62.61 51.32 28.96 40.4 98.7 56.46 99.05 72.75 65.23 77.94 56.16 62.12 57.39 56.51 75.77 32.96 41.76 7.02 63.83 18.47 63.82 55.77 86.66 85.27 49.2 84.22 31.55 54.48 36.51 43.05 31.19 6.45 23.2 79.24 81.19 86.61 37.55 58.46 2.41 26.13 16.34 22.98 24.55 99.96 81.14 En définitive pas besoin d un chapitre supplémentaire pour les types string[][],string[],real[],car on n utilisera pas ces fonctions dans la suite!..ci-joint un code d édition pour les variables de type string[][]

Code d édition des tableaux de type string[][] avec grille ou sans grille. string edittab0( int nblig, int nbcol, string cadrage, string[][] tabinitial, bool hhline=true) { string[][]tab0=copy(tabinitial); string sder,s,s0,s1; //On définit ce qui reste fixe string sdeb="\begin{array}{"; string samp="&"; //ampersand string sep=""; //fin de ligne string shline=" "; string sfin="\end{array}"; if(hhline==true){//avec GRILLE s1=""; //réinitialise for (int j=0;j<nbcol-1;++j){ s=tab0[i][j]; s1=s1+s+samp; //On ajoute le dernier avec à la fin sa uf à la dernière ligne s1=s1+ tab0[i][nbcol-1] ; s1=s1+sep; s0=s0+s1+shline; write(s0); //on ferme la boucle i //On rassemble tout bout à bout.. sder=""; sder= sdeb+ cadrage + "}" ;//l accolade fermante du cadrage sder=sder+ shline ; //le 1er sder=sder+ s0; //Le tableau avec les & et les sder=sder+sfin;//la dernière ligne } else { //tableau SANS GRILLE write("sans grille"); s1=""; //réinitialise for (int j=0;j<nbcol-1;++j){ s=tab0[i][j]; s1=s1+s+samp; //On ajoute le dernier avec à la fin sauf à la dernière ligne s1=s1+ tab0[i][nbcol-1] ; if(i<nblig-1){s1=s1+sep;// pas de sur la dernière ligne du tableau s0=s0+s1; write(s0); //on ferme la boucle i //On rassemble tout bout à bout.. sder=""; sder= sdeb+ cadrage + "}" ;//l accolade fermante du cadrage sder=sder+ s0; //Le tableau avec les & et les sder=sder+sfin;//la dernière ligne return sder; Code d édition des tableaux. string [][] stabinit={{"a","b","c"},{"d","e","f"} string cad=" c c c c "; string s=edittab0(2,3,cad, stabinit); s=""+s+"";label(s,position); string cad="ccc"; s=edittab0(2,3,cad, stabinit,false); s=""+s+"";label(s,position,red); string s=edittab0(2,3,cad, tabinit,false); s=""+s+""; label(s,position,blue); string [][] stabinit; stabinit={{"\alpha","\beta","\gamma"}, {"\sqrtx","\frac{\int_{-n}^ne^x,\rm dx}{n+1}", "\widehat {PQR}"} cad=" l c c "; string s=edittab0(2,3,cad, stabinit); s=""+s+"";label(s,position,fuchsia); a b c d e f a b c d e f α β γ n x n ex,dx PQR n+1

gconclusion!.g Quelques remarques: Avec ce genre de fonction simple à réaliser, les tableaux de taille quelconque s éditent en une ligne de code! Par contre il n est pas très intéressant d effectuer l édition à l aide de: label(s,position) En effet, pour placer le tableau il faudra "viser juste:" le point d insertion du label est au centre du tableau! En pratique il sera plus simple de transférer le résultat dans une frame ayant un point d insertion en HG. (Haut-Gauche) On effectue la transformation en fin de fonction pour retourner une frame Ou bien à la suite de la récupération du tableau dans la variable de type string. Dans les deux cas, la méthode utilisée dans les chapitres précédents restera la même: fr=align(fr,se); ("CTRL F align" dans la Doc.Off. pour plus de renseignement!) (Pour vérifier, vous testez avec et sans align(..)); Application: Pour visualiser les points d insertion on utilise dot(position,pen); Rq.: Si les points d insertion n apparaissent pas sur ce.pdf du web, ils apparaîtront en compilant votre listing. Code d édition en utilisant les frames. Tableau 1. string [][] stabinit={{"a","b","c"},{"d","e","f"} cad="ccc"; //cadrage lcr s=edittab0(2,3,cad, tabinit); //Edition du tableau dans s s=""+s+"";//mode math. frame fr; //frame vide label(fr,s,(0,0),blue);//le tableau \"passe\" dans la frame fr=align(fr,se); //le point d insertion de la frame sera en HG add(fr, (xx,yy)); //Edition de la frame dot((xx,yy),5bp+red);//vérification de la position du point d insertion. Tableau 2. string [][] stabinit={{"\alpha","\beta","\gamma"},{"\sqrt{x}", "\frac{\int_{-n}^ne^x,\rm dx}{n+1}","\widehat {PQR}"} frame fr;//nouvelle initialisation (sinon, écriture dans la frame précédente!) cad=" l c c "; s=edittab0(2,3,cad, stabinit); //Edition du tableau dans s s=""+s+"";label(fr,s,(0,0),red); // Edition du tableau dans la frame fr fr=align(fr,se);//modification du point d insertion (de central devient HG) add(fr, (xx,yy)); //Edition de la frame dot((xx,yy),5bp+blue);//vérification de la position du point d insertion. α β γ n x n ex,dx PQR n+1

Code d édition: Pour obtenir rapidement une série de données.. //Arrondir real arrondi(real r,int decim) {real u=r; if(decim>-1) { u=(floor(u\10^decim+0.5)/10^decim); return u; //Une façon possible de créer rapidement un tableau de type real[][] real[][] matra( int nblig, int nbcol, int nbdecim, int min, int max) { real[][] matder=new real[nblig][nbcol];real r; srand(seconds());sleep(1); for(int i=0;i<nblig;++i){ for(int j=0;j<nbcol;++j){ r=rand()\star (max-min)/randmax+min; matder[i][j]=arrondi(r,nbdecim); } return matder; Il faut être patient entre les appels!.. (sleep(1mn)) La suite?..reprise avec création de fonctions: Chapitre 4. CHAPITRE 4 Page d accueil.