19. Questões gerais de controle
Booleanos legíveis, aninhamento raso e complexidade ciclomática abaixo de 10.
Resumo
- Booleanos:
true/false, não 0/1; quebre testes em variáveis booleanas ou funções; use tabelas de decisão. - Escreva testes positivos; aplique De Morgan; parênteses explícitos; ordem da reta (
MIN < i && i < MAX). - Aninhamento profundo (mais de 3–4 níveis): guardas, rotinas, case, polimorfismo, redesenho.
- Programação estruturada: sequência, seleção, iteração bastam para qualquer programa.
- McCabe: 1 + if, while, for, and, or, case. 0–5 ok; 6–10 simplifique; 10+ quebre a rotina.
Perguntas-chave
responda de cabeça, depois abraComo calcular a complexidade de McCabe?
Comece com 1 e some 1 para cada if, while, repeat, for, and, or e para cada caso de um case.
O que diz De Morgan?
not (A and B) = (not A) or (not B); not (A or B) = (not A) and (not B). Serve para eliminar negações duplas.
Por que escrever comparações na ordem da reta numérica?
Porque MIN < i && i < MAX mostra visualmente i entre os limites, como na reta.
Exercícios de fixação
0/5 respondidas1.
Uma rotina tem 3
if, 1 while e 2 operadores &&. Qual a complexidade de McCabe?2.
Uma rotina tem complexidade 14. O que o livro recomenda?
3.
Qual é a reescrita correta de
!(a && b) pela lei de De Morgan?4.
Qual forma é mais legível para "i entre MIN e MAX"?
5.
Quais são as três construções da programação estruturada?