Buscar

Exercícios de Algoritmos e Estrutura de Dados 01

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

Exercícios de Algoritmos e Estrutura de Dados 01 
 
1) Analise o seguinte algoritmo em pseudo-código e assinale a alternativa correta. 
 
inteiro funcao_A (inteiro n) 
início 
inteiro f; 
se ( n == 1) ou (n == 0) então 
retorna 1; 
 
f = funcao_A(n-1)*n; 
retorna f; 
fim. 
 
A A primeira chamada da “funcao_A” com o argumento 2 provoca uma segunda 
chamada da “funcao_A” com o argumento 1. 
 
B Como o programa é iterativo, faz-se necessário mais uma variável além de “f”, por 
exemplo, para armazenar os diversos passos do processamento. 
 
C Quando a “funcao_A” é chamada com um argumento de 1, a função retorna o 
argumento 0 e não necessita executar a iteração. 
 
D O algoritmo retorna erro para quando o argumento passado possui um valor maior 
que 1000 e menor que o valor máximo de um número inteiro. 
 
E Há um laço que é executado de 1 a n, multiplicando progressivamente cada número 
pelo produto móvel dado por “f = funcao_A(n-1)*n;”. 
_____________________________________________________ 
 
2) Assinale a opção que apresenta o comando que tem a função de implementar 
desvios incondicionais no programa, mas que é de uso proibido na programação 
estruturada. 
 
A IF-THEN-ELSE 
 
B CASE 
 
C GOTO 
 
D WHILE 
 
E REPEAT 
_____________________________________________________ 
3) Analise o seguinte programa, elaborado na forma de pseudolinguagem. 
Início [ Inteiro a, i, j; 
a ← 0; Para i de 1 até 4 faça [ j ← 1; Enquanto j < 3 faça [ a ← a + 2; j ← j + 1; ] 
] Imprima a; ] Fim. 
Ao final da execução desse programa, o valor impresso da variável a será: 
A 10 
 
B 12 
 
C 16 
 
D 20 
 
E 24 
_____________________________________________________ 
 
4) Tendo como referência o precedente código estruturado, julgue o item a seguir. 
 
As variáveis A e B estão definidas no programa TROCA_VALORES com escopo global, 
e a variável Y está definida com escopo local na área de dados da memória; dessa 
forma, as variáveis A e B somente são visíveis quando a sub-rotina TROCA é 
executada. 
 
Certo 
Errado 
_____________________________________________________________________ 
 
5) Tendo como referência o precedente código estruturado, julgue o item a 
seguir. 
 
Se as variáveis A e B tivessem sido definidas novamente dentro da sub-rotina 
TROCA, elas seriam novas variáveis e teriam escopo global para a sub-rotina 
TROCA. 
 
Certo 
Errado 
 
_____________________________________________________________________ 
 
6) Uma função com um único parâmetro foi chamada dentro de um programa. Caso a 
passagem do conteúdo de uma variável para esta função seja por meio desse 
parâmetro, por valor, esse tipo de chamada permite 
A criar múltiplas instâncias dessa variável, desde que autorizado pelo usuário do 
programa. 
 
B criar múltiplas instâncias dessa variável, caso não se utilize a pilha como forma de 
chamada da sub-rotina. 
 
C usar, dentro da função, o valor da variável, bem como permite alterar o valor da 
variável original. 
D usar, dentro da função, uma cópia do valor da variável, porém não permite alterar o 
valor da variável original. 
 
E usar esse parâmetro de entrada também como um parâmetro de saída. 
_____________________________________________________________________ 
 
7) O estudo da lógica, frequentemente, é dividido em indutiva e dedutiva. Ambas se 
baseiam em argumentos, um conjunto de enunciados composto por premissas e 
conclusão. Assim, sobre lógica indutiva e dedutiva, assinale a assertiva INCORRETA. 
A Na lógica dedutiva, premissas verdadeiras resultam em uma conclusão verdadeira. 
 
B No raciocínio lógico indutivo, a verdade das premissas é suficiente para assegurar a 
verdade da conclusão. 
 
C A lógica dedutiva pode ser subdividida em: clássica, complementar e não clássica. 
 
D O cálculo de predicados faz parte da lógica dedutiva clássica. 
 
E A lógica fuzzy, ou nebulosa, é um exemplo da lógica dedutiva não clássica. 
_____________________________________________________________________ 
 
8) Considere a tabela verdade abaixo com as entradas A, B, C e D e saída Z. A 
saída Z = x significa “don’t care”. 
 
 
 
 
A expressão que simplifica a tabela é 
 
A Z = AD + CD 
 
B Z = BD 
 
C Z = B 
 
D Z = CD + AC 
_____________________________________________________________________________ 
 
9) Analise os itens abaixo que versam sobre Lógica de Programação e depois responda: 
 
I. Lógica de programação é o modo como se escreve um programa de computador, 
um algoritmo. Um algoritmo é uma sequência de passos para se executar uma função. 
II. A linguagem de programação é como uma língua normal, um grupo de palavras com 
significados. No caso da programação, a maioria das linguagens é escrita em Inglês. 
Estas linguagens fazem o computador assimilar cada comando e função de um 
algoritmo, depois executar cada função. 
III. Na hora de programar alguns passos são indispensáveis, como Declarar Variáveis. 
Variáveis são escritas exclusivamente por letras, que representam um valor que pode 
ser mudado a qualquer momento. 
IV. Saber lógica de programação é saber o melhor jeito de escrever um código, para o 
computador interpretar corretamente. É saber se comunicar com a máquina a partir de 
uma linguagem seja lá qual for. 
 
Analisados os itens é CORRETO afirmar que: 
A Todos os itens estão corretos. 
 
B Apenas o item IV está incorreto. 
 
C Apenas o item III está incorreto. 
 
D Apenas o item I está incorreto. 
_____________________________________________________________________ 
 
10) Paulo propôs a Rodrigo um jogo, no qual Paulo escolhe um número entre 1 e 32 
que Rodrigo deve tentar adivinhar. A cada palpite de Rodrigo, Paulo dá uma pista, 
dizendo se o palpite é igual, maior ou menor que o número escolhido. Se for igual o 
jogo é encerrado. 
 
Assinale a opção que indica o número máximo de palpites que Paulo necessitaria até 
anunciar o número sorteado. 
A 4 
 
B 6 
 
C 8 
 
D 16 
 
E 32 
 
 
 
Gabarito 
1 - A 
2 - C 
3 - C 
4 - Errado 
5 - Errado 
6 - D 
7 - B 
8 - C 
9 - C 
10 - B

Continue navegando