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

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
STARSHIP #2 : Attention aux météorites !

STARSHIP #2 : Attention aux météorites !

Une pluie de météorites approche… Ton vaisseau aura t-il assez d’énergie pour le traverser sans encombre ?

Comportemental
Intermédiaire
WALL-E #1

WALL-E #1

Wall-E est un robot dont la mission est de nettoyer la Terre. Tu dois coder son fonctionnement pour qu’il traite efficacement ces déchets. Néanmoins, sois vigilant pour ne pas épuiser sa réserve d’énergie !

Comportemental Corrigés dispos : PHPPHP
Débutant
CodeMind #1 : Émotions

CodeMind #1 : Émotions

Commence le premier challenge de CodeMind : utilise l’analyse du langage naturel pour reconnaître les émotions.
C’est parti pour Top Code 2024 !

Comportemental

Ta newsletter chaque mois

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