Cours:TDs 1103 : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
m ({{Bleu|Td 5 : fichiers}})
Ligne 1 : Ligne 1 :
=={{Bleu|Td 4 : structures}}==
+
=={{Bleu|Td 2 : setup/draw}}==
  
<source lang=c>
+
=={{Vert|Exercice 1}}==
#include <stdio.h>
 
#include <stdlib.h>
 
  
struct complexe
+
Nous allons découvrir la gestion des couleurs dans processing.
{
 
double pr;
 
double pi;
 
} z1,z2,r;
 
  
void entree1();
+
Une couleur est entièrement définie par 3 paramètres. Diverses représentation sont possibles, nous nous intéresserons ici à la représentation RGB.
void entree2();
 
void affichage();
 
void somme();
 
void diff();
 
void mult();
 
void carre();
 
void cube();
 
  
int main()
+
On initialisera l'espace de couleur par une ligne :
{
+
<source lang=c>
char c;
+
colorMode(RGB, nbValeurs);
 +
</source>
 +
Une couleur est donc représentée par un triplet (Rouge,Vert,Bleu), avec nbValeur pour chaque composante.
  
do
+
Le choix de la couleur s'effectue avec la fonction [https://processing.org/reference/stroke_.html stroke]
{
+
<source lang=c>
printf("Arithmetique complexe\n");
+
stroke(Rouge,Vert,Bleu);
printf("1 : saise 1er nombre          2: saisie 2ème nbre\n");
 
printf("A ... affiche res            +  calcul de z1+z2\n");
 
printf("-  calcul de z1-z2            *  calcul de z1xz2\n");
 
printf("c  calcul de z2²              U calcul de z1^3\n");
 
printf("q ou Q pour quitter \n");
 
do scanf("%c",&c); while (c=='\n');                            // La touche "entrée" n'est pas toujours récupérée par le scanf précédent
 
switch (c)
 
{
 
case '1': entree1();break;
 
case '2' : entree2();break;
 
case 'a' :
 
case 'A' : affichage();break;
 
case '+' : somme();break;
 
case '-' : diff();break;
 
case '*' : mult();break;
 
case 'c' : carre();break;
 
case 'U' : cube();break;
 
}
 
} while ((c!='q') &&(c!='Q'));
 
    return 0;
 
}
 
 
 
void entree1()
 
{
 
printf("partie reelle = ");
 
scanf("%lf",&z1.pr);
 
printf("partie imaginaire = ");
 
scanf("%lf",&z1.pi);
 
}
 
 
 
void entree2()
 
{
 
printf("partie reelle = ");
 
scanf("%lf",&z2.pr);
 
printf("partie imaginaire = ");
 
scanf("%lf",&z2.pi);
 
}
 
 
 
void affichage()
 
{
 
    if (r.pi>0)      printf("r = %.2lf + %.2f i \n",r.pr,r.pi);
 
    else if (r.pi==0) printf("r = %.2lf \n",r.pr,r.pi);
 
    else              printf("r = %.2lf - %.2f i \n",r.pr,-r.pi);
 
}
 
 
 
void somme()
 
{
 
    r.pr=z1.pr+z2.pr;
 
    r.pi=z1.pr+z2.pi;
 
}
 
 
 
void diff()
 
{
 
    r.pr=z1.pr-z2.pr;
 
    r.pi=z1.pr-z2.pi;
 
}
 
 
 
void mult()
 
{
 
    r.pr=z1.pr*z1.pr-z2.pi*z2.pi;
 
    r.pi=z1.pr*z2.pi+z1.pi*z2.pr;
 
}
 
 
 
void carre()
 
{
 
    r.pr=z1.pr*z1.pr-z1.pi*z1.pi;
 
    r.pi=2*z1.pr*z1.pi;
 
}
 
 
 
void cube()
 
{
 
    r.pr=z1.pr*z1.pr*z1.pr-3*z1.pr*z1.pi*z1.pi;
 
    r.pi=3*z1.pr*z1.pr*z1.pi-z1.pi*z1.pi*z1.pi;
 
}
 
 
</source>
 
</source>
  
=={{Bleu|Td 5 : fichiers}}==
+
{{Todo|Exécuter le code suivant}}
 
 
 
<source lang=c>
 
<source lang=c>
#include <stdio.h>
+
noStroke();colorMode(RGB, 100);for (int i = 0; i < 100; i++) { for (int j = 0; j < 100; j++) {    stroke(i, j, 0);   point(i, j); }}
#include <stdlib.h>
 
 
 
 
 
int main()
 
{
 
    FILE *f1,*f2;
 
    unsigned char tab[128],i;
 
 
 
    for (i=0;i<128;i++) tab[i]=i;
 
 
 
    f1=fopen("x.txt","w+t");                          // mode texte
 
    if (f1==NULL) {
 
        printf("Erreur à l'ouverture du fichier !\\n");
 
        exit(-1);                                      // fin du programme avec code d'erreur -1
 
    }
 
    f2=fopen("x.bin","w+b");                          // mode binaire
 
    if (f2==NULL) {
 
        printf("Erreur à l'ouverture du fichier !\\n");
 
        exit(-1);                                      // fin du programme avec code d'erreur -1
 
    }
 
    for (i=0;i<128;i++) fprintf(f1,"%d\n",tab[i]);
 
    fwrite(tab,1,128,f2);
 
 
 
    fclose(f1);                                          // fermeture du fichier
 
    fclose(f2);                                          // fermeture du fichier
 
    exit(0);                                            // fin du programme
 
}
 
 
 
 
</source>
 
</source>

Version du 19 mars 2014 à 09:42

Td 2 : setup/draw

Exercice 1

Nous allons découvrir la gestion des couleurs dans processing.

Une couleur est entièrement définie par 3 paramètres. Diverses représentation sont possibles, nous nous intéresserons ici à la représentation RGB.

On initialisera l'espace de couleur par une ligne :

colorMode(RGB, nbValeurs);

Une couleur est donc représentée par un triplet (Rouge,Vert,Bleu), avec nbValeur pour chaque composante.

Le choix de la couleur s'effectue avec la fonction stroke

stroke(Rouge,Vert,Bleu);

Todo.jpg Exécuter le code suivant

noStroke();colorMode(RGB, 100);for (int i = 0; i < 100; i++) {  for (int j = 0; j < 100; j++) {    stroke(i, j, 0);    point(i, j);  }}