Parcours
/
C#
C#
/
Exercices
/
Les lasagnes délicieuses de Lucian
Les lasagnes délicieuses de Lucian

Les lasagnes délicieuses de Lucian

Exercice d'apprentissage

Introduction

Les bases

C# est un langage à typage statique, ce qui signifie que tout possède un type au moment de la compilation. Affecter une valeur à un nom s'appelle définir une variable. Une variable peut être définie soit en spécifiant explicitement son type, soit en laissant le compilateur C# inférer son type à partir de la valeur affectée (ce qu'on appelle l'inférence de type). Par conséquent, les deux définitions de variable suivantes sont équivalentes :

int explicitVar = 10; // Explicitly typed
var implicitVar = 10; // Implicitly typed

La mise à jour de la valeur d'une variable se fait avec l'opérateur =. Une fois définie, le type d'une variable ne peut plus jamais changer.

var count = 1; // Assign initial value
count = 2;     // Update to new value

// Compiler error when assigning different type
// count = false;

C# est un langage orienté objet et exige que toutes les fonctions soient définies dans une classe. Le mot-clé class sert à définir une classe. Les objets (ou instances) sont créés à l'aide du mot-clé new.

class Calculator
{
    // ...
}

var calculator = new Calculator();

Une fonction au sein d'une classe est appelée une méthode. Chaque méthode peut prendre zéro ou plusieurs paramètres. Tous les paramètres doivent être typés explicitement, il n'y a pas d'inférence de type pour les paramètres. De même, le type de retour doit aussi être explicite. Les valeurs sont renvoyées par les méthodes à l'aide du mot-clé return. Pour qu'une méthode puisse être appelée par du code dans d'autres fichiers, le modificateur d'accès public doit être ajouté.

class Calculator
{
    public int Add(int x, int y)
    {
        return x + y;
    }
}

Les méthodes sont appelées avec la syntaxe du point (.) sur une instance, en précisant le nom de la méthode à appeler et en passant un argument pour chacun de ses paramètres. Les arguments peuvent éventuellement préciser le nom du paramètre correspondant.

var calculator = new Calculator();
var sum_v1 = calculator.Add(1, 2);
var sum_v2 = calculator.Add(x: 1, y: 2);

La portée en C# est définie entre les caractères { et }.

C# prend en charge deux types de commentaires. Les commentaires sur une seule ligne sont précédés de // et les commentaires multilignes sont insérés entre /* et */.

Instructions

La petite amie de Lucian est en route vers la maison et il n'a pas encore préparé le dîner de leur anniversaire !

Dans cet exercice, tu vas écrire du code pour aider Lucian à cuisiner une lasagne exquise tirée de son livre de cuisine préféré.

Tu as quatre tâches, toutes liées au temps passé à cuisiner la lasagne.

1. Définis le temps de cuisson attendu en minutes

Définis la méthode Lasagna.ExpectedMinutesInOven() qui ne prend aucun paramètre et renvoie le nombre de minutes que la lasagne doit passer au four. D'après le livre de cuisine, le temps de cuisson attendu est de 40 minutes :

var lasagna = new Lasagna();
lasagna.ExpectedMinutesInOven();
// => 40

2. Calcule le temps de cuisson restant en minutes

Définis la méthode Lasagna.RemainingMinutesInOven() qui prend en paramètre le nombre de minutes que la lasagne a déjà passées au four et renvoie le nombre de minutes qu'il lui reste à passer au four, d'après le temps de cuisson attendu de la tâche précédente.

var lasagna = new Lasagna();
lasagna.RemainingMinutesInOven(30);
// => 10

3. Calcule le temps de préparation en minutes

Définis la méthode Lasagna.PreparationTimeInMinutes() qui prend en paramètre le nombre de couches que tu as ajoutées à la lasagne et renvoie le nombre de minutes que tu as passées à préparer la lasagne, en supposant que chaque couche te prenne 2 minutes à préparer.

var lasagna = new Lasagna();
lasagna.PreparationTimeInMinutes(2);
// => 4

4. Calcule le temps écoulé en minutes

Définis la méthode Lasagna.ElapsedTimeInMinutes() qui prend deux paramètres : le premier paramètre est le nombre de couches que tu as ajoutées à la lasagne, et le second est le nombre de minutes que la lasagne a passées au four. La fonction doit renvoyer le nombre de minutes que tu as consacrées à cuisiner la lasagne, c'est-à-dire la somme du temps de préparation en minutes et du temps en minutes que la lasagne a passé au four jusqu'à présent.

var lasagna = new Lasagna();
lasagna.ElapsedTimeInMinutes(3, 20);
// => 26
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
C# Exercism

Prêt à commencer Les lasagnes délicieuses de Lucian ?

Inscris-toi sur Exercism pour apprendre et maîtriser C# avec 62 concepts178 exercices, et un vrai mentorat humain, le tout gratuitement.