Prévia do material em texto
UNIVESP – FORMAÇÃO PROFISSIONAL EM COMPUTAÇÃO – 1 SEMANA QUIZZ DA VIDEOAULA 1 – PENSAMENTO COMPUTACIONAL PERGUNTA 1 1. Segundo o vídeo do professor, abstração é um conceito relacionado as seguintes atividades: filtragem e classificação organização e formatação busca e ordenação busca e recuperação enumeração e organização Pergunta 1 0 em 0 pontos Segundo o vídeo do professor, abstração é um conceito relacionado as seguintes atividades: Resposta Selecionada: filtragem e classificação Respostas: filtragem e classificação organização e formatação busca e ordenação busca e recuperação enumeração e organização Comentário da resposta: Você acertou! Abstração é apoiada por atividades de filtragem e classificação dos dados para separar apenas os elementos essenciais em determinado problema, ignorando detalhes irrelevantes. Abstrair é criar uma representação (ideia) do que está se tentando resolver. Essencial é escolher o detalhe a ser ignorado. Por exemplo, na coleta seletiva, abstrações podem ser criadas para facilitar a tarefa, ao invés de enumerar todos os itens que podemos encontrar no lixo, filtramos e agrupamos por classe os resíduos pelo tipo de tratamento que pretendemos dar a eles, como plástico, metal, papel, vidro, orgânico, etc. QUIZZ OBJETO EDUCACIONAL PERGUNTA 1 1. Algoritmo é um conjunto de instruções organizadas de maneira lógica. O processo de transformar um algoritmo em um programa de computador é conhecido como: a. Decomposição b. Codificação c. Pensamento computacional d. Algoritmo e. Abstração Pergunta 1 0 em 0 pontos Algoritmo é um conjunto de instruções organizadas de maneira lógica. O processo de transformar um algoritmo em um programa de computador é conhecido como: Resposta Selecionada: b. Codificação Respostas: a. Decomposição b. Codificação c. Pensamento computacional d. Algoritmo e. Abstração Comentário da resposta: Você acertou! Essa é a alternativa correta, pois o processo de transformar um algoritmo em um programa de computador é conhecido como codificação. Essa é uma das etapas de desenvolvimento de software em qualquer modelo de processo. ATIVIDADE AVALIATIVA PERGUNTA 1 1. A linguagem Python, uma das mais usadas para o contexto web e a ciência de dados, dentre outros tipos de programação, tem uma sintaxe simples, que a torna muito acessível a pessoas sem experiência em Tecnologia da Informação (TI). Além disso, é altamente produtiva e geralmente requer menos linhas de código que outras linguagens de programação. Observe o seguinte trecho de código: Fonte: Adaptado de Torres et al. (2019, p. 36). TORRES, F. E. et al. Pensamento computacional. Porto Alegre: Grupo A, 2019. Considerando o trecho anterior, avalie as afirmações a seguir. I. O programa possui uma estrutura próxima à linguagem de máquina, se distanciando de qualquer tradução “direta” de um algoritmo. II. As mensagens para interface com usuário, resultados e qualquer apresentação durante e ao final do processamento podem usar o comando print. III. As variáveis em Python precisam ser declaradas com letra, sem espaços e diferenciando maiúsculas de minúsculas. IV. Qualquer expressão na linguagem Python precisa ser precedida pelo caractere “$”, portanto o código apresentado causará um erro. Está correto o que se afirma em: a. II e III, apenas b. I, II e IV, apenas c. I e II, apenas d. I e III, apenas e. I, III e IV, apenas Comentário da resposta: JUSTIFICATIVA A afirmativa I está incorreta, pois o programa possui uma estrutura próxima à linguagem humana, se aproximando algumas vezes de uma tradução “direta” de um algoritmo. A afirmativa II está correta, pois a função print() de Python é usada para imprimir o resultado ou a saída na tela; por padrão, o resultado salta para a nova linha para imprimir a próxima instrução. A afirmativa III está correta, pois as variáveis em Python são declaradas sempre se iniciando com uma letra, não podem ter espaços e diferenciam maiúsculas de minúsculas. A afirmativa IV está incorreta, pois o caractere “$” é usado como indicador de variável para PHP, portanto o código apresentado não obriga a utilização do “$”. PERGUNTA 2 1. O pensamento computacional pode ser compreendido por meio de seus pilares, que são uma sequência ordenada para a resolução de problemas, seja por humanos ou por máquinas. Considerando que um algoritmo é uma sequência de instruções bem definidas, utilizada para resolver problemas de matemática, realizar cálculos e equações, ou executar tarefas, assinale a alternativa que apresenta os outros pilares do pensamento computacional: a. Identificação de padrões, composição, abstração. b. Identificação de padrões, composição, expressão. c. Decomposição, identificação de padrões, abstração. d. Decomposição, identificação de padrões, expressão. e. Identificação de problemas, decomposição, abstração. Comentário da resposta: JUSTIFICATIVA Os quatro pilares do pensamento computacional são: Decomposição: identificação dos elementos existentes em um problema, decompondo-se em variáveis e elementos. Identificação de padrões: classificação de elementos dentro de categorias ou classes. Abstração: foco naquilo que realmente importa, no que é primordial, desconsiderando características menos relevantes. Algoritmo: conjunto finito de instruções precisas para executar uma ação ou tarefa, comumente utilizado para a resolução de problemas. PERGUNTA 3 1. Leia o texto a seguir, retirado do livro Conceitos de linguagem de programação. A história da COBOL é de certa forma o oposto da história da ALGOL 60. Apesar de ter sido mais usada por 65 anos, ela teve pouco efeito no projeto de linguagens subsequentes, exceto por PL/I. Provável que ainda seja a linguagem mais amplamente utilizada, embora seja difícil precisar isso, e talvez a razão mais importante para COBOL ter influência pequena é o fato de poucos tentaram projetar uma nova linguagem de negócios desde sua aparição — isso ocorreu em parte porque ela atende bem às necessidades de sua área de aplicação. Outra razão é, nos últimos 30 anos, uma grande parcela da computação de negócios ter ocorrido em pequenas empresas — e nelas há pouco desenvolvimento de software (SEBESTA, 2018, p. 56). SEBESTA, R. Conceitos de linguagens de programação. Porto Alegre: Grupo A, 2018. E-book. (Disponível na Minha Biblioteca). Sobre a estrutura da linguagem, é correto afirmar: a. a divisão de dados, parte forte do projeto COBOL, descreve os itens de dados usados no programa, enquanto a divisão de procedimentos, a divisão principal onde a lógica de negócios é escrita, é relativamente fraca b. a versão inicial da COBOL era bastante restrita, pequena, não interativa, sem formas de obter dados de entrada do usuário c. o desempenho ruim dos primeiros compiladores simplesmente era uma desculpa para que a linguagem se tornasse mais barata d. COBOL foi outro nome dado à ALGOL, uma das principais linguagens procedurais que permitiam as primeiras interações com usuário e. COBOL era uma linguagem orientada a objetos que veio para realizar uma mudança de paradigma nos desenvolvimentos da época Comentário da resposta: JUSTIFICATIVA Todos os programas COBOL (Common Business Oriented Language, ou seja, linguagem comum orientada a negócios) devem ter divisão de procedimento, a qual contém seções, parágrafos, sentenças, declarações, cláusulas e verbos definidos pelo usuário. O desempenho ruim dos primeiros compiladores simplesmente tornava a linguagem muito cara; por sua vez, a versão inicial da COBOL era pequena, mas possuía certa interface com usuário.Além disso, COBOL foi uma linguagem que, apesar de algumas semelhanças, possui características diferenciadas em relação à ALGOL (família de Algorithmic Languages, ou seja, linguagens algorítmicas). PERGUNTA 4 1. “A simplicidade geral de uma linguagem de programação afeta muito sua legibilidade; uma linguagem com muitas construções básicas é mais difícil de aprender que uma com poucas. Os programadores que precisam usar uma linguagem extensa aprendem um subconjunto dessa linguagem e ignoram outros recursos. Esse padrão de aprendizagem é usado como desculpa para a grande quantidade de construções de uma linguagem, mas o argumento é inválido. Problemas de legibilidade ocorrem sempre que o(a) autor(a) de um programa aprendeu um subconjunto diferente daquele com o qual os leitores estão familiarizados”. (SEBESTA, R., 2018) SEBESTA, R. Conceitos de linguagens de programação. Porto Alegre: Grupo A, 2018. E-book. (Disponível na Minha Biblioteca). Nas diversidades de linguagens de programação, alguns “problemas” podem ser encontrados devido à variedade de operadores e às diferentes declarações e características, aplicadas e resolvidas, muitas vezes, de forma diferente para diferentes linguagens. Sobre essas características, observe as afirmativas a seguir. I. Na sobrecarga de métodos, é possível que um operador ou função bloqueie a utilização de outro caso tente se utilizar do mesmo nome, mesmo que entradas ou parâmetros sejam de tipos ou quantidades diferentes. II. A multiplicidade de recursos permite que exista mais de uma forma de realizar uma mesma operação. Um exemplo clássico é utilizar o operador “++” em vez de utilizar tradicionalmente a operação de igualdade e adição. III. Ortogonalidade é o modo de programar um componente ou módulo de forma que, toda vez que uma alteração é realizada, o outro componente seja alterado automaticamente. IV. Diversas linguagens podem ser usadas para diferentes finalidades. Java e Python são exemplos tradicionais bastante utilizados mundialmente para sistemas desktop e sistemas web. Está correto o que se afirma em: a. II e IV, apenas b. I, III e IV, apenas c. I, II e IV, apenas d. I e II, apenas e. II e III, apenas SEGUNDA TENTATIVA – AVALIAÇÃO – APENAS QUESTÕES DIFERENTES PERGUNTA 1 1. Na Grécia Antiga, em torno do ano 322 a.C., o filósofo Aristóteles se dedicou a estudar e a formalizar o pensamento, promovendo a descrição e a formalização do uso da razão, que, em grego, tem o nome de logus, surgindo, então, a lógica, uma área de estudos da Filosofia. Utilizando essa lógica, considere que você precisa encontrar uma nota de dinheiro que está escondida dentro de um dos cinco copos virados com a boca para baixo sobre uma mesa, e as seguintes premissas lhe foram passadas: O valor da nota é de $ 1 ou $ 2 ou $ 5. A nota NÃO está no copo 2. A nota está no copo 3, ou no copo 4, ou no copo 5. A nota está em um copo de numeral igual ao seu valor. Fonte: elaborada pelo autor. Assinale a alternativa que determina onde está a nota de dinheiro: a. Copo 5. b. Copo 1. c. Copo 2 d. Copo 4. e. Copo 3. Comentário da resposta: JUSTIFICATIVA O primeiro copo a ser desconsiderado é o número 2, por conta da segunda premissa. A terceira premissa desconsidera também o copo número 1. Portanto, restam apenas os copos 3, 4 e 5 para determinar onde está a nota de dinheiro. Já a quarta premissa define que a nota somente poderia estar nos copos 1, 2 ou 5 – confrontando com a primeira premissa. Sendo assim, uma vez que tanto o copo 1 quanto copo 2 já foram desconsiderados, só resta o copo 5, onde está a nota no valor de $ 5. PERGUNTA 2 1. Dentro dos paradigmas de programação, de forma geral existem dois critérios considerados conflitantes: confiabilidade; custo de execução. Por exemplo, a linguagem Java exige que todas as referências a elementos de um vetor sejam verificadas, para garantir que os índices estejam em suas faixas válidas. Esse passo aumenta muito o custo de execução de programas Java que contenham um grande número de referências a elementos de vetores. Sobre esses paradigmas e características, analise as asserções a seguir e a relação proposta entre elas. I. A confiabilidade da linguagem possui como característica principal a geração de um software com alto grau de segurança e qualidade em relação a requisitos estabelecidos. POIS II. Uma vez que o software seja considerado confiável, os riscos serão menores, e consequentemente o custo de gerenciamento aumentará para adaptações não previstas. A respeito dessas asserções, assinale a alternativa correta. a. As asserções I e II são proposições falsas b. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa para a I c. A asserção I é uma proposição verdadeira, enquanto a II é falsa d. A asserção II é uma proposição verdadeira, enquanto a I é falsa e. As asserções I e II são proposições verdadeiras, e a II é uma justificativa para a I Comentário da resposta: JUSTIFICATIVA A asserção I é verdadeira, pois a confiabilidade da linguagem possui como característica principal a geração de um software com alto grau de segurança e qualidade em relação a requisitos estabelecidos. De fato a confiabilidade é tão importante quanto à legibilidade e à capacidade de escrita. A asserção II é falsa, pois um sistema é confiável se o número de erros for pequeno e se comportar conforme o esperado. Uma vez que o software seja considerado confiável, os riscos serão menores, e consequentemente o custo de manutenção será reduzido.