Buscar

Linguagens de Programação e Estruturas de Dados - Avaliação 02

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

Prévia do material em texto

Disciplina: Linguagens de Programação e Estruturas de Dados (ADS12)
Avaliação: Avaliação II - Individual FLEX ( Cod.:443102) ( peso.:1,50)
Prova: 11349050
Nota da Prova: 8,00
Legenda: Resposta Certa Sua Resposta Errada 
1. 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 a seguir, 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 é de 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, II e III estão corretas.
 b) As afirmativas I, III e IV estão corretas.
 c) Somente a afirmativa IV está correta.
 d) As afirmativas II e III estão corretas.
2. A decomposição de um problema é fator determinante para a redução da complexidade. Assim, 
surgem os subalgoritmos, que são trechos de programas que podem ser utilizados dentro de um 
programa maior, sempre que necessário ou conveniente. Permite, desta forma, focalizar a atenção
em um problema pequeno de cada vez, o que ao final produzirá uma melhor compreensão do 
todo. Sobre o exposto, analise as sentenças a seguir:
I- Os subalgoritmos podem ser do tipo função ou procedimento, sendo que o segundo sempre 
retornará um valor para o algoritmo que o chamou.
II- Um subalgoritmo pode receber parâmetros, que são valores advindos de outro algoritmo.
III- Um algoritmo somente poderá realizar a chamada de um tipo de subalgoritmo.
IV- Os parâmetros utilizados no algoritmo principal, no ato da chamada da função, devem manter
uma correspondência (número, ordem e tipo) com os parâmetros definidos na função.
Assinale a alternativa CORRETA:
 a) As sentenças I, II e III estão corretas.
 b) Somente a sentença III está correta.
 c) As sentenças I e III estão corretas.
 d) As sentenças II e IV estão corretas.
3. 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) O conteúdo de uma variável do tipo string é representada internamente por um símbolo 
numérico, geralmente no formato ASCII.
 d) Valores literais são atribuídos para as variáveis dos tipos caracteres e strings através do uso de
aspas duplas.
4. Os TADs (tipos abstratos de dados) podem ser representados através de diversas formas 
distintas na linguagem de programação C, sendo que uma característica comum entre as 
representações é a aglutinação de variáveis dentro de um tipo. Este tipo geralmente é uma 
abstração de alguma entidade do mundo real, cuja representação através de um TAD torna a 
manipulação menos complexa. Sobre as características dos TADs e o código-fonte apresentado 
a seguir, classifique V para as sentenças verdadeiras e F para as falsas:
( ) A utilização dessa struct implica ainda a declaração de uma variável do tipo Aluno.
( ) Este código apresenta um erro de compilação.
( ) Através da linha de comando: "struct Aluno a; Aluno.matricula=1;" o valor 1 será atribuído
para a struct.
( ) Na linha 7 está declarado um tipo homogêneo de dados.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) F - V - F - V.
 b) V - F - V - F.
 c) V - F - V - V.
 d) V - F - F - V.
5. Os vetores apresentam-se como alternativa ao desenvolvedor em situações em que existe a 
necessidade de armazenamento e recuperação de informações em memória de forma rápida e 
prática. Entretanto, a utilização dos vetores pode ocasionar erros que acontecem na execução do 
programa e que são imperceptíveis no momento da compilação. Considerando os cuidados a 
serem tomados pelo desenvolvedor na utilização de vetores, classifique V para as sentenças 
verdadeiras e F para as falsas:
( ) Colocar e definir o tamanho dos vetores em constantes pode auxiliar a manter a consistência
do programa.
( ) Ao controlar cadeias de caracteres, o desenvolvedor deve encerrá-las com o caracter ?e?, de 
forma a indicar o seu final.
( ) Ao saber o número de elementos a serem armazenados em um vetor, o desenvolvedor pode 
diminuir a utilização da memória pelo programa.
( ) Para se percorrer uma matriz, basta iterar pela primeira dimensão da mesma através do 
comando for.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - F - V.
 b) V - F - V - F.
 c) V - F - V - V.
 d) F - V - F - V.
6. Os tipos estruturados permitem o agrupamento de informações mais simples no formato de 
variáveis em entidades mais complexas, com o objetivo de facilitar a sua manipulação. Diversas 
linguagens de programação permitem a implementação destes tipos estruturados. Com base no 
exposto, analise as sentenças a seguir:
I- Como a ferramenta para a representação do tipo estruturado é a linguagem de programação, o 
domínio não deve influenciar na definição deste tipo.
II- Para representar uma abstração eficiente, os tipos estruturados devem ter rotinas que agem 
sobre eles.
III- Uma das maneiras de a linguagem de programação C fornecer o agrupamento dos dados é 
por meio das structs.
IV- Um dos objetivos destes tipos estruturados é identificar e desenvolver modelos matemáticos 
e abstrações do mundo real.
Agora, assinale a alternativa CORRETA:
 a) As sentenças II, III e IV estão corretas.
 b) As sentenças I e II estão corretas.
 c) As sentenças I, II e III estão corretas.
 d) As sentenças I e IV estão corretas.
7. 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 I, II e IV estão corretas.
 b) As sentenças III e IV estão corretas.
 c) Somente a sentença II está correta.
 d) As sentenças I e III estão corretas.
8. As matrizes são estruturas homogêneas de dados criadas com o objetivo de permitir o 
armazenamento ea busca de informações na memória de maneira rápida e simples. Ao contrário 
das variáveis escalares, as matrizes permitem o armazenamento de diversos valores em uma só 
variável, utilizando índices para referenciar a posição em determinada dimensão. Considerando 
as características das matrizes, classifique V para as sentenças verdadeiras e F para as falsas:
( ) Uma matriz simétrica é aquela cujas linhas podem ser trocadas pelas colunas, e os elementos
não trocam de posição.
( ) Uma matriz não quadrada não pode ser transposta, pois o número de linhas é diferente do 
número de colunas.
( ) Uma matriz quadrada é aquela cujo número de linhas é igual ao número de colunas.
( ) Uma matriz 2x2 pode ser representada como um vetor de duas posições, em que cada 
posição referencia outro vetor de duas posições.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - F - V.
 b) V - F - V - F.
 c) F - F - V - V.
 d) V - F - V - V.
9. Os tipos estruturados fornecem recursos de programação muito úteis para os profissionais que 
desenvolvem softwares. Sobre as características específicas destes tipos (registros, vetores e 
matrizes), e o trecho de algoritmo fornecido, analise as opções a seguir:
Algoritmo TiposEstruturados
tipo
 TCadastroProdutos = registro
 Codigo: inteiro;
 Descricao: caractere;
 Fim registro
 TCadastroProdutosVetor = Vetor[1..10] de TCadastroProdutos;
 TNomes = Vetor[1..10] de caractere;
 TMatriz = Vetor[1..3, 1..3] de inteiro;
variáveis
 Nome: TNomes;
 MatrizInteiros: TMatriz;
 CadastroProdutos: TCadastroProdutosVetor;
início
fim
I- O acesso à posição da variável Nome[5] retorna um valor válido.
II- O vetor TNomes pode ser substituído por uma matriz MNomes[0,10], apesar de aumentar o 
uso de memória RAM.
III- Matrizes não podem ser considerados vetores multidimensionais.
IV- A declaração de tipo TCadastroProdutosVetor = Vetor[1..10] de TCadastroProdutos é uma 
declaração válida.
Assinale a alternativa CORRETA:
 a) As opções I e IV estão corretas.
 b) As opções I, II e III estão corretas.
 c) Somente a opção II está correta.
 d) Somente a opção III está correta.
10. Um vetor é uma estrutura de dados que armazena uma sequência de objetos, todos do mesmo 
tipo, consistindo em um arranjo de elementos (dados) armazenados na memória do computador.
Sobre a estrutura de dados em forma de vetor,assinale a alternativa CORRETA:
 a) Vetores são homogêneos e acessados por meio de índices.
 b) Vetores são matrizes bidimensionais.
 c) Vetores são heterogêneos (apresentam dados distintos).
 d) Cada vetor tem a capacidade de armazenar apenas uma informação.

Outros materiais