Conceitos Fundamentais de Software, Algoritmos e Programação

Questões sobre o assunto

1. Qual das alternativas abaixo descreve corretamente a diferença entre algoritmo, programa e software?
1.50 pontos Média

Resposta correta: B) Algoritmo é a sequência lógica de passos, programa é a implementação desse algoritmo em linguagem e software é o conjunto de programas, dados e estruturas que atendem a um objetivo.

Explicação: Essa alternativa apresenta a definição clássica de cada termo, distinguindo claramente os três níveis de abstração.

2. Considere as afirmações abaixo sobre paradigmas de programação. Assinale a alternativa que contém **todas** as afirmações corretas.
2.50 pontos Difícil

Resposta correta: B) Funcional enfatiza imutabilidade e funções de ordem superior; lógico utiliza cláusulas de fato e regra; orientado‑a‑objetos modela entidades como objetos.

Explicação: Cada afirmação da alternativa B descreve corretamente as características essenciais dos três paradigmas citados.

3. Sobre o ciclo de vida de software, qual sequência está correta?
2.50 pontos Difícil

Resposta correta: C) Requisitos → Desenvolvimento → Testes → Manutenção

Explicação: Essa é a ordem tradicional do ciclo de vida de software, garantindo que os requisitos sejam atendidos antes da implementação, seguida de validação e, por fim, manutenção.

4. Considere o algoritmo abaixo para calcular a soma de dois números inteiros, onde a entrada pode ser inválida (não numérica). Qual das alternativas apresenta a melhor estratégia para garantir corretude e eficiência, considerando tratamento de exceções e complexidade de tempo?
3.50 pontos Extrema

Resposta correta: A) Ler as duas entradas como strings, usar `try/catch` para converter para inteiro; se falhar, imprimir erro e encerrar; caso contrário, somar e imprimir. Complexidade O(1).

Explicação: Essa alternativa garante corretude (tratamento explícito de entrada inválida) e mantém a complexidade constante, evitando loops desnecessários.

Pontuação Total
0.00