O que deve ser impresso com a execução de $maria->MostraD...
Para responder às questões 21 a 25, analise o código mostrado no Quadro 1.
<?php
class Pessoa{
var $codigo;
var $nome;
var $idade;
var $endereco;
var $salario;
public function __construct($cod, $nom, $ida,
$end, $sal) {
$this->codigo = $cod;
$this->nome = $nom;
$this->idade = $ida;
$this->endereco = $end;
$this->salario = $sal;
}
function setCodigo($cod){
$this->codigo = $cod;
}
function setEndereco($end){
$this->endereco = $end;
}
function setSalario($sal){
$this->salario = $sal;
}
function MostraDados(){
print $this->nome.' tem '.$this->idade.' anos,
mora na rua '.$this->endereco.' e tem salario R$
'.$this->salario.'.';
}
function MostraCodigo(){
print $this->nome.' possui o codigo '.$this-
>codigo.'.';
}
function Aniversario(){
$this->idade++;
}
function AumentaCinco(){
$this->salario = $this->salario * 1.05;
}
function AumentaDez(){
$this->salario = $this->salario * 1.1;
}
}
$maria = new Pessoa(1, 'Maria Pereira', 31, 'Av. C,
394', 3000);
$jose = new Pessoa(2, 'Jose Oliveira', 23, 'Rua A,
106', 2000);
$maria->Aniversario();
$jose->AumentaCinco();
$maria->AumentaDez();
$maria->SetCodigo(5);
$jose->MostraDados(); // Primeira questão
$maria->SetCodigo(4);
$maria->MostraDados(); // Segunda questão
$maria->MostraCodigo(); // Terceira questão
$maria->SetCodigo(3);
$maria->Aniversario();
$maria->SetSalario(4000);
$jose->SetEndereco('Rua das Laranjeiras, 32');
$maria->MostraDados(); // Quarta questão
$jose->MostraDados(); // Quinta questão
?>
Quadro 1- Código PHP.
O que deve ser impresso com a execução de $maria->MostraDados(); // Segunda questão?
- Gabarito Comentado (1)
- Aulas (1)
- Comentários (0)
- Estatísticas
- Cadernos
- Criar anotações
- Notificar Erro
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Vamos entender o código e a execução detalhadamente para encontrar a resposta correta.
Para resolver esta questão, precisamos analisar o código PHP fornecido e entender como os métodos da classe Pessoa são aplicados aos objetos $maria e $jose. A questão exige a saída do método MostraDados() para o objeto $maria após várias operações.
A alternativa correta é a:
E - Maria Pereira tem 32 anos, mora na rua Av. C, 394 e tem salário R$ 3300.
Agora, vamos justificar por que essa é a resposta correta e por que as outras alternativas estão incorretas.
Análise do Código:
1. $maria = new Pessoa(1, 'Maria Pereira', 31, 'Av. C, 394', 3000);
Isso cria um objeto maria com os atributos iniciais: código 1, nome "Maria Pereira", idade 31, endereço "Av. C, 394" e salário 3000.
2. $maria->Aniversario();
O método Aniversario() incrementa a idade de Maria em 1. Portanto, a idade de Maria agora é 32.
3. $maria->AumentaDez();
O método AumentaDez() aumenta o salário de Maria em 10%. O novo salário de Maria é 3000 * 1.1 = 3300.
4. $maria->SetCodigo(5);
O método SetCodigo() altera o código de Maria para 5.
5. $maria->MostraDados();
Este método imprime as informações atualizadas de Maria: nome, idade, endereço e salário.
Justificativas das Alternativas:
A - "Maria tem 32 anos, mora na rua Av. C, 394 e tem salário R$ 3300."
Incorreto: O nome "Maria" está incompleto. Deveria ser "Maria Pereira".
B - "Maria tem 33 anos, mora na rua Av. C, 394 e tem salário R$ 3330."
Incorreto: A idade está incorreta, pois Maria fez apenas um aniversário, passando de 31 para 32 anos. O salário também está incorreto.
C - "Maria Pereira tem 31 anos, mora na rua Av. C, 394 e tem salário R$ 3000."
Incorreto: A idade e o salário não foram atualizados. Maria fez aniversário e recebeu aumento, então a idade deve ser 32 e o salário R$ 3300.
D - "Maria Pereira tem 31 anos, mora na Rua das Laranjeiras, 32 e tem salário R$ 3300."
Incorreto: O endereço está incorreto. Maria nunca teve seu endereço alterado para "Rua das Laranjeiras, 32".
E - "Maria Pereira tem 32 anos, mora na rua Av. C, 394 e tem salário R$ 3300."
Correto: Todas as informações estão corretas: Nome, idade, endereço e salário atualizados conforme as operações realizadas no código.
É crucial seguir passo a passo as operações realizadas no código para entender como os valores dos atributos são atualizados e garantir a precisão na resolução da questão.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo