Baixe o app para aproveitar ainda mais
Prévia do material em texto
Acadêmico: Diefferson Silveira de Farias (1605235) Disciplina: Linguagens de Programação e Estruturas de Dados (ADS12) Avaliação: Avaliação Final (Objetiva) - Individual Semipresencial ( Cod.:637407) ( peso.:3,00) Prova: 19450009 Nota da Prova: 8,00 Legenda: Resposta Certa Sua Resposta Errada 1. O algoritmo a seguir traz em seu bojo a atribuição de valores às variáveis, a comparação entre valores, as estruturas de seleção e repetição, entre outras técnicas. Com base no exposto, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Qualquer valor menor do que 10 atribuído à variável número possibilitará a impressão da instrução 2. ( ) A impressão da instrução 3 será exibida apenas se o valor atribuído à variável número for maior do que 10. ( ) Para finalizar o algoritmo, o flag deverá receber o valor 'não'. ( ) A instrução 2 será exibida se o valor atribuído à variável número for menor ou igual a 5 e menor do que 10. ( ) A instrução 1 será exibida se o valor atribuído à variável número for maior ou igual a zero e menor do que 5. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - F - V. b) V - V - V - F - F. c) F - F - F - V - F. d) F - V - F - V - V. 2. A classe String na linguagem de programação Java pode ser utilizada para representar situações em que existam caracteres, palavras, frases e até mesmo textos. A fim de facilitar operações sobre estas informações, a classe String possui diversos métodos utilitários já escritos, que podem simplesmente ser reutilizados pelo desenvolvedor. Considerando os métodos da classe String, o trecho de código mostrado na figura a seguir e enviando a palavra "quebra-cabeças" como parâmetro, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Na linha 25 será impresso quebrA-cAbeçAs. ( ) A string de retorno do método será "QUEBRA-CABEÇAS". ( ) Na linha 22, não há alteração na variável arg. ( ) Na linha 27 criamos uma nova String, cujo conteúdo é: "quebra-cabeça". Assinale a alternativa que apresenta a sequência CORRETA: a) F - F - F - V. b) V - V - V - V. c) F - V - F - F. d) V - F - V - F. 3. Um programa de computador é escrito utilizando, normalmente, linguagens chamadas de alto nível. Estas linguagens têm como característica utilizarem uma sintaxe rígida e específica de cada uma, mas simultaneamente termos próximos da linguagem humana (tipicamente da língua inglesa), de forma a facilitar o processo de escrita e correção dos programas. Desta forma, qualquer código de programa, denominado código-fonte (source) não é entendível pelo processador do computador, linguagem designada de máquina. Tornou-se, assim, necessário encontrar uma forma de que esse código, com regras próprias e próximo da linguagem humana, seja transformado em algo que o processador possa entender e executar, ou seja, linguagem chamada máquina. Para se atingir esse fim, de transformar linguagem de alto nível em linguagem máquina, existem dois processos: a compilação e a interpretação. Com relação ao processo de compilação, analise as sentenças a seguir: I- É uma técnica para traduzir programas. II- A compilação executa o código-fonte. III- Na compilação, o compilador recebe um código-fonte e o devolve escrito em outra linguagem. IV- O processo de compilação é mais lento que o processo de interpretação. Assinale a alternativa CORRETA: a) Somente a sentença II está correta. b) As sentenças I e III estão corretas. c) As sentenças II e III estão corretas. d) As sentenças I e IV estão corretas. 4. Uma lista encadeada funciona como uma estrutura de dados para armazenar informações de forma mais flexível que um vetor ou uma matriz. Em Java, podemos implementar uma classe utilitária contendo diversos métodos que abstraem a complexidade do gerenciamento desta lista, facilitando sua utilização por outros programadores. Com relação aos métodos utilitários presentes em uma lista encadeada, assinale a alternativa CORRETA: a) Quando a posição ocupada por um objeto na lista for igual ao número de elementos, sabemos que este objeto está na penúltima posição desta mesma lista. b) O método que adiciona um elemento em determinada posição da lista exige a criação de um objeto temporário para armazenamento das referências que serão alteradas. c) O método que permite a adição de um elemento no começo da lista não precisa verificar se existem ou não elementos pré-existentes na lista. d) O método que verifica se determinado objeto está contido na lista precisa conhecer o valor de todos os atributos do objeto para fazer esta verificação. 5. Estruturas de dados são objetos que armazenam dados de forma eficiente, ofertando ao usuário uma ordenação eficiente dos dados e buscas por meio de palavras-chave, por exemplo. Analise os trechos de código em linguagem de programação C: Trecho 1 main() { int mat[2][2] = {{1,2},{3,4}}; int i,j; for (i=0;i<2;i++) for (j=0;j<2;j++) printf("%dn",mat[i][j]); system("pause"); } Trecho 2 main() { int mat[2][2] = {{1,2},{3,4}}; int *p = &mat[0][0]; int i; for (i=0;i<4;i++) printf("%dn",*(p+i)); system("pause"); } Com base no exposto, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O Trecho 2 indicará um erro de sintaxe na inicialização do ponteiro. ( ) O Trecho 2 imprimirá valores desconhecidos alocados na memória. ( ) Ambos os trechos de código imprimirão o mesmo conteúdo na tela. ( ) Ambos os trechos de código indicarão erro de sintaxe na inicialização da matriz mat. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - F - V. b) V - V - F - V. c) F - V - V - F. d) F - F - V - F. 6. As filas são estruturas de dados semelhantes às listas encadeadas, porém com algumas limitações relacionadas às operações que podem ser realizadas sobre as mesmas. Outra característica relevante das filas é sua arquitetura do tipo FIFO (First in - First out), em que o primeiro elemento que foi inserido na fila é o primeiro a ser retirado dela. Considerando as propriedades das filas, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Um exemplo de utilização de filas na computação são as filas de impressão. ( ) A linguagem de programação Java possui uma implementação própria que pode servir para controlar uma fila, chamada de LinkedList. ( ) Quanto à retirada de elementos, não existe diferença entre as operações disponíveis em uma fila e em uma lista. ( ) Remover, adicionar e verificar se a fila está vazia são as operações que podem ser realizadas com as filas. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - V - F - V. b) V - F - V - F. c) V - F - F - V. d) F - F - V - V. 7. A lista duplamente encadeada é um tipo de estrutura de dados que apresenta vantagens e desvantagens quando comparada com a lista simplesmente encadeada. Cabe ao desenvolvedor, após análise criteriosa do problema, selecionar a mais adequada à situação em questão. Com relação às semelhanças e diferenças entre listas simplesmente encadeadas e listas duplamente encadeadas, analise as sentenças a seguir: I- As listas simplesmente encadeadas permitem a navegação para o próximo nó da lista e também para o nó anterior. II- Uma vantagem da lista duplamente encadeada é a possibilidade de se percorrer a lista em qualquer sentido. III- As listas duplamente encadeadas requerem duas variáveis específicas para controle da própria lista em cada nó. IV- Pode-se afirmar que o desempenho de uma busca em lista duplamente encadeada é superior ao desempenho da mesma busca em uma lista simplesmente encadeada. Agora, assinale a alternativa CORRETA: a) As sentenças II e III estão corretas. b) As sentenças I, III e IV estão corretas. c) Somente a sentença III está correta. d) Somente a sentença II está correta. 8. Java é uma linguagem de programação e plataforma computacional lançada pela primeira vez pela Sun Microsystemsem 1995, fortemente conceituada, por ser rápida, segura e confiável. Com relação a essa tecnologia, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Java é uma linguagem fortemente tipada, ou seja, exige a declaração das variáveis e seus tipos de dados. ( ) Java tem alta portabilidade: facilidade de realizar a comunicação entre equipamentos, sistemas e aplicativos de empresas diferentes. ( ) Java 2 Micro Edition - J2ME faz parte da tecnologia JAVA, sendo útil na comunicação de equipamentos móveis. ( ) As bibliotecas oi APIs da tecnologia JAVA engessam a linguagem, tornando menos flexível o processo de escrita do código-fonte. Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - V - F. b) F - F - V - F. c) F - V - F - F. d) V - F - F - V. 9. Toda linguagem de programação possui uma sintaxe, que é o conjunto de regras que definem as sequências corretas dos elementos de uma linguagem de programação. Na pseudolinguagem portugol não é diferente, já que apresenta várias regras de escrita para o seu desenvolvimento. Com base nisso, analise as sentenças a seguir: I- Ao criar um identificador, pode-se fazer uso do underline e caracteres especiais, como @ e #. II- Com o objetivo de identificar que uma instrução foi finalizada, deve-se utilizar o ponto final. III- Ao utilizar variáveis, estas deverão ser declaradas no início do algoritmo, definindo-se o tipo de dados que cada uma suportará. IV- A atribuição de valores às variáveis é realizada através de um operador de atribuição, que no caso da pseudolinguagem portugol é representado pelo sinal := V- O valor numérico '10', por estar delimitado por apóstrofos, não poderá ser atribuído a uma variável do tipo Inteiro. Assinale a alternativa CORRETA: a) As sentenças III e V estão corretas. b) As sentenças I, IV e V estão corretas. c) As sentenças II e III estão corretas. d) As sentenças I, III e V estão corretas. 10. 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) Valores literais são atribuídos para as variáveis dos tipos caracteres e strings através do uso de aspas duplas. b) Uma variável do tipo string tem seu final sinalizado através do caractere '' na última posição do vetor. c) O conteúdo de uma variável do tipo string é representada internamente por um símbolo numérico, geralmente no formato ASCII. d) Uma variável do tipo string é, na verdade, um vetor de caracteres que não pode ser manipulado diretamente pelo programador. 11. (ENADE, 2011) A pilha é uma estrutura de dados que permite a inserção/remoção de itens dinamicamente seguindo a norma de último a entrar, primeiro a sair. Suponha que para uma estrutura de dados, tipo pilha, são definidos os comandos: PUSH (p, n): Empilha um número "n" em uma estrutura de dados do tipo pilha "p"; POP (p): Desempilha o elemento no topo da pilha. Considere que, em uma estrutura de dados tipo pilha "p", inicialmente vazia, sejam executados os seguintes comandos: PUSH (p, 10) PUSH (p, 5) PUSH (p, 3) PUSH (p, 40) POP (p) PUSH (p, 11) PUSH (p, 4) PUSH (p, 7) POP (p) POP (p) Após a execução dos comandos, o elemento no topo da pilha "p" e a soma dos elementos armazenados na pilha "p" são, respectivamente: a) 11 e 80. b) 4 e 80. c) 7 e 29. d) 11 e 29. Prova finalizada com 8 acertos e 3 questões erradas.
Compartilhar