Logo Passei Direto
Buscar
Material

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

1. As linguagens de programação declarativas têm como principal característica lógica do programa estarem orientadas para o resultado a ser obtido e não para o modo como será alcançado. Ou seja, têm foco no quê e não no como. Assinale a alternativa que descreva outra característica também associada a esse paradigma:
B. Facilidade de aprendizagem.
2. As linguagens de programação declarativa, assim como linguagens em outros paradigmas, são indicadas para programas em algumas áreas do conhecimento. Assinale a alternativa que identifica as áreas do conhecimento em que mais se aplicam as linguagens de programação declarativa:
D. Inteligência Artificial e Banco de Dados.
3. As linguagens de programação lógica, como o Prolog, têm grande embasamento na lógica matemática, fazendo uso de símbolos na declaração pela lógica de predicados. Assinale a alternativa correta acerca de algumas características da programação lógica:
A. Processamento simbólico e fácil modificação.
4. O paradigma de programação funcional é uma forma de programação declarativa, criado explicitamente para dar suporte a uma abordagem funcional pura, para a solução de problemas. Para atingir esse objetivo, são características desse paradigma:
E. Foco em funções com objetos de primeira classe e coleção de dados.
5. As linguagens de programação por restrições são uma complementação ao padrão lógico e se referem à implementação de restrições na relação entre variáveis, especificando soluções e critérios a serem cumpridos, atuando sobre domínios. As linguagens de programação por restrições atuam sobre alguns domínios. Assinale a alternativa abaixo que apresenta alguns domínios onde esse tipo de linguagem atua:
C. Booleano e finito.
Programação imperativa
1. O paradigma de programação imperativa é largamente caracterizado pelo fato de seus programas expressarem instruções e comandos que o computador deve executar para alcançar os objetivos. Outra característica importante do paradigma de programção imperativa é:
A. Mutação de estado (alterar os valores das variáveis).
2. As linguagens de programação imperativa podem ser classificadas como completas quanto a Turing. Analise as questões e assinale a que representa uma síntese do que significa ser completa quanto a Turing.
C. Apresentar recursos que permitem expressar qualquer algoritmo computacional.
3. As linguagens de programação imperativa são também chamadas de linguagens procedurais devido ao fato de permitirem uma certa estruturação do código construído. Acerca desse conceito, assinale a alternativa que apresenta uma desvantagem dessa característica:
D. Falta de flexibilidade dado o caráter sequencial das instruções.
4. A programação em linguagem imperativa se caracteriza por expressar a chegada a um resultado e não como. Analise o código abaixo, acerca de um o trecho do código de um programa em linguagem C, e assinale a alternativa correta sobre a característica do paradigma imperativo que é possível perceber.
function join(array) { var text = ""; for (var i = 0; i < array.length; i++) {
 text += array[i];
 }
return text;
}
B. Instruções explícitas.
5. Uma linguagem de programação pode dar suporte a mais do que um só paradigma de programação. Nesse contexto, analise as alternativas a seguir e assinale a que apresenta as características que justifiquem que uma linguagem forneça suporte à implementação do paradigma imperativo.
C. Variáveis, atribuição e execução sequencial de procedimentos.
Programação estruturada
1. A programação estruturada propõe uma disciplina para construção de códigos de programas com o objetivo de permitir, entre outros fatores, uma fácil manutenção dos programas. Esse paradigma surgiu no início da década de 70.
Acerca dos eventos que motivaram o surgimento da programação estruturada, assinale a alternativa correta:
C. A crise do software e o uso excessivo de comandos GOTO nos códigos.
2. O princípio básico de programação estruturada é que um programa é composto por blocos elementares de código que se interligam por intermédio de três mecanismos básicos.
Assinale a alternativa correta quanto a estes três mecanismos:
A. Sequência, Seleção e Iteração.
3. Na programação estruturada é fundamental a elaboração de algoritmos e, para expressá-los, algumas formas de representação são usadas.
Assinale a alternativa correta sobre as formas de representação utilizadas para algoritmos em programação estruturada:
D. Linguagem Natural, Fluxogramas e Pseudocódigo.
4. Uma das características da linguagem de programação estruturada são as estruturas em sequência. Conforme tal característica, as instruções dos programas são executadas sequencialmente de cima para baixo, linha a linha.
Com base nessa característica, assinale a alternativa correta quanto ao seu benefício na estruturação de código:
E. Facilidade em compreender o fluxo de execução de um Programa.
5. Uma das características da programação estruturada é a utilização de estruturas de repetição, representada na maioria das linguagens estruturadas por comandos FOR e While.
Assinale a alternativa correta quanto a uma das principais vantagens que essa estrutura proporciona:
C. Execução de blocos de instruções várias vezes.
Programação orientada a objetos: classes, relacionamentos e encapsulamento
1. Há um tipo específico de relacionamento entre classes, em que o objetivo é mostrar que as informações de um objeto (chamado "objeto todo") devem ser complementadas por um ou mais objetos de outra classe ("objeto parte").
Assinale a alternativa que apresenta o nome desse tipo de relacionamento.
E. Agregação.
2. Todo atributo de uma classe só poderá ser manipulado pelos métodos da própria classe. O objeto, assim, esconde seus dados de outros objetos e permite que os dados sejam acessados por intermédio de seus próprios métodos.
Quanto a esse conceito, assinale a alternativa correta.
A. Esse conceito é conhecido como encapsulamento.
3. Um tipo de objeto especifica uma família, sem se preocupar em definir como o tipo e o objeto serão implementados. Na programação orientada a objetos, os tipos são determinados na etapa de análise.
Assinale a alternativa correta quanto à estrutura utilizada para definir como serão implementados os tipos de objetos.
B. Classes.
4. Os relacionamentos do tipo herança entre classes apresentam diferenças. Um dos tipos de relacionamento de herança é indicado quando existe algum atributo que seja aplicável a mais de uma classe que contenha os atributos comuns a outras classes especializadas.
Qual é o nome desse tipo de relacionamento?
C. Generalização.
5. Existe um tipo de relacionamento que impõe o sentido de que um objeto todo não existe sem suas partes. Não se pode ter uma cesta de produtos sem os seus produtos, correto?
Qual é o nome desse tipo de relacionamento?
D. Composição.
Programação orientada a objetos: herança e polimorfismo
1. Ao analisar um modelo de classes de um sistema, você identificou que existe um relacionamento de herança entre as classes MeioPagamento e CartaoCredito, sendo a classe mãe a MeioPagamento e a classe herdeira a CartaoCredito.
Sobre essa situação, assinale a alternativa correta:
B. Todos os atributos da classe MeioPagamento serão herdados pela classe CartaoCredito.
2. Utilizando ainda o exemplo do exercício anterior, caso haja a necessidade de inserir um atributo para armazenar o valor do limite de gastos diários, que seria único por CartaoCredito, lembrando que a classe MeioPagamento também tem como herdeira a classe CartaoDebito, assinale a alternativa correta sobre essa implementação:
C. O atributo limiteGastosDiario seria criado somente na classe MeioPagamento.
3. Em algumas linguagens de programação orientada a objetos, como C++ e Python, é possível que uma classe tenha relacionamento de herança com mais de uma classe.
Assinale a alternativa correta quanto ao nome desse tipo de herança:
D. Herança Múltipla.
4. Em herança entre classes, existe a possibilidade de uma classe herdeira reescrever
um método implementado pela classe mãe. Dessa forma, a classe herdeira atribui um comportamento diferenciado ao da classe mãe, sendo o nome desse conceito polimorfismo.
Assinale a alternativa correta sobre o polimorfismo:
E. O polimorfismo é uma característica em orientação a objetos que usa a hierarquia de objetos.
5. Existem duas formas de implementação de polimorfismo. Uma se dá quando se tem a mesma operação implementada várias vezes na mesma classe e a outra acontece na herança, quando a classe herdeira altera o método original.
Assinale a alternativa correta quanto ao nome desses tipos de implementação de polimorfismo:
A. Sobrecarga e Sobreposição.
Programação funcional: funções puras
1. As funções puras nos dizem que uma função terá sempre a mesma saída a partir de uma mesma entrada. Sabendo disso, pense em uma solução para a seguinte questão:
Você é assessor de TI do gabinete de um vereador de sua cidade. Minutos antes de uma cerimônia, ele solicita que você insira a string "Sr." na frente do nome de todos os 200 convidados para o evento. Essa lista é extraída do sistema que você administra e precisa ser deixada na portaria para aguardar a chegada dos convidados.
Qual das alternativas abaixo indica uma função que você utilizaria para resolver essa situação em nível de código?
B. Função map.
2. A compreensão de listas em programação funcional permite criar soluções de problemas complexos a partir da manipulação destas. Embora a linguagem Haskell não seja uma linguagem muito utilizada, é bem fácil de ser interpretada e sua notação é simples.
Dada a seguinte expressão na linguagem funcional Haskell, identifique a alternativa que representa o que está sendo pedido por ela:
ghci > [x*2+1 | x <- [1...1000] ] . x
A. Pede que números de 1 a 1000 sejam multiplicados por 2 e somados por 1.
3. Davi começou a trabalhar no NTI da Embrapa de sua cidade e está tendo seus primeiros contatos com linguagens funcionais. Seu chefe disse que ele irá trabalhar nos projetos de pesquisa genética de gado. Davi, atualmente, programa em Python, então seu superior lhe deu uma apostila de programação funcional e o seguinte problema para resolver:
Faça uma função que retorne todos os dados negativos dessa lista, que se refere ao aumento de peso do gado no último semestre.
Qual das expressões abaixo conseguiria retornar o que foi pedido para Davi?
A. def NumNeg (numeros) : return (list(filter(lambda numero: numero < 0, numeros)))
4. Um sistema eficiente tem em suas linhas conceitos que permitem herdar, abstrair e modificar atributos e métodos. Os conceitos de programação funcional, por meio da pureza de funções, elevam o nível de abstração de uma aplicação, entregando muita qualidade.
Nesse sentido, analise qual das alternativas a seguir está correta em relação à função abaixo:
def analisa_func(elemento, indice):
 elementos [indice] +=1
 return elementos
C. Trata-se de uma função impura, pois a lista chamada elemento sofre mudança a cada execução da função, conforme o incrementador logo abaixo.
5. Leonardo está desenvolvendo uma aplicação mobile utilizando React. Em um dado momento do código, ele está implementando um bloco que receberá o somatório de dois parâmetros e a multiplicação de outro. Qual solução funcional (função) ele pode implementar para que esse código tenha uma correta implementação e maior facilidade de verificação de erros?
D. Função currying.
Programação funcional: funções de primeira classe e primeira ordem
1. A programação funcional contém alguns conceitos básicos que caracterizam a sua forma de resolver problemas computacionais. Pureza, funções anônimas, imutabilidade, funções como objeto de primeira classe e de ordem superior são só algumas particularidades desse paradigma.
Baseado nas premissas e dada a função em Java Script, assinale a alternativa correta quanto à característica/classificação dessa função: 
var minhaVar = function minhaFunc () {
};
console.log(minhaVar);
A. Função de primeira classe.
2. Sabe-se que as funções podem ser repassadas como argumento de outras funções, e a esse tipo damos o nome deHigh Order Functions (Funções de Ordem Superior).
Sabendo disso, imagine o seguinte cenário:
Você trabalha em um escritório e cuida a gestão de TI de toda a empresa. Você precisa gerar um relatório e verifica que os valores estão invertidos e que você precisa revertê-los.
Marque a alternativa que corresponde à função de ordem superior capaz de resolver essa questão, dada a seguinte lista com os dados a serem revertidos:
[[135 , 335], [228 , 336], [345 , 478], [459 , 115], [552 , 636]]
B. lista = [[135 , 335], [228 , 336], [345 , 478], [459 , 115], [552 , 636]]
def func_rev(x):
return list(reversed(x))
list(map(func_rev, lista))
3. Você é desenvolvedor júnior de uma empresa e está trabalhando em um sistema para uma livraria. Terminado o CRUD (Create, Read, Update, Delete) que irá permitir aos usuários cadastrar todos os livros do estabelecimento, você percebeu que precisa fazer com que os dados sejam ordenados alfabeticamente para a emissão de relatórios.
Qual função de ordem superior você utilizaria para fazer isso?
C. Função Sorted.
4. Funções representam uma importante parte da Programação Funcional. Elas podem ser definidas dentro de um bloco de código de outras funções e também podem ser retornadas a partir das chamadas de outras funções.
Dada a função a seguir em Python, a partir dos conceitos estudados nesta Unidade de Aprendizagem, marque a alternativa que assinala o resultado de sua execução:
lista_1 = [6, 7, 8, 9]
lista_2 = [1, 2, 3, 4]
for x in zip (lista_1, lista_2):
print(x)
A. (6, 1)
(7, 2)
(8, 3)
(9, 4)
5. Operadores são importantes módulos que permitem que blocos de instruções fiquem fáceis e legíveis. Tratando-se de linguagens multiparadigmas, em que podemos utilizar funções anônimas lambda, esses operadores substituem de forma prática os parâmetros compostos por letras e operadores.
Dada a expressão lambda de soma, utilize um operador correspondente na linguagem Python, que irá substituir sem que a função perca a sua característica e saída:
>>> adicao= lambda x, y : x + y
>>> print (soma (5,6))
>>> 11
E. print (reduce(add, [5,6]))
Linguagens multiparadigma 1: F#, JavaScript, Python
1. As linguagens de programação multiparadgimas se caracterizam por terem suporte ao desenvolvimento utilizando vários paradigmas de programação, como a orientação a objetos, a programação imperativa e a programação funcional. O F#, ao suportar tais paradigmas, dentre outros, caracteriza-se por ser uma linguagem de programação multiparadigma.
Indique quais das opções a seguir representa uma característica da linguagem F#:
E. Programação assíncrona.
2. JavaScript é caracterizada por ser uma linguagem de programação multiparadigma, ou seja, é capaz de proporcionar a programação utilizando diversos paradigmas de forma simultânea em um mesmo conjunto de código. A cerca da linguagem JavaScript, indique qual afirmação é correta:
D. Proporciona recursos como dialog.
3. Linguagem de programação multiparadigma que integra o Visual Studio desde a sua versão 2010, sendo que com a sua utilização é possível desenvolver rotinas de alta complexidade em códigos simples de fácil entendimento e possível de ser integrada a outras linguagens de programação presentes na plataforma .NET.
Indique qual opção a seguir representa a linguagem de programação indicada:
E. F#.
4. Linguagem de programação multiparadigma utilizada de forma predominante em códigos que operam integrados em arquivos de código HTML, operando em client side, de maneira a fornecer características como uma gama maior de funcionalidades, propiciando interatividade à página.
Indique qual opção a seguir representa a linguagem de programação indicada.
A. JavaScript.
5. Python é uma linguagem multiparadigma utilizada em grande escala por muitos desenvolvedores no mundo inteiro, destacando-se por ser uma linguagem open source, ou seja, o seu código
é aberto e disponível a qualquer pessoa para estudos, ou qualquer outra atividade, desde que alinhada às suas licenças. A cerca dessa linguagem, indique qual alternativa contém uma afirmativa correta:
E. Tem tipagem dinâmica e forte.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina