Java Script

Algorithmique

Sommaire :

Les variables

La société Simplon.co a demandé à ta collègue Ada de rédiger un morceau de code qui sera utilisé pour la com.

Ce code permettra de connaître la prochaine date de formation.

Ada a utilisé la variable dateFormation pour stocker la date mais son code ne fonctionne pas.

 

Aide là à trouver la solution.

var dateFormation = "16 février 2021";

console.log(`La prochaine formation commencera
à partir du ${dateformation}`);

résultat

${dateFormation};

Il fallait faire attention au nom donné à notre variable.

 

la variable était écrite en camelCase.

 

c'était donc dateFormation et non dateformation.

La société Simplon.co demande à ta collègue Ada de calculer la somme du nombre de like du dernier post Twitter du jour et de la veille.

 

Ada est proche du but mais son code ne fonctionne pas.

 

Aide la à trouver la solution.

var likeHier = "245";
var likeAujourdhui = 321;
var totalLike = likeHier + likeAujourdhui;

console.log(totalLike);

résultat

var likeHier = 245;

La variable likeHier était une variable de type string.

 

En concaténant une variable de type string et un number, on obtient une chaîne de caractères.

 

Il fallait donc mettre la variable likeHier en number en enlevant les guillemets.

La société Simplon.co demande à ta collègue Ada de créer une réunion dans le planning avec l'heure de début.

 

Ada a laissé le stagiaire s'en occuper mais il n'y arrive pas.

 

Aide le à trouver la solution.

var h = 10;
var m = 45;
var separateur = h;
var debutReunion = H + separateur + M;

console.log(`La réunion commence à ${debutReunion}`);

résultat

En JS, la casse compte. Dans ce cas H et h ainsi que M et m ne sont pas les mêmes noms.

Pour la variable separateur, h correspond à la première variable, il faut donc le mettre entre guillemets pour le faire passer en string.

var h = 10;
var m = 45;
var separateur = 'h';
var debutReunion = h + separateur + m;

console.log(`La réunion commece à ${debutReunion}`);

Number

Afficher dans la console l'opération de 2 * 4 + 6, le tout divisé par 2.

console.log();

résultat

En mathématiques, pour prioriser une opération, il faut la mettre entre parenthèses.

console.log((2 * 4 + 6) / 2);
console.log();

La société Simplon.co a besoin d'une estimation du coût d'achats de cadeaux pour les partenaires.

 

La société a dans sa base de données 245 partenaires auxquels s'ajoutent 38 nouveaux partenaires.

 

L'achat et l'envoi d'un cadeau coûte en tout 5€35.

 

Aide Ada a calculer le prix final de l'opération.

résultat

En mathématiques, pour prioriser une opération, il faut la mettre entre parenthèses.

console.log((245 + 38) * 5.35);
console.log();

Le budget maximum étant de 1500€, Ada a donc cherché une autre entreprise et a finalement trouvé une autre offre à 3€20.

 

Par contre, cette entreprise fait facturer un supplément de 500€ pour les taxes.

 

Aide Ada a calculer le prix final de la nouvelle offre.

résultat

Il fallait changer la valeur du nouveau prix afin de le multiplier à la somme des partenaires plus le supplément.

console.log((245 + 38) * 3.2 + 500);
console.log();

Pour financer la nouvelle campagne marketing, Ada organise une levée de fonds et fait appel à des investisseurs et des amis.

 

L'argent récolté des investisseurs est taxé à 5,5% et celui de ses amis ne l'est pas.

 

Ada a récolté 1328€ des investisseurs et 565€ de ses amis.

 

Ada te demande de l'aider à calculer le bénéfice. Les bénéfices sont les sommes récoltées moins les taxes.

résultat

Il fallait d'abord calculer la somme taxée. C'est à dire la somme - 5,5% puis la soustraire à la somme non taxée pour avoir le compte juste.

 

Pour finir, il faut additionner cette somme taxée à la somme versée des amis d'Ada...

console.log(1328 - (1328 * 5.5 / 100) + 565);

Les conditions

La société Simplon.co pose des conditions d'entrée à sa future formation.

 

Seules les femmes âgées d'au moins 18 ans peuvent prétendre à rentrer en formation.

 

Une jeune femme nommée Hedy a envoyé sa candidature.

 

Aide Ada à vérifier si Hedy peut rentrer en formation.

 

Ada a déclaré les variables mais n'arrive pas à rédiger son code.

let ageMin = 18;
let genre = 'femme';
let ageHedy = 25;
let genreHedy = 'femme';


if () {
	console.log('vous êtes sélectionnée');
} else {
	console.log('vous ne pouvez pas entrer ici');
}

résultat

L'accès à la formation est validée SI l'âge est supérieur ou égal à l'âge minimum autorisée ET si la candidate est bien une femme.

Sinon, la candidate n'est pas sélectionnée.

if (ageHedy >= ageMin && genreHedy === genre) {
	console.log('vous êtes sélectionné.e.s');
} else {
	console.log('vous ne pouvez pas entrer ici');
}

La société Simplon.co veut créer des formations d'initiation à la programmation pour les enfants.

Le programme s'appelle Simplon Kids.

Les conditions d'entrées sont d'avoir 12 ans au moins ou de vivre dans les départements suivants: 91,92,93,94,95.

Aide Ada à vérifier si Grace peut rentrer en formation.

Ada a déclaré les variables mais n'arrive décidément pas à rédiger son code.

var ageMin = 12;
var GraceDepartement = 64;
var GraceAge = 11;

console.log('Tu peux participer à Simplon Kids');
console.log('Tu peux rentrer chez toi');

résultat

L'accès à la formation est validée SI l'âge de Grace est inférieur ou égal à l'âge minimum autorisée OU si la candidate vit bien en Ile-de-France. C'est à dire ENTRE le département 75 et 95.

Sinon, la candidate n'est pas sélectionnée.

if (GraceAge <= ageMin || 
    (GraceDepartement >= 91 && GraceDepartement <= 95)) {
		console.log('Tu peux participer à Simplon Kids');
	} else {
		console.log('Tu peux rentrer chez toi');
	}

La société Simplon.co a relevé que certaines candidates ressentaient de la frustration car elles n'avaient pas la raison de du refus de leur candidature pour la formation Hackeuses.

 

Ada est chargée de rédiger la raison du refus pour chaque candidate recalée.

 

Rappel des règles : Avoir plus de 18 ans et habiter en Ile-de-France.

 

Voici la nouvelle grilles des réponses :

Si la candidate réunit toutes les conditions , alors on affiche : vous êtes sélectionnée.

 

Sinon si la candidate ne réunit aucune conditions, alors on affiche : Vous n'êtes pas le profil recherché.

 

Sinon si la candidate a moins de 18 ans alors on affiche :

Vous êtes trop jeune.

 

Sinon on affiche : Essayée de trouver une formation dans votre région.

 

Ada n'y arrive pas, elle compte sur toi.

let ageMin = 18;

function entreeHackeuses(ageCandidate, departementCandidate) {
	// écrire la condition ici
}

entreeHackeuses();
entreeHackeuses();
entreeHackeuses();
entreeHackeuses(17, 91);
entreeHackeuses(18, 92);
entreeHackeuses(28, 07);

Voici les 3 premières candidates. Si vous avez bien écrit votre algorithme, les réponses aux candidates seront dans l'ordre :

 

1. Vous êtes trop jeune.

2. vous êtes sélectionnée.

3. Il faut trouver une formation dans votre région.

résultat

function entreeHackeuses(ageCandidate, departementCandidate) {
  
	if (ageCandidate >= ageMin && 
        (departementCandidate >= 91 && departementCandidate < 95)) {
		console.log(`vous êtes sélectionnée.`);
      
	} else if (ageCandidate < ageMin && 
               (departementCandidate < 91 && departementCandidate < 95)) {
		console.log(`Vous n'êtes pas le profil recherché.`);
      
	} else if (ageCandidate < ageMin) {
		console.log(`Vous êtes trop jeune.`);
      
	} else {
		console.log(`Il faut trouver une formation dans votre région.`);
	}
}

entreeHackeuses(17, 77);
entreeHackeuses(18, 77);
entreeHackeuses(28, 07);

résultat

Dans un premier temps, il fallait comprendre que ageCandidate et departementCandidate étaient des paramètres de la fonction entreeHackeuses qui allaient être ajouté en argument par la suite.

 

Pour la deuxième condition, il fallait inverser les tests par rapport à la première condition en changeant les opérateurs de comparaison.

Les fonctions

function maPremiereFonction() {
  console.log("Ma première fonction");
}

Ada se met aux fonctions aujourd'hui.

Malheureusement, cela ne se passe pas comme prévu.

Aide la à trouver la solution.

résultat

Il manquait simplement l'appel de la fonction pour l'exécuter !

function maPremiereFonction() {
  console.log("Ma première fonction");
}

maPremiereFonction();

Ada veut automatiser l'écriture de l'en-tête des messages qui seront envoyées pour la prochaine campagne marketing.

 

Elle a stocké la baseline dans une variable en vu de la prochaine formation Hackeuses, juste au cas où...

 

Voici le format de l'en-tête souhaité :

 

>>>:) Hackeuses (:<<<

In code we trust

 

Ada doit rédiger une fonction afficherTitre(titre) permettant d'afficher le titre stylisé.

var baseline = `In code we trust`;

afficherTitre("Hackeuses");

console.log(baseline);

résultat

function afficherTitre(titre) {
	console.log('>>>:) ' + titre + ' (:<<<');
}

afficherTitre('Hackeuses');
console.log(baseline);

Pour la prochaine promotion Hackeuses, Ada doit attribuer chaque ordinateurs aux apprenantes qui en désir un.

 

Chaque apprenantes à un code qui lui est, de base attribué.

 

Tous les ordinateurs commencent par le préfixe 93 et doit faire 5 chiffres.

 

Elle doit donc créer une fonction numOrdi(numero) qui va respecter ces règles.

 

Elle va tester son code avec les apprenantes suivantes :

// numOrdi(5);
// numOrdi(23);
// numOrdi(718);

Exemple :

avec l'apprenante qui possède le numéro 19, le numéro de l'ordinateur dans la base de donnée sera :

93019

résultat

function numOrdi(numero) {
	if (numero < 10) {
		console.log(`N° ordi : 9300${numero}`);
	} 
  	else if (numero < 100) {
		console.log(`N° ordi : 930${numero}`);
	} 
  	else if (numero < 1000) {
		console.log(`N° ordi : 93${numero}`);
	} 
  	else {
		console.log(`Pas dans la liste`);
	}
}

JavaScript { algo }

By Jonathan Blanc

JavaScript { algo }

  • 195