Magna Concursos
2285873 Ano: 2014
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

Uma das maneiras de se conseguir a raiz quadrada de um número, é subtrair deste número todos os ímpares consecutivos a partir de 1, até que o resultado destas subtrações seja menor ou igual a zero. A quantidade de vezes que se conseguir realizar as subtrações é a raiz quadrada exata ou aproximada. Conseguimos diferenciar, entre exata ou aproximada, se o resultado das subtrações for igual a zero ou negativo, respectivamente. A seguir, é apresentada uma implementação na linguagem C, mas esta implementação contém dois erros.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19

#include <stdio.h>
#include <stdlib.h>
int main() {
int n, impar, contador;
printf("Numero: ");
scanf("%d",&n);
impar = 1;
contador = 0;
while( n >= 0 ) {
n = n - impar;
impar = impar + 1;
contador = contador + 1;
}
if( n == 0 )
printf("Raiz exata = %d", contador);
else
printf("Raiz aproximada = %d", contador);
return 0;
}

Considere as possíveis alterações:

I. Linha 08: contador = 1

II. Linha 09: while( n > 0 )

III. Linha 11: impar = impar + 2

IV. Linha 12: contador = contador + 2

V. Linha 14: if( n < 0 )

Quais das alterações corrigem a implementação apresentada anteriormente?

 

Provas

Questão presente nas seguintes provas

Técnico de TI

60 Questões