Illustration visuelle du challenge de code : Le train va t-il arriver à l’heure ?
Calcul Intermédiaire

Le train va t-il arriver à l’heure ?

Analyse le trajet de ce train, il va rencontrer quelques obstacles… Arrivera t-il à l’heure ?

Code : TRAIN_1

Mission

Un voyage en train, on le sait tous, n’est pas toujours un long fleuve tranquille. On sait normalement à quelle heure il part, mais pas toujours à quelle heure il arrive !

L’objectif est de déterminer la durée de voyage du train en fonction des évènements du trajet :

  • Arrêts dans des gares (jusque-là rien d’anormal)
  • Coupure(s) de courant
  • Incident(s) naturel(s) sur la voie

Règles

Le trajet est présenté sous cette forme : (dans la variable « events »)

T__N__P____N___T___T

Explications :

  • T signifie une gare (Train station)
  • Le trajet commence donc toujours par un T et finit toujours par un T
  • P signifie une coupure de courant (Power break)
  • N signifie un incident naturel sur la voie (Natural incident)
  • Un « _ » signifie que le train roule à pleine vitesse

Vitesses du train :

  • À pleine vitesse, le train roule à 200km/h.
  • À l’approche d’une gare, le train roule à 50km/h pendant 5km.
  • Au départ d’une gare, le train roule à 50km/h pendant 5km.
  • Lors d’une coupure de courant, le train roule à 5km/h pendant 10km.
  • Lors d’un incident naturel, le train roule à 10km/h pendant 5km.
  • On ne gère pas de notion d’accélération ou autre, il faut considérer que ce sont des moyennes sur les distances énoncées.

Le challenge renvoie également la distance totale à parcourir par le train, en km (dans la variable « distance »)

Tu dois retourner :

La durée totale, en secondes, du trajet complet du train.

Résoudre le challenge

Pour coder ce challenge, plusieurs possibilités. Si tu débutes, utilise la Sandbox en ligne. Si tu es plus à l'aise, regarde la documentation de notre API, pour coder en local. Tu peux aussi copier/coller un jeu de données ci-dessous.

Quelques ressources pour t'aider : Données et logique algoritmique Méthodologies Corrigés

Accompagnement à la résolution

Progresse dans les challenges en utilisant nos aides à la résolution : outils, techniques et conseils pour t'aider à surmonter les challenges de programmation les plus complexes avec méthodologie, assurance et créativité.

Jeu de données et logique algorithmique

A partir des données et de la réponse attendue, aide toi du déroulé pour déterminer la logique à mettre en oeuvre.

Afficher les données et le déroulé

Méthodologies

Développe une approche structurée grâce à nos guides de résolution. Travaille des concepts précis comme la programmation orientée objet ou les tests unitaires, pour améliorer ta manière de coder et progresser.

Pas de méthodologie encore pour ce challenge, mais on y travaille ! Suis-nous pour être informé de la sortie !


Corrigés

Les corrigés te permettent de découvrir certains concepts techniques mais vont aussi te donner une solution au challenge. Code le challenge par toi même avant de consulter les corrigés ;)

Concept(s) de programmation utilisables pour résoudre ce challenge : Programmation Orientée Objet, Fonctions, Parsing

Keep coding

Autres challenges à réaliser

Débutant
#1 : Le grand saut

#1 : Le grand saut

Ada vient de tweeter son oeuvre et est tout de suite reprise par plusieurs comptes. On cherche à connaitre l’audience totale.

Calcul
Débutant
Petits monstres mignons #1

Petits monstres mignons #1

Pars à la rencontre de petits monstres trop mignons !

Calcul Méthodologie proposée
Intermédiaire
YOLO les Pizzaïolos

YOLO les Pizzaïolos

Avertissement : ce challenge peut donner faim, il y est question de pizzas et de pizzaiolos un peu particuliers…

Calcul Corrigé disponible : PHP

Ta newsletter chaque mois

Corrigés, challenges, actualités, veille technique... aucun spam.