From 446eb575dee681bd1d7c7b1bc558e724119d6846 Mon Sep 17 00:00:00 2001 From: Wamster Date: Mon, 20 Nov 2023 13:22:30 +0100 Subject: [PATCH] tp bd + tp5-6 dev3.2 --- Anglish/letters_to_an-internship.txt | 23 + BD/Lekpa/1_TP_PLSQL.pdf | Bin 0 -> 156383 bytes BD/Lekpa/tp01.txt | 57 ++ .../TP06_Dessin/Q4_Cercles/Cercle.class | Bin 837 -> 831 bytes .../TP06_Dessin/Q4_Cercles/Q4Main.class | Bin 989 -> 983 bytes DEV/DEV3.2/TP05_Files/Action.class | Bin 0 -> 1329 bytes DEV/DEV3.2/TP05_Files/Action.java | 59 ++ DEV/DEV3.2/TP05_Files/Dessin.class | Bin 0 -> 815 bytes DEV/DEV3.2/TP05_Files/Dessin.java | 28 + DEV/DEV3.2/TP05_Files/Q4Main.class | Bin 0 -> 727 bytes DEV/DEV3.2/TP05_Files/Q4Main.java | 22 + DEV/DEV3.2/TP05_Files/Repetition.class | Bin 0 -> 2487 bytes DEV/DEV3.2/TP05_Files/Repetition.java | 61 ++ DEV/DEV3.2/TP05_Files/Serpent.class | Bin 0 -> 2814 bytes DEV/DEV3.2/TP05_Files/Serpent.java | 85 ++ DEV/DEV3.2/TP05_Files/Test.java | 29 + DEV/DEV3.2/TP06_Dictionnaires/Q1Main.class | Bin 0 -> 1661 bytes DEV/DEV3.2/TP06_Dictionnaires/Q1Main.java | 19 + DEV/DEV3.2/TP06_Dictionnaires/Q2Main.java | 42 + DEV/DEV3.2/TP06_Dictionnaires/rgb.txt | 752 ++++++++++++++++++ DEV/DEV_Madelaine/TD4/0Bad/Base.java | 4 + DEV/DEV_Madelaine/TD4/0Bad/Exemple.java | 31 + DEV/DEV_Madelaine/TD4/0Bad/MonBrin.java | 63 ++ DEV/DEV_Madelaine/TD4/0Bad/MonMaillon.java | 41 + DEV/DEV_Madelaine/TD4/1Iterable/Base.java | 4 + DEV/DEV_Madelaine/TD4/1Iterable/Exemple.java | 34 + DEV/DEV_Madelaine/TD4/1Iterable/MonBrin.java | 42 + .../TD4/1Iterable/MonMaillon.java | 28 + DEV/DEV_Madelaine/TD4/2Iterator/Base.java | 4 + DEV/DEV_Madelaine/TD4/2Iterator/Exemple.java | 35 + DEV/DEV_Madelaine/TD4/2Iterator/MonBrin.java | 37 + .../TD4/2Iterator/MonBrinIterator.java | 32 + .../TD4/2Iterator/MonMaillon.java | 29 + .../Base.java | 4 + .../Exemple.java | 58 ++ .../MonBrin.java | 83 ++ .../MonBrinIterator.java | 33 + DEV/DEV_Madelaine/TD4/explication.txt | 20 + DEV/DEV_Madelaine/TD4/stub/0Bad/MonBrin.java | 62 ++ rien/sae.png.odg | Bin 0 -> 13842 bytes 40 files changed, 1821 insertions(+) create mode 100755 Anglish/letters_to_an-internship.txt create mode 100644 BD/Lekpa/1_TP_PLSQL.pdf create mode 100644 BD/Lekpa/tp01.txt create mode 100644 DEV/DEV3.2/TP05_Files/Action.class create mode 100644 DEV/DEV3.2/TP05_Files/Action.java create mode 100644 DEV/DEV3.2/TP05_Files/Dessin.class create mode 100644 DEV/DEV3.2/TP05_Files/Dessin.java create mode 100644 DEV/DEV3.2/TP05_Files/Q4Main.class create mode 100644 DEV/DEV3.2/TP05_Files/Q4Main.java create mode 100644 DEV/DEV3.2/TP05_Files/Repetition.class create mode 100644 DEV/DEV3.2/TP05_Files/Repetition.java create mode 100644 DEV/DEV3.2/TP05_Files/Serpent.class create mode 100644 DEV/DEV3.2/TP05_Files/Serpent.java create mode 100644 DEV/DEV3.2/TP05_Files/Test.java create mode 100644 DEV/DEV3.2/TP06_Dictionnaires/Q1Main.class create mode 100644 DEV/DEV3.2/TP06_Dictionnaires/Q1Main.java create mode 100644 DEV/DEV3.2/TP06_Dictionnaires/Q2Main.java create mode 100644 DEV/DEV3.2/TP06_Dictionnaires/rgb.txt create mode 100644 DEV/DEV_Madelaine/TD4/0Bad/Base.java create mode 100644 DEV/DEV_Madelaine/TD4/0Bad/Exemple.java create mode 100644 DEV/DEV_Madelaine/TD4/0Bad/MonBrin.java create mode 100644 DEV/DEV_Madelaine/TD4/0Bad/MonMaillon.java create mode 100644 DEV/DEV_Madelaine/TD4/1Iterable/Base.java create mode 100644 DEV/DEV_Madelaine/TD4/1Iterable/Exemple.java create mode 100644 DEV/DEV_Madelaine/TD4/1Iterable/MonBrin.java create mode 100644 DEV/DEV_Madelaine/TD4/1Iterable/MonMaillon.java create mode 100644 DEV/DEV_Madelaine/TD4/2Iterator/Base.java create mode 100644 DEV/DEV_Madelaine/TD4/2Iterator/Exemple.java create mode 100644 DEV/DEV_Madelaine/TD4/2Iterator/MonBrin.java create mode 100644 DEV/DEV_Madelaine/TD4/2Iterator/MonBrinIterator.java create mode 100644 DEV/DEV_Madelaine/TD4/2Iterator/MonMaillon.java create mode 100644 DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/Base.java create mode 100644 DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/Exemple.java create mode 100644 DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/MonBrin.java create mode 100644 DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/MonBrinIterator.java create mode 100644 DEV/DEV_Madelaine/TD4/explication.txt create mode 100644 DEV/DEV_Madelaine/TD4/stub/0Bad/MonBrin.java create mode 100644 rien/sae.png.odg diff --git a/Anglish/letters_to_an-internship.txt b/Anglish/letters_to_an-internship.txt new file mode 100755 index 0000000..ab7f540 --- /dev/null +++ b/Anglish/letters_to_an-internship.txt @@ -0,0 +1,23 @@ +dear Madam, + +I am interested in applying to for a post of web developper for french school students. + +I am 19 years old and I am currently studying at the BUT Senart Fontainbleau. + +After that I hope to follow a career in the AT industry. During the last few summer holidays I have worked as an new website and I enjoyed the work very much. Next summer I would like to do something more varied and challenging, and for this reason I'm interrested in the job of web developper, taking students to London. + +I feel that I would be well suited for this job as I enjoy working with young people.I have a lot of energy and enthusiasm and am also responsible and reliable. I have attached my CV as this email. + +I am avalaible for interview in New York any weekday afternoon, and you can email me or telephone me on the number below. I look forward to hearing from you soon. + +Yours faithfully + +Wamster Alexis +07 82 82 20 64 +wamsteralexis@gmail.com + + + + + +https://www.indeed.com/jobs?q=developer&l=New+York%2C+NY&sc=0kf%3Ajt%28internship%29%3B&vjk=ab35090a7f1582e1 \ No newline at end of file diff --git a/BD/Lekpa/1_TP_PLSQL.pdf b/BD/Lekpa/1_TP_PLSQL.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4ac7a39a0928cc5b9c3bdcda6d3f05567720339f GIT binary patch literal 156383 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

+-K$*HtjW+wX0XIf@hCjsJYBs3D_+N*a_a|if5 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

3F9k#}YOUFf%p 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 2000; + +5|----------------------------- + +select to_char(co.date_achat, 'yy'), to_char(co.date_achat, 'mm'), sum(l.prix_total) +from commande co, ligne_commande l +where co.id = l.commande_id +group by to_char(co.date_achat, 'yy'), to_char(co.date_achat, 'mm'); + +(verification) +la somme est egale a: +select sum(prix_total) from ligne_commande; + +6|------------------------------ + +create sequence seq_tp +start with 121; + +select seq_tp.currval from dual; +select seq_tp.nextval from dual; + +7|------------------------------ + +create or replace procedure sp_insert_ligne_commande(p_commande_id int, p_produit_id int, p_quantite int) is +p_prix_total ligne_commande.prix_total%type; +p_id ligne_commande.id%type; +begin +select seq_tp.nextval into p_id from dual; +select p.prix_unitaire * l.quantite into p_prix_total from produit p, ligne_commande l where p.id = p_commande_id; +insert into ligne_commande values (p_id,p_commande_id,p_produit_id,p_quantite,p_prix_total); +end sp_insert_ligne_commande; \ No newline at end of file diff --git a/DEV/DEV2.1/TP06_Dessin/Q4_Cercles/Cercle.class b/DEV/DEV2.1/TP06_Dessin/Q4_Cercles/Cercle.class index fa0913cb81719b82fe8723dc1936794ea82d4c88..9e6a649a1a0cc1bc3587507544c9884719b60a2b 100644 GIT binary patch delta 173 zcmWm8ISv6~9ES1dn_?!$-&iX9*muT0G#VRK7M+4h;{*;P!q@!ryxsdW zALjb?z1;zyxs5}{B5Pxi3lSl2lf0KS_)?q z90M;n9lYgkyW0zK5<--i(554F=?NZvVZcxrF%~A8DZVhnzb@2Ag$)#`|2u>950&{B AegFUf delta 179 zcmWlTxeftQ7)H-b#EtP=JNv#bV;Kxeg~VG-D-wwa@1XN6It7(R?`=fPZBEW9zT|rb zU%}1$cYgp5ON%I3Mb5$`A0k4*qDaZ|t*lYeS=Cn4sOxNKG!-pH`?|RVI{yCpDXhB& z(XDs#Z0~%uSNq-mAS6f%G2)7j(4#Nd41^&gVT>b8mhy{(4gTMb^r%*?<8cmX5tU}&UvV?n9sBq^kYpM#J!M)qrT PNcOIHC4B7-#+)A+ox~M_urqs02sh{7%?0PA&Nv8ek4Qa zLQ0}vuW21Vs?9OI%|vh>!M4;skYCEFbquoAUsa)Hp% z^0E?$PT3`Oy>fp^Idl1?A|v5@YJJ90Yinv*pd(QyR}WY*b5*U6YiCFoX_|HOg?rcX zt6r|ed4V9)=hjzsa)jQbn5eviEWns5At=e3~C5fDc5sX^cqa$tDCD2^U_f*s*W0bDS zOO?IjV!m`YGrhE;3a-GuT1Jg=%3gC-NjU;?TVmehu5zhLRZm`Rk|Nk^6OK}kc`b-=v|}p(I)S ziOI?20uFJSVjw98Fs>EhWX82T-byLFmAY`Hs%Yoxrx(XQ+Wp+6VDJONsV#_9|0ayL z9=3zF89vXNWC?jZoj6d<6D4Np)1Unx;Jc98fUyDdIkq}teJ_!!?gQ^2U!hZP-XXY& zKs6lV<|D!eZgs>Gjo@GnEE~ac2i)5Tj?}>4}ffND1K-6|ysNep;U?K*^048EE@!zr?+tIRH_d|RDU&6;Q z(VF?h2#GUNTy?5rGd+wR}`TP410QYd$f{ld&CUMT9Id5SW7qoX#n@c)e z)ZUUdmvy*o;);o@0;U%veVK#;mF+j~d$;W##qEutAB1ZH6Ze&`;&p-P`svNazCdmx z=tzO`w({j}a(E!a7w$oynS3PU6hojiaFx&Ca1i*?j|FODP>(}*&{JNtrqPOfvFp9v zaR(`giEAe60@hxTgr3|~8h7%Mj3VW)YN9sEXxJ#CWW&*36D=DnShdl{bsN*D*tmh4 zHg0Ki8+SO*-+GeJ2p`(fk@CCkr(^7@CmM{nafFlH@l4se=4*yBosFNGf5<9P=X9M?LLL4@DMHN}~Qgz~9n%EL3F!4mHZjUnN zU#ouqx%B9o^(}sleJt{JZ9WLWMP2A+>6KBTtuk_u;Q}n@8-&yRip=Nq^b~E0X8{vA z|Y*pi0#vEFh$2t}mfij3+`iak) LI7=>bDZu<6{&Jg& literal 0 HcmV?d00001 diff --git a/DEV/DEV3.2/TP05_Files/Dessin.java b/DEV/DEV3.2/TP05_Files/Dessin.java new file mode 100644 index 0000000..08af962 --- /dev/null +++ b/DEV/DEV3.2/TP05_Files/Dessin.java @@ -0,0 +1,28 @@ +import javax.swing.*; +import java.awt.*; + +public class Dessin extends JComponent { + public Color couleur; + + public Dessin(Color couleur){ + this.couleur = couleur; + } + + public void setColor(Color couleur){ + this.couleur = couleur; + this.repaint(); + } + + @Override + protected void paintComponent(Graphics pinceau) { + Graphics secondPinceau = pinceau.create(); + Color couleurFond = this.getBackground(); + if (this.isOpaque()) { + secondPinceau.setColor(couleurFond); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + + secondPinceau.setColor(this.couleur); + secondPinceau.fillRect(2,2, this.getWidth()-2, this.getHeight()-2); + } +} diff --git a/DEV/DEV3.2/TP05_Files/Q4Main.class b/DEV/DEV3.2/TP05_Files/Q4Main.class new file mode 100644 index 0000000000000000000000000000000000000000..e249d1921313395978f87154f84060ae701a5a11 GIT binary patch literal 727 zcmZ8f+iuf95IyTS-r}a@(hz7%3*{2rHf^{RkQ#)5iVCWvh$cb`JZ(+5BXM_45 zd<4&ZNf43v0KSB8;Gr;^L<(Xp?d;B;nR8~wKQF%j0Pqx#ZRD}Sal?k8?M)jdRyl6j zuy8v`7+Q&6lLI{cd}n-1zj|TgE{YuYY-Hf*r!|gsjtvIunIHPuUde!E8DTRJj@D=0AVx{MnT4dH~hAYHK4>`AIeB7U-_L-dp1+pLYd=! z3J>s*VP&e~ZKz}%_aY^|*JrMb#vzYTNMT!3Sz~sF%rxd*>qNRlZaN>e`emm&(Nh_h zHfrD#&Il#$B^s>Qbw9|gh)r! zJvHiEBNi?tv|JIoGQcY4Y1(=jV7gzlU!~hJSw=RwJ^(wX1H(1it&uZB2*5>h5qLZ4wJ)r!zl~Hb$T(d F{1-dxkqiI; literal 0 HcmV?d00001 diff --git a/DEV/DEV3.2/TP05_Files/Q4Main.java b/DEV/DEV3.2/TP05_Files/Q4Main.java new file mode 100644 index 0000000..9d0afc6 --- /dev/null +++ b/DEV/DEV3.2/TP05_Files/Q4Main.java @@ -0,0 +1,22 @@ +import java.util.*; + +public class Q4Main{ + + public static void main(String[] args){ + + Serpent jeux = new Serpent(); + + Timer boucle = new Timer(true); + Repetition iteration = new Repetition(jeux, boucle); + boucle.scheduleAtFixedRate(iteration, 1000, 100); + try { + while(true){ + Thread.sleep(1000000); + } + } + catch (InterruptedException e) { + e.printStackTrace(); + } + boucle.cancel(); + } +} diff --git a/DEV/DEV3.2/TP05_Files/Repetition.class b/DEV/DEV3.2/TP05_Files/Repetition.class new file mode 100644 index 0000000000000000000000000000000000000000..e70437a8bdd95544f09c9b18763fd0939aa322b0 GIT binary patch literal 2487 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 serpent; + public Point tete; + public ArrayList listePomme; + public Dessin[][] listeCase; + public Queue direction; + public Point derniereDirection; + public boolean isFreeze; + public Random random; + + public Serpent(){ + this.fenetre = new JFrame("serpent"); + this.fenetre.setSize(800, 800); + this.fenetre.setLocation(0, 0); + this.fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + GridLayout grille = new GridLayout(Serpent.HAUTEUR,Serpent.LONGUEUR); + this.fenetre.setLayout(grille); + + this.listeCase = new Dessin[Serpent.LONGUEUR][Serpent.HAUTEUR]; + int x,y; + for (y=0; y(); + this.derniereDirection = Action.DROITE; + this.listePomme = new ArrayList<>(); + this.serpent = new LinkedList<>(); + this.tete = new Point(2,12); + this.serpent.offer(this.tete); + this.listeCase[this.tete.x][this.tete.y].setColor(Serpent.SERPENT); + this.tete = new Point(3,12); + this.serpent.offer(this.tete); + this.listeCase[this.tete.x][this.tete.y].setColor(Serpent.SERPENT); + this.tete = new Point(4,12); + this.serpent.offer(this.tete); + this.listeCase[this.tete.x][this.tete.y].setColor(Serpent.SERPENT); + + this.listePomme.add(new Point(15,12)); + this.listeCase[15][12].setColor(Serpent.POMME); + newPomme(); + newPomme(); + this.fenetre.repaint(); + this.isFreeze = true; + } + + public void newPomme(){ + Point emplacement; + do{ + emplacement = new Point(this.random.nextInt(Serpent.LONGUEUR), this.random.nextInt(Serpent.HAUTEUR)); + } while (this.serpent.contains(emplacement) || this.listePomme.contains(emplacement)); + + this.listePomme.add(emplacement); + this.listeCase[emplacement.x][emplacement.y].setColor(Serpent.POMME); + } +} \ No newline at end of file diff --git a/DEV/DEV3.2/TP05_Files/Test.java b/DEV/DEV3.2/TP05_Files/Test.java new file mode 100644 index 0000000..7c4ff60 --- /dev/null +++ b/DEV/DEV3.2/TP05_Files/Test.java @@ -0,0 +1,29 @@ + +import java.util.Date; +import java.util.Timer; +import java.util.TimerTask; + +public class Test extends TimerTask { + + @Override + public void run() { + System.out.println("hello"); + } + + public static void main(String args[]){ + Test timerTask = new Test(); + //running timer task as daemon thread + Timer timer = new Timer(true); + timer.scheduleAtFixedRate(timerTask, 0, 1000); + try { + while(true){ + Thread.sleep(1000); + } + } catch (InterruptedException e) { + e.printStackTrace(); + } + timer.cancel(); + System.out.println("TimerTask cancelled"); + } + +} \ No newline at end of file diff --git a/DEV/DEV3.2/TP06_Dictionnaires/Q1Main.class b/DEV/DEV3.2/TP06_Dictionnaires/Q1Main.class new file mode 100644 index 0000000000000000000000000000000000000000..90500ea85d8a7e90ddba8a93a41e2f6269f87863 GIT binary patch literal 1661 zcmaJ>TT>iG6#kmM^j?M#Hd%B{h(rl4xgn@Tmxu<01OuDIU5O^%nx%`KFgvp~JDZa7 z$*TAReA8E7@~jUScu3{hpW(0YDfsp50y{!EHPwCk^f{-$bI#ZO*UR1K0Is2y!6}^2 zAdNS&ID%@xuxz`!+-|ICzpB<8YT^xLy8=VShs%%DV>RI@cVnUw z__n(-V;uV{fvRn;sAgy{ab4m=iCKw{1Tqz`?br08Z31QQO|CH1RTIU+Y2+<@j2jl_ zFmK@#ELd2?O$)cMBycJ`svX$Q1S5|wxPiYVkm%0VlIv=J-chZVZdv%$c$_>0SFQV6 zty{Ql^yi|m3AO60nqF{pL%YF@#Il7Ilr7xBT}GMnyr32Ms=1!7>XWM?b9m?f*6_xl0&lR zj|)VuCr0=QfywCpe@WGCO7BgP_{wnRTY=F-qT23bZ&Pybw{^GJC-v?bM4VY9IIPReT;c8^STZ0O{N=SUXh375pU0$z=b0T z9fyrK@&D~`9yz{r=Ii5Q#rJ{Z5Ld&T1?R-YKOugnKnie7hRPV9xmQu3Oj9vP*DUvb zdWOE`OFM`OtX$qfT%deq2MK{+;ZR5lynrml3-KMKjGQhdjGQrYwv_w>Rw1#C{#~2^ zwlPphmSjObpH9W5)A@8h^&5r@GM}C*WsGHJ7biorCu#9??{BKMG5B=vX9Kk_ggOO_ zasqLJHjnfeQkWv}S+2_HN1f-iIsd>wKVlG1Sc%u@F^Bj|oKN#6#=-7b`W5n=!h+_ofoO47(cNCLpe2wq$4NEsk{R!%)Sj2b2@!G#9 Chn4yO literal 0 HcmV?d00001 diff --git a/DEV/DEV3.2/TP06_Dictionnaires/Q1Main.java b/DEV/DEV3.2/TP06_Dictionnaires/Q1Main.java new file mode 100644 index 0000000..4b8042e --- /dev/null +++ b/DEV/DEV3.2/TP06_Dictionnaires/Q1Main.java @@ -0,0 +1,19 @@ +import java.util.*; + +public class Q1Main{ + public static void main(String args[]){ + Map listeThreadNul = Thread.getAllStackTraces(); + Set> listeThread = listeThreadNul.entrySet(); + for (Map.Entry thread : listeThread) { + Thread clef = thread.getKey(); + StackTraceElement[] valeur = thread.getValue(); + + System.out.println(clef.getName() + ":"); + + for (StackTraceElement item : valeur){ + System.out.println(" " + item); + } + System.out.println(); + } + } +} \ No newline at end of file diff --git a/DEV/DEV3.2/TP06_Dictionnaires/Q2Main.java b/DEV/DEV3.2/TP06_Dictionnaires/Q2Main.java new file mode 100644 index 0000000..fef60cd --- /dev/null +++ b/DEV/DEV3.2/TP06_Dictionnaires/Q2Main.java @@ -0,0 +1,42 @@ +import java.util.*; + +public class Q1Main{ + public static void main(String args[]){ + String nomFichier = 'rgb.txt'; + HashMap dicoCouleur; + try{ + BufferedReader lecture = new BufferedReader(new FileReader("rgb.txt")); + String ligne; + + try { + while ((ligne = lecture.readLine()) != null) { + String[] donne = ligne.split("\\s+"); + int rouge = Integer.parseInt(data[0]); + int vert = Integer.parseInt(data[1]); + int bleu = Integer.parseInt(data[2]); + Color couleur = Color(rouge, vert, bleu); + String nom = data[3]; + + dicoCouleur.put(nom, couleur); + } + } catch (IOException e) { + System.err.println("Erreur de lecture dans rgb.txt !"); + } + + try { + lecture.close(); + } catch(IOException e) { + System.err.println("Erreur de fermeture de rgb.txt !"); + } + + JFrame fenetre = new JFrame(); + fenetre.setSize(700, 300); + fenetre.setLocation(0, 0); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + fenetre.setVisible(true); + + } catch(FileNotFoundException e) { + System.err.println("Erreur d'ouverture de rgb.txt !"); + } + } +} \ No newline at end of file diff --git a/DEV/DEV3.2/TP06_Dictionnaires/rgb.txt b/DEV/DEV3.2/TP06_Dictionnaires/rgb.txt new file mode 100644 index 0000000..53e36f1 --- /dev/null +++ b/DEV/DEV3.2/TP06_Dictionnaires/rgb.txt @@ -0,0 +1,752 @@ +255 250 250 snow +248 248 255 ghost white +248 248 255 GhostWhite +245 245 245 white smoke +245 245 245 WhiteSmoke +220 220 220 gainsboro +255 250 240 floral white +255 250 240 FloralWhite +253 245 230 old lace +253 245 230 OldLace +250 240 230 linen +250 235 215 antique white +250 235 215 AntiqueWhite +255 239 213 papaya whip +255 239 213 PapayaWhip +255 235 205 blanched almond +255 235 205 BlanchedAlmond +255 228 196 bisque +255 218 185 peach puff +255 218 185 PeachPuff +255 222 173 navajo white +255 222 173 NavajoWhite +255 228 181 moccasin +255 248 220 cornsilk +255 255 240 ivory +255 250 205 lemon chiffon +255 250 205 LemonChiffon +255 245 238 seashell +240 255 240 honeydew +245 255 250 mint cream +245 255 250 MintCream +240 255 255 azure +240 248 255 alice blue +240 248 255 AliceBlue +230 230 250 lavender +255 240 245 lavender blush +255 240 245 LavenderBlush +255 228 225 misty rose +255 228 225 MistyRose +255 255 255 white + 0 0 0 black + 47 79 79 dark slate gray + 47 79 79 DarkSlateGray + 47 79 79 dark slate grey + 47 79 79 DarkSlateGrey +105 105 105 dim gray +105 105 105 DimGray +105 105 105 dim grey +105 105 105 DimGrey +112 128 144 slate gray +112 128 144 SlateGray +112 128 144 slate grey +112 128 144 SlateGrey +119 136 153 light slate gray +119 136 153 LightSlateGray +119 136 153 light slate grey +119 136 153 LightSlateGrey +190 190 190 gray +190 190 190 grey +211 211 211 light grey +211 211 211 LightGrey +211 211 211 light gray +211 211 211 LightGray + 25 25 112 midnight blue + 25 25 112 MidnightBlue + 0 0 128 navy + 0 0 128 navy blue + 0 0 128 NavyBlue +100 149 237 cornflower blue +100 149 237 CornflowerBlue + 72 61 139 dark slate blue + 72 61 139 DarkSlateBlue +106 90 205 slate blue +106 90 205 SlateBlue +123 104 238 medium slate blue +123 104 238 MediumSlateBlue +132 112 255 light slate blue +132 112 255 LightSlateBlue + 0 0 205 medium blue + 0 0 205 MediumBlue + 65 105 225 royal blue + 65 105 225 RoyalBlue + 0 0 255 blue + 30 144 255 dodger blue + 30 144 255 DodgerBlue + 0 191 255 deep sky blue + 0 191 255 DeepSkyBlue +135 206 235 sky blue +135 206 235 SkyBlue +135 206 250 light sky blue +135 206 250 LightSkyBlue + 70 130 180 steel blue + 70 130 180 SteelBlue +176 196 222 light steel blue +176 196 222 LightSteelBlue +173 216 230 light blue +173 216 230 LightBlue +176 224 230 powder blue +176 224 230 PowderBlue +175 238 238 pale turquoise +175 238 238 PaleTurquoise + 0 206 209 dark turquoise + 0 206 209 DarkTurquoise + 72 209 204 medium turquoise + 72 209 204 MediumTurquoise + 64 224 208 turquoise + 0 255 255 cyan +224 255 255 light cyan +224 255 255 LightCyan + 95 158 160 cadet blue + 95 158 160 CadetBlue +102 205 170 medium aquamarine +102 205 170 MediumAquamarine +127 255 212 aquamarine + 0 100 0 dark green + 0 100 0 DarkGreen + 85 107 47 dark olive green + 85 107 47 DarkOliveGreen +143 188 143 dark sea green +143 188 143 DarkSeaGreen + 46 139 87 sea green + 46 139 87 SeaGreen + 60 179 113 medium sea green + 60 179 113 MediumSeaGreen + 32 178 170 light sea green + 32 178 170 LightSeaGreen +152 251 152 pale green +152 251 152 PaleGreen + 0 255 127 spring green + 0 255 127 SpringGreen +124 252 0 lawn green +124 252 0 LawnGreen + 0 255 0 green +127 255 0 chartreuse + 0 250 154 medium spring green + 0 250 154 MediumSpringGreen +173 255 47 green yellow +173 255 47 GreenYellow + 50 205 50 lime green + 50 205 50 LimeGreen +154 205 50 yellow green +154 205 50 YellowGreen + 34 139 34 forest green + 34 139 34 ForestGreen +107 142 35 olive drab +107 142 35 OliveDrab +189 183 107 dark khaki +189 183 107 DarkKhaki +240 230 140 khaki +238 232 170 pale goldenrod +238 232 170 PaleGoldenrod +250 250 210 light goldenrod yellow +250 250 210 LightGoldenrodYellow +255 255 224 light yellow +255 255 224 LightYellow +255 255 0 yellow +255 215 0 gold +238 221 130 light goldenrod +238 221 130 LightGoldenrod +218 165 32 goldenrod +184 134 11 dark goldenrod +184 134 11 DarkGoldenrod +188 143 143 rosy brown +188 143 143 RosyBrown +205 92 92 indian red +205 92 92 IndianRed +139 69 19 saddle brown +139 69 19 SaddleBrown +160 82 45 sienna +205 133 63 peru +222 184 135 burlywood +245 245 220 beige +245 222 179 wheat +244 164 96 sandy brown +244 164 96 SandyBrown +210 180 140 tan +210 105 30 chocolate +178 34 34 firebrick +165 42 42 brown +233 150 122 dark salmon +233 150 122 DarkSalmon +250 128 114 salmon +255 160 122 light salmon +255 160 122 LightSalmon +255 165 0 orange +255 140 0 dark orange +255 140 0 DarkOrange +255 127 80 coral +240 128 128 light coral +240 128 128 LightCoral +255 99 71 tomato +255 69 0 orange red +255 69 0 OrangeRed +255 0 0 red +255 105 180 hot pink +255 105 180 HotPink +255 20 147 deep pink +255 20 147 DeepPink +255 192 203 pink +255 182 193 light pink +255 182 193 LightPink +219 112 147 pale violet red +219 112 147 PaleVioletRed +176 48 96 maroon +199 21 133 medium violet red +199 21 133 MediumVioletRed +208 32 144 violet red +208 32 144 VioletRed +255 0 255 magenta +238 130 238 violet +221 160 221 plum +218 112 214 orchid +186 85 211 medium orchid +186 85 211 MediumOrchid +153 50 204 dark orchid +153 50 204 DarkOrchid +148 0 211 dark violet +148 0 211 DarkViolet +138 43 226 blue violet +138 43 226 BlueViolet +160 32 240 purple +147 112 219 medium purple +147 112 219 MediumPurple +216 191 216 thistle +255 250 250 snow1 +238 233 233 snow2 +205 201 201 snow3 +139 137 137 snow4 +255 245 238 seashell1 +238 229 222 seashell2 +205 197 191 seashell3 +139 134 130 seashell4 +255 239 219 AntiqueWhite1 +238 223 204 AntiqueWhite2 +205 192 176 AntiqueWhite3 +139 131 120 AntiqueWhite4 +255 228 196 bisque1 +238 213 183 bisque2 +205 183 158 bisque3 +139 125 107 bisque4 +255 218 185 PeachPuff1 +238 203 173 PeachPuff2 +205 175 149 PeachPuff3 +139 119 101 PeachPuff4 +255 222 173 NavajoWhite1 +238 207 161 NavajoWhite2 +205 179 139 NavajoWhite3 +139 121 94 NavajoWhite4 +255 250 205 LemonChiffon1 +238 233 191 LemonChiffon2 +205 201 165 LemonChiffon3 +139 137 112 LemonChiffon4 +255 248 220 cornsilk1 +238 232 205 cornsilk2 +205 200 177 cornsilk3 +139 136 120 cornsilk4 +255 255 240 ivory1 +238 238 224 ivory2 +205 205 193 ivory3 +139 139 131 ivory4 +240 255 240 honeydew1 +224 238 224 honeydew2 +193 205 193 honeydew3 +131 139 131 honeydew4 +255 240 245 LavenderBlush1 +238 224 229 LavenderBlush2 +205 193 197 LavenderBlush3 +139 131 134 LavenderBlush4 +255 228 225 MistyRose1 +238 213 210 MistyRose2 +205 183 181 MistyRose3 +139 125 123 MistyRose4 +240 255 255 azure1 +224 238 238 azure2 +193 205 205 azure3 +131 139 139 azure4 +131 111 255 SlateBlue1 +122 103 238 SlateBlue2 +105 89 205 SlateBlue3 + 71 60 139 SlateBlue4 + 72 118 255 RoyalBlue1 + 67 110 238 RoyalBlue2 + 58 95 205 RoyalBlue3 + 39 64 139 RoyalBlue4 + 0 0 255 blue1 + 0 0 238 blue2 + 0 0 205 blue3 + 0 0 139 blue4 + 30 144 255 DodgerBlue1 + 28 134 238 DodgerBlue2 + 24 116 205 DodgerBlue3 + 16 78 139 DodgerBlue4 + 99 184 255 SteelBlue1 + 92 172 238 SteelBlue2 + 79 148 205 SteelBlue3 + 54 100 139 SteelBlue4 + 0 191 255 DeepSkyBlue1 + 0 178 238 DeepSkyBlue2 + 0 154 205 DeepSkyBlue3 + 0 104 139 DeepSkyBlue4 +135 206 255 SkyBlue1 +126 192 238 SkyBlue2 +108 166 205 SkyBlue3 + 74 112 139 SkyBlue4 +176 226 255 LightSkyBlue1 +164 211 238 LightSkyBlue2 +141 182 205 LightSkyBlue3 + 96 123 139 LightSkyBlue4 +198 226 255 SlateGray1 +185 211 238 SlateGray2 +159 182 205 SlateGray3 +108 123 139 SlateGray4 +202 225 255 LightSteelBlue1 +188 210 238 LightSteelBlue2 +162 181 205 LightSteelBlue3 +110 123 139 LightSteelBlue4 +191 239 255 LightBlue1 +178 223 238 LightBlue2 +154 192 205 LightBlue3 +104 131 139 LightBlue4 +224 255 255 LightCyan1 +209 238 238 LightCyan2 +180 205 205 LightCyan3 +122 139 139 LightCyan4 +187 255 255 PaleTurquoise1 +174 238 238 PaleTurquoise2 +150 205 205 PaleTurquoise3 +102 139 139 PaleTurquoise4 +152 245 255 CadetBlue1 +142 229 238 CadetBlue2 +122 197 205 CadetBlue3 + 83 134 139 CadetBlue4 + 0 245 255 turquoise1 + 0 229 238 turquoise2 + 0 197 205 turquoise3 + 0 134 139 turquoise4 + 0 255 255 cyan1 + 0 238 238 cyan2 + 0 205 205 cyan3 + 0 139 139 cyan4 +151 255 255 DarkSlateGray1 +141 238 238 DarkSlateGray2 +121 205 205 DarkSlateGray3 + 82 139 139 DarkSlateGray4 +127 255 212 aquamarine1 +118 238 198 aquamarine2 +102 205 170 aquamarine3 + 69 139 116 aquamarine4 +193 255 193 DarkSeaGreen1 +180 238 180 DarkSeaGreen2 +155 205 155 DarkSeaGreen3 +105 139 105 DarkSeaGreen4 + 84 255 159 SeaGreen1 + 78 238 148 SeaGreen2 + 67 205 128 SeaGreen3 + 46 139 87 SeaGreen4 +154 255 154 PaleGreen1 +144 238 144 PaleGreen2 +124 205 124 PaleGreen3 + 84 139 84 PaleGreen4 + 0 255 127 SpringGreen1 + 0 238 118 SpringGreen2 + 0 205 102 SpringGreen3 + 0 139 69 SpringGreen4 + 0 255 0 green1 + 0 238 0 green2 + 0 205 0 green3 + 0 139 0 green4 +127 255 0 chartreuse1 +118 238 0 chartreuse2 +102 205 0 chartreuse3 + 69 139 0 chartreuse4 +192 255 62 OliveDrab1 +179 238 58 OliveDrab2 +154 205 50 OliveDrab3 +105 139 34 OliveDrab4 +202 255 112 DarkOliveGreen1 +188 238 104 DarkOliveGreen2 +162 205 90 DarkOliveGreen3 +110 139 61 DarkOliveGreen4 +255 246 143 khaki1 +238 230 133 khaki2 +205 198 115 khaki3 +139 134 78 khaki4 +255 236 139 LightGoldenrod1 +238 220 130 LightGoldenrod2 +205 190 112 LightGoldenrod3 +139 129 76 LightGoldenrod4 +255 255 224 LightYellow1 +238 238 209 LightYellow2 +205 205 180 LightYellow3 +139 139 122 LightYellow4 +255 255 0 yellow1 +238 238 0 yellow2 +205 205 0 yellow3 +139 139 0 yellow4 +255 215 0 gold1 +238 201 0 gold2 +205 173 0 gold3 +139 117 0 gold4 +255 193 37 goldenrod1 +238 180 34 goldenrod2 +205 155 29 goldenrod3 +139 105 20 goldenrod4 +255 185 15 DarkGoldenrod1 +238 173 14 DarkGoldenrod2 +205 149 12 DarkGoldenrod3 +139 101 8 DarkGoldenrod4 +255 193 193 RosyBrown1 +238 180 180 RosyBrown2 +205 155 155 RosyBrown3 +139 105 105 RosyBrown4 +255 106 106 IndianRed1 +238 99 99 IndianRed2 +205 85 85 IndianRed3 +139 58 58 IndianRed4 +255 130 71 sienna1 +238 121 66 sienna2 +205 104 57 sienna3 +139 71 38 sienna4 +255 211 155 burlywood1 +238 197 145 burlywood2 +205 170 125 burlywood3 +139 115 85 burlywood4 +255 231 186 wheat1 +238 216 174 wheat2 +205 186 150 wheat3 +139 126 102 wheat4 +255 165 79 tan1 +238 154 73 tan2 +205 133 63 tan3 +139 90 43 tan4 +255 127 36 chocolate1 +238 118 33 chocolate2 +205 102 29 chocolate3 +139 69 19 chocolate4 +255 48 48 firebrick1 +238 44 44 firebrick2 +205 38 38 firebrick3 +139 26 26 firebrick4 +255 64 64 brown1 +238 59 59 brown2 +205 51 51 brown3 +139 35 35 brown4 +255 140 105 salmon1 +238 130 98 salmon2 +205 112 84 salmon3 +139 76 57 salmon4 +255 160 122 LightSalmon1 +238 149 114 LightSalmon2 +205 129 98 LightSalmon3 +139 87 66 LightSalmon4 +255 165 0 orange1 +238 154 0 orange2 +205 133 0 orange3 +139 90 0 orange4 +255 127 0 DarkOrange1 +238 118 0 DarkOrange2 +205 102 0 DarkOrange3 +139 69 0 DarkOrange4 +255 114 86 coral1 +238 106 80 coral2 +205 91 69 coral3 +139 62 47 coral4 +255 99 71 tomato1 +238 92 66 tomato2 +205 79 57 tomato3 +139 54 38 tomato4 +255 69 0 OrangeRed1 +238 64 0 OrangeRed2 +205 55 0 OrangeRed3 +139 37 0 OrangeRed4 +255 0 0 red1 +238 0 0 red2 +205 0 0 red3 +139 0 0 red4 +255 20 147 DeepPink1 +238 18 137 DeepPink2 +205 16 118 DeepPink3 +139 10 80 DeepPink4 +255 110 180 HotPink1 +238 106 167 HotPink2 +205 96 144 HotPink3 +139 58 98 HotPink4 +255 181 197 pink1 +238 169 184 pink2 +205 145 158 pink3 +139 99 108 pink4 +255 174 185 LightPink1 +238 162 173 LightPink2 +205 140 149 LightPink3 +139 95 101 LightPink4 +255 130 171 PaleVioletRed1 +238 121 159 PaleVioletRed2 +205 104 137 PaleVioletRed3 +139 71 93 PaleVioletRed4 +255 52 179 maroon1 +238 48 167 maroon2 +205 41 144 maroon3 +139 28 98 maroon4 +255 62 150 VioletRed1 +238 58 140 VioletRed2 +205 50 120 VioletRed3 +139 34 82 VioletRed4 +255 0 255 magenta1 +238 0 238 magenta2 +205 0 205 magenta3 +139 0 139 magenta4 +255 131 250 orchid1 +238 122 233 orchid2 +205 105 201 orchid3 +139 71 137 orchid4 +255 187 255 plum1 +238 174 238 plum2 +205 150 205 plum3 +139 102 139 plum4 +224 102 255 MediumOrchid1 +209 95 238 MediumOrchid2 +180 82 205 MediumOrchid3 +122 55 139 MediumOrchid4 +191 62 255 DarkOrchid1 +178 58 238 DarkOrchid2 +154 50 205 DarkOrchid3 +104 34 139 DarkOrchid4 +155 48 255 purple1 +145 44 238 purple2 +125 38 205 purple3 + 85 26 139 purple4 +171 130 255 MediumPurple1 +159 121 238 MediumPurple2 +137 104 205 MediumPurple3 + 93 71 139 MediumPurple4 +255 225 255 thistle1 +238 210 238 thistle2 +205 181 205 thistle3 +139 123 139 thistle4 + 0 0 0 gray0 + 0 0 0 grey0 + 3 3 3 gray1 + 3 3 3 grey1 + 5 5 5 gray2 + 5 5 5 grey2 + 8 8 8 gray3 + 8 8 8 grey3 + 10 10 10 gray4 + 10 10 10 grey4 + 13 13 13 gray5 + 13 13 13 grey5 + 15 15 15 gray6 + 15 15 15 grey6 + 18 18 18 gray7 + 18 18 18 grey7 + 20 20 20 gray8 + 20 20 20 grey8 + 23 23 23 gray9 + 23 23 23 grey9 + 26 26 26 gray10 + 26 26 26 grey10 + 28 28 28 gray11 + 28 28 28 grey11 + 31 31 31 gray12 + 31 31 31 grey12 + 33 33 33 gray13 + 33 33 33 grey13 + 36 36 36 gray14 + 36 36 36 grey14 + 38 38 38 gray15 + 38 38 38 grey15 + 41 41 41 gray16 + 41 41 41 grey16 + 43 43 43 gray17 + 43 43 43 grey17 + 46 46 46 gray18 + 46 46 46 grey18 + 48 48 48 gray19 + 48 48 48 grey19 + 51 51 51 gray20 + 51 51 51 grey20 + 54 54 54 gray21 + 54 54 54 grey21 + 56 56 56 gray22 + 56 56 56 grey22 + 59 59 59 gray23 + 59 59 59 grey23 + 61 61 61 gray24 + 61 61 61 grey24 + 64 64 64 gray25 + 64 64 64 grey25 + 66 66 66 gray26 + 66 66 66 grey26 + 69 69 69 gray27 + 69 69 69 grey27 + 71 71 71 gray28 + 71 71 71 grey28 + 74 74 74 gray29 + 74 74 74 grey29 + 77 77 77 gray30 + 77 77 77 grey30 + 79 79 79 gray31 + 79 79 79 grey31 + 82 82 82 gray32 + 82 82 82 grey32 + 84 84 84 gray33 + 84 84 84 grey33 + 87 87 87 gray34 + 87 87 87 grey34 + 89 89 89 gray35 + 89 89 89 grey35 + 92 92 92 gray36 + 92 92 92 grey36 + 94 94 94 gray37 + 94 94 94 grey37 + 97 97 97 gray38 + 97 97 97 grey38 + 99 99 99 gray39 + 99 99 99 grey39 +102 102 102 gray40 +102 102 102 grey40 +105 105 105 gray41 +105 105 105 grey41 +107 107 107 gray42 +107 107 107 grey42 +110 110 110 gray43 +110 110 110 grey43 +112 112 112 gray44 +112 112 112 grey44 +115 115 115 gray45 +115 115 115 grey45 +117 117 117 gray46 +117 117 117 grey46 +120 120 120 gray47 +120 120 120 grey47 +122 122 122 gray48 +122 122 122 grey48 +125 125 125 gray49 +125 125 125 grey49 +127 127 127 gray50 +127 127 127 grey50 +130 130 130 gray51 +130 130 130 grey51 +133 133 133 gray52 +133 133 133 grey52 +135 135 135 gray53 +135 135 135 grey53 +138 138 138 gray54 +138 138 138 grey54 +140 140 140 gray55 +140 140 140 grey55 +143 143 143 gray56 +143 143 143 grey56 +145 145 145 gray57 +145 145 145 grey57 +148 148 148 gray58 +148 148 148 grey58 +150 150 150 gray59 +150 150 150 grey59 +153 153 153 gray60 +153 153 153 grey60 +156 156 156 gray61 +156 156 156 grey61 +158 158 158 gray62 +158 158 158 grey62 +161 161 161 gray63 +161 161 161 grey63 +163 163 163 gray64 +163 163 163 grey64 +166 166 166 gray65 +166 166 166 grey65 +168 168 168 gray66 +168 168 168 grey66 +171 171 171 gray67 +171 171 171 grey67 +173 173 173 gray68 +173 173 173 grey68 +176 176 176 gray69 +176 176 176 grey69 +179 179 179 gray70 +179 179 179 grey70 +181 181 181 gray71 +181 181 181 grey71 +184 184 184 gray72 +184 184 184 grey72 +186 186 186 gray73 +186 186 186 grey73 +189 189 189 gray74 +189 189 189 grey74 +191 191 191 gray75 +191 191 191 grey75 +194 194 194 gray76 +194 194 194 grey76 +196 196 196 gray77 +196 196 196 grey77 +199 199 199 gray78 +199 199 199 grey78 +201 201 201 gray79 +201 201 201 grey79 +204 204 204 gray80 +204 204 204 grey80 +207 207 207 gray81 +207 207 207 grey81 +209 209 209 gray82 +209 209 209 grey82 +212 212 212 gray83 +212 212 212 grey83 +214 214 214 gray84 +214 214 214 grey84 +217 217 217 gray85 +217 217 217 grey85 +219 219 219 gray86 +219 219 219 grey86 +222 222 222 gray87 +222 222 222 grey87 +224 224 224 gray88 +224 224 224 grey88 +227 227 227 gray89 +227 227 227 grey89 +229 229 229 gray90 +229 229 229 grey90 +232 232 232 gray91 +232 232 232 grey91 +235 235 235 gray92 +235 235 235 grey92 +237 237 237 gray93 +237 237 237 grey93 +240 240 240 gray94 +240 240 240 grey94 +242 242 242 gray95 +242 242 242 grey95 +245 245 245 gray96 +245 245 245 grey96 +247 247 247 gray97 +247 247 247 grey97 +250 250 250 gray98 +250 250 250 grey98 +252 252 252 gray99 +252 252 252 grey99 +255 255 255 gray100 +255 255 255 grey100 +169 169 169 dark grey +169 169 169 DarkGrey +169 169 169 dark gray +169 169 169 DarkGray +0 0 139 dark blue +0 0 139 DarkBlue +0 139 139 dark cyan +0 139 139 DarkCyan +139 0 139 dark magenta +139 0 139 DarkMagenta +139 0 0 dark red +139 0 0 DarkRed +144 238 144 light green +144 238 144 LightGreen \ No newline at end of file diff --git a/DEV/DEV_Madelaine/TD4/0Bad/Base.java b/DEV/DEV_Madelaine/TD4/0Bad/Base.java new file mode 100644 index 0000000..5e6a4cf --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/0Bad/Base.java @@ -0,0 +1,4 @@ +// juste un type énuméré pour nommer les bases +public enum Base { + A,C,G,T +} diff --git a/DEV/DEV_Madelaine/TD4/0Bad/Exemple.java b/DEV/DEV_Madelaine/TD4/0Bad/Exemple.java new file mode 100644 index 0000000..ae72d5c --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/0Bad/Exemple.java @@ -0,0 +1,31 @@ +// Fichier Exemple pour le premier exercice sur l'ADN + +public class Exemple{ + public static void main(String[] args) { + // codon GCT code l'analine https://en.wikipedia.org/wiki/DNA_codon_table + // stop codon TAG, voir https://en.wikipedia.org/wiki/Stop_codon + + System.out.println("construction du brin GCTTAG"); + MonMaillon l = new MonMaillon(Base.G); + l = new MonMaillon(Base.A,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.C,l); + l = new MonMaillon(Base.G,l); + + MonBrin b = new MonBrin(l); + + System.out.println("l'affichage par défaut du brin ne va pas vous plaire"); + System.out.println(b.toString()); + + + System.out.println("On peut afficher en avançant"); + System.out.println("Il faut s'en inspirer pour implémenter l'interface iterator de Java.util"); + MonMaillon actuel = b.getDebut();//NB: c'est comme l ci-dessus + + while (actuel != null){ + System.out.println(actuel.getBase()); + actuel = actuel.getSuiteMaillon(); + } + } +} diff --git a/DEV/DEV_Madelaine/TD4/0Bad/MonBrin.java b/DEV/DEV_Madelaine/TD4/0Bad/MonBrin.java new file mode 100644 index 0000000..65c50ca --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/0Bad/MonBrin.java @@ -0,0 +1,63 @@ +/** + MonBrin code un brin d'ADN sous forme de liste simplement chaînée. + + Plusieurs instances de MonMaillon reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + + On n'utilise pas java.util et on recode tout. + + Cette version a un problème : la navigation n'est pas raisonnable +*/ +public class MonBrin { + + private MonMaillon debut; + private MonMaillon fin; + + //Le constructeur fabrique un brin à partir du premier maillon p; + public MonBrin(MonMaillon p){ + this.debut = p; + while (suivant=p.getSuiteMaillon() != null){ + p = suivant; + } + this.fin = p; + } + + public MonMaillon getDebut(){ + return this.debut; + } + + public MonMaillon getFin(){ + return this.fin; + } + + public void addDernier(MonMaillon dernier){ + this.fin.setSuiteMaillon(dernier); + this.fin = dernier; + } + + public void addPremier(MonMaillon premier){ + premier.setSuiteMaillon(this.debut); + this.debut = premier; + } + + public void removePremier(){ + MonMaillon maillonASupprimer = this.debut; + this.debut = this.debut.getSuiteMaillon(); + } + + public void removeDernier(){ // pas efficace + MonMaillon current = this.debut; + while (suivant=current.getSuiteMaillon() != this.fin){ + current = suivant; + } + current.setSuiteMaillon(null); + this.fin = current; + } + + /** et pour naviguer? + On pourrait implémenter l'interface iterator de java.util ici + **/ + + +} + + diff --git a/DEV/DEV_Madelaine/TD4/0Bad/MonMaillon.java b/DEV/DEV_Madelaine/TD4/0Bad/MonMaillon.java new file mode 100644 index 0000000..abc7425 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/0Bad/MonMaillon.java @@ -0,0 +1,41 @@ +/** + MonMaillon code un maillon d'un brin d'ADN. + plusieurs instances reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + On n'utilise pas java.util et on recode tout. + +*/ +public class MonMaillon { + + private MonMaillon suivant; + private Base valeur; + + //Le constructeur de base retourne un brin à une base; + public MonMaillon(Base b){ + this.valeur = b; + } + + // Le constructeur évolué ajoute une base à un brin. + public MonMaillon(Base b, MonMaillon l){ + this.valeur = b; + this.suivant = l; + } + + public setBase(Base b){ + this.valeur = b; + } + + public setSuiteMaillon(MonMaillon l){ + this.suivant = l; + } + + public Base getBase(){ + return this.valeur; + } + + public MonMaillon getSuiteMaillon(){ + return this.suivant; + } + +} + + diff --git a/DEV/DEV_Madelaine/TD4/1Iterable/Base.java b/DEV/DEV_Madelaine/TD4/1Iterable/Base.java new file mode 100644 index 0000000..5e6a4cf --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/1Iterable/Base.java @@ -0,0 +1,4 @@ +// juste un type énuméré pour nommer les bases +public enum Base { + A,C,G,T +} diff --git a/DEV/DEV_Madelaine/TD4/1Iterable/Exemple.java b/DEV/DEV_Madelaine/TD4/1Iterable/Exemple.java new file mode 100644 index 0000000..94a55a7 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/1Iterable/Exemple.java @@ -0,0 +1,34 @@ +// Fichier Exemple pour le second exercice sur l'ADN + +public class Exemple{ + public static void main(String[] args) { + // codon GCT code l'analine https://en.wikipedia.org/wiki/DNA_codon_table + // stop codon TAG, voir https://en.wikipedia.org/wiki/Stop_codon + + System.out.println("construction du brin GCTTAG"); + MonMaillon l = new MonMaillon(Base.G); + l = new MonMaillon(Base.A,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.C,l); + l = new MonMaillon(Base.G,l); + + MonBrin b = new MonBrin(l); + + System.out.println("l'affichage par défaut du brin ne va pas vous plaire"); + System.out.println(b.toString()); + + System.out.println("On peut maintenant afficher en itérant avec un while comme ceci"); + + while (b.hasNext()){ + System.out.println(b.next()); + } + + // ajouter du code ici pour gérer les questions en plus + // (simulation de plusieurs navigations successives) + + + // (simulation de plusieurs navigations simultanées) + } + +} diff --git a/DEV/DEV_Madelaine/TD4/1Iterable/MonBrin.java b/DEV/DEV_Madelaine/TD4/1Iterable/MonBrin.java new file mode 100644 index 0000000..473e131 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/1Iterable/MonBrin.java @@ -0,0 +1,42 @@ +import java.util.Iterator; +import java.util.NoSuchElementException; +/** + MonBrin code un brin d'ADN sous forme de liste simplement chaînée. + + Plusieurs instances de MonMaillon reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + + On n'utilise pas java.util et on recode tout. + + Cette version a un problème : la structuration et la navigation sont dans la même classe. +*/ +public class MonBrin implements Iterator{ + + public MonBrin(MonMaillon p){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public MonMaillon getDebut(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + + // rappel : on met @Override pour dire au compilateur qu'on veut surcharger (en particulier c'est le cas quand on implémente une interface) + // ce n'est pas nécessaire dans ce cas mais ça permet d'avoir des messages d'alerte si on se trompe (typo dans le nom de la méthode ...) + // voir https://stackoverflow.com/questions/94361/when-do-you-use-javas-override-annotation-and-why + @Override + public boolean hasNext(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + @Override + public Base next() { + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + throw new NoSuchElementException(); + + } + +} + + + + diff --git a/DEV/DEV_Madelaine/TD4/1Iterable/MonMaillon.java b/DEV/DEV_Madelaine/TD4/1Iterable/MonMaillon.java new file mode 100644 index 0000000..6f93fe5 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/1Iterable/MonMaillon.java @@ -0,0 +1,28 @@ +/** + MonMaillon code un maillon d'un brin d'ADN. + plusieurs instances reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + On n'utilise pas java.util et on recode tout. + +*/ +public class MonMaillon { + + + public MonMaillon(Base b){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public MonMaillon(Base b, MonMaillon l){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public Base getBase(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public MonMaillon getSuiteMaillon(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + +} + + diff --git a/DEV/DEV_Madelaine/TD4/2Iterator/Base.java b/DEV/DEV_Madelaine/TD4/2Iterator/Base.java new file mode 100644 index 0000000..5e6a4cf --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/2Iterator/Base.java @@ -0,0 +1,4 @@ +// juste un type énuméré pour nommer les bases +public enum Base { + A,C,G,T +} diff --git a/DEV/DEV_Madelaine/TD4/2Iterator/Exemple.java b/DEV/DEV_Madelaine/TD4/2Iterator/Exemple.java new file mode 100644 index 0000000..b48d0a7 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/2Iterator/Exemple.java @@ -0,0 +1,35 @@ +// Fichier Exemple pour le dernier exercice sur l'ADN (Iterable) + +public class Exemple{ + + public static void main(String[] args) { + + // codon GCT code l'analine https://en.wikipedia.org/wiki/DNA_codon_table + // stop codon TAG, voir https://en.wikipedia.org/wiki/Stop_codon + + System.out.println("construction du brin GCTTAG"); + MonMaillon l = new MonMaillon(Base.G); + l = new MonMaillon(Base.A,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.T,l); + l = new MonMaillon(Base.C,l); + l = new MonMaillon(Base.G,l); + + MonBrin m = new MonBrin(l); + + System.out.println("l'affichage par défaut du brin ne va pas vous plaire"); + System.out.println(m.toString()); + + System.out.println("On peut afficher en itérant avec forEach (une méthode proposée par Iterable, regardez la doc)"); + m.forEach(b -> System.out.println(b)); + + System.out.println("On a découplé la navigation de la structuration en implémentant iterable plutôt que iterator. On peut maintenant naviguer 2 fois facilement, c'est vraiment trop fort."); + m.forEach(b -> System.out.println(b)); + + System.out.println("On peut même utiliser les boucles avancées de Java 8 et notre code en devient presque pythonesque"); + for(Base b: m){ + System.out.println(b); + } + } + +} diff --git a/DEV/DEV_Madelaine/TD4/2Iterator/MonBrin.java b/DEV/DEV_Madelaine/TD4/2Iterator/MonBrin.java new file mode 100644 index 0000000..b6782cc --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/2Iterator/MonBrin.java @@ -0,0 +1,37 @@ +import java.util.Iterator; +import java.util.NoSuchElementException; +/** + MonBrin code un brin d'ADN sous forme de liste simplement chaînée. + + Plusieurs instances de MonMaillon reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + + On n'utilise pas java.util et on recode tout. + + Cette version est correcte : la structuration et la navigation sont dans 2 classes séparées. +La classe MonBrin implémente Iterable au sens où elle peut générer à la demande un objet Iterator. + +NB : Notez que j'implémente Iterable plutôt que Iterable qui n'était pas tout à fait propre +c'est un peu technique et c'est lié aux types génériques. + Il y a des détails ici +https://stackoverflow.com/questions/20790770/why-cant-i-assign-a-raw-type-to-a-parameterized-type-java?rq=1 +*/ +public class MonBrin implements Iterable{ + + + public MonBrin(MonMaillon p){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public MonMaillon getDebut(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + /** Pour naviguer? + On implémente l'interface iterator de java.util ici + L'avantage c'est que c'est standard et tout le monde comprendra sans trop de mal comment la navigation fonctionne. + **/ + @Override + public Iterator iterator() { + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } +} diff --git a/DEV/DEV_Madelaine/TD4/2Iterator/MonBrinIterator.java b/DEV/DEV_Madelaine/TD4/2Iterator/MonBrinIterator.java new file mode 100644 index 0000000..a2a85e7 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/2Iterator/MonBrinIterator.java @@ -0,0 +1,32 @@ +import java.util.Iterator; +import java.util.NoSuchElementException; + +/** +MonBrinIterator + +gère la navigation dans un Brin d'ADN + +*/ +public class MonBrinIterator implements Iterator { + + public MonBrinIterator(MonMaillon m){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + /** Pour naviguer? + On implémente l'interface iterable de java.util ici + L'avantage c'est que c'est standard et tout le monde comprendra sans trop de mal comment la navogation fonctionne. + **/ + @Override + public boolean hasNext(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + @Override + public Base next() { + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + +} + + diff --git a/DEV/DEV_Madelaine/TD4/2Iterator/MonMaillon.java b/DEV/DEV_Madelaine/TD4/2Iterator/MonMaillon.java new file mode 100644 index 0000000..d5e4c66 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/2Iterator/MonMaillon.java @@ -0,0 +1,29 @@ +/** + MonMaillon code un maillon d'un brin d'ADN. + plusieurs instances reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + On n'utilise pas java.util et on recode tout. + +*/ +public class MonMaillon { + + //Le constructeur de base retourne un brin à une base; + public MonMaillon(Base b){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + // Le constructeur évolué ajoute une base à un brin. + public MonMaillon(Base b, MonMaillon l){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public Base getBase(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public MonMaillon getSuiteMaillon(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + +} + + diff --git a/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/Base.java b/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/Base.java new file mode 100644 index 0000000..5e6a4cf --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/Base.java @@ -0,0 +1,4 @@ +// juste un type énuméré pour nommer les bases +public enum Base { + A,C,G,T +} diff --git a/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/Exemple.java b/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/Exemple.java new file mode 100644 index 0000000..b4afd21 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/Exemple.java @@ -0,0 +1,58 @@ +// Fichier Exemple pour le dernier exercice sur l'ADN (Iterable) + +public class Exemple{ + + public static void main(String[] args) { + + // codon GCT code l'analine https://en.wikipedia.org/wiki/DNA_codon_table + // codon CAT code Histidine + // codon CGT code Arginine + // codon GCC code Analine + // stop codon TAG, voir https://en.wikipedia.org/wiki/Stop_codon + + System.out.println("construction du brin CGT CAT CGT GCC CAT GCT TAG"); + MonBrin l = new MonBrin(Base.G); + l = new MonBrin(Base.A,l); + l = new MonBrin(Base.T,l); + // + l = new MonBrin(Base.T,l); + l = new MonBrin(Base.C,l); + l = new MonBrin(Base.G,l); + // + l = new MonBrin(Base.T,l); + l = new MonBrin(Base.A,l); + l = new MonBrin(Base.C,l); + // + l = new MonBrin(Base.C,l); + l = new MonBrin(Base.C,l); + l = new MonBrin(Base.G,l); + // + l = new MonBrin(Base.T,l); + l = new MonBrin(Base.G,l); + l = new MonBrin(Base.C,l); + // + l = new MonBrin(Base.T,l); + l = new MonBrin(Base.A,l); + l = new MonBrin(Base.C,l); + // + l = new MonBrin(Base.T,l); + l = new MonBrin(Base.G,l); + l = new MonBrin(Base.C,l); + // + + System.out.println("l'affichage par défaut ne va toujours pas vous plaire"); + System.out.println(l.toString()); + + System.out.println("On peut afficher en itérant avec forEach (une méthode proposée par Iterable, regardez la doc)"); + l.forEach(b -> System.out.println(b)); + + System.out.println("On a découplé la navigation de la structuration en implémentant iterable plutôt que iterator. On peut maintenant naviguer 2 fois facilement, c'est vraiment trop fort."); + l.forEach(b -> System.out.println(b)); + + System.out.println("On peut même utiliser les boucles avancées de Java 8 et notre code en devient presque pythonesque"); + for(Base b: l){ + System.out.println(b); + } + } + +} diff --git a/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/MonBrin.java b/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/MonBrin.java new file mode 100644 index 0000000..6cd0ad1 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/MonBrin.java @@ -0,0 +1,83 @@ +import java.util.Iterator; +import java.util.NoSuchElementException; + +/** +MonBrin code un brin d'ADN sous forme de tableaux. Dynamiquement, la taille du tableau est augmentée en cas de besoin (la taille est initialement 3*4 elle est multipliée ensuite pour être toujours de la forme 3*2^n). +On utilise System.arraycopy et java.util.Arrays.copyOfRange pour faire ça efficacement. +voir +https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#arraycopy-java.lang.Object-int-java.lang.Object-int-int- +https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#copyOfRange-T:A-int-int- + +Cette version est correcte : la structuration et la navigation sont dans 2 classes séparées. +La classe MonBrin implémente Iterable au sens où elle peut générer à la demande un objet Iterator. + +NB : Notez que j'implémente Iterable plutôt que Iterable qui n'était pas tout à fait propre +c'est un peu technique et c'est lié aux types génériques. + Il y a des détails ici +https://stackoverflow.com/questions/20790770/why-cant-i-assign-a-raw-type-to-a-parameterized-type-java?rq=1 +*/ + +public class MonBrin implements Iterable { + + /** + C'est le constructeur de base (pun intended) qui construit un brin à une base + + @param b : la base + + Ici je pourrais mettre un commentaire plus long sur le fonctionement détaillé de mon super constructeur. + + */ + public MonBrin(Base b){ + + } + + /** + C'est le constructeur évolué qui construit un brin en ajoutant la base donnée en argument devant le brin donné en argument. + + @param b : la base qui va aller devant + @param l : le brin qui sera à la suite + + NB. Ce constructeur est un peu obsolète avec la nouvelle structure interne. + On devrait en ajouter un qui prend en paramètre un tableau de bases. + */ + public MonBrin(Base b, MonBrin l){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public Base getBase(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public int length(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public int limit(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public int capacity(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public Base getBase(int i){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + public Base[] getBases(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + /** Pour naviguer? + On implémente l'interface iterator de java.util ici + L'avantage c'est que c'est standard et tout le monde comprendra sans trop de mal comment la navigation fonctionne. + **/ + @Override + public Iterator iterator() { + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + +} + + diff --git a/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/MonBrinIterator.java b/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/MonBrinIterator.java new file mode 100644 index 0000000..363d355 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/3IteratorDifferentInnerStructure/MonBrinIterator.java @@ -0,0 +1,33 @@ +import java.util.Iterator; +import java.util.NoSuchElementException; + +/** +MonBrinIterator + +gère la navigation dans un Brin d'ADN + +*/ +public class MonBrinIterator implements Iterator { + + //Le constructeur de base retourne un brin à une base; + public MonBrinIterator(MonBrin brin){ + } + + /** Pour naviguer? + On implémente l'interface iterable de java.util ici + L'avantage c'est que c'est standard et tout le monde comprendra sans trop de mal comment la navigation fonctionne. + **/ + + @Override + public boolean hasNext(){ + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + + @Override + public Base next() { + throw new UnsupportedOperationException("cette méthode n'est pas implémentée"); + } + +} + + diff --git a/DEV/DEV_Madelaine/TD4/explication.txt b/DEV/DEV_Madelaine/TD4/explication.txt new file mode 100644 index 0000000..9254e46 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/explication.txt @@ -0,0 +1,20 @@ +Les biologistes sont des gens étranges pour lesquels les string n'ont que 4 lettres : A,C,G ou T. +Ils ne connaissent pas les String, ils parlent d'ADN. + + +Le Brin est une succession de Maillons. +Il suffit de connaître le premier maillon pour définir un brin d'ADN. + + +----------+ + | maillon | + | | _____ next __> autre Maillon + | | + +----+-----+ + | + | val + \|/ + +----------+ + | Base | + | A | + | | + +----+-----+ diff --git a/DEV/DEV_Madelaine/TD4/stub/0Bad/MonBrin.java b/DEV/DEV_Madelaine/TD4/stub/0Bad/MonBrin.java new file mode 100644 index 0000000..9303c44 --- /dev/null +++ b/DEV/DEV_Madelaine/TD4/stub/0Bad/MonBrin.java @@ -0,0 +1,62 @@ +/** + MonBrin code un brin d'ADN sous forme de liste simplement chaînée. + + Plusieurs instances de MonMaillon reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base. + + On n'utilise pas java.util et on recode tout. + + Cette version a un problème : la navigation n'est pas raisonnable +*/ +public class MonBrin { + + private MonMaillon debut; + private MonMaillon fin; + + //Le constructeur fabrique un brin à partir du premier maillon p; + public MonBrin(MonMaillon p){ + this.debut = p; + while (suivant=p.getSuiteMaillon() != null){ + p = suivant; + } + this.fin = p; + } + + public MonMaillon getDebut(){ + return this.debut; + } + + public MonMaillon getFin(){ + return this.fin; + } + + public void addDernier(MonMaillon dernier){ + this.fin.setSuiteMaillon(dernier); + this.fin = dernier; + } + + public void addPremier(MonMaillon premier){ + premier.setSuiteMaillon(this.debut); + this.debut = premier; + } + + public void removePremier(){ + MonMaillon maillonASupprimer = this.debut; + this.debut = this.debut.getSuiteMaillon(); + } + + public void removeDernier(){ + MonMaillon current = this.debut; + while (suivant=current.getSuiteMaillon() != this.fin){ + current = suivant; + } + this.fin = this.debut.getSuiteMaillon(); + } + + /** et pour naviguer? + On pourrait implémenter l'interface iterator de java.util ici + **/ + + +} + + diff --git a/rien/sae.png.odg b/rien/sae.png.odg new file mode 100644 index 0000000000000000000000000000000000000000..744efc43aa961a5415bc3bdceec2c01cb793f0bd GIT binary patch literal 13842 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 literal 0 HcmV?d00001