Prévia do material em texto
Disciplina: Avaliação: Lógica e Técnicas de Programação (ADS05) Avaliação Final (Objetiva) - Individual FLEX Legenda: Resposta Certa Sua Resposta Errada 1. As soluções de problemas por meio de algoritmos devem garantir a sua repetibilidade. Logo, ele deve ser especificado com clareza e exatidão, principalmente a sequência em que os passos devem ser realizados. Para que um computador consiga executar uma tarefa, é preciso que ela seja detalhada de forma que uma máquina consiga compreender, por meio de uma linguagem de programação. Classifique V para as sentenças verdadeiras e F para as falsas: ( ) Nas etapas de construção de um algoritmo, os procedimentos necessários de manipulação das informações com o objetivo de produzir o resultado esperado é conhecido como a fase de processamento. ( ) Um característica importante dos algoritmos é a sua clareza ou definição, a fim de gerar duplo entendimento. ( ) O loop é a incapacidade de um algoritmo interromper a sua execução, por sua vez, não produzindo um resultado final. ( ) As entradas são as informações que alimentam um algoritmo. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - V. b) F - F - V - V. c) V - V - F - V. d) V - V - V - F. 2. A lógica é um conhecimento básico para desenvolver adequadamente quaisquer algoritmos. Ao longo da história, foi entendida como o estudo de argumentos, se preocupando principalmente sobre os critérios pelos quais se podem distinguir os "bons" dos "maus" argumentos. Assinale a alternativa CORRETA que apresenta a definição de algoritmo para a Ciência da Computação: a) É o estudo das leis e de como elas serão aplicadas nos algoritmos. b) É um código de programas de computador que utiliza a lógica proposicional. c) É o uso da lógica de Aristóteles, com o objetivo de construir bons argumentos. d) É a organização do pensamento para solucionar problemas, utilizando a mesma sequência de passos e comandos adotada pelo computador. 3. As linguagens de programação oferecem tipos dados primitivos, por exemplo, o tipo de dado TEXTO que armazena uma sequência de um ou mais caracteres. No entanto, se precisarmos guardar muitas informações de uma pessoa, é indicado o uso de Registros, pois ele pode armazenar muitos dados relacionados a uma única pessoa. A seguir é apresentado um registro na linguagem de programação Portugol. PESSOA: registro; NOME: texto(50); SOBRENOME: texto(50); CPF: texto(14); fim_registro; Sobre a definição de registros, assinale a alternativa CORRETA: a) Para acessar o NOME da PESSOA, é utilizado o comando " PESSOA:NOME ". b) Para acessar o SOBRENOME da PESSOA, é utilizado o comando " PESSOA-SOBRENOME ". c) Para acessar o CPF da PESSOA, é utilizado o comando " PESSOA.CPF ". d) Para acessar o NOME e o SOBRENOME, é utilizado o comando " PESSOA.NOME.SOBRENOME ". 4. Os arrays multidimensionais, também conhecidos como matrizes, são vetores de vetores que formam uma estrutura de tabela, com isso é possível armazenar informações mais complexas. Sobre os conceitos de matrizes, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Em uma matriz de alunos com tamanho 5x5, o comando "alunos[2][1]" é válido para retornar um valor presente na matriz. ( ) A declaração "numeros: vetor[1..2,1..2] de inteiro" cria uma matriz de 3 linhas e 3 colunas. ( ) A declaração "numeros: vetor[1..5,1..3] de inteiro" cria uma matriz em Portugol corretamente. ( ) Nas matrizes, os índices são um par de números utilizados para acessar os elementos da estrutura. Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - F - V. b) V - F - V - V. c) F - F - F - V. d) V - V - V - F. 5. Durante o desenvolvimento de um programa de computador, é necessário que o programador faça o planejamento da modularização, a preocupação principal é facilitar o entendimento da organização do algoritmo, tornando a sua estrutura mais transparente e mais fácil de documentar. A prática da modularização ainda agrega benefícios no momento da manutenção do sistema, por tornar o código mais fácil e rápido de entender por um outro programador. Sobre a modularização de algoritmos, analise as sentenças a seguir: I- Consistir os dados é a técnica de verificação das entradas de dados, analisando se elas são válidas ou não. II- Os módulos são uma sequência de comandos dentro de um algoritmo com a maior independência possível de outros módulos do algoritmo. III- Os procedimentos não precisam receber um nome durante a sua declaração. IV- As funções são submódulos que produzem apenas um valor de saída. V- As variáveis locais podem ser usadas pelo programa principal. Assinale a alternativa CORRETA: a) As sentenças I, II e III estão corretas. b) As sentenças I, II e IV estão corretas. c) Somente a sentença V está correta. d) As sentenças II, III e V estão corretas. 6. Os arquivos permitem manipular uma grande quantidade de dados com mais facilidade e rapidez. Os registros dentro dos arquivos físicos podem ser trazidos para a memória volátil do computador, permitindo manipular os dados de acordo com a necessidade da lógica. Analise o código-fonte a seguir e classifique V para as sentenças verdadeiras e F para as falsas: 01 declare LIV registro 02 (CODIGO, ANO numérico; 03 TITULO, AUTOR, EDITORA texto); 04 05 LIVRO LIV; 06 07 BIBLIOTECA arquivo de LIV; ( ) A partir da linha 01 até a linha 03, é criado um registro contendo cinco variáveis internas. ( ) O registro LIV possui apenas variáveis do tipo numérico e texto. ( ) A linha 07 cria um arquivo que possuirá vários registros de LIVRO. ( ) O comando BIBLIOTECA cria um vetor de LIVRO. Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - V - F. b) V - V - F - F. c) F - V - V - F. d) V - F - F - V. 7. Para o desenvolvimento de algoritmos, deve-se considerar dois aspectos elementares: a correção e a análise. A correção verifica a exatidão da solução utilizada e a análise verifica se o algoritmo é eficiente, considerando o uso da memória e o tempo de execução. Logo, a escolha de um algoritmo deve considerar o uso dos recursos computacionais e a execução do algoritmo. Sobre complexidade de algoritmos, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Um problema computacional pode ter mais de uma solução algorítmica. ( ) A finalidade de analisar a complexidade de um algoritmo é obter estimativas de tempo de execução dos programas que implementam o algoritmo desenvolvido. ( ) A complexidade de um algoritmo depende da saída de um algoritmo. ( ) É possível analisar a complexidade de um algoritmo por casos especiais, como pior caso, caso médio e melhor caso. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - F - V. b) F - V - F - V. c) V - V - F - V. d) V - V - V - F. 8. Um recurso elementar para a modularização de algoritmos é o parâmetro. Ele é responsável por fazer a comunicação entre os módulos, por exemplo as funções e os procedimentos. Ao final da execução, recebendo parâmetros de entrada ou não, as funções retornam um parâmetro de saída, já os procedimentos não retornam parâmetro para o módulo principal. Sobre passagem de parâmetros, assinale a alternativa CORRETA: a) Na declaração de um módulo, os parâmetros são passados dentro de colchetes logo após a definição do nome do módulo. b) Os módulos podem receber apenas um parâmetro de entrada. c) A passagem de parâmetros por valor consiste em copiar o valor das variáveis locais e passá-las para um outro módulo sem alterar suas informações originais. d) Os parâmetros, na programação de computadores, podem ser chamados de listas. 9. A resolução de problemas por meio de algoritmos permite com que vários problemas sejam resolvidos computacionalmente, sendo responsabilidade do programador de sistemas selecionar uma possível soluçãoem função da facilidade de entendimento ou de uso eficiente dos recursos do computador. Sobre a notação O de análise de algoritmos, assinale a alternativa CORRETA: a) Para qualquer tamanho da entrada, a função 1 duplica o número de operações. b) A função de tempo exponencial triplica o número de operações se n dobrar. c) Na função "log n" se n dobrar, o número de operações aumenta de uma constante. d) A função de tempo linear determina que o número de operações dobra ao passo que n continuar constante. 10.Os programas de computador são a construção de algoritmos em linguagem codificada, ou seja, uma linguagem compreendida pelo computador de forma a garantir que os passos do algoritmo sejam executados da forma como foram definidos pelo desenvolvedor de sistemas. Sobre os programas de computador e a lógica, analise as sentenças a seguir: I- A lógica proposicional estuda a lógica segundo a sua estrutura e forma, é também conhecida como lógica formal. II- A lógica de programação define o encadeamento lógico para o desenvolvimento de programas e sistemas informatizados. III- Algoritmos podem ser utilizados para descrever os passos que devem ser seguidos na execução de processos, tarefas, ou solução de qualquer tipo de problemas. IV- Na construção de programas de computador, a lógica aristotélica consiste em aprender a pensar na mesma sequência de execução dos programas. V- A capacidade de resolução de problemas está relacionada à capacidade de elaboração de algoritmos. Assinale a alternativa CORRETA: a) As sentenças I e IV estão corretas. b) As sentenças II, III, IV e V estão corretas. c) As sentenças I, III e V estão corretas. d) As sentenças II, III e V estão corretas.