Trilhas
/
PHP
PHP
/
Exercícios
/
A lasanha deliciosa do Lucian
A lasanha deliciosa do Lucian

A lasanha deliciosa do Lucian

Exercício de aprendizagem

Introdução

Noções básicas

Para informações mais detalhadas sobre esses tópicos, visite a página do conceito.

Sintaxe geral

A tag de abertura do PHP <?php marca o início do código PHP. Todas as instruções devem terminar com um ; para separá-las.

<?php

$message = "Success!"; // Statement correctly ends with `;`
$message = "I fail." // PHP Parse error: syntax error, [...]

Para facilitar a leitura, todos os exemplos de código omitem a tag de abertura do PHP <?php.

Comentários

Comentários de uma linha começam com //.

// Single line comment

Valores e variáveis

Com o operador de atribuição =, você pode atribuir um valor a uma variável. Os nomes de variáveis devem começar com o cifrão $ e seguir as convenções de nomenclatura.

$count = 1; // Assign value of 1

// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";

Funções e métodos

Valores e variáveis podem ser passados para funções. Os argumentos de uma função se tornam novas variáveis para armazenar os valores passados. Funções podem retornar qualquer valor usando a palavra-chave return.

function window_height($height)
{
    return $height + 10;
}

window_height(100);
// => 110

Funções dentro de classes e suas instâncias são chamadas de métodos. Para chamar um método, o nome é precedido pela instância e por ->. Métodos têm acesso à variável especial $this, que se refere à instância atual.

<?php

class Calculator {
    public function sub($x, $y)
    {
        return $this->add($x, -$y); // Calls the method add() of the current instance
    }

    public function add($x, $y)
    {
        return $x + $y;
    }
}

$calculator = new Calculator(); // Creates a new instance of Calculator class
$calculator->sub(3, 1); // Calls the method sub() of the instance stored in $calculator
// => 2

Instruções

Neste exercício, você vai escrever um código para ajudar a preparar uma lasanha incrível do seu livro de receitas favorito.

Você tem cinco tarefas, todas relacionadas ao tempo gasto preparando a lasanha.

1. Defina o tempo esperado no forno em minutos

Implemente a função expectedCookTime na classe Lasagna, que não recebe nenhum argumento e retorna quantos minutos a lasanha deve ficar no forno. De acordo com o livro de receitas, o tempo esperado no forno, em minutos, é 40:

<?php
$timer = new Lasagna();
$timer->expectedCookTime()
// => 40

2. Calcule o tempo restante no forno em minutos

Implemente a função remainingCookTime na classe Lasagna, que recebe como argumento o número real de minutos que a lasanha já passou no forno e retorna quantos minutos a lasanha ainda precisa ficar no forno, com base no tempo esperado no forno, em minutos, da tarefa anterior.

<?php
$timer = new Lasagna();
$timer->remainingCookTime(30)
// => 10

3. Calcule o tempo de preparo em minutos

Implemente a função totalPreparationTime na classe Lasagna, que recebe como argumento o número de camadas que você adicionou à lasanha e retorna quantos minutos você passou preparando a lasanha, considerando que cada camada leva 2 minutos para preparar.

<?php
$timer = new Lasagna();
$timer->totalPreparationTime(3)
// => 6

4. Calcule o tempo total de trabalho em minutos

Implemente a função totalElapsedTime na classe Lasagna, que recebe dois argumentos: o primeiro argumento é o número de camadas que você adicionou à lasanha, e o segundo argumento é o número de minutos que a lasanha passou no forno. A função deve retornar quantos minutos, no total, você trabalhou preparando a lasanha. Esse total é a soma do tempo de preparo em minutos com o tempo, em minutos, que a lasanha passou no forno até o momento.

<?php
$timer = new Lasagna();
$timer->totalElapsedTime(3, 20)
// => 26

5. Crie uma notificação de que a lasanha está pronta

Implemente a função alarm na classe Lasagna, que não recebe nenhum argumento e retorna uma mensagem indicando que a lasanha está pronta para comer.

<?php
$timer = new Lasagna();
$timer->alarm()
// => "Ding!"
Editar via GitHub O link abre em uma nova janela ou aba
PHP Exercism

Tudo pronto para começar A lasanha deliciosa do Lucian?

Crie sua conta no Exercism para aprender e dominar PHP com 11 conceitos122 exercícios e mentoria humana de verdade, tudo de graça.