Buscar

Av2 Linguagens de Programação e Estruturas de Dados

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 6 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

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 6, do total de 6 páginas

Prévia do material em texto

Acadêmico: Tiago Rosa da Silva (3252647)
Disciplina: Linguagens de Programação e Estruturas de Dados (ADS12)
Avaliação: Avaliação II - Individual ( Cod.:677024) ( peso.:1,50)
Prova: 31930398
Nota da Prova: 9,00
Legenda: Resposta Certa Sua Resposta Errada 
1. Considere um painel luminoso representado por uma matriz quadrada de ordem n, sendo n
um número inteiro ímpar. A cor de cada célula é definida pelo elemento cor[i, j] utilizado na
posição correspondente no painel. Considere, ainda, que a função par(x) devolve verdadeiro
se o argumento x for um número par. O trecho de código a seguir foi elaborado para produzir
determinado padrão no painel. 
 ... 
 m = n (+1)/2 
 para ( i de 1 até n ) faça 
 para ( j de 1 até n ) faça 
 se ((par(i) e par(j)) e ((i - j = 0) ou ((i + j) = (n + 1)) ou (i = m) ou (j = m)) então 
 cor[i,j] = preto 
 senão 
 cor[i,j] = branco 
 fim-se 
 fim-para 
 fim-para 
 ... 
Nessa situação, se o valor de n for igual a 7, o padrão que será produzido no painel é:
 a) Imagem A.
 b) Imagem D.
 c) Imagem C.
 d) Imagem B.
2. A ordenação por inserção funciona de modo semelhante à forma como algumas pessoas
ordenam cartas de baralho. Inicia-se com a mão esquerda vazia e as cartas empilhadas na
mesa. Remove-se da pilha uma carta de cada vez, inserindo-a na posição correta na mão
esquerda. Para se identificar a posição correta de uma carta, deve-se compará-la com as
cartas presentes na mão esquerda, no sentido da direita para a esquerda. Em todos os
momentos, as cartas na mão esquerda estão ordenadas, tendo sido obtidas no topo da pilha
da mesa. Um programador implementou um algoritmo de ordenação semelhante à forma de
ordenação de cartas descrita no texto. Ao realizar um teste com um vetor de nove posições
(vetor [ 1 .. 9] ), verificou que o algoritmo não funcionava corretamente. Considerando que
nesse algoritmo há erros de lógica que devem ser corrigidos para que o algoritmo ordene
corretamente um vetor de inteiros de forma crescente, analise as afirmativas a seguir: 
I- A linha 04 deve ser corrigida da seguinte forma: enquanto ( ( j >= 1 ) ou ( valor < vetor [ j ] )
) 
II- A linha 05 deve ser corrigida da seguinte forma: vetor [ j + 1 ] <- vetor [ j ]
III- A linha 11 deve ser corrigida do seguinte modo: vetor [ j ] <- valor
Assinale a alternativa CORRETA:
 a) Somente a afirmativa II está correta.
 b) As afirmativas I e III estão corretas.
 c) As afirmativas I e II estão corretas.
 d) As afirmativas II e III estão corretas.
3. As variáveis são responsáveis por armazenar os dados utilizados pela lógica. Em alguns
casos, é necessário trabalhar com um conjunto de dados de variados tipos, por exemplo,
para armazenar dados de alunos de uma turma, como seu nome, CPF e data de nascimento.
Para agrupar mais de uma variável em um único registro, é utilizado o conceito de registros.
A seguir, é apresentada a declaração de um registro. Sobre registros, classifique V para as
sentenças verdadeiras e F para as falsas:
01 ALUNO: registro;
02 NOME: texto(60);
03 NOTA: real;
04 fim_registro
( ) Para ler o nome de um aluno na variável interna NOME, pode-se utilizar a sintaxe " leia
ALUNO.NOME; ".
( ) Para exibir a nota de um aluno, é utilizada a sintaxe " escreva ALUNO.NOTA; ".
( ) Todos os alunos de uma turma podem ser armazenados em uma única variável,
declarando um vetor com a sintaxe " LISTAALUNOS[100]: ALUNOS; ". 
( ) A expressão " fim_registro " determina que as variáveis internas do registro terminaram
de ser declaradas.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - V - V - F.
 b) F - F - V - V.
 c) V - V - F - V.
 d) F - V - F - V.
4. A linguagem Pascal possibilita ao desenvolvedor trabalhar com estruturas de vetores e
matrizes, as quais possibilitam a manutenção de uma série de elementos de dados,
geralmente do mesmo tamanho e tipo. Acerca das estruturas de vetores e matrizes, analise
as sentenças a seguir:
I- As estruturas de vetores e matrizes, na linguagem Pascal, são definidas por Array
unidimensional e Array bidimensional, respectivamente.
II- Para criar um Array unidimensional para armazenar valores inteiros, o desenvolvedor
deverá usar a seguinte sintaxe: "valor: Array [1..2, 1..4] of Integer".
III- Para percorrer um Array, é necessária a utilização de uma estrutura de repetição, como
WHILE-DO.
IV- A posição de cada elemento no Array é dada por um índice.
Assinale a alternativa CORRETA:
 a) As sentenças I e II estão corretas.
 b) As sentenças II, III e IV estão corretas.
 c) As sentenças I e IV estão corretas.
 d) As sentenças I, II e IV estão corretas.
5. As estruturas de dados são formas de distribuir e relacionar os dados disponíveis, de modo a
tornar mais eficientes os algoritmos que manipulam esses dados. Sobre as estrutura de
dados, classifique V para as sentenças verdadeiras e F para as falsas:
( ) A linguagem Java possui tipos de dados primitivos.
( ) Nas linguagens de programação de terceira geração, o desempenho de uma operação
com uma matriz é independente da forma como elas são organizadas em memória.
( ) Uma estrutura de dados do tipo união (union) é representada em memória da mesma
forma que um registro (record).
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - V.
 b) F - V - F.
 c) F - V - V.
 d) V - F - F.
6. A sequência ou sucessão de Fibonacci, segundo a matemática, é a ordem de números
inteiros que parte, geralmente, de 0 e 1 e que cada número subsequente representa a soma
dos dois anteriores. No Proposta Leonardo Pisa, conhecido como Fibonacci, ele propôs a
sequência numérica: (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...). Essa sequência tem uma lei de
formação simples: cada elemento, a partir do terceiro, é obtido somando-se os dois
anteriores. Veja: 1+1=2, 2+1=3, 3+2=5 e assim por diante. Baseado no algorítimo, analise as
sentenças a seguir:
I- Ao informar a posição 8, o valor final em (T) será 21.
II- Ao informar a posição 3, o valor final em (T) será 2.
III- No estrutura de repetição utilizada nesse algoritmo (PARA- FAÇA), não se sabe a
quantidade de vezes que será executada.
IV- Se o valor da posição (lido por N) for 1 ou 2, o valor final em (T) será o mesmo.
Assinale a alternativa CORRETA:
 a) As sentenças III e IV estão corretas.
 b) As sentenças I, II e IV estão corretas.
 c) Somente a sentença II está correta.
 d) As sentenças I e III estão corretas.
7. Nas linguagens de programação, existem diversos tipos de dados para a declaração de
variáveis, dentre os quais se destacam os caracteres e as strings. Pode-se considerar que a
existência das strings abstrai a complexidade de controle de sequências de caracteres que
ficaria a cargo do programador, o que torna vantajosa a utilização de variáveis deste
tipo.Sobre as características dos tipos caractere e string na linguagem de programação C,
assinale a alternativa CORRETA:
 a) Uma variável do tipo string tem seu final sinalizado através do caractere '' na última
posição do vetor.
 b) Uma variável do tipo string é, na verdade, um vetor de caracteres que não pode ser
manipulado diretamente pelo programador.
 c) Valores literais são atribuídos para as variáveis dos tipos caracteres e strings através do
uso de aspas duplas.
 d) O conteúdo de uma variável do tipo string é representada internamente por um símbolo
numérico, geralmente no formato ASCII.
8. Vetores e matrizes são estruturas de dados homogêneas que permitem o armazenamento de
vários valores ao mesmo tempo. No entanto, todo valor armazenado em um mesmo vetor ou
matriz deve possuir o mesmo tipo de dado associado, ou seja, um vetor/matriz de valores
inteiros só pode armazenar valores inteiros. Considerando o algoritmo anexo, que utiliza um
vetor para armazenar valores reais, analise as afirmativas a seguir:
I- Ao informar um valor texto na linha 11 do algoritmo, ocorreráum erro, pois o programa
espera um valor do mesmo tipo do vetor - real.
II- Ao informarmos 4, 10, 2, 6, 5, 3, 1 e 1 aos valores solicitados ao longo da execução do
algoritmo, a média aritmética dos valores de todas as posições do vetor é 4.
III- O vetor "números" poderia ser substituído por uma matriz com 2 linhas e 5 colunas, porém
essa modificação acarretaria em alterações no algoritmo para se trabalhar com indexação
dupla.
IV- Informando valores numéricos quando solicitado, o algoritmo executará sem erros.
Assinale a alternativa CORRETA:
 a) As afirmativas I, III e IV estão corretas.
 b) As afirmativas I, II e III estão corretas.
 c) Somente a afirmativa IV está correta.
 d) As afirmativas II e III estão corretas.
9. As matrizes na linguagem de programação Java possuem características diferentes em sua
definição. Ao invés de definir uma matriz na memória, a máquina virtual Java cria vetores de
vetores, o que acaba por facilitar o gerenciamento e a visualização das matrizes por parte
dos programadores. Sobre as características dos vetores na linguagem de programação Java
e do nome do objeto que contém a matriz é "matriz", bem como a figura anexa, analise as
sentenças a seguir:
I- O número 31 pode ser referenciado usando matriz[0][0].
II- Ao acessar matriz[4][3], obteremos um erro de compilação.
III- A posição [0][4] contém o número 1.
IV- Ao acessar matriz[4][2], obteremos um erro na execução.
Assinale a alternativa CORRETA:
 a) Somente a sentença II está correta.
 b) As sentenças II e IV estão corretas.
 c) Somente a sentença III está correta.
 d) As sentenças I, II e III estão corretas.
10.Algoritmos são desenvolvidos para resolver inúmeros problemas, os quais sempre respeitam
uma estrutura bem definida e também as etapas de entrada, processamento e saída. Diante
disso, com base nas atribuições das variáveis definidas e no algoritmo anexo, avalie as
asserções a seguir e a relação proposta entre elas:
I- A linha 19 não será executada se inicializar a=5, x=6 e y=7.
PORQUE
II- Devido à execução da linha 13, o valor de y terá o valor 8, que é menor do que o valor 12,
comparado na linha 16.
Assinale a alternativa CORRETA:
 a) As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta
da primeira.
 b) A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira.
 c) As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa
correta da primeira.
 d) A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa.
Prova finalizada com 9 acertos e 1 questões erradas.

Continue navegando