Pages

correction de Range


let r = range(1,10,2)


lire

Unique !

Voici de nombreuses écriture du code "unique" qui supprime tous les doublons.




Articles

Qui suis je ?

Dessiner deux ensembles A et B et imaginer ce que vaut i (lig. 11).
  1. let A = [0,2,6],
  2.     B = [0,2,3,4];

  3. function e(tab1, tab2) {
  4.     
  5.     tab1.forEach( v1  => tab2 = tab2.filter(v2 => v2 != v1))

  6.     return tab2;
  7. }

  8. let i = [...e(B,A),...e(A,B)]

Qui suis je ?


Analyser ce code. quel nom donner à cette fonction ?
  1. let A = [2,0,2,0,2,3];
  2. let B = [0,2,3,4];

  3. function name(a1, a2) {
  4.     let t = [];
  5.     if (a1.length > a2.length) {
  6.       [a1,a2]=[a2,a1];
  7.     }

  8.     a1.forEach(function (val1) {
  9.         if (a2.some(val2 => val2 === val1)) {
  10.             t.push(val1)
  11.         }
  12.     });  
  13.     return t
  14. }

  15. let i = name(A,B);

 Quel nom donner à la fonction name ?


Puissance de JS

let A = [2,0,2,0,2,3];
let B = [0,2,3,4];

Tenter de trouver un code équivalent à l'intersection de deux tableaux !

let v = [...new Set([...A, ...B])];



*Revision

passage des paramètres



Ecrire les valeurs affichées



const testPassagePara = function(args) {

    let start = args;
    
    return [start];

}

console.log(testPassagePara(1))

//-------------------------------------------
const testPassagePara = function(args) {

    let start = args;
    
    return [start];

}
console.log(testPassagePara())

//-------------------------------------------
const testPassagePara = function(args=-1) {

    let start = args;
    
    return [start];

}

console.log(testPassagePara())

//-------------------------------------------
const testPassagePara = function(...args) {

    let [start,end,step] = args;
    
    return [start,end,step];

}
console.log(testPassagePara(1, 5, 2, -1))

//-------------------------------------------
const testPassagePara = function(...args) {

    let [start,end,step] = args;

    return {start,end,step};
}


console.log(testPassagePara(1, 5, 2, -1))

//-------------------------------------------
const testPassagePara = function(...args) {

    let [start,end,step] = args;

    return {start,end,step};
}


console.log(testPassagePara(1))

//-------------------------------------------
const testPassagePara = function(...args) {

    let [start=0,end=0,step=1] = args;

    return [start,end,step];
}


console.log(testPassagePara(1))

Entrainement à l'algo

let t = [2,0,2,0,2,3];

trouver la fonction qui renvoie unique = [2,0,3]



Entrainement à l'algo

Trouver la fonction qui ne garde que les valeurs de t non incluse dans e

let e = [2,3,4],
     t =  [0,2,2,6,1,3];

résultat :  [0, 6, 1]

*Révisions


  1. for of et la destructuration
  2. La fonction de filtre
  3. Le clonage d'un tableau
  4. La fonction de transformation

range



 *range(4);
 * // => [0, 1, 2, 3]
 *
 *range(-4);
 * // => [0, -1, -2, -3]
 *
 *range(1, 5);
 * // => [1, 2, 3, 4]
 *
 *range(0, 20, 5);
 * // => [0, 5, 10, 15]
 *
 *range(0, -4, -1);
 * // => [0, -1, -2, -3]
 *
 *range(1, 4, 0);
 * // => [1, 1, 1]
 *


Design Pattern : decorated



Etude du code

Range à fond la forme

En python  :
class range(start: int, stop: int, step: int=...)
range(stop) -> range object range(start, stop[, step]) -> range object
Return an object that produces a sequence of integers from start (inclusive) to stop (exclusive) by step. range(i, j) produces i, i+1, i+2, ..., j-1. start defaults to 0, and stop is omitted! range(4) produces 0, 1, 2, 3. These are exactly the valid indices for a list of 4 elements. When step is given, it specifies the increment (or decrement).

= range(6)
for n in x:
  print(n,x)
0 range(0, 6) 1 range(0, 6) ... 5 range(0, 6)

x = range(5,2,-1)
for n in x:
  print(n,x)
5 range(5, 2, -1) ... 3 range(5, 2, -1)

Ecrire l'équivalent en JS

Les filières d'informatique à Evry


Le 27 Novembre, trois anciens étudiants présenterons leur parcours au sein des filières informatique du département d'informatique de l'Université d'Evry.

ASR

Méhdi Denou, Ingénieur support et Architect HPC Bull/ATOS

CILS 

Jeremy SOBIERAJ, 27ans, Ingénieur de Recherche à l’Institut de Recherche Technologique SystemX

MIAGE

Kévin Anandout, 27 ans, Consultant Digital Senior chez Expertime

CFA AFIA

En présence du responsable Xavier Cren du Centre de Formations en Alternance des formations supérieures en informatique, numérique, finance en Ile-de-France.




Mercredi 27 Novembre : Inscription obligatoire


Au Menu ce WE !

En python  :
class range(start: int, stop: int, step: int=...)
range(stop) -> range object range(start, stop[, step]) -> range object
Return an object that produces a sequence of integers from start (inclusive) to stop (exclusive) by step. range(i, j) produces i, i+1, i+2, ..., j-1. start defaults to 0, and stop is omitted! range(4) produces 0, 1, 2, 3. These are exactly the valid indices for a list of 4 elements. When step is given, it specifies the increment (or decrement).

= range(6)
for n in x:
  print(n,x)
0 range(0, 6) 1 range(0, 6) 2 range(0, 6) 3 range(0, 6) 4 range(0, 6) 5 range(0, 6)

x = range(5,2,-1)
for n in x:
  print(n,x)
5 range(5, 2, -1) 4 range(5, 2, -1) 3 range(5, 2, -1)

Ecrire l'équivalent en JS

On ne regarde pas les solutions Internet !

PUB


Game :

Pour répondre à un étudiant de L2 info sur les jeux






Aide au projet 2

Rappels importants sur les références et les tableaux : lecture.

J-1 avant fermeture

La saison 1 est terminée : Time is over