Análise das Questões de Programação
Questão 1
Alternativa A - para (cont=25;cont<=1033;cont+=2)
Análise do comando PARA:
O comando PARA em Portugol possui três componentes essenciais:
| Componente | Função | Valor Correto |
|---|
| Inicialização | Define o valor inicial da variável | cont=25 |
| Condição | Determina quando parar | cont<=1033 |
| Atualização | Altera o valor a cada iteração | cont+=2 |
Por que esta é a resposta correta?
- Início em 25: É o primeiro número ímpar no intervalo solicitado
- Condição <= 1033: Garante inclusão do limite superior (1033 é ímpar)
- Incremento +=2: Pula números pares, mantendo apenas ímpares
Erros nas outras alternativas:
- B: Começa em 1, não 25
- C: Ordem decrescente e incremento errado
- D: Sintaxe inválida (
+-2) - E: Incremento por 1 inclui pares e exclui 1033
Questão 2
Próximo termo: 42
Padrão da sequência:
Observando as diferenças entre termos consecutivos:
\text{Diferenças} = \{1, 4, 6, 8, 10\}
| Termo | Valor | Diferença do anterior |
|---|
| 1º | 1 | - |
| 2º | 2 | +1 |
| 3º | 6 | +4 |
| 4º | 12 | +6 |
| 5º | 20 | +8 |
| 6º | 30 | +10 |
| 7º | ? | +12 |
Fórmula geral: T_n = n^2 - n + 1
Verificando:
- T_6 = 6^2 - 6 + 1 = 30 ✓
- T_7 = 7^2 - 7 + 1 = 43
Correção: O padrão mais simples é somar diferenças crescentes de 2 em 2 após o primeiro salto:
- Próxima diferença: 12
- Próximo termo: $30 + 12 = \mathbf{42}$
Questão 3
Alternativa C - scanf
Biblioteca stdio.h na linguagem C:
Esta biblioteca contém funções de entrada e saída padrão.
| Função | Biblioteca | Finalidade |
|---|
| scanf | stdio.h | Leitura de dados |
| printf | stdio.h | Impressão de dados |
| atoi | stdlib.h | String para inteiro |
| trunc | math.h | Truncamento decimal |
| strcpy | string.h | Copia de strings |
| print | Não existe em C |
Explicação:
scanf() permite ler valores digitados pelo usuário- É fundamental para entrada interativa de dados
- Sintaxe típica:
scanf("%d", &variavel);
Questão 4
Resposta: Vetor (Array)
Justificativa:
Um vetor é a estrutura ideal para notas de alunos porque:
- Armazenamento sequencial: Notas são armazenadas uma após outra
- Acesso rápido por índice: Nota do aluno 5 está na posição 5
- Tamanho fixo conhecido: Turma tem quantidade definida de alunos
- Eficiência: Ocupa memória contígua, facilitando processamento
Exemplo em C:
float notas[30]; // 30 alunos, índices de 0 a 29
Comparação com outras estruturas:
| Estrutura | Ideal para | Notas de alunos |
|---|
| Vetor | Dados homogêneos | ✓ Melhor opção |
| Lista encadeada | Inserções frequentes | ✗ Mais complexo |
| Pilha | LIFO | ✗ Acesso aleatório difícil |
| Fila | FIFO | ✗ Sem sentido acadêmico |
Questão 5
Alternativa C - Oferece uma representação estruturada das posições.
Por que Matriz para Xadrez?
Um tabuleiro de xadrez é essencialmente uma grade bidimensional:
| Característica | Representação em Matriz |
|---|
| Colunas (a-h) | Índices de linha (0-7) |
| Linhas (1-8) | Índices de coluna (0-7) |
| Casas vazias/presas | Valores 0 ou 1 (ou peça específica) |
Vantagens da matriz 8x8:
- Mapeamento direto: Posição (3,5) corresponde exatamente à casa física
- Validação fácil: Verificar limites dentro da matriz
- Movimento eficiente: Calcular deslocamentos matemáticos
- Visualização clara: Array bidimensional natural
Por que outras opções estão erradas:
- A: Animações dependem de bibliotecas gráficas, não da estrutura de dados
- B: Probabilidades usam estatística, não matriz diretamente
- D: Regras são lógica condicional, não propriedade da matriz
- E: IA usa algoritmos separados da representação básica
Conclusão
As questões abordam conceitos fundamentais de programação:
- ✅ Loop controlado com sintaxe correta
- ✅ Sequências numéricas identificando padrões
- ✅ Bibliotecas padrão da linguagem C
- ✅ Estruturas de dados apropriadas por contexto
- ✅ Representação matricial para problemas bidimensionais
Dica de estudo: Pratique a implementação real desses conceitos em código para fixação completa!