top of page
Cour: À propos

COURS

Algorithmique:

Chapitre 1: Tri

Le premier intérêt du "Tri" est de faciliter l’accès aux données, le temps nécessaire est plus court.

Pour trier 25 élèves du plus jeune au plus vieux on réfléchit et pose des questions pour bien se positionner lors de l’exécution d'un programme de tri par un ordinateur. Chaque donnée doit être dans une case mémoire, une seule comparaison et un seul déplacement à la fois.

2- Tri par sélection ou part insertion

La bulle de comparaison ce déplace dans le tableau à trier, on compare 2 éléments consécutifs et on les échanges si nécessaire.

3- Tri par comparaison

Au maximum 25 comparaisons sont nécessaires pour trier 10 cartes. Si l'on dispose d'un tableau de 7 cartes déjà trié et que l'on veut en insérer une de plus, on la compare à celle du milieu "D", si elle est plus petite que "D", on la compare à "B"et si elle est plus petite que "B" on la compare à "A". 3 questions suffises pour insérer une carte dans un tableau contenant déjà 7 cartes.

Le "Tri par insertion" consiste à trier le début du tableau puis à insérer à la bonne place les autres cartes une à une.

SYSTEME SOLAIRE

I) Création d'un projet

Un projet ce structure de la facon suivante :

- Une problématique principale, par exemple : Comment créer un système solaire?

- Définir des questions secondaires, par exemple : Comment faire tourner la Lune autour de la Terre?

- Établir un code clair et lisible à l’aide de phrases mises en commentaire pour nommer les différentes parties du code.

II) Etat du code

int cx = 250;

int cy = 250;

int r = 100;

int rlune=30;

PImage lune;

PImage soleil;

PImage terre;

PImage asteroide;

PImage sun;

PImage espace;

int xlune=0;

int ylune=0;

int xasteroide=0;

int yasteroide=0;

int aasteroide=110;

int basteroide=90;

int [] positionLuneX;

int [] positionLuneY;

int compteurPositionlune=0;

PShape S;

PShape T;

PShape L;

PShape B;

PShape A;

 

void setup(){

 

size(500, 500, P3D);

noStroke();

espace = loadImage("espace.jpg");

terre = loadImage("terre.png");

soleil=loadImage("soleil.png");

lune=loadImage("lune.png");

asteroide=loadImage("asteroide.png");

sun=loadImage("soleil 2.jpg");

S=createShape(SPHERE,40);

S.setTexture(soleil);

positionLuneX = new int [0];

positionLuneY = new int [0];

fill(250);

sphereDetail(100);

T=createShape(SPHERE,20);

T.setTexture(terre);

L=createShape(SPHERE,6);

L.setTexture(lune);

B=createShape(SPHERE,2000);

B.setTexture(espace);

 

 

 

}

 

void draw(){

 

background(0);

camera(width/2, mouseY, mouseX, width/2, height/2, 0, 0, 1, 0);

float t = 0.5*millis()/1000.0f;

int x = (int)(cx+r*cos(t));

int y = (int)(cy+r*sin(t));

int xlune = (int)(x+rlune*cos(12*t));

int ylune = (int)(y+rlune*sin(12*t));

int xasteroide = (int)(cx+aasteroide*cos(0.89*t+ PI/2));

int yasteroide = (int)(cy+basteroide*sin(0.89*t+PI/2));

//positionLuneX[compteurPositionlune]=xlune;

positionLuneX= append(positionLuneX, xlune);

positionLuneY= append(positionLuneY, ylune);

println(positionLuneX.length);

for (int i=0; i<positionLuneX.length-1; i++) {

point(positionLuneX[i], positionLuneY[i]);

}

//positionLuneY[compteurPositionlune]=ylune;

compteurPositionlune++;

noFill();

 

 

 

// Soleil

 

pushMatrix();

translate(250, 250, 0);

rotateZ(PI * frameCount / 500);

noStroke();

shape(S);

popMatrix();

 

 

// Terre

 

pushMatrix();

translate(x,y,0);

directionalLight(1000, 1000, 1000, 5, -5, -5);

rotateZ(PI * frameCount / 500);

rotateX(200);

noStroke();

shape(T);

stroke(255);

popMatrix();

ellipse(cx, cy, r*4/2, r*4/2);

 

 

// Lune

 

pushMatrix();

translate(xlune,ylune, 0);

rotateY(PI * frameCount / 500);

noStroke();

shape(L);

stroke(255);

popMatrix();

ellipse(x, y, rlune*4/2, rlune*4/2);

 

 

// astéroide

 

pushMatrix();

translate(0 ,0 ,50 );

rotateY(PI/20);

ellipse(cx ,cy , aasteroide*4/2, basteroide*4/2);

//image(asteroide, xasteroide, yasteroide, 10, 10);

popMatrix();

 

if ( xasteroide>x-10 && xasteroide<x+10 && yasteroide>y-10 && yasteroide<y+10) {

shape(B);

}

 

void affichage_astre( PImage astre, int positionX, int positionY, int tailleX, int tailleY) {

image (astre, positionX, positionY, tailleX, tailleY);

}

III)Résultat

©2019 par Projet ISN Bernard Pallissy 2019/2020 Clément Tom. Créé avec Wix.com

bottom of page