Baixe o app para aproveitar ainda mais
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.
Compartilhar