Baixe o app para aproveitar ainda mais
Prévia do material em texto
27/11/2022 20:23 THAIS RIVAROLLI BARBOSA, histórico de teste: Atividade Objetiva 3 https://famonline.instructure.com/courses/19621/assignments/97713/submissions/83150 1/9 Atividade Objetiva 3 Resultados para THAIS RIVAROLLI BARBOSA Pontuação desta tentativa: 0,6 de 1 Enviado 18 jun em 13:21 Esta tentativa levou 25 minutos. 0,2 / 0,2 ptsPergunta 1 Leia o texto a seguir: “Programadores no processo de desenvolvimento de software apresentam a mesma limitação. A linguagem na qual eles desenvolvem software impõe restrições nos tipos de estruturas de controle, estruturas de dados e abstrações que podem usar - logo, as formas dos algoritmos que eles constroem também são limitadas.” SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Qual alternativa indica como o programador deve escolher a linguagem para o desenvolvimento de um software? Qualquer linguagem pode ser utilizada em qualquer projeto, mas as limitações dos programadores podem afetar o projeto. Existe uma linguagem perfeita para cada projeto, e utilizar outras prejudicará negativamente o projeto. A escolha da linguagem de programação influencia o desenvolvimento do projeto. Correto!Correto! Programadores devem sempre optar por uma das linguagens que já conhecem, pois assim serão menos limitados. A+ A A- 27/11/2022 20:23 THAIS RIVAROLLI BARBOSA, histórico de teste: Atividade Objetiva 3 https://famonline.instructure.com/courses/19621/assignments/97713/submissions/83150 2/9 É necessário usar várias linguagens em um mesmo software, de modo que cada uma delas compense as limitações das outras. Alternativa está correta, pois diferentes linguagens apresentam diferentes recursos e facilidades, bem como suas próprias limitações. Por conta disso, sua escolha irá afetar o desenvolvimento do software. Normalmente não existe uma única linguagem superior a todas as outras, e um mesmo projeto pode ser bem desenvolvido em diferentes linguagens. Cabe aos desenvolvedores estudar qual ou quais dela trarão o melhor “custo x benefício”, e nessa análise cabe até mesmo a aptidão da equipe e a facilidade de contratar desenvolvedores já familiares com a linguagem. Há casos em que é possível utilizar múltiplas linguagens, mas isso nem sempre é necessário, tampouco está necessariamente relacionado a compensar “fraquezas” de uma das linguagens envolvidas. Apesar da adoção de uma linguagem previamente conhecida implicar em ganho de tempo para o desenvolvimento, é importante que os programadores estejam abertos para aprender novas linguagens. Em muitos casos, uma linguagem previamente conhecida pode ser tão limitada para certo projeto que o tempo de treinamento dos programadores para se adequar a uma linguagem nova será compensado pelos ganhos trazidos por ela. 0 / 0,2 ptsPergunta 2 Leia o texto a seguir: “A linguagem de programação Cobol existe há 61 anos de uma forma ou de outra. Para muitas organizações, a idade está evidente, e as pessoas que conseguem manter os aplicativos Cobol baseados em mainframe de pé, estão cada vez mais escassas, especialmente A+ A A- 27/11/2022 20:23 THAIS RIVAROLLI BARBOSA, histórico de teste: Atividade Objetiva 3 https://famonline.instructure.com/courses/19621/assignments/97713/submissions/83150 3/9 porque a maioria dos programas de ciência da computação não ensina mais sobre ela. (...) ‘São aplicativos de 20 a 30 anos que têm servido bem aos negócios, mas eles acumulam dívidas técnicas e são muito específicos para o que esse negócio tem. [Cobol] é funcionalmente rico, mas funciona em uma plataforma restritiva e não funciona com outros sistemas modernos’, disse Tim Jones, Diretor-Gerente de Modernização de Aplicativos da fornecedora de serviços de software Advanced.” CAREY, Scott. Como as empresas estão deixando o Cobol. Infoworld, 2021. Disponível em: < https://cio.com.br/tendencias/como-as- empresas-estao-deixando-o-cobol/>. Acesso em 22 ago 2021. Refletindo sobre as aplicações em Cobol mencionadas acima, avalie as seguintes asserções e a relação proposta entre elas. I. Os sistemas descritos no texto são considerados sistemas legados. PORQUE II. A linguagem Cobol é uma linguagem antiga. Assinale a alternativa com a relação correta entre as proposições I e II: As asserções I e II são proposições verdadeiras, mas a asserção II não é uma justificativa correta da I. esposta corretaesposta correta As asserções I e II são proposições verdadeiras e a asserção II é uma justificativa correta da I. A asserção I é uma proposição falsa e a asserção II é uma proposição verdadeira. A asserção I é uma proposição verdadeira e a asserção II é uma proposição falsa. As asserções I e II são proposições falsas. ocê respondeuocê respondeu A+ A A- 27/11/2022 20:23 THAIS RIVAROLLI BARBOSA, histórico de teste: Atividade Objetiva 3 https://famonline.instructure.com/courses/19621/assignments/97713/submissions/83150 4/9 Alternativa incorreta, pois as asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. A asserção I é verdadeira, pois os sistemas descritos são, de fato, legados. Sistemas legados tipicamente utilizam tecnologias (linguagens, protocolos, bibliotecas ou mesmo hardware) que tenham caído em desuso e/ou sejam difíceis de dar manutenção ou compatibilizar com ferramentas mais atuais. A asserção II é verdadeira, pois o próprio texto diz que a linguagem Cobol existe há mais de 60 anos. Porém, a idade da linguagem por si só não justifica o sistema ser legado. A linguagem C, por exemplo, possui cerca de 50 anos, e segue entre as linguagens mais utilizadas no mundo, sendo acompanhada nos rankings de popularidade e uso de linguagens por diversas linguagens significativamente mais novas. Porém, ela está presente em diversos sistemas modernos, possui compiladores modernos, e frequentemente é utilizada para desenvolver ferramentas que irão interagir com outros sistemas mais modernos. 0,2 / 0,2 ptsPergunta 3 Leia o texto a seguir: “Um objetivo fundamental da programação lógica (...) é fornecer programação não procedural, ou seja, um sistema no qual os programadores especificam o que um programa deve fazer, mas não precisam especificar como isso deve ser feito. (...) [Em um problema de ordenação dos elementos de uma lista] ele não tem ideia de como ordenar, além de simplesmente enumerar todas as permutações de uma lista até que aconteça de ser criada uma que tenha a lista ordenada - um processo muito lento.” Adaptado de SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Sabendo que a principal linguagem de programação lógica é o A+ A A- 27/11/2022 20:23 THAIS RIVAROLLI BARBOSA, histórico de teste: Atividade Objetiva 3 https://famonline.instructure.com/courses/19621/assignments/97713/submissions/83150 5/9 PROLOG, assinale a alternativa correta considerando a reflexão apresentada acima: Não é possível ordenar listas em PROLOG. O PROLOG pode ser inadequado em situações que exijam processamento rápido. Correto!Correto! A programação procedural é melhor do que a programação lógica. É importante que o programador PROLOG detalhe cada etapa do processamento. O PROLOG é não procedural, portanto, é orientado a objeto. A alternativa está correta, pois um dos objetivos do PROLOG é ser não procedural. Por conta disso, o programador não precisa detalhar como será a execução de seus programas. A desvantagem trazida por essa ideia é que, sem controle sobre a forma de execução, o programador não pode realizar otimizações, e com isso o desempenho pode ser penalizado. 0 / 0,2 ptsPergunta 4 Leia o texto a seguir: Stevens, Myers e Constantine (1974) fizeram uma primeira tentativa de descrever módulo como "um conjunto de uma ou mais instruções de programa contíguas, que possui um nome pelo qual outras partes do sistema podem chamá-lo e, preferivelmente, com seu próprio conjunto distinto de nomes de variáveis". Em outras palavras, um módulo consiste de umúnico bloco de código que pode ser chamado da mesma forma que é chamado um procedimento, uma função ou A+ A A- 27/11/2022 20:23 THAIS RIVAROLLI BARBOSA, histórico de teste: Atividade Objetiva 3 https://famonline.instructure.com/courses/19621/assignments/97713/submissions/83150 6/9 método. (...) Nas linguagens C e C++, um arquivo-cabeçalho de declarações que é incluído (#include) em um produto de modo semelhante também não é chamado. (...) Yourdon e Constantine (1979) dão uma definição mais ampla: "Módulo é uma sequência de instruções de programa lexicamente contíguas, limitadas por elementos delimitadores, que possuem um identificador de agregação. Exemplos de elementos delimitadores são os pares begin ... end em uma linguagem estruturada em blocos, como Pascal, ou pares {...} no C++ ou Java. Schach, S. R. Engenharia de Software. Editora Grupo A, 2010. Considerando o texto acima, analise as seguintes afirmações sobre módulos. I. Qualquer elemento compilado separadamente, como cabeçalhos em C, é considerado módulo por ambas as definições. II. Objetos são considerados módulos por ambas as definições. III. Blocos condicionais e malhas de repetição são considerados módulos por alguns autores. IV. Módulos permitem isolar informações, mas não instruções. É correto o que se afirma, em: I, II e III, apenas. ocê respondeuocê respondeu I e IV, apenas. I, III e IV, apenas. II, III e IV, apenas. II e III, apenas. esposta corretaesposta correta A+ A A- 27/11/2022 20:23 THAIS RIVAROLLI BARBOSA, histórico de teste: Atividade Objetiva 3 https://famonline.instructure.com/courses/19621/assignments/97713/submissions/83150 7/9 A alternativa está incorreta, pois apenas as afirmações II e III estão corretas. A afirmativa I é falsa, pois elementos incluídos em C e C++ não são chamados, portanto não se enquadram na definição. A afirmativa II é verdadeira, pois objetos tipicamente são “chamados” e é a partir da chamada que é feito o acesso a seus atributos e métodos. Isso porque não apenas objetos são módulos como também seus métodos podem ser considerados módulos internos. A afirmativa III é verdadeira, pois qualquer bloco de código delimitado por símbolos indicando início e fim pode ser considerado um bloco. Estruturas condicionais e malhas de repetição na maioria das linguagens são estruturadas dessa maneira, e, portanto, se enquadram nessa definição. A afirmativa IV é falsa, pois as definições falam em “sequência de instruções” ou “conjunto de instruções”. Os módulos são, primariamente, formas de subdividir ou agrupar instruções. 0,2 / 0,2 ptsPergunta 5 Leia o texto a seguir: “C++ rapidamente se tornou (e se mantém) uma linguagem amplamente utilizada. Um fator para sua popularidade é a disponibilidade de compiladores bons e baratos. Outro é que ele é quase completamente compatível com C (o que significa que, com poucas alterações, programas em C podem ser compilados como programas C++) e, na maioria das implementações, é possível vincular código em C++ com código em C - e, assim, para muitos programadores que já conhecem C é relativamente fácil aprender C++. Por último, na época em que C++ apareceu, quando a programação orientada a objetos começou a despertar amplo interesse, era a única linguagem disponível conveniente para grandes projetos de software comercial. Pelo lado negativo, como C++ é uma linguagem muito extensa e complexa, ela sofre de deficiências similares àquelas da linguagem A+ A A- 27/11/2022 20:23 THAIS RIVAROLLI BARBOSA, histórico de teste: Atividade Objetiva 3 https://famonline.instructure.com/courses/19621/assignments/97713/submissions/83150 8/9 PL/I. C++ herdou muitas das inseguranças de C, tornando-se menos segura que linguagens como Ada e Java.” SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Considerando as informações apresentadas sobre a linguagem C++, avalie as afirmações a seguir: I. A disponibilidade de ferramentas foi uma vantagem da linguagem C++. II. O recrutamento de programadores C++ foi difícil na época de seu lançamento. III. A segurança adicional em relação à linguagem C foi um dos grandes benefícios oferecidos pela linguagem C++. IV. A linguagem C++ trouxe recursos desejados pelos desenvolvedores da época. Estão corretas apenas as alternativas: I e II. I e IV. Correto!Correto! I, III e IV. I e III. II, III e IV. A+ A A- 27/11/2022 20:23 THAIS RIVAROLLI BARBOSA, histórico de teste: Atividade Objetiva 3 https://famonline.instructure.com/courses/19621/assignments/97713/submissions/83150 9/9 Alternativa correta. A afirmativa I é verdadeira, pois um dos fatores citados pelo texto para a popularidade da linguagem foi a distribuição de compiladores bons e baratos. A afirmativa II é falsa, pois devido à sua grande compatibilidade e semelhança com a linguagem C, já muito popular, os programadores desta última tiveram bastante facilidade em fazer a transição. Além disso, naquela época já havia grande interesse em programação orientada a objetos, mas faltava linguagens comercialmente viáveis, tornando o C++ bastante atraente. A afirmativa III é falsa, pois a linguagem C++ herdou diversas falhas de segurança da linguagem C. Seu grande benefício em relação à linguagem C foi o suporte à programação orientada a objetos. A afirmativa IV é verdadeira, pois na época de seu lançamento, havia grande interesse em programação orientada a objetos. A linguagem C++ incorporou o suporte a esse paradigma a uma linguagem já popular e viável. Pontuação do teste: 0,6 de 1 A+ A A-
Compartilhar