Illustration visuelle du challenge de code : Comment noter une classe d’étudiants ?
Comportemental Intermédiaire

Comment noter une classe d’étudiants ?

Aide un jeune professeur à noter rapidement une classe d’étudiants.

Code : PROF_1

Mission

Ce jeune professeur a remarqué que les notes finales des examens sont très liées à la participation des étudiants durant le cours. Un(e) élève qui participe va avoir une bonne note. Celui ou celle qui participe peu aura une mauvaise note.

Il décide donc de ne plus corriger les copies et souhaite créer un algorithme pour noter automatiquement les élèves !

Règles

Dès le début de son cours, il met la note de 12/20 à tout le monde.

1 fois par heure de cours, il va jeter un oeil à la classe et noter l’état de chaque élève :

  • E = l’élève Ecoute
  • T = l’élève Travaille
  • P = l’élève Parle
  • D = l’élève Dort

Et voici les règles qu’il définit :

  • Quand un élève écoute ou travaille, il gagne 1 point à sa note.
  • S’il parle, il perd 1 point
  • S’il dort, il perd 2 points

Mais ce n’est pas tout… un élève démarre donc avec une note maximale de 20, mais :

  • S’il parle, sa note maximale diminue de 1
  • S’il dort, sa note maximale diminue de 2
  • Mais comme chaque élève peut se racheter une conduite, la note maximale de l’élève ne peut être inférieure à 10.
  • La note de l’élève ne devient jamais négative et ne dépasse jamais 20

La variable « cours » contient donc tous les cours. 1 élève est toujours à la même place dans le cours. La première lettre d’un cours correspond donc toujours au même élève.

Tu dois retourner la moyenne de la classe, arrondie à un chiffre après la virgule.

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 algorithmique 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 ;)

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

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

Keep coding

Autres challenges à réaliser

Intermédiaire
Maman j’ai raté l’avion

Maman j’ai raté l’avion

Kevin McCallister doit défendre seul sa maison de 2 cambrioleurs pendant les fêtes de fin d’année.

Comportemental
Intermédiaire
Meurtre à Synthéria

Meurtre à Synthéria

Un meurtre mystérieux a eu lieu dans un bar. Retrouve le coupable grâce aux indices dissimulés aux 4 coins du bar.

Comportemental
Débutant
Rolland-Garros

Rolland-Garros

Un affrontement entre 2 joueurs d’anthologie… Qui en sortira vainqueur ?

Comportemental

Ta newsletter chaque mois

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