Buscar

Linguagens de Programação e Estruturas de Dados (ADS12) Avaliação I

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 3 páginas

Prévia do material em texto

03/06/2020 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/avaliacao/avaliacao_lista.php 1/3
Acadêmico: Anderson da Rocha Freitas (1436983)
Disciplina: Linguagens de Programação e Estruturas de Dados (ADS12)
Avaliação: Avaliação I - Individual FLEX ( Cod.:513365) ( peso.:1,50)
Prova: 18629153
Nota da Prova: 10,00
Legenda: Resposta Certa Sua Resposta Errada 
1. As linguagens usadas para programar computadores são muito exigentes com a maneira com que os dados são representados. Os algoritmos manipularão dados, que normalmente
fornecidos pelos usuários, e entregar resultados para estes usuários. Uma pergunta importante neste momento é: que tipo de dados poderemos manipular? As linguagens de progra
normalmente estabelecem regras precisas para definir que tipos de dados elas manipularão. A pseudolinguagem que empregaremos também estabelece, ainda que informalmente, 
regras que reduzem o conjunto de dados existentes na natureza a um conjunto mais simples e somente este conjunto poderá ser manipulado pelos algoritmos. Sobre os tipos de da
primitivos, assinale a alternativa CORRETA:
 a) Matrizes, vetores e variáveis globais.
 b) Variáveis locais, números e datas.
 c) Texto, datas, números, constantes e vetores.
 d) Inteiro, real, caractere e booleano.
2. Os subprogramas atuam na divisão da complexidade de um problema computacional em partes menores, auxiliando, desta forma, a sua resolução. Na linguagem de programação J
subprogramas, conhecidos como funções, podem ou não conter retorno, o que dá uma maior flexibilidade ao desenvolvedor, embora prejudique a legibilidade do código fonte. Cons
implementação de funções na linguagem de programação Javascript, analise o código fonte da figura e classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) A função helloWorld retorna o argumento que foi passado como parâmetro. 
( ) Esta página simplesmente imprimirá a mensagem Hello-World. 
( ) O tipo do retorno da função está declarado na sua assinatura. 
( ) A função helloWorld é chamada na linha 12 da imagem. 
 
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 - V - F - V.
3. Os operadores são aplicados dentro dos algoritmos sempre que se quer fazer uma operação matemática, relacional ou lógica entre duas ou mais informações. Apesar de cada lingu
programação empregar sua própria sintaxe para representar os operadores, a operação que eles representam e o resultado obtido não muda, o que facilita sua representação atrav
algoritmos. Com relação aos operadores matemáticos, relacionais e lógicos, classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) O operador DIV nos traz a parte inteira do resultado de uma divisão. 
( ) Para x=5 e y=10, x MOD y retorna o valor 0. 
( ) Em uma operação do tipo E, todos os operandos devem ser verdadeiros para que o resultado seja verdadeiro. 
( ) A expressão "(4<=10) ou (5>8)" tem como resultado o valor FALSO. 
( ) O operador <> serve para verificar se dois valores são diferentes. 
 
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - V - F - V - V.
 b) F - V - F - V - F.
 c) V - F - V - F - F.
 d) V - F - V - F - V.
4. 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
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 cons
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. Sup
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 
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 lin
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 de
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 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, se
identificar todos os erros de tipo em tempo de compilação. 
 
Assinale a alternativa CORRETA:
 a) Somente a sentença II está correta.
 b) As sentenças I e III estão corretas..
 c) Somente a sentença I está correta.
 d) As sentenças II e III estão corretas.

03/06/2020 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/avaliacao/avaliacao_lista.php 2/3
5. 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í
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 form
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 
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 i
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) As sentenças II e III estão corretas.
 b) As sentenças I e IV estão corretas.
 c) Somente a sentença II está correta.
 d) As sentenças I e III estão corretas.
6. 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 eficient
facilitando sua busca e modificação. Com relação às estruturas de dados para armazenamento de informações, classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) Uma constante é um determinado valor fixo que se modifica na execução do programa. 
( ) Variáveis são posições de memória com conteúdo fixo. A atribuição do valor ocorre no momento da declaração da variável e no cabeçalho do programa. 
( ) Toda variável é identificada por um nome ou identificador. 
( ) Vetores são estruturas que têm uma sequência de valores que possuem os mesmos tipos de dados. 
 
Assinale a alternativa que apresenta a sequência CORRETA:
 a) F - V - V - V.
 b) F - V - F - F.
 c) V - F - V - V.
 d) F - F - V - V.
7. Os termos da sequência de Fibonacci são definidos por: 
 
Fibonacci(0) = 0 
Fibonacci(1) = 1 
Fibonacci(n) = Fibonacci(n-1) + Fibonacci(n-2) 
 
Uma solução recursiva para o cálculodo i-ésimo termo da sequência é dada pela função apresentada na imagem a seguir. Sobre a execução recursiva dessa função, avalie as asse
seguir: 
 
I- O método recursivo é o mais eficiente para o cálculo do i-ésimo termo da sequência de Fibonacci. 
 
PORQUE 
 
II- Realiza duas chamadas por passo da recursão, cada uma mais simples do que a chamada original. 
 
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.
8. Entender a lógica de um programa desenvolvido por outro programador, nem sempre é uma tarefa fácil, especialmente se não há uma descrição do que o programa deveria fazer. C
programa a seguir, caso seja informado os valores de entrada 15 e 9 e os resultados serem uma saída para o algoritmo, classifique V para as sentenças verdadeiras e F para as fals
 
program exemplo; 
const 
 n1= 5; 
 n2= 3; 
 var 
 x,y:integer; 
 comp: boolean; 
 
begin 
 writeln('Digite um multiplo de ',n1, ' e outro multiplo de ', n2, ': '); 
 read(x); 
 read(y); 
 comp:= x > y; 
 writeln(x, ' > ', y, ' = ', comp); 
 readln; 
end. 
 
( ) 15 > 9 = TRUE. 
( ) O número 9 não é múltiplo de 5. 
( ) Os números informados não atendem ao solicitado. 
( ) 9 < 5 = 3. 
 
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - F - F.
 b) V - V - V - V.
03/06/2020 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/avaliacao/avaliacao_lista.php 3/3
 c) F - V - F - V.
 d) F - F - F - V.
9. Um dos fatores predominantes na escolha de uma estrutura de dados a ser utilizada no desenvolvimento de software é o grau de aderência desta estrutura à complexidade das info
serem modeladas no domínio sobre o qual o software atuará. Com relação às estruturas de dados utilizadas na programação de computadores, assinale a alternativa CORRETA:
 a) Os algoritmos têm a finalidade de armazenamento, enquanto as estruturas de dados determinam a lógica de processamento.
 b) O domínio de conhecimento sobre o qual o software atuará influencia na escolha das estruturas de dados, mas não dos algoritmos.
 c) As decisões sobre as estruturas de dados não têm relação com os algoritmos aplicados a elas.
 d) As estruturas de dados surgiram com o objetivo de disciplinar parte do desenvolvimento de software, pois possuem as responsabilidades de organização e armazenamento dos 
10. Os interpretadores e os compiladores são programas cujos dados são outros programas. Dentro desta categoria, encontram-se ainda programas como ferramentas de verificação d
ambientes de desenvolvimento etc. Invariavelmente, os dados de entrada de um compilador e de um interpretador são representados por um código-fonte escrito numa linguagem d
programação. O mais usual é um programa ser expresso por intermédio de um texto, podendo ser expresso de outras formas, usando linguagens visuais por exemplo. Com relação
interpretadores e aos compiladores, classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) O código-fonte define as instruções do programa de computador, que, para estarem corretas, devem atender à estrutura léxica, sintática e semântica da linguagem de programa
utilizada. 
( ) O interpretador tem a função de tradutor e também de compilador. 
( ) Depois de compilado, o programa pode ser executado indefinidamente, sem a necessidade de repetição do processo de tradução. 
( ) Os programas não precisam ser recompilados quando ocorrem mudanças no código-fonte. 
 
Assinale a alternativa que apresenta a sequência CORRETA:
 a) F - V - V - V.
 b) V - F - F - V.
 c) F - F - V - F.
 d) V - V - V - F.
Prova finalizada com 10 acertos e 0 questões erradas.

Outros materiais