Prévia do material em texto
Prova Online - ALGORITMOS E PROGRAMAÇÃO ESTRUTURADA
Questão 1
Considere o seguinte código em linguagem C:
#include
int main() {
int num;
printf("Digite um número: ");
scanf("%d", &num);
printf("O número digitado foi: %d", num);
return 0;
}
Com base nesse código, analise as afirmativas abaixo:
I. No código fornecido, a variável `num` está sendo utilizada para armazenar o valor digitado pelo usuário.
II. No comando `scanf("%d", &num)`, o caractere `%d` indica que a entrada esperada é um número inteiro.
III. Se o usuário digitar "12a" durante a execução do programa, a variável `num` armazenará o valor 12.
IV. O operador `&` antes do nome da variável no comando `scanf` é utilizado para indicar o endereço de memória da variável.
Neste contexto, é correto o que se afirma em
() I e III, apenas.
() II e IV, apenas.
() I, II e III, apenas.
() II, III e IV, apenas.
(x) I, II, III e IV.
Questão 2
O trecho de programa a seguir calcula a média entre duas temperaturas distintas. Analise as lacunas e complete-as corretamente:
#include
float t1, t2;
float ___________{
return (t1 + t2)/2;
}
int ___________{
printf("\n Digite as duas temperaturas: ");
____________("%f %f",&t1,&t2);
____________("\n A temperatura media = %.2f",calcularMedia());
____________;
}
Assinale a alternativa que completa as lacunas corretamente:
() main() / calcularMedia() / return 0 / scanf / printf.
() calcularMedia() / main() / printf / scanf / return 0.
() calcularMedia() / main() / return 0 / scanf / printf.
() main() / scanf / printf / calcularMedia() / return 0.
(x) calcularMedia() / main() / scanf / printf / return 0.
Questão 3
Ponteiros são poderosos recursos em C para manipulação direta de variáveis na memória. Neste contexto, analise o código a seguir:
Com base no código, qual será o valor impresso para "O valor apontado por ptr" e "O endereço armazenado em ptr"?
Assinale a alternativa correta.
() O valor apontado por ptr: 5 e O endereço armazenado em ptr: 5
(x) O valor apontado por ptr: 5 e O endereço armazenado em ptr: endereço de a
() O valor apontado por ptr: endereço de a e O endereço armazenado em ptr: 5
() O valor apontado por ptr: endereço de a e O endereço armazenado em ptr: endereço de a
() O valor apontado por ptr: endereço de ptr e O endereço armazenado em ptr: endereço de a
Questão 4
Sobre as estruturas de repetição condicional, analise as afirmativas a seguir:
I. No comando while o programa não executará nenhuma repetição (e as ações que ali dentro estiverem programadas) sem antes testar uma condição.
II. O laço "do-while" analisa a condição ao final do laço, ou seja, os comandos são executados antes do teste de condição.
III. O laço "do-while" o programa não executará nenhuma repetição sem antes testar uma condição.
Neste contexto, é correto o que se afirma em:
() I, apenas.
() III, apenas.
() II e III, apenas.
(x) I e II, apenas.
() I, II e III.
Questão 5
Há várias vantagens e desvantagens na utilização de recursividade em programação, e neste contexto, analise as afirmativas a seguir:
I. Utilizar recursividade deixa o código claro na sua interpretação, o código fica elegante na implementação.
II. Uma vantagem da função recursiva é que a cada chamada da função não é criada na memória uma nova ocorrência da função, é sempre utilizado o mesmo espaço de memória, a função é executada até que todas as ocorrências tenham sido resolvidas.
III. Uma função recursiva permite eliminar a existência de diversos ciclos de repetição, na chamada da função, eliminando a interferência direta do usuário, ela repete até atingir a condição previamente estabelecida.
IV. Uma desvantagem do uso da técnica de recursividade é a dificuldade para encontrar erros.
V. As funções recursivas podem ocasionar um problema de terminação do função, como um “looping interminável ou infinito”.
Neste contexto, é correto o que se afirma em:
() I e II, apenas.
() III e IV, apenas.
() II, III e V, apenas.
() I, IV e V, apenas.
(x) I, III, IV e V, apenas.
Questão 6
Analise as afirmativas a seguir a respeito dos códigos de controle utilizados nas funções de entrada e saída em C:
I. %i é utilizado para exibir um número inteiro.
II. %f é utilizado para exibir um número em ponto flutuante (decimal).
III. %c é utilizado para exibir um caractere.
IV. %s é utilizado para exibir uma sequência de caracteres.
V. %nc é utilizado para exibir um número em notação científica.
Neste contexto, é correto o que se afirma em
() I e II, apenas.
(x) II, III e IV, apenas.
() II, IV e V apenas.
() I, III, IV e V, apenas.
() I, II, III, IV e V.
Questão 7
Considere o seguinte trecho de código em linguagem C:
Considerando o código acima, qual será a saída produzida pela execução deste programa?
() A soma dos elementos da diagonal principal é: 0
() A soma dos elementos da diagonal principal é: 2
() A soma dos elementos da diagonal principal é: 4
(x) A soma dos elementos da diagonal principal é: 6
() A soma dos elementos da diagonal principal é: 8
Questão 8
Considere o seguinte trecho de código em linguagem C:
#include
int main() {
int x = 5, y = 10, z = 15;
int resultado1 = (x y) || (y > z);
int resultado3 = !(x == y);
printf("%d\n%d\n%d", resultado1, resultado2, resultado3);
return 0;
}
Com base nesse código, avalie as afirmativas a seguir:
I. O valor de `resultado1` será 1.
II. O valor de `resultado2` será 0.
III. O valor de `resultado3` será 1.
IV. O operador lógico `&&` retorna 1 apenas se ambos os operandos forem verdadeiros.
V. O operador lógico `||` retorna 0 apenas se ambos os operandos forem falsos.
É correto o que se afirma em
() I e II, apenas.
() I, III e IV, apenas.
() II, IV e V, apenas.
() II, III, IV e V, apenas.
(x) I, II, III e IV, apenas.
Questão 9
O laço “for”, que em português significa “para”, é geralmente usado para repetir uma informação por um número fixo de vezes, isto é, podemos determinar quantas vezes acontecerá a repetição. Análise o trecho do código a seguir.
for(x=5, y = 0; x>=0, y