Buscar

Avaliação I - 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 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

Na Ciência da computação, uma estrutura de dados é um modo particular de armazenamento e organização de dados em um
computador de modo que possam ser usados eficientemente, facilitando sua busca e modificação. Diferentes tipos de estrutura de
dados são adequadas a diferentes tipos de aplicação e algumas são altamente especializadas, destinando-se a algumas tarefas
específicas. Por exemplo, as B-trees são particularmente indicadas para a implementação de bases de dados, enquanto que a
implementação de compiladores geralmente requer o uso de tabela de dispersão para a busca de identificadores. Na estrutura
apresentada, "TIPEST", cuja delimitação ocorre através de <estrutura> e a finalização através de <fim-estrutura>, refere-se ao
armazenamento do tipo:
A Lista duplamente encadeada.
B Registro.
C Matriz.
D Vetor.
Na compilação, o programa escrito na linguagem fonte é traduzido para linguagem máquina e depois ligado e carregado para
ser executado. Na interpretação, o programa fonte é traduzido e executado instrução a instrução, de modo interativo. O interpretador
traduz cada instrução para uma representação interna e interpreta-a simulando o funcionamento do processador. O interpretador
aceita, além das instruções da linguagem, comandos para controlar o seu funcionamento. Imagine as seguintes situações em um
módulo executável de um programa:
- redução do tempo de execução;
- maior agilidade na identificação de erros na codificação.
As situações citadas referenciam, respectivamente, os métodos de:
A Compilação e interpretação.
B Interpretação e compilação.
C Interpretação e execução.
D Execução e compilação.
Uma linguagem de programação é uma linguagem que possui sintaxe (formato) e semântica (significado), e é usada para
expressar uma sequência de ações computacionais que formam um programa. Neste sentido, destacam-se os tipos de dados que
definem conjunto de valores e as operações aplicáveis sobre esses valores. Os tipos de dados servem fundamentalmente para oferecer
informações relevantes aos programadores e aos compiladores (ou interpretadores) sobre os dados usados pelos programas. Sobre o
exposto, classifique V para as sentenças verdadeiras e F para as falsas:
( ) São tipos de dados primitivos na linguagem de programação JAVA: inteiro, booleano e caractere.
( ) O tipo de dado usado para armazenar expressões condicionais, apresentando apenas duas opções de valores (verdadeiro ou
falso) é o booleano.
( ) Matriz é um tipo de dado primitivo.
( ) Os compiladores geram a partir do código-fonte, o arquivo executável do aplicativo. Este só pode ser executado, não sendo
passível de alterações.
Assinale a alternativa que apresenta a sequência CORRETA:
A F - V - V - V.
B V - F - F - V.
C F - V - V - F.
D V - V - F - V.
1
2
3
A linguagem de programação C possui diversas características que a tornam uma excelente escolha como ferramenta
computacional para a resolução de problemas. Com relação às características da linguagem de programação C, assinale a alternativa
CORRETA:
A Apesar de não ser uma linguagem orientada a objetos, através da inclusão de objetos, o C faz uso do reúso e de componentes.
B Ao término de uma função, existe a necessidade de se retornar um tipo primitivo para o código que efetuou a sua chamada.
C Através do comando X=7, fazemos uma comparação do valor contido na variável x com o número 7.
D Um tipo primitivo é um tipo que pode ser decomposto em diversos tipos menores.
A utilização de funções é considerada uma boa prática de programação, pois auxilia a dividir a complexidade de um programa
de computador em partes menores e mais fáceis de implementar, manter e compreender. Com relação à linguagem de programação C
e a utilização de funções, analise as sentenças a seguir:
I- As funções são compostas por um cabeçalho e um escopo.
II- As funções de usuário já estão pré-compiladas e podem ser utilizadas pelos programadores na elaboração de seus programas.
III- Como exemplo de função de biblioteca podemos citar a stdio.h.
IV- Uma função pode ser criada sem nenhum parâmetro.
Agora, assinale a alternativa CORRETA:
A As sentenças I e II estão corretas.
B As sentenças I, III e IV estão corretas.
C As sentenças I, II e III estão corretas.
D As sentenças II e IV estão corretas.
Na Ciência da Computação, uma estrutura de dados é um modo particular de armazenamento e organização de dados em um
computador de modo que possam ser usados eficientemente, facilitando sua busca e modificação. Em linguagens de programação e
estrutura de dados, uma das formas mais comuns de armazenamento é o registro. Sobre a estrutura de armazenamento registro,
assinale a alternativa CORRETA:
A Estrutura que armazena somente dados inseridos em pilha.
B Estrutura que contém uma ou mais variáveis de tipos de dados distintos, agrupados no mesmo nome.
C Estrutura que contém um conjunto não ordenado de campos do mesmo tipo de dados.
D Estrutura de dados que armazena mais de 4000 caracteres.
Entre as características da linguagem de programação Java, podemos destacar a portabilidade entre plataformas, a utilização de
uma máquina virtual para execução dos programas e o grande conjunto de APIs e bibliotecas, atendendo às mais variadas
necessidades dos desenvolvedores. Com relação à linguagem de programação Java, analise as sentenças a seguir:
I- A JVM é responsável por criar uma espécie de sandbox, onde a execução dos programas fica praticamente isolada do sistema
operacional.
II- Um programa escrito em Java pode possuir várias classes. Entretanto, o processo de compilação gerará somente um arquivo
binário para representar o programa.
III- Um applet é essencialmente um programa em Java que executa através de uma página html.
IV- Um método pode ser criado sem nenhum parâmetro através dos parênteses vazios e sem nenhum retorno, através da palavra void.
Agora, assinale a alternativa CORRETA:
A As sentenças II 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.
4
5
6
7
D As sentenças I, III e IV estão corretas.
Escopo dinâmico: para as linguagens com escopo dinâmico, a vinculação das variáveis ao escopo é realizada em tempo de
execução. Se uma variável é local ao bloco, então o uso da dada variável no bloco será sempre vinculado àquela local. Contudo, se a
variável for não local, a sua vinculação depende da ordem de execução, a última vinculada na execução. A consequência disso é que,
em um mesmo bloco de comandos, um identificador pode ter significados diferentes, e o programador precisa ter a ideia precisa de
qual variável está sendo usada. Suponha que uma linguagem de programação tenha sido projetada com vinculação e verificação
estáticas para tipos de variáveis, além de passagem de parâmetros por valor. Também é exigido pela especificação da linguagem que
programas sejam compilados integralmente e que não é permitido compilar bibliotecas separadamente. Durante uma revisão da
especificação da linguagem, alguém propôs que seja adicionado um mecanismo para suporte a variáveis com escopo dinâmico.
Sobre a proposta de modificação da linguagem, analise as seguintes sentenças:
I- As variáveis com escopo dinâmico podem ser tratadas como se fossem parâmetros para os subprogramas que as utilizam, sem que
o programador tenha que especificá-las ou declarar seu tipo (o compilador fará isso). Assim, eliminasse a necessidade de
polimorfismo e é possível verificar tipos em tempo de compilação.
II- Como diferentes subprogramas podem declarar variáveis com o mesmo nome mas com tipos diferentes, se as variáveis com
escopo dinâmico não forem declaradas no escopo onde são referenciadas, será necessário que a linguagem suporte polimorfismo de
tipos.
III- Se as variáveis dinâmicas forem declaradas tanto nos escopos onde são criadas como nos subprogramas em que são
referenciadas, marcadas como tendo escopo dinâmico, será possível identificar todos os erros de tipo em tempo de compilação. 
Assinale a alternativa CORRETA:
A As sentenças I eIII estão corretas..
B Somente a sentença I está correta.
C Somente a sentença II está correta.
D As sentenças II e III estão corretas.
Os aplicativos computacionais são geralmente desenvolvidos utilizando-se de linguagem de alto nível, que são amparadas por
linguagens de sintaxe rigorosa, cuja característica é específica para cada linguagem adotada. Desta forma, os códigos-fonte dos
programas não são entendidos pelo processador da máquina. Dois métodos se destacam neste sentido: a compilação e a interpretação.
Sobre a interpretação de programas, analise as sentenças a seguir:
I- O interpretador é responsável por executar o código-fonte.
II- A interpretação do programa ocorre de forma mais onerosa (lenta) que a compilação.
III- A interpretação tem a função de transformar um programa em outro, traduzindo o código inicial para uma linguagem que possa
ser executada.
IV- Um interpretador não é capaz de compilar um programa.
Assinale a alternativa CORRETA:
A As sentenças II, III e IV estão corretas.
B As sentenças I, II e IV estão corretas.
C As sentenças I, III e IV estão corretas.
D As sentenças I, II e III estão corretas.
Os números de Fibonacci correspondem a uma sequência infinita na qual os dois primeiros termos são 0 e 1. Cada termo da
sequência, à exceção dos dois primeiros, é igual à soma dos dois anteriores, conforme a relação de recorrência a seguir.
f(n) = f(n-1) + f(n-2)
Para desenvolver este algoritmo é possível fazer ele iterativo ou recursivo. Sobre o exposto, analise as afirmativas a seguir:
I- A iteratividade indireta é caracterizada, por exemplo, quando uma função C chama a função D, e esta função D, chama a função C.
II- A solução recursiva possui a vantagem de ser implementada diretamente a partir da definição do problema.
III- A solução iterativa é mais vantajosa em termos de eficiência, mas exige mais atenção na implementação.
IV- A solução iterativa realiza economia de espaço na memória do computador.
8
9
10
Assinale a alternativa CORRETA:
A As afirmativas II e III estão corretas.
B As afirmativas I e II estão corretas.
C As afirmativas III e IV estão corretas.
D As afirmativas I e IV estão corretas.