1) Quando se fala em avaliação de uma solução, isso se refere a técnicas que
dirão se a solução proposta para um problema atende a alguns requisitos, entre eles corretude, eficiência e usabilidade. Uma vez que essas medidas de qualidade são avaliadas, a solução (ou soluções) pode, efetivamente, ser aceita ou não.
Se, em uma das avaliações, 99% da solução proposta atende ao problema e
apenas 1% aponta falha, é possível dizer que:
Resposta: A solução não está correta.
Comentário:
É importante lembrar os conceitos de qualidade elencados para avaliação:
Corretude: se a solução atende plenamente ao seu problema. Se tiver um erro
que seja, é considerada incorreta.
Eficiência: a solução, além de atender ao problema, o faz de forma rápida,
otimizando espaço de memória e tempo conforme as possibilidades.
Usabilidade: aborda vários outros conceitos, como eficiência, facilidade,
recuperação de erros, satisfação quanto ao design e facilidade em relembrar o uso.
No problema em questão, ainda que apenas 1% aponte alguma falha, a solução
não está correta.
2) A abordagem empírica em uma solução retrata a necessidade da
experimentação real, observando-se os resultados. Desse modo, é possível analisar e construir modelos não meramente simulados, mas baseados em dados da vida real. Esse tipo de abordagem é aplicado em qualquer área de estudos. Imagine que uma vacina C-19 esteja sendo produzida, testada em laboratório, mas necessita de testes empíricos para obter resultados mais confiáveis.
A análise empírica é aplicada:
Resposta: Pela necessidade de avaliar o comportamento na vida real, para poder
liberar sua produção com dados mais concretos.
Comentário:
A análise empírica permite a utilização de testes na vida real, oferecendo
resultados mais precisos. Não há, necessariamente, relação direta do uso empírico com custo de projeto, e, em muitos casos, como a vacina, testes são realmente necessários para comprovação da solução e certificação. Assim, pode-se afirmar que existe valor científico ou matemático nos testes. A análise empírica é aplicada para qualquer situação, inclusive para sistemas que envolvem humanos. Ela não garante 100% de eficiência na solução, nem tem relação com usabilidade, uma vez que pode ser eficiente sem ser usável.
3) A eficiência de um algoritmo, na maioria das vezes, está relacionada com sua
complexidade, tempo e espaço de execução. Quanto mais tempo levar a execução, menos eficiente um algoritmo tende a ser.
Desse modo, o grau de complexidade que indica que a quantidade de passos
deverá ser, em seu pior caso, a quantidade de elementos é:
Resposta: O(N).
Comentário:
A complexidade O(1) leva um número fixo de unidades de tempo.
Um exemplo é determinar se um número é positivo ou negativo. Em O(N), o número de etapas é diretamente proporcional à entrada, ou seja, à quantidade de elementos. O(N2) faz com que os passos aumentem em proporção ao quadrado do tamanho da entrada. Em O(log(N)), o algoritmo aumenta proporcionalmente ao log do tamanho da entrada. Por fim, O(N!), um dos piores casos, aumenta a complexidade de forma fatorial.
4) A avaliação de interface é o processo em que se avalia a usabilidade de uma
interface e se verifica se ela atende aos requisitos de usuário.
Entre os atributos de usabilidade que devem ser considerados na avaliação de
uma interface, assinale a alternativa que apresenta o atributo que pode ser descrito pela pergunta “Quão tolerante é o sistema em relação aos erros do usuário?”.
Resposta: Facilidade de recuperação de erros.
Comentário:
A facilidade de memorização indica o quão fácil é o sistema para o usuário
memorizar procedimentos anteriormente realizados após algum tempo sem uso. A facilidade de aprendizado revela o quão fácil é gravar os procedimentos e realizar as operações devidas. A facilidade de recuperação de erros está relacionada não só com falhas do usuário, mas também com falhas do próprio sistema (tela azul do Windows, por exemplo), permitindo que ele se recupere. Quando se fala em eficiência, indica-se o quão ótimos são os recursos computacionais utilizados pela solução. A corretude indica se a solução proposta/desenvolvida é correta para requisitos e funcionalidades originais do sistema.
5) Quando um algoritmo é executado em tempo logarítmico, ele aumenta
proporcionalmente ao logaritmo do tamanho da entrada. O algoritmo de pesquisa binária, por exemplo, é executado em tempo logarítmico. Sobre esse algoritmo e sua eficiência, analise as afirmações a seguir:
Resposta: Requer, no máximo, log2 n passos, sendo um dos algoritmos
considerado de boa eficiência.
Comentário:
A busca binária tem a complexidade do algoritmo.
Portanto, bastam, aproximadamente, log2 n passos para encontrar a solução. 2n passos seriam duas vezes o tamanho da entrada, o que já seria incoerente para a busca simples. A análise de n itens é feita para a busca linear, diferentemente da busca binária.