Informática, perguntado por Leticiaayla8198, 1 ano atrás

Assinale a alternativa na qual se encontre um subprograma para verificar se um ano é bissexto ou não. Utilize a regra: Um ano bissexto é divisível por 4, mas não por 100, ou então se é divisível por 400.
a.
Função AnoBissexto(inteiro a) lógico
Var
Lógico ano_bissexto
Inicio
Se ((a % 4=0) && (a % 100 !=0)) || (a % 400=0)
ano_bissexto = true
Senão
ano_bissexto = false
fim_se
return ano_bissexto
Fim
b.
Função AnoBissexto(inteiro a) lógico
Var
Lógico ano_bissexto
Inicio
Se ((a % 4=0) && (a % 100 !=0)) || (a % 400=0)
ano_bissexto = true
Senão
ano_bissexto = false
fim_se
return x
Fim
c.
Função AnoBissexto(inteiro a) lógico
Var
Lógico ano_bissexto
Inicio
Se ((a % 4=

Soluções para a tarefa

Respondido por bokomoko
5
A alternativa a está correta
e a alternativa b Está errada e nem compila pois pede para retorna x que é uma variável que não foi declarada antes.

Ambas porém muito mal escritas.

Eu faria assim

Função AnoBissexto(inteiro a) lógico
 return 
((a % 4=0) && (a % 100 !=0)) || (a % 400=0)
Fim

só isso. 

Esse é um erro muito comum que programadores inexperientes cometem. Não entendem como as variáveis e funções booleanas funcionam. Observe como o código acima é muito mais simples, dispensa os se's e é muito mais eficiente.

Observe a expressão booleana pode ser retornada como valor da função diretamente, não precisa do comando SE




A alternativa c está incompleta.
Respondido por Usuário anônimo
0

Embaralharam as respostas e eu errei.

Na verdade o exercício todo é uma "pegadinha".

A única resposta certa é a que retorna ano_bissexto ou return ano_bissexto.

Porque uma função sempre deve retornar um valor.

E alternativa com valor x, não existe valor x.

Nesse caso do exercício aí é a alternativa A mesmo como disseram acima.

Perguntas interessantes