We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.
Merci !
Where are the answers/results/solution for all these questions ??
I'd like to know what i'm getting wrong... Or why it says my exercise is wrong but i get the right result...
PLEASE <3
yes
Salut ! je suis bloquée sur les "Opération sur les variables"
pourtant j'ai l'impression que c'est juste .Aidez-moi svp ! Merci
// Déclarez les variables comme dans l'exercice précédent et appliquez les opérations demandées
let num = 33;
const x = num++;
x;
let txt = "255";
let bin = false;
let y = txt +" " +"est ici une chaîne de caractères";
y;
let flt = 34;
flt;
console.log(num);
console.log(y);
console.log(bin);
console.log(flt);
Voici le code qui a marché pour moi :
var num = 255;
num++
var txt = '255 '+'est ici une chaîne de caractères';
var bin = false;
var flt = 7.23 + num;
Bonjour,
Je ne comprend absolument pas l'exercice boucle et tableau. Help me please :(
Salut !
Voici une nouvelle façon d'expliquer l'énoncé :
Tu dois créer une fonction initXY qui va remplir tes deux tableaux posX et posY. Ces tableaux doivent contenir les abscisses et les ordonnées
de 20 points, chacun se situant à 40 pixels vers la droite et 30 pixels vers le bas du point précédent. Nos tableaux auront donc une longueur
de 20 chacun, avec pour posX une différence de 40 entre chaque valeur (ex : [0,40,80,...]) et pour posY une différence de 30 entre chaque
valeur (ex : [0,30,60,...]). Dans mes deux exemples en parenthèses, je dois comprendre que le premier point a pour coordonnée (0,0), le
deuxième (40,30), //etc.
Petits indices si tu veux continuer à cherche une solution par toi même :
indice 1 :
indice 2 :
indice 3 :
Je te propose une solution possible en dessous. Je te mets deux versions, la première sans commentaire. La deuxième avec commentaires pour mieux comprendre ce que j'ai fait (moi aussi au début je n'avais pas compris le retour attendu). Les commentaires commence par //.
VERSION 1 (sans commentaires) :
var posX = [];
var posY = [];
function initXY(x0,y0){
for(i=0;i<20;i++){
posX.push(x0+i*40);
posY.push(y0+i*30);
}
}
VERSION 2 (avec commentaires) :
//Initialisation des variables globales posX et posY qui seront accessibles partout dans le code, y compris dans la fonction initXY.
var posX = [];
var posY = [];
//Création de la fonction initXY qui doit remplir les tableaux posX et posY. Ces tableaux doivent contenir les abscisses et les ordonnées
//de 20 points, chacun se situant à 40 pixels vers la droite et 30 pixels vers le bas du point précédent. Nos tableaux auront donc une longueur
//de 20 chacun, avec pour posX une différence de 40 entre chaque valeur (ex : [0,40,80,...]) et pour posY une différence de 30 entre chaque
// valeur (ex : [0,30,60,...]). Dans mes deux exemples en parenthèses, je dois comprendre que le premier point a pour coordonnée (0,0), le //deuxième (40,30), etc.
function initXY( x0, y0 ){
//Je créer une boucle dans ma fonction initXY de 20 tours car je dois remplir mes tableaux de 20 cases.
for(i=0;i<20;i++){
posX.push(x0+i*40); //la méthode push permet de rajouter une valeur à la fin du tableau.
posY.push(y0+i*30);
}
}
// Notes : je n'ai pas besoin de return car j'ajoute directement aux variables posX et posY.
// J'utilise le terme méthode pour désigner la fonction push car elle appartient à une classe. (ici celle des array) Pour mieux comprendre si
// cela ne t'es pas familier, je t'invite à te familiariser avec l'orienté objet.
Voila :) en espérant avoir été claire.
Bonne continuation dans ton apprentissage et bonne journée.
just so you know, in the last exercise of part 3 when referring to "arg1.arg2", a multiplication is expected.
pour info, dans le dernier exercice de la partie 3 "arg1.arg2" fait référence à la multiplication des deux arguments.
function aprec(note){
if(note >=0 && note <7){
return "Hideux";
}
else if(note >=7 && note <10){
return "Moche";
}
else if(note >=10 && note <15){
return "Nice";
}
else if(note >=15 && note <=20){
return "GG";
}
else {
return "BUG";
}
}
je ne comprends pas, j'ai mis le code suivant pour la partie 5 exercice 2 :
var tablo = [1,2,3]
var item = tablo[1]
item = 5
et ça fonctionne pas... je ne vois pas mon erreur
Bonjour, Ce n'est pas item=5; mais tablo[1]=5; pour assigner la valeur 5 dans la seconde position de tablo.
Courage!
Sah c'est plutôt dur mais très bien pour réviser le javascript
Hey
I just started learning javascript, any tips and tricks?
Bonjour,
Je commence avec le javascript, des conseils à me donner?
Merci.
Hello,
Je galère grave sur l'exercice 2 ou peut on trouver les réponses?
idem
"arg1.arg2" fait référence à la multiplication des deux arguments arg1*arg2
pareille pour moi, je suis à l aret total! en fait après 2 ans tu as réussi ou pas? XD
laisse poce bleu
Bonjour à tous !
Je ne comprends pas pourquoi l'exercice 2 n'est pas validé ...
(Test sur le type des paramètres)
voici mon code :let test1 = 48;
let test2 = 'test2';
function myFct (arg1, arg2){
if((typeof(arg1)==="string")||(typeof(arg2)==="string")){
return -999999999;
} else {
return arg1*arg2 + arg1 + arg2;
}
}
myFct(test1, test2);
Merci d'avance
Salut a toi je ne sais pas si tu as réussi depuis le temps mais j'ai été pas mal bloqué moi aussi et j'ai fini par trouver
Voici le code a utilisé :
if(typeof(arg1) !== "number" || typeof(arg2) !== "number" ){
return -999999999 ;
} else {
return arg1*arg2 + arg1 + arg2;
}
}
Bonjour, Je ne trouve pas la réponse de l'ex 'Boucle et tableau' quelqu'un peut m'aider?
Salut !
Voici une nouvelle façon d'expliquer l'énoncé :
Tu dois créer une fonction initXY qui va remplir tes deux tableaux posX et posY. Ces tableaux doivent contenir les abscisses et les ordonnées de 20 points, chacun se situant à 40 pixels vers la droite et 30 pixels vers le bas du point précédent. Nos tableaux auront donc une longueur 20 chacun, avec pour posX une différence de 40 entre chaque valeur (ex : [0,40,80,...]) et pour posY une différence de 30 entre chaque valeur (ex : [0,30,60,...]). Dans mes deux exemples en parenthèses, je dois comprendre que le premier point a pour coordonnée (0,0), le deuxième (40,30), //etc.
Petits indices si tu veux continuer à cherche une solution par toi même :
indice 1 :
indice 2 :
indice 3 :
Je te propose une solution possible en dessous. Je te mets deux versions, la première sans commentaire. La deuxième avec commentaires pour mieux comprendre ce que j'ai fait (moi aussi au début je n'avais pas compris le retour attendu). Les commentaires commence par //.
VERSION 1 (sans commentaires) :
var posX = [];
var posY = [];
function initXY(x0,y0){
for(i=0;i<20;i++){
posX.push(x0+i*40);
posY.push(y0+i*30);
}
}
VERSION 2 (avec commentaires) :
//Initialisation des variables globales posX et posY qui seront accessibles partout dans le code, y compris dans la fonction initXY.
var posX = [];
var posY = [];
//Création de la fonction initXY qui doit remplir les tableaux posX et posY. Ces tableaux doivent contenir les abscisses et les //ordonnées de 20 points, chacun se situant à 40 pixels vers la droite et 30 pixels vers le bas du point précédent. Nos tableaux //auront donc une longueur de 20 chacun, avec pour posX une différence de 40 entre chaque valeur (ex : [0,40,80,...]) et pour posY //une différence de 30 entre chaque valeur (ex : [0,30,60,...]). Dans mes deux exemples en parenthèses, je dois comprendre que le //premier point a pour coordonnée (0,0), le deuxième (40,30), //etc.
function initXY( x0, y0 ){
//Je créer une boucle dans ma fonction initXY de 20 tours car je dois remplir mes tableaux de 20 cases.
for(i=0;i<20;i++){
posX.push(x0+i*40); //la méthode push permet de rajouter une valeur à la fin du tableau.
posY.push(y0+i*30);
}
}
// Notes : je n'ai pas besoin de return car j'ajoute directement aux variables posX et posY.
// J'utilise le terme méthode pour désigner la fonction push car elle appartient à une classe. (ici celle des array) Pour mieux
// comprendre si cela ne t'es pas familier, je t'invite à te familiariser avec l'orienté objet.
Voila :) en espérant avoir été claire.
Bonne continuation dans ton apprentissage et bonne journée.
Bonjour,
Question bête mais que signifie TMP ?
Salut, si tu fais référence au nom de variable tmp, il s'agit souvent d'un raccourcis pour le terme "temporaire" (ou temporary en anglais).
La plupart du temps, on nomme une variable comme ça quand elle ne sera utilisée qu'un court instant dans le code. Souvent pour stocker des valeurs intermédiaires.
Bonne journée.
franchement, j'ai rien compris à l'exercice 6.2 : Réalisez la fonction initXY , dans mon code sur Vscode, j'arrive à plusieurs résultats cohérents mais je dois surement pas comprendre ce qui est demandé car j'ai toujours des erreurs dans l'editeur de codingame.. c'est assez frustrant je dois dire .......
Voilà :
const posX = [];
const posY = [];
function initXY(x0, y0) {
for (let i = 0; i < 20; i++) {
posX[i] = x0 + (i*40);
posY[i] = y0 + (i*30);
}
}
initXY(100, 200);
console.log(posX);
console.log(posY);
Boucle et fonction :
function puissance (x, n){
var result = 1;
if(n == undefined)
n = 2;
for(var i=1; i<=n; i++) {
result = result * x;
}
return result;
}
console.log(puissance(2,4));
just chill dude its for beginner Have Fun and Good luck :D
je suis bloqué sur l'avant-dernier exercice et je me pose la question suivante, je suis arrivé au résultat avec ce code :
// Déclarez les variables
let num = 23;
let txt = "33";
let tmp = 0;
// et appliquez les opérations demandées
parseInt("33", 10);
tmp = tmp + parseInt("33", 10);
// Affichage du résultat
console.log(num+tmp);
// {
L'erreur en question:
56
Opération sur les variables : num, txt, et tmp:
1) Opération sur les variables : num, txt, et tmp
0 passing (22ms)
1 failing
1) Opération sur les variables : num, txt, et tmp:
AssertionError: 56 == 23
+ expected - actual
-56
+23
at Context.<anonymous> (test_variables4.js:7:12)
j'ai ça comme erreur et "revoyez vos opérateurs comme conseil, je n'ai pas compris pourquoi je n'arrive pas ? Peut-être parce que je ne suis pas arrivé à attribuer mon parseInt à mon txt?
Hello , voila j'ai un souci avec l'exercice sur la function istoolong pourriez vous m'aider a résoudre ce problème ? Voici mon code peut être une erreur de ma part "surement" , fin je ne sais pas ^^ :
function isTooLong(Bonjour) {
if (Bonjour.lenght > 10) {
return Truc (" la chaîne dépasse 10 caractères ")
}else {
return false (" la chaîne dépasse pas 10 caractères ")
}
}
console.log(isTooLong("bonjour"))
why am I wrong?
function isTooLong (str){
if(typeof str === "string"){
if(str.length > 10){
console.log("true");
}else{
console.log("false");
}
}else{
console.log("Ce n'est pas un string");
}
}
isTooLong("La vie est belle");
Hello,
You have to use the function "typeof" like that : typeof(str).
And you have to return a boolean value instead of console.log("true") (here you just print a string)
If i use you syntax, i get this :
function isTooLong (str){
if(typeof(str) === "string"){
if(str.length > 10){
return true;
}else{
return false;
}
}else{
console.log("Ce n'est pas un string");
}
}
isTooLong("La vie est belle")
Personaly, i create this function :
function isTooLong(txt){
return txt.length>10
}
Bon apprentissage et bonne journée !
what's the answer of this please ?
// Réalisez la fonction sortNumbers
function sortNumbers( tInit, tInf, tSup ) {for(var i=0; i<tinit.length;i++){if(tinit[i]<10)tinf.push(tinit[i]);if(tinit[i]>=10) tSup.push(tInit[i]); }}
Il n'y a pas de correction ?? NUL !
bonjour,
Pouvez vous m'aider voici mon code pour l'exercice :
Accédez aux données d'un tableau et les modifier
-Reprenez tablo qui contient 1, 2 et 3 de l'exercice précédent
-Accédez au 2ème élément du tableau tablo et rangez la valeur dans une variable nommée item
-Remplacez le 2ème élément du tableau par le nombre 5
mon code :
const tablo = [1,2,3];
let item = tablo[1];
tablo.slice(1,1, "5");
merci d'avance
Bonjour,
Tu n'as pas besoin de la méthode Slice
Ici un simple table[1] = 5
suffit 😉
Puis slice permet de copier une partie du tableau d'origine en lui indiquant l'index de début et de fin de copie (non inclu) et de mettre le résultat dans un nouveau tableau.
Donc ton code ici va renvoyer un tableau vide.
Par exemple:
const tablo = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let result = tablo.slice(0,5)
Ici result vaudra: [1, 2, 3, 4, 5]
Ma solution pour la fonction sortNumbers:
function sortNumbers( tInit, tInf, tSup)
{
tInit.forEach((el)=> (el < 10) ? tInf.push(el): tSup.push(el))
}
answer at exercise 3 :
function myFct(arg1,arg2){
return arg1*arg2 + arg1 + arg2;
}
// {
module.exports = {
myFct: myFct
};
// }
function myFct(arg1, arg2){
return (arg1*arg2) + arg1 + arg2
Sieur Bruniaux, je vous remercie donc de votre exercice,
bien à vous;
Liam Moreno
Idem, je bloque sur l'exercice 2, par contre je trouve débile, qu'au final il y est pas de réponse corrigés et expliqués surtout
Salut,
Voila un peu d'aide qui, je l'espère te sera utile. En premier lieu, je te laisse des aides si tu veux essayer encore de chercher une solution. Puis, je te propose une correction possible à la fin.
Appliquez à num l'opérateur d'incrémentation
L'opérateur d'incrémentation est : ++
Écrire
variable1 = variable1+ 1OU variable1 += 1OU variable1++OU++variable1
Te permet dans les 4 cas d'ajouter 1 à la variable1. A noter que tu n'a pas besoin d'écrire "variable =" quand tu utilise l'opérateur ++, c'est implicite que tu ajoutes directement 1 à la variable1 (tu ne peux pas ajouter plus de 1 avec l'opérateur d'incrémentation ++). Attention il y a une différence entre mettre ++ avant ou après, en fait tu indiques à l'interpréteur s"il commence par ajouter 1 (++ devant) ou si tu le fais à fin de ton bloc de code (++ après).
Par exemple,
si j'écris
var a = 30;
var b = a++;
Ca te donne un résultat différent de
var a = 30;
var b = ++a;
Je te laisse tester dans un compilateur javascript pour voir par toi même :)
Concaténez à la chaîne txt la chaîne " est ici une chaîne de caractères"
exemple : "La vie" + " est belle." correspond à une nouvelle chaine de caractère "La vie est belle."
Un code possible donne donc
var ch = "La vie";
ch += " est belle."; (ici j'utilise une syntaxe raccourcis pour ajouter et enregistrer en même temps à la variable ch la chaine de caractères " est belle." Tu peux aussi écrire si tu n'es pas à l'aise avec cette syntaxe ch = ch+ " est belle.")
Inversez la valeur logique de bin
Tu le retrouves dans les conditions pour exprimer "différent de" exemple : 6 != 7
Si tu veux inverser une valeur boolean true, tu peux écrire !true. A toi d'adapter cette syntaxe si la valeur true se trouve dans une variable (ici bin).
Ajoutez à flt la valeur contenue dans num
exemple :
var a = 0;
a = a+ 6;
ou
a += 6; (syntaxe plus courte pour ajouter et stocker directement dans la variable.)
Voici une correction possible (les lignes commençant par // sont des commentaires):
//Déclaration des variables num,txt,bin et flt
var num = 255, txt = "255", bin = true, flt = 7.23;
//Opérations sur les variables.
num++;
txt += " est ici une chaîne de caractères";
bin = !bin;
flt += num
Voila, bonne continuation et bonne journée.
Answer for Modifiez un tableau avec push et pop
function sortNumbers( tInit, tInf, tSup )
{
var temp=0;
tInit.sort((a, b) => a - b);
console.log("sorted numbers"+tInit);
tInit.forEach((element) => {
if (element <10) {
temp = element;
tInf.push(temp);
}else if(element >=10) {
temp = element;
tSup.push(temp);
}
});
}
Je ne comprend pas ce que je dois faire pour l'exercice du Tests imbriqués !
utilise l'opérateur &&. lis bien l'énoncé. Je t'ai mis en spoil le résultat si tu veux le voir mais essaye d'abord toute seule
function aprec(X){
if( X >=0 && X < 7) {return "Hideux"}
else if (X >=7 && X < 10 ){ return "Moche"}
else if (X >=10 && X < 15) {return "Nice"}
else if (X >=15 && X <= 20) {return "GG"}
else return "BUG"
}
Coucou, qui fait NSI la ? si vous faites NSI force à vous bande de bg !
Bonjour à tous !
Encore une fois, algo bon sur JSBIn mais ici ECHEC ... function aprec(test){
if (test < 7){
return 'Hideux';
} else if (test < 10){
return 'Moche';
} else if (test < 15){
return 'Nice';
} else if (test <= 20){
return 'GG'
} else {
return 'BUG';
}
}
const aprec = (note) => {
if(note >=0 && note <= 6){
return "Hideux";
}
else if(note >=7 && note <=9){
return "Moche";
}
else if(note >=10 && note <=14){
return "Nice";
}
else if(note >=15 || note == 20){
return "GG";
}
else {
return "BUG";
}
}
aprec(18)
pas envoie comme résultat : arg1.arg2 + arg1 + arg2 mais -> envoie comme résultat : arg1 * arg2 + arg1 + arg2