Questão de TI - Desenvolvimento de Sistemas — Definição de Algoritmos e Estruturas de Controle — CESGRANRIO 2022
TI - Desenvolvimento de SistemasDefinição de Algoritmos e Estruturas de Controle
- Código
- cg056603
- Banca
- CESGRANRIO
- Órgão
- BASA
- Ano
- 2022
- Cargo
- Tec Cien ( )
Em linguagens de programação como Java, onde existem estruturas de repetição, a recursão pode ser muitas vezes substituída pela repetição, com ganhos de desempenho. Considere a seguinte função recursiva segredo, em Java: public static int segredo(int a) { if (a<2) { return 0; } else { return segredo(a-2)+1; } } Que fragmento de código, em Java, contendo uma estrutura de repetição, é adequado para substituí-la?
- Apublic static int alternativaA(int a) { int s = 0; for (int i=a;i>2;i--) { s++; } return s; }
- Bpublic static int alternativaB(int a) { int s = 0; for (int i=a;i<2 && i>0;i--) { s++; } return s; }
- Cpublic static int alternativaC(int a) { int s = 0; while (a>=2) { a-=2; s++; } return s; }
- Dpublic static int alternativaD(int a) { int s = 0; do { a-=2; s++; } while (a>0 && a<=2); return s; }
- Epublic static int alternativaE(int a) { int s = 0; do { a-=2; s++; } while (a>0 && a<2); return s; }