Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica para redes de computadores Atividade 2 1. Leia o texto a seguir. “Quando um conjunto de valores discretos precisa ser testado e ações diferentes são associadas a esses valores, estamos diante de uma seleção encadeada homogênea do tipo se-senão-então. Como essa situação é bastante frequente na construção de algoritmo que depende de alternativas, utilizaremos uma estrutura específica para estes casos, a seleção de múltipla escolha”. 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, a lógica de desenvolvimento de algoritmos engloba diversas situações que precisam ser resolvidas para se alcançar o resultado esperado. A partir das asserções extraídas do trecho acima, considere as seguintes afirmações. I. Na escolha múltipla, o número de escolhas é limitado. II. Existe uma situação de escolha não satisfeita. III. O retorno da escolha é um valor lógico de verdadeiro ou falso. IV. A seleção composta representa a seleção encadeada homogênea. Assinale a alternativa que mostra o que é correto afirmar. Resposta: II, apenas. 2. “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 relacionais sã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: III, II, I, V e IV. 3. “Na criação de algoritmos, utilizamos os conceitos de bloco lógico, entrada e saída de dados, constantes, atribuições, expressões lógicas, relacionais e aritméticas, bem como comandos que traduzam esses conceitos de forma a representar o conjunto de ações. [...] A estrutura sequencial de um algoritmo corresponde ao fato de que o conjunto de ações primitivas será executado em uma sequência linear de cima para baixo e da esquerda para a direita, isto é, na mesma ordem em que foram escritas”. 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. 31. A partir das asserções extraídas do trecho acima e do conteúdo estudo sobre estrutura sequencial, considere as seguintes afirmações. I. Na criação de algoritmos são utilizados os blocos lógicos. II. A programação estruturada é considerada sequencial. III. A declaração de variáveis é realizada ao final do código. IV. A instrução escreva() é usada no processamento de dados. Assinale a alternativa que mostra o que é correto afirmar. Resposta: I, II e IV. 4. “Os algoritmos são constituídos por uma sequência finita de instruções bem definidas realizadas sistematicamente. Eles são empregados comumente no âmbito da saúde; são instrumentos simples, diretos e de fácil acesso que conferem uma visão completa do processo clínico, além de consistir de uma ferramenta indispensável na padronização de técnicas e no gerenciamento da qualidade, e ser um importante meio de organização de processos, servindo de guia para a tomada de decisões”. CUNHA, D. R.; SALOME, G. M.; JÚNIOR, M. R.; MENDES, B. FERREIRA, L. M. Construção e validação de um algoritmo para aplicação de laser no tratamento de ferida. Rev. Latino-Am. Enfermagem, n. 25, e2955. 2017. p. 2. Considerando os fundamentos de algoritmos, a apresentação em blocos se refere a qual tipo de algoritmo? Resposta: Fluxograma. 5. 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: II, III, I e IV. 6. 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: As proposições I e II são verdadeiras, mas a II não justifica a I. 7. 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: IV, I, II, III. 8. Leia o texto a seguir. “Utilizamos os operadores relacionais para realizar comparações entre dois valores de mesmo tipo primitivo. Tais valores são representados por constantes, variáveis ou expressões aritméticas. Os operadores relacionais são comuns para construirmos equações. O resultado obtido de uma relação é sempre um valor lógico. Por exemplo, analisando a relaçãonumérica A + B = C, o resultado será sempre verdade ou falsidade à medida que o valor da expressão aritmética A + B seja igual ou diferente do conteúdo da variável C, respectivamente”. 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. 21. Portanto, os operadores relacionais são de importância fundamental na construção de algoritmos e códigos de programação. Nesse sentido, assinale com V, as afirmações verdadeiras e com F, as falsas. (_) Operador diferente: x != y (_) Maior ou igual: x < y (_) Igual: x >= y (_) Menor ou igual: x <= y Agora, assinale a alternativa que apresenta a sequência correta de respostas. Resposta: V, F, F, V 9. Leia o texto a seguir. “O que Shannon fez em 1937 foi mostrar um caminho para projetar máquinas baseadas na lógica algébrica descrita um século antes por George Boole, aquela em que só havia dois valores no sistema de cálculo lógico: 1 e 0. Se um valor é verdadeiro, ele pode ser representado pelo valor 1 e, se falso, pelo 0. Nesse sistema, uma tabela verdade descreveria os vários estados lógicos possíveis. Uma das características importantes da álgebra de Boole é que as operações lógicas podem ser colocadas juntas e formar novas operações”. FONSECA F. C. História da Computação: o caminho do pensamento e da tecnologia. Porto Alegre: EDIPUCRS, 2007. p. 99. A partir das asserções extraídas do trecho acima e do conteúdo sobre tabela verdade, considere as seguintes afirmações. I. Conjunção: é representado pelo símbolo “~” e representa a negação de uma proposição. II. Disjunção: o valor lógico é Verdadeira quando, ao menos uma das proposições, é verdadeira. III. Disjunção exclusiva: é representado pelo símbolo “^” e significa o “ou” entre duas proposições. IV. Negação: é representado pelo símbolo “*” e modifica inversamente a proposição apresentada. Assinale a alternativa que mostra o que é correto afirmar. Resposta: II, apenas. 10. Leia o texto a seguir: “Gödel também, ao longo da demonstração do seu teorema, rompeu um limiar crucial entre a lógica e a matemática. Ele mostrou que qualquer sistema formal que seja tão rico quanto um sistema numérico qualquer, e que contenha os operadores “+” e “=”, pode ser expresso em termos aritméticos. Isto significa que por mais complexa que se torne a matemática (ou qualquer outro sistema formal redutível a ela), pode-se sempre expressá-la em termos de operações a serem executadas sobre números, e as partes do sistema poderão ser manipuladas por regras de contagem e comparação”. FONSECA F. C. História da Computação: o caminho do pensamento e da tecnologia. Porto Alegre: EDIPUCRS, 2007. p. 74. Segundo o trecho acima, é possível perceber a importância da matemática no desenvolvimento das linguagens da computação. Nesse sentido, assinale com V, as afirmações verdadeiras e com F, as falsas. I. MOD(_): este operador retorna o resto da divisão. II. FRAC(_): retorna o valor inteiro de uma divisão. III. INT(_): este operador retorna a parte fracionária de um número. IV. POT(_); retorna a potência de um número. Agora, assinale a alternativa que apresenta a sequência correta de respostas. Resposta: V, F, F, V
Compartilhar