Syntaxe Book Algo Book Algo Terre Algo Eau Algo Air
Problème Solution
- 1 -
Alphabet
Epreuve de la terre
- Javascript -
var lettre = "abcdefghijklmnopqrstuvwxyz";
var alphabet = lettre.split("");
var affichez = "";

for (i = 0; i < alphabet.length; i++) {
affichez += alphabet[i];
}

console.log("affichez = " + affichez);

for (j = 0; j < alphabet.length; j++) {
console.log(j + " = " + alphabet[j]);
}

console.log(alphabet);
- 2 -
Nom du programme
Epreuve de la terre
- Javascript -
const nom = process.argv[1];
var separe = nom.split("");
var affichez = "";

for (i = 49; i < separe.length; i++) {
affichez += separe[i];
}

console.log(affichez);
- 3 -
Afficheur d'argument
Epreuve de la terre
- Javascript -
var argument = process.argv.slice(2);
var affichez = "";

for (i = 0; i < argument.length; i++) {
affichez += argument[i];
console.log(affichez);
}
var separation = affichez.split("");

console.log(separation);

separation -= separation[3];
console.log(separation + " la lettre a disparue ?");
- 4 -
L'alphabet à partir
Epreuve de la terre
- Javascript -
var nom = process.argv[2];
var lettre = "abcdefghijklmnopqrstuvwxyz";
var affichez = "";
var a = "";

for (j = 0; j < lettre.length; j++) {
if (lettre[j] == nom) {
a = j;
}
}
var separation = affichez.split("");
for (i = a; i < alphabet.length; i++) {
affichez += alphabet[i];
}
console.log(affichez);
- 5 -
nombre pair ou impair
Epreuve de la terre
- Javascript -
const num = process.argv[2];
let res = num % 2

if (isNaN(res)) {
console.log("Tu ne me la mettras pas à l'envers")
} else if (res === 0) {
console.log("pair")
} else {
console.log("impair")
}
- 6 -
division euclidienne
Epreuve de la terre
- Javascript -
const num1 = parseInt(process.argv[2])
const num2 = parseInt(process.argv[3])
let res = num1 % num2
let div = (num1-res) / num2

if (isNaN(num2) || isNaN(num1)) {
console.log("Veuillez entrer deux chiffre comme argument")
} else if (num2 == 0 || num1 < num2) {
console.log("Erreur")
} else {
console.log("Resultat : " + div)
console.log("Reste : " + res)
}
- 7 -
Sens inversé
Epreuve de la terre
- Javascript -
const arg = process.argv[2];
let reverse = "";

if (process.argv.length !== 3) {
console.log("Veuillez indiquer un et un seul argument au script");
} else {
const length = process.argv[2].length;
for (let x = 1; x <= length; x++) {
reverse += arg[length - x];
}
}

console.log(reverse);
- 8 -
Taille de l'argument
Epreuve de la terre
- Javascript -
const arg = process.argv;
const arg2 = process.argv[2]
const num = arg2 - 1;

if (arg.length !== 3) {
console.log("Veuillez indiquer au script, qu'un seul argument");
} else if (!isNaN(num)){
console.log(
"Veuillez indiquer au script, un string en argument.
Ex : node terre08.js \"Le ciel est bleu\" ")
);
} else {
console.log(arg2.length)
}

- 9 -
Calculer la puissance d'un nombre
Epreuve de la terre
- Javascript -
const num = process.argv[2];
const exp = process.argv[3];
const chi = num - exp;

if (isNaN(chi)) {
console.log("Veuillez indiquer deux chiffres en argument");
} else if (num < 0 || exp < 0) {
console.log("Veuillez indiquer un chiffre positif");
} else {
console.log(num ** exp);
}

- 10 -
trouver la racine carré d'un nombre
Epreuve de la terre
- Javascript -
const arg = process.argv[2];
let start = arg;
let int = [];
let car;
let min;
let max;
let mil;
let stop = 0;
let val = [];
let y = 0;

if (arg % 1 !== 0) {
console.log("Veuillez indiquer un chiffre entier en argument");
return;
}

//Boucle qui détermine un interval assez proche de la racine carrée
while (int.length < 2) {
start = Math.round(start / 2);
if (start * start > arg) {
//Détermine la valeur haute de l'interval
int.shift();
int.push(start);
} else if (start * start < arg) {
//Détermine la valeur basse de l'interval
int.unshift(start);
} else {
console.log("La racine carré de " + arg + " est " + start);
return;
}
}

min = int[0];
max = int[1];
mil = Math.round((max - min) / 2);
car = min + mil;

// Boucle qui détermine le carré du nombre
// en mettant au carré le millieu de l'intervale
if (car * car == arg) {
console.log("La racine carré de " + arg + " est " + car);
return;
}

while (stop < 100) {
if (car * car > arg) {
//Ajoute au millieu la moitié de la différence
mil /= 2; //entre le max et le min de l'interval
car -= Math.round(mil);
y++;
val[y] = car;
} else if (car * car < arg) {
//Soustrait au miilieu la moitié de la différence
mil /= 2; //entre le max et min de l'interval
car += Math.round(mil);
y++;
val[y] = car;
} else if (car * car == arg) {
console.log("La racine carré de " + arg + " est " + car);
return;
}
stop++;
}

console.log(arg + " n'a pas de racine carrée");
- 11 -
nombre premier
Epreuve de la terre
- Javascript -
const arg = process.argv[2];
const chi = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
let res = 0;
let win;

function premier(arg) {
if (arg % 1 !== 0) {
console.log("Veuillez indiquer un chiffre entier en argument");
return;
}

if (arg == 0 || arg == 1) {
console.log(arg + " n'est pas un nombre premier");
win = false;
}

for (let x = 2; x < chi.length; x++) {
if ((arg / chi[x]) % 1 == 0) {
res++; }
}

if (arg <= 10 && res > 1) {
console.log(arg + " n'est pas un nombre premier");
win = false;
} else if (arg > 10 && res >= 1) {
console.log(arg + " n'est pas un nombre premier");
win = false;
} else {
console.log(arg + " est un nombre premier");
win = true;
}
return win;
}

premier(arg);
- 12 -
Converti un heure en 24h/12h
Epreuve de la terre
- Javascript -
if (process.argv[2] == undefined) {
console.log(
"Veuillez indiquer au script,
un heure au format 24. Exemple : node terre12.js 18:00"
);
return;
}

const heure = process.argv[2].split(":");
const min = heure[1];
let hour;

if (parseInt(heure[0]) > 12) {
hour = heure[0] - 12;
console.log(hour + ":" + min + "PM");
} else if (parseInt(heure[0]) === 12) {
console.log(heure[0] + ":" + min + "PM");
} else if (parseInt(heure[0]) === 00) {
hour = 12;
console.log(hour + ":" + min + "AM");
} else {
hour = heure[0];
console.log(hour + ":" + min + "AM");
}
- 13 -
Converti un heure en 12h/24h (inversé)
Epreuve de la terre
- Javascript -
let heure;
let min;
let hour;

if (process.argv[2] == undefined) {
console.log(
"Veuillez indiquer au script,
une heure au format 12 avec l'indication AM ou PM.
Exemple : 12:00PM"
);
return;
}

heure = process.argv[2].split(":");
min = heure[1];

if (min[3] !== "M") {
console.log(
"Veuillez indiquer au script,
une heure au format 12 avec l'indication AM ou PM.
Exemple : 12:00PM"
);
return;
} else if (heure[0] > 12) {
console.log("Veuillez indiquer une heure au format 12");
return;
}

if (parseInt(heure[0]) === 12 && heure[1][2] === "A") {
hour = 00;
min = [heure[1].slice(0, -2)];
console.log(hour + ":" + min);
} else if (heure[1][2] === "P" && parseInt(heure[0]) !== 12) {
hour = parseInt(heure[0]) + 12;
console.log(hour + ":" + min.slice(0, -2));
} else {
hour = heure[0];
console.log(hour + ":" + min.slice(0, -2));
}
- 14 -
Valeur du milieu
Epreuve de la terre
- Javascript -
if (process.argv[2] == undefined) {
console.log(
"Veuillez indiquer trois nombres en argument.
Ex : terre14.js 24 85 69"
);
return
} else if (process.argv.length != 5) {
console.log(
"Veuillez indiquer trois nombres en argument.
Ex : terre14.js 24 85 69"
);
return
}

/* Permet de trier les nombres passés en argument de façon décroissante */

// Transformation Tableau de String en Tableau de Nombre
process.argv.shift(process.argv[0]); process.argv.shift(process.argv[1]);

let argString = process.argv;
let argNumber = [];

for (x = 0; x < argString.length; x++) {
argNumber[x] = parseInt(argString[x]);
}

let arg = argNumber;
let tab = [];

let i = 0;
let j = 0;

while(arg.length != tab.length) {
if ((arg[i] <= tab[j]) || (tab[j] == undefined)) {
tab.splice(j, 0, arg[i]);
i++;
j = 0;
} else {
j++;
}
}