Треки
/
C#
C#
/
Вправи
/
Смачнюща лазанья Люсіана
Смачнюща лазанья Люсіана

Смачнюща лазанья Люсіана

Навчальна вправа

Вступ

Основи

C# належить до статично типізованих мов, а це означає, що все має тип під час компіляції. Присвоєння значення імені називається визначенням змінної. Змінну можна визначити або явно вказавши її тип, або дозволивши компілятору C# вивести її тип на основі присвоєного значення (це називається виведенням типу). Отже, наведені нижче два визначення змінних є рівнозначними:

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

Оновлення значення змінної виконується за допомогою оператора =. Після визначення тип змінної вже ніколи не може змінитися.

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

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

C# належить до обʼєктно-орієнтованих мов і вимагає, щоб усі функції були визначені в класі. Ключове слово class використовується для визначення класу. Обʼєкти (або екземпляри) створюються за допомогою ключового слова new.

class Calculator
{
    // ...
}

var calculator = new Calculator();

Функція всередині класу називається методом. Кожен метод може мати нуль або більше параметрів. Усі параметри повинні мати явно вказаний тип, для параметрів виведення типу не працює. Так само потрібно явно вказати тип поверненого значення. Значення повертаються з методів за допомогою ключового слова return. Щоб метод можна було викликати з коду в інших файлах, потрібно додати модифікатор доступу public.

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

Методи викликаються за допомогою синтаксису з точкою (.) на екземплярі: ми вказуємо назву методу для виклику й передаємо аргументи для кожного з параметрів методу. Аргументи можуть необовʼязково вказувати назву відповідного параметра.

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

Область видимості в C# визначається між символами { і }.

C# підтримує два типи коментарів. Однорядкові коментарі починаються з //, а багаторядкові вставляються між /* і */.

Вказівки

Дівчина Лусіана вже повертається додому, а він ще не приготував вечерю на річницю!

У цій вправі ми напишемо трохи коду, який допоможе Лусіану приготувати вишукану лазанью за його улюбленою кулінарною книгою.

На нас чекають чотири завдання, і всі вони повʼязані з часом, витраченим на приготування лазаньї.

1. Визначте очікуваний час запікання в хвилинах

Визначте метод Lasagna.ExpectedMinutesInOven(), який не приймає жодних параметрів і повертає, скільки хвилин лазанья має провести в печі. Згідно з кулінарною книгою, очікуваний час запікання в хвилинах становить 40:

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

2. Обчисліть залишок часу запікання в хвилинах

Визначте метод Lasagna.RemainingMinutesInOven(), який приймає як параметр фактичну кількість хвилин, які лазанья вже провела в печі, і повертає, скільки хвилин лазаньї ще залишилося провести в печі, виходячи з очікуваного часу запікання в хвилинах із попереднього завдання.

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

3. Обчисліть час підготовки в хвилинах

Визначте метод Lasagna.PreparationTimeInMinutes(), який приймає як параметр кількість шарів, доданих до лазаньї, і повертає, скільки хвилин пішло на підготовку лазаньї, якщо припустити, що на кожен шар витрачається 2 хвилини.

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

4. Обчисліть витрачений час у хвилинах

Визначте метод Lasagna.ElapsedTimeInMinutes(), який приймає два параметри: перший параметр - кількість шарів, доданих до лазаньї, а другий параметр - кількість хвилин, які лазанья провела в печі. Функція має повернути, скільки хвилин пішло на приготування лазаньї, тобто суму часу підготовки в хвилинах і часу в хвилинах, який лазанья на цей момент провела в печі.

var lasagna = new Lasagna();
lasagna.ElapsedTimeInMinutes(3, 20);
// => 26
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
C# Exercism

Час розпочати Смачнюща лазанья Люсіана?

Зареєструйтеся на Exercism, щоб вивчати й опановувати C#, а також 62 концепції178 вправ та справжнє наставництво від людей, і все це безкоштовно.