Buscar

Prova Exame - Algoritmos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Questão 1 
As expressões aritméticas são utilizadas para fazer cálculos matemáticos e podem utilizar variáveis inteiras e 
de ponto flutuante. Seu resultado é um valor numérico do maior tipo envolvido na expressão. Assinale a 
alternativa que corresponde ao cálculo do valor de um produto reduzido em 10%: 
a. vprod * 100 - 0.1 
b. (vprod * 10) / 100 
c. vprod - vprod * 0.1 
d. vprod * (10 / 100) 
e. vprod - (0.1 * 100) 
Feedback 
A resposta correta é: vprod - vprod * 0.1. 
Questão 2 
Na linguagem C não existe um tipo destinado a armazenar cadeias de caracteres (strings) em variáveis. 
Assim sendo, assinale a alternativa que corresponde à maneira correta de contornar esse problema para 
armazenar uma string em uma variável: 
a. Reservando um espaço na memória para armazenar a string sem a criação de uma variável. 
b. Criando uma variável char para cada caractere que comporá a string. 
c. Criando um vetor de chars. 
d. Escrevendo um programa recursivo que venha armazenar em uma variável char um caractere por 
recursão. 
e. Criando e manipulando um arquivo que venha armazenar essa string. 
Feedback 
A resposta correta é: Criando um vetor de chars. 
Questão 3 
A melhor maneira de se aprender uma linguagem de programação é na prática, ou seja, codificando um 
programa (KERNINGHAN; RITCHIE, 1988). Um programa em C, ao ser elaborado, possui uma estrutura 
básica que deve ser seguida para poder ser compilado e executado corretamente. Seguem algumas 
afirmações referentes à estrutura de um programa escrito em C: 
I. O comando #include <stdio.h> fornece as funções responsáveis pela entrada e saída de dados no 
programa. 
II. A função main() é a responsável pela execução do programa, sendo, portanto, obrigatória sua 
implementação. 
III. O retorno da função main() pode ser qualquer tipo de dado (caractere, numérico, booleano, etc.). 
IV. Toda instrução, exceto diretivas de pré-processamento, deve terminar com um ponto-e-vírgula (;). 
Estão corretas: 
a. I, II e IV apenas. 
b. I, II e III apenas. 
c. I e II apenas. 
d. II, III e IV apenas. 
e. III e IV apenas. 
Feedback 
A resposta correta é: I, II e IV apenas. 
 
 
Questão 4 
O comando for é do tipo laço contado, onde se determina previamente o número de vezes que um trecho de 
instruções será repetido. Ao analisarmos o código abaixo, podemos identificar que o mesmo apresentará 
problemas se for executado: 
 
int i; 
for (i = 1; i <= 20; i--) 
 printf("%d - Teste", i); 
 
Assinale a alternativa correspondente ao problema presente neste trecho de código: 
a. Não existem as chaves delimitadoras {} do bloco de instruções do for. 
b. O nome correto da função para escrever na tela é print(), não printf(). 
c. O incremento da variável é negativo, resultando em loop infinito. 
d. A variável i está sendo usada em conjunto com palavra "Teste" dentro da função printf(), resultando em 
um erro de execução. 
e. O termo i = 1; i &lt;= 20 está errado; deveria ser 1 to 20. 
Feedback 
A resposta correta é: O incremento da variável é negativo, resultando em loop infinito. 
Questão 5 
O comando for é uma estrutura do tipo laço contado, utilizado para um número definido de repetições, sendo 
que uma variável contadora é utilizada para fazer esse tipo de controle. Assinale a alternativa referente à 
ação correta do comando for quando a variável de controle é decrementada em algum valor como, por 
exemplo, x -= y: 
a. Ele considera o sinal informado, ignora o valor e decrementa a variável sempre em 1. 
b. Ele decrementa a variável apenas uma vez e nas iterações seguintes passa a incrementá-la. 
c. Ele faz com que o programa dê erro na hora de sua execução. 
d. Ele decrementa a variável de acordo com o valor informado, em todas as iterações. 
e. Ele ignora o sinal e incrementa a variável de controle indiferentemente. 
Feedback 
A resposta correta é: Ele decrementa a variável de acordo com o valor informado, em todas as iterações. 
Questão 6 
A estrutura while caracteriza-se pela execução de um laço de repetição enquanto uma condição for avaliada 
como verdadeira. Sendo assim, assinale a alternativa correspondente ao momento correto em que essa 
condição é avaliada nesta estrutura: 
a. Dentro do laço de repetição por meio de um if. 
b. Dentro de um laço de repetição por meio de um case. 
c. No final da estrutura. 
d. Dentro do laço de repetição por meio de outro while. 
e. No início da estrutura. 
Feedback 
A resposta correta é: No início da estrutura. 
 
 
Questão 7 
Pelo fato de não haver um tipo nativo para string, na linguagem C, tampouco há operadores que lidem com 
strings. Devido a isso, elas são manipuladas por meio de funções. Seguem algumas afirmações sobre as 
finalidades das funções de string em C: 
I. A função strlwr() retorna o conteúdo da string em caixa alta. 
II. A função strcpy() permite copiar uma string inteira, ou parte dela, para outra variável. 
III. Para obter o tamanho da string, usamos strstr(). 
IV. A função strcmp() compara duas strings para ver se são iguais ou diferentes. 
Estão corretas: 
a. I, III e IV apenas. 
b. I e III apenas. 
c. I, II e III apenas. 
d. II, III e IV apenas. 
e. II e IV apenas. 
Feedback 
A resposta correta é: II e IV apenas. 
Questão 8 
Na linguagem C não existe um tipo de dado primitivo string, nem tampouco operadores que atuem com dados 
desse tipo. Desse modo, a manipulação de strings é realizada por meio de funções. Assinale a alternativa que 
corresponde a definição correta da função strcat(x,y): 
a. Copia uma string em outra, ou seja, copia y em x. 
b. Armazena em x os primeiros caracteres de y. 
c. Verifica se y é subcadeia da string x. 
d. Retorna a diferença em ASCII entre os dois primeiros caracteres diferentes, ou zero para igualdade. 
e. Concatena na string x a string y, sem alterar y. 
Feedback 
A resposta correta é: Concatena na string x a string y, sem alterar y. 
Questão 9 
A recursividade é um mecanismo que permite a uma função ou procedimento chamar a si mesmo. Assinale a 
alternativa que corresponde ao número máximo de vezes que uma sub-rotina pode chamar a si mesma: 
a. 10. 
b. 2. 
c. 1. 
d. 3. 
e. Ilimitado. 
Feedback 
A resposta correta é: Ilimitado. 
Questão 10 
Sub-rotinas são trechos de código que contêm um conjunto de instruções e recebem um nome com o qual 
são chamadas durante o processamento do algoritmo. A existência de procedimentos e funções em um 
algoritmo divide as variáveis existentes em duas categorias: locais e globais. Dado o seguinte trecho de 
programa em C: 
int funcao1(int valor) { 
 valor *= 10; 
 return valor; 
} 
 
int main(voiD) { 
 int valor, result; 
 valor = 25; 
 result = funcao1(10); 
 return 0; 
} 
Assinale a alternativa correta referente ao valor que a funcao1() retornará para armazenar na variável result: 
a. 250. 
b. 350. 
c. 100. 
d. 2500. 
e. 25. 
Feedback 
A resposta correta é: 100.

Continue navegando