Prévia do material em texto
GRA0499 LÓGICA PARA REDES DE COMPUTADORES Local atual Conteúdo Usuário IVAN HENRIQUE PACHIARI ALMEIDA BRAGA Curso GRA0499 LÓGICA PARA REDES DE COMPUTADORES GR1958211 - 202110.ead-29779292.06 Teste ATIVIDADE 2 (A2) Iniciado 30/03/21 13:41 Enviado 30/03/21 14:17 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 36 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários · Pergunta 1 1 em 1 pontos Leia o texto abaixo. “Uma diretriz geral para o entendimento de programas é que o leitor deve ser capaz de ler um programa da esquerda para a direita ou de cima para baixo sem ter de prestar atenção em outras partes do código. Isso torna o entendimento mais fácil para leitores, além de fazer com que os programadores cometam menos erros, uma vez que sua atenção é focada em uma única seção do programa. Melhorar o entendimento dos programas foi o principal motivo para a introdução de programação estruturada”. SOMMERVILLE, I. Engenharia de Software. São Paulo: Pearson Prentice Hall, 2011. p. 409. A partir do trecho citado e dos estudos sobre programação estruturada, analise as proposições a seguir e a relação entre elas. I. A programação estruturada é sequencial, sendo que cada instrução é executada logo após a anterior ser executada, como uma espécie de efeito em cascata. PORQUE II. A estrutura de um algoritmo é, basicamente, o início, comando que inicia a execução e a declaração das variáveis que serão necessárias para a solução do problema. A respeito dessas proposições, assinale a opção correta. Resposta Selecionada: As proposições I e II são verdadeiras, mas a II não é justificativa da I. Resposta Correta: As proposições I e II são verdadeiras, mas a II não é justificativa da I. Comentário da resposta: Resposta correta. A resposta está correta. A programação é considerada estrutural, pois exige uma sequência lógica rigorosa. A estrutura de um algoritmo começa com os componentes de início, seguido pelas declarações. Por isso, apesar de ambas serem verdadeiras, a II não justifica a proposição I. · Pergunta 2 1 em 1 pontos Leia o texto a seguir. “O uso corriqueiro da palavra lógica está normalmente relacionado à coerência e à racionalidade. Frequentemente se associa lógica apenas à matemática, mas não se percebendo sua aplicabilidade e sua relação com as demais ciências. Podemos relacionar a lógica coma ‘correção do pensamento’, pois uma de suas preocupações é determinar quais operações são válidas e quais não são, fazendo análise da formas e leis do pensamento. Como filosofia, ela procura saber por que pensamos assim não de outro jeito”. FORBELLONE, A. L. V. Lógica de programação - A construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Prentice Hall, 2005. p. 1. Portanto, considerando o conteúdo sobre lógica de programação, analise a as afirmativas a seguir. (_) Um algoritmo é composto por variáveis, constantes e expressões. (_) Na lógica da programação um bit é um conjunto de oito bytes. (_) Uma constante pode conter diversos valores distintos. (_) As variáveis são nomeadas para que possam ser referenciadas. Agora, assinale a alternativa que apresenta a sequência correta de respostas. Resposta Selecionada: V, F, F, V. Resposta Correta: V, F, F, V. Comentário da resposta: Resposta correta. Resposta correta. As asserções sobre os princípios fundamentais da lógica de programação foram bem compreendidas. É fundamental saber quais são os componentes dos algoritmos, suas variáveis, constantes e lógica de processamento e as respectivas sintaxes. · Pergunta 3 1 em 1 pontos “O objetivo principal do estudo da Lógica de Programação é a construção de algoritmos coerentes e válidos. Mas o que é um algoritmo? Um algoritmo pode ser definido como uma sequência de passos que visam a atingir um objetivo bem definido. Na medida em que precisamos especificar uma sequência de passos, é necessário utilizar uma ordem, ou seja, ‘pensar com ordem’, portanto, precisamos utilizar lógica. Quando elaboramos um algoritmo, devemos especificar ações claras e precisas, que a partir de um estado inicial, após um período de tempo finito, produzem um estado final previsível e bem definido”. FORBELLONE, A. L. V. Lógica de programação - A construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Prentice Hall, 2005. p. 3. Considerando o conteúdo sobre fundamentos de algoritmo, assinale com V, as afirmações verdadeiras e com F, as falsas. (_) Os algoritmos foram idealizados exclusivamente para serem aplicados no desenvolvimento de software. (_) A lógica é a essência dos algoritmos, pois ela determina o comportamento esperado do algoritmo. (_) O primeiro e fundamental passo para a construção de um algoritmo é a análise profunda e detalhada do problema. (_) Os comandos inseridos no corpo de um algoritmo que executaram o processo são denominados de entrada. Agora, assinale a alternativa que apresenta a sequência correta de respostas. Resposta Selecionada: F, V, V, F. Resposta Correta: F, V, V, F. Comentário da resposta: Resposta correta. A resposta está correta. Os algoritmos podem ser usados em vários contextos, sendo que a lógica está no âmago do algoritmo, como também é fundamental ter profundo conhecimento do problema a ser desenhado o algoritmo. Sendo que os comandos do algoritmo são denominados de transformações, e não entrada. · Pergunta 4 1 em 1 pontos Os algoritmos são de extrema importância em todas as fases de desenvolvimento de um software, visto que é o primeiro documento visual e mostra do que se trata o sistema. “Para cada estímulo e resposta, criam-se algoritmos para efetuar os processamentos necessários. Projetos de algoritmo podem precisar ser desenvolvidos relativamente cedo no processo de projeto para dar uma indicação da quantidade de processamento e tempo necessários para concluir o processamento. Isto é especialmente importante para tarefas computacionalmente intensivas, como processamento de sinais”. SOMMERVILLE, I. Engenharia de Software. São Paulo: Pearson Prentice Hall, 2011. p. 379. A partir do trecho apresentado acima e do conteúdo sobre desenvolvimento de algoritmo, considere as seguintes afirmações relativas ao processo de elaboração de um algoritmo. I. É necessário criar um diagrama de blocos como forma de visualização das ações. II. No processo de desenvolvimento de um algoritmo as saídas devem ser proporcionais às entradas. III. Um dos pontos mais importantes no processo de desenvolvimento de um algoritmo é definir as transformações. IV. Um algoritmo é uma lógica de sequência de raciocínios ou operações que determina a solução de problemas específicos. Assinale a alternativa que mostra o que é correto afirmar. Resposta Selecionada: I, III e IV. Resposta Correta: I, III e IV. Comentário da resposta: Resposta correta. A resposta está correta, pois o diagrama de blocos é peça fundamental no desenvolvimento de um algoritmo, pois ele contém as transformações que ocorrerão, sendo uma sequência lógica de comandos para um determinado fim. Porém, não existe nenhuma relação quantitativa entre entrada e saída do algoritmo. · Pergunta 5 1 em 1 pontos “Estrutura de seleção, ou expressão condicional ou ainda construção condicional, é uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza diferentes computações ou ações dependendo se a seleção (ou condição) é verdadeira ou falsa, em que a expressão é processada e transformada em um valor verdadeiro ou falso. “Uma estrutura de seleção permite a escolha de um grupo de ações (bloco) a ser executado quando determinadas condições, representadas por expressões lógicas ou relacionaissão ou não satisfeitas”. FORBELLONE, A. L. V. Lógica de programação - A construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Prentice Hall, 2005. p. 33. A partir dos estudos sobre estrutura de seleção, associe cada tipo de estrutura de seleção com a sua respectiva sintaxe. I. Estrutura sequencial II. Seleção simples III. Seleção composta IV. Seleção homogênea V. Seleção heterogênea (_) se(), então <...>, senão <...>, fimse(); (_) se(), então <...>, fimse(); (_) Inicio, //declaração de variáveis, //comandos.....Fim; (_) se(), então <...>, senão <...>, se(), for() <...>, fimse(); (_) se(), então <...>, senão <...>, se(), então <...>, senão <...>, fimse(); Agora, assinale a alternativa que apresenta a sequência correta. Resposta Selecionada: III, II, I, V, IV. Resposta Correta: III, II, I, V, IV. Comentário da resposta: Resposta correta. A resposta está correta. As estruturas de seleção foram associadas de forma correta com a sua sintaxe. A compreensão da estrutura de seleção é muito importante para que o algoritmo esteja livre de erros. O uso incorreto da sintaxe acarreta erros de lógica e em tempo de processamento. · Pergunta 6 1 em 1 pontos Leia o texto a seguir. “[Na construção de algoritmo], utilizaremos três operadores básicos para a formação de novas proposições lógicas compostas de outras proposições lógicas simples. Os operadores lógicos são: negação, conjunção e disjunção”. FORBELLONE, A. L. V. Lógica de programação - A construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Prentice Hall, 2005. p. 43. Portanto, os operadores lógicos básicos são utilizados para criação de proposições mais complexas. A partir das informações sobre operadores lógicos, associe cada fragmento do comando com seu respectivo significado. I. Validade lógica II. Princípio da não contradição III. Princípio do terceiro excluído IV. Operações relacionais (_) A proposição não pode ser falsa e verdadeira conjuntamente. (_) A proposição pode assumir somente valores falso ou verdadeiro. (_) Resultado esperado de uma proposição composta. (_) Comparação entre variáveis para determinação de uma saída lógica. Agora, assinale a alternativa que apresenta a sequência correta. Resposta Selecionada: II, III, I, IV. Resposta Correta: II, III, I, IV. Comentário da resposta: Resposta correta. A resposta está correta. Os princípios de operadores lógicos foram corretamente associados. O desenvolvimento do algoritmo exige um conhecimento de lógica para que o código final esteja livre de erros de lógica e execução. · Pergunta 7 1 em 1 pontos “Hoje em dia a noção e domínio dos algoritmos tornou-se absolutamente essencial, pois qualquer programa de computador que "funciona", isto é, dá os resultados esperados, deve ser provavelmente uma descrição de um algoritmo. [...] Mais, se se deseja elaborar um programa para um computador, a maneira correta de fazê-lo seria inicialmente procurar os métodos mais adequados à solução do problema em questão, especificar essa solução como um algoritmo e, depois disso, formulá-lo em alguma linguagem de programação para poder introduzi-lo no computador”. SETZER, V. W. CARVALHEIRO, F. H. Algoritmos e sua análise – uma introdução didática. Caderno da Revista do Professor de Matemática, vol. 4, n. 1, 1993. p. 1. Portanto, é possível perceber a importância em se ter conhecimentos sólidos em algoritmo para a implantação de programas. Neste sentido, a construção de algoritmo segue passos pré-determinados. Sendo assim, ordene corretamente as etapas de elaboração de um algoritmo. I. Identificar as saídas. II. Detectar as entradas de dados. III. Analisar o problema. IV. Definir o processamento. V. Elaborar o diagrama. Agora, assinale a alternativa que apresenta a sequência correta. Resposta Selecionada: III, II, IV, I, V. Resposta Correta: III, II, IV, I, V. Comentário da resposta: Resposta correta. Correto. A sequência das etapas de elaboração de um algoritmo foi assinalada corretamente. É fundamental que sigam os passos pré-determinados para que seja construído um algoritmo sólido e bem estruturado. Identificar as entradas e saídas, contornar o problema com precisão e definir os processos com coerência são etapas que necessitam ser realizadas com bastante solidez. · Pergunta 8 1 em 1 pontos “No ambiente computacional, as informações variáveis são guardadas em dispositivos eletrônicos analogamente chamados de memória. Podemos imaginar essa ‘memória’ como sendo um armário repleto de gavetas, no qual as gavetas seriam os locais físicos responsáveis por armazenar objetos; os objetos (que podem ser substituídos) seriam os dados e as gavetas, as variáveis. Visto que na memória (armário) existem inúmeras variáveis (gavetas), precisamos diferenciá-las, o que é feito por meio de identificadores (etiqueta ou rótulo)”. FORBELLONE, A. L. V. Lógica de programação - A construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Prentice Hall, 2005. p. 17. A partir das informações e dos estudos sobre tipos de processamento, associe cada tipo de processamento com as seguintes expressões. I. Variável II. Constante III. Expressões aritméticas IV. Expressões lógicas V. Dado (_) O resultado aqui foi “Verdadeiro”. (_) Aqui foi retornado o resultado de uma equação. (_) Isto representa uma informação ainda sem sentido completo. (_) Este conteúdo pode ser alterado por algum processo do código. (_) Nenhum processamento tem condições de alterar o seu conteúdo. Agora, assinale a alternativa que apresenta a sequência correta. Resposta Selecionada: IV, III, V, I, II. Resposta Correta: IV, III, V, I, II. Comentário da resposta: Resposta correta. Resposta correta, Os tipos de processamento foram associados de forma correta com as expressões. É fundamental para o desenvolvedor compreender o resultado das variáveis para o desenvolvimento correto dos algoritmos. Por isso, aplicar as variáveis com propriedade para que os valores retornados sejam incorretos e acarretem erros de lógica e execução. · Pergunta 9 1 em 1 pontos Leia o texto a seguir. “Podem-se discernir na história das linguagens certas tendências. A primeira foi a de perseguir altos níveis de abstração. Os rótulos simbólicos e mnemônicos das linguagens de montagem abstraem códigos de operação e endereços. Variáveis e atribuição abstraem acesso a um endereço de memória e atualização. Estruturas de dados abstraem formas de armazenamento. Estruturas de controle abstraem desvios. Procedimentos abstraem subrotinas”. FONSECA F. C. História da Computação: o caminho do pensamento e da tecnologia. Porto Alegre: EDIPUCRS, 2007. p. 125. As variáveis e constantes representam o ponto central do correto funcionamento de um código. Saber usá-las é fundamental. A partir das informações e dos estudos sobre variáveis, associe os métodos de acesso aos seus significados. I. Inteiro II. Literal III. Real IV. Lógica (_) Verdadeiro (_) 175 (_) “%” (_) 2,4 Agora, assinale a alternativa que apresenta a sequência correta. Resposta Selecionada: IV, I, II, III. Resposta Correta: IV, I, II, III. Comentário da resposta: Resposta correta. A resposta está correta. A compreensão dos tipos de variáveis ficou bastante clara. É importante saber como usar cada tipo no código, pois o uso incorreto acarretará erros de retorno e consequentemente erros de execução. · Pergunta 10 1 em 1 pontos Leia o texto a seguir. “Eles [Neumann e Goldstine] propuseram uma representação pictórica, através de caixas unidas por setas, que chamaram de fluxogramas. Descreveram fluxogramas que continham uma caixa denominada “caixa de anotação (especificação)”. Nessa caixa descreviam-se certos fatos sobre o resultado de uma computação (o efeito por ela provocado). O conteúdo dessa caixadeveria ser confrontado com as operações descritas pelo fluxograma, possibilitando uma verificação da consistência entre o fluxograma e as intenções do programador expressas através das anotações. Com von Neumann e Goldstine encontra-se também a primeira referência à corretude de programas.”. FONSECA F. C. História da Computação: o caminho do pensamento e da tecnologia. Porto Alegre: EDIPUCRS, 2007. p. 115. O fluxograma é um tipo de representação largamente usado na grande maioria dos desenvolvimentos de sistemas. A partir disto, analise as duas proposições a seguir e a relação entre elas. I. Os fluxogramas são constituídos por estruturas lógicas, de repetição condicional e de fluxo de sequência representado por setas direcionais. PORQUE II. Os fluxogramas devem representar de forma clara, objetiva e concisa uma sequência lógica e coerente de ações limitado por um início e fim. Agora, assinale a alternativa correta. Resposta Selecionada: As proposições I e II são verdadeiras, e a II é justificativa da I. Resposta Correta: As proposições I e II são verdadeiras, e a II é justificativa da I. Comentário da resposta: Resposta correta. A resposta está correta. O fluxograma deve ser composto por uma lógica coerente e sequencial de comandos que tornam o algoritmo coeso e coerente para aquilo para que foi proposto.