Baixe o app para aproveitar ainda mais
Prévia do material em texto
QUESTÕES - ALGORÍTMO – UNIASSELVI CURTA E SALVE ESTE MATERIAL NOS AJUDE A CONTINUAR TE AJUDANDO 1. O raciocínio lógico que um desenvolvedor possui influência no seu trabalho do dia a dia, pois o torna mais fácil, quando em um nível mais elevado. Isso acontece devido à facilidade para a resolução de problemas que um desenvolvedor possui, diminuindo o tempo para o raciocínio para um problema. Neste sentido, durante o desenvolvimento de um software podem surgir diferentes problemas, que devem ser solucionados através de algoritmos. Partindo desse pressuposto, classifique V para as sentenças verdadeiras e F para falsas. (V) Lógica de programação permite definir a sequência lógica de passos. (F) Lógica de programação substitui o desenvolvimento de algoritmos. (V) Algoritmo é uma sequência finita de passos para solução de um problema. (F) Algoritmo é uma sequência infinita de passos para solução de um problema. Agora, assinale a alternativa que apresenta a sequência CORRETA: A) ( ) V – V – V – V. B) () V – F – V – F. C) ( ) F – V – V – F. D) ( ) V – F – V – V. 2. Algoritmo pode ser descrito como uma sequência finita de instruções não ambíguas, sendo que cada uma é executada em um intervalo de tempo. Um algoritmo pode ser comparado a uma receita de bolo, que possui todas as instruções sequenciais, cada uma com uma tarefa a ser realizada, para que então no final se obtenha o bolo. Referente aos passos de um algoritmo, assinale a alternativa CORRETA: A) ( ) O passo chamado saída aborda o processamento dos dados. B) ( ) O passo chamado entrada aborda o processamento dos dados. C) ( ) O passo chamado início aborda a primeira tarefa a ser executada. D) () O passo chamado saída aborda o envio de dados processados para dispositivos de saída. 3. Vários algoritmos diferentes podem resolver o mesmo problema, mas pode ser que apenas um deles seja mais eficiente quanto ao tempo de processamento, por exemplo. Além disso, para o desenvolvimento de um algoritmo mais eficiente, é necessário um bom raciocínio lógico, visto que em determinados casos, qualquer menor necessidade de processamento é essencial para uma solução mais rápida. Neste sentido, veja um problema a ser solucionado: desenvolver um algoritmo que o usuário informe dois números, e o programa some os dois, exibindo a saída na tela. Referente ao problema mencionado, assinale a alternativa que contenha as instruções CORRETAS: A) () Solicitar ao usuário que informe um número; solicitar ao usuário que informe o segundo número; calcular a soma dos dois números informados; exibir o resultado na tela. B) ( ) Solicitar ao usuário que informe um número; solicitar ao usuário que informe o segundo número; exibir o resultado na tela. C) ( ) Solicitar ao usuário que informe um número; solicitar ao usuário que informe o segundo número; calcular a soma dos dois números informados; exibir o primeiro número na tela. D) ( ) Solicitar ao usuário dois números; calcular a soma; exibir o resultado na tela. 4. Para uma pessoa aprender a desenvolver um software é necessário que ela tenha lógica para tal tarefa, pois o desenvolvimento de sistemas é complexo e exige que o desenvolvedor raciocine muito para resolver os problemas. Além disso, existem inúmeras formas diferentes para solucionar o mesmo problema, necessitando, assim, a decisão do melhor caminho. Referente ao termo lógica, assinale a alternativa CORRETA: A) ( ) A lógica é o termo que abrange apenas o raciocínio para o desenvolvimento de software. B) ( ) A lógica é o termo utilizado apenas em como realizar cálculos matemáticos. C) ( ) A lógica está associada somente à matemática. D) () A lógica é utilizada no raciocínio da matemática, mas também no dia a dia. 5. Pseudocódigo e fluxograma são muito utilizados para representar algoritmos de forma mais legível e menos ambígua. Desenvolver um algoritmo dependendo do problema a ser solucionado, exige bastante raciocínio lógico. Mesmo tomando o máximo de cuidado e raciocínio no momento do desenvolvimento de um algoritmo, é normal ser gerado algum resultado errado. Neste sentido, utiliza- se teste de mesa para minimizar este problema. Referente ao teste de mesa, assinale a alternativa CORRETA: A) ( ) Permite validar apenas se a sequência de passos está correta. B) ( ) Permite validar apenas o resultado de um algoritmo. C) () Permite verificar se cada passo executado está correto, assim como o resultado final do algoritmo. D) ( ) O teste de mesa pode substituir a utilização de pseudocódigo e fluxograma. 6. Em algoritmos, assim como em linguagens de programação reais, os operadores lógicos e relacionais são utilizados para combinar variáveis e constantes, que são utilizadas para fornecer um valor como resposta. Referente a operadores lógicos, assinale a alternativa CORRETA: A) () São baseados por tabelas verdade que apresentam resultados booleanos. B) ( ) O operador de disjunção analisa dois valores lógicos, e retorna valor verdadeiro quando ambos valores analisados forem verdadeiros. C) ( ) Para a expressão “A” que possui inicialmente valor “V” e outra expressão “B” cujo valor inicial seja “F”, aplicando-se a conjunção, o resultado será “V”. D) ( ) O operador de conjunção analisa dois valores lógicos, e retorna valor verdadeiro quando ao menos um dos dois valores lógicos analisados for verdadeiro. 7. As expressões aritméticas são aquelas são expressões cujos operandos e operadores são de um tipo de dado numérico, isto é, inteiro ou real. Neste sentido, são realizados cálculos numéricos, através dos operadores aritméticos. Referente a expressões aritméticas, assinale a alternativa CORRETA: A) ( ) Na expressão “(100/20) * 10 ^ 2 / 10” não é possível realizar o cálculo, pois a potenciação não é aceita em algoritmos. B) ( ) Na expressão “(100/20) * 10 ^ 2 / 10” será calculado primeiro o que estiver dentro dos parênteses, depois a multiplicação, a divisão por 10 (externa) e por último a potenciação. C) () Na expressão “(100/20) * 10” será calculado primeiro o que estiver dentro dos parênteses. D) ( ) Na expressão “(100/20) * 10 ^ 2” será calculado primeiro o que estiver dentro dos parênteses, depois a multiplicação e por último a potenciação. 8. Tipo de dados pode ser definido como o conjunto de objetos que possuem o mesmo comportamento diante de uma operação a ser realizada com eles. Por exemplo, os valores {“casa”, “terra”, “12ABCD”} possuem as mesmas características, pois são alfanuméricos, e neste sentido, são dados do tipo caractere. Referente a tipos de dados, assinale a alternativa CORRETA: A) ( ) O valor 1245.12 é do tipo inteiro. B) ( ) O valor -256.987 é do tipo inteiro. C) ( ) O valor 1245 é do tipo real. D) () O valor 1245.12 pode ser atribuído a uma variável do tipo caractere. 9. Os tipos de dados, além de auxiliar o computador na conversão dos dados em memória, facilita também ao programador encontrar determinados erros de semântica das instruções. A verificação do tipo de dado é diferente de linguagem para linguagem, pois em algumas existe no interpretador de linguagem, e em outras na análise léxica, semântica ou sintática do compilador. Referente a tipos de dados, assinale a alternativa CORRETA: A) ( ) Se atribuído o valor “R$” para uma variável do tipo real, não será gerado erro. B) ( ) Se atribuído o valor “&&#” para uma variável do tipo caractere, serágerado um erro. C) ( ) Se atribuído o valor “&&” para uma variável do tipo caractere, será gerado um erro. D) () Se atribuído o valor “R$” para uma variável do tipo inteiro, será gerado um erro. 10. O processamento de dados realizado por um computador é executado pela manipulação de números, os quais a máquina compreende. Em linguagens de programação, os dados são agrupados em tipos, de acordo com o comportamento que eles possuem diante da operação a ser realizada com eles. Referente a tipos de dados, assinale a alternativa CORRETA: A) () Inteiro, real, caractere e booleano são tipos de dados primitivos. B) ( ) Real é o tipo de dado caracterizado por números inteiros positivos ou negativos. C) ( ) Uma variável do tipo inteiro pode receber um valor de uma variável do tipo real. D) ( ) Inteiro é o tipo de dado caracterizado por números decimais. 11. As tomadas de decisões simples são muito importantes, e são utilizadas quando se deseja que uma instrução, ou bloco de instruções, seja executado apenas em determinadas situações ou condições. Já a tomada de decisões compostas normalmente é utilizada normalmente quando se deseja executar uma instrução quando uma condição for verdadeira e outra quando ela for falsa. Analise a sintaxe do código-fonte que está sendo apresentado, e então assinale a alternativa CORRETA: A) ( ) É a sintaxe da tomada de decisão composta. B) () É a sintaxe da tomada de decisão simples e sequencial. C) ( ) É a sintaxe da tomada de decisão simples encadeada. D) ( ) É a sintaxe da tomada de decisão simples. 12. Desvios condicionais na programação de sistemas serve para desviar o fluxo de um programa para atender a determinadas condições impostas, isto é, regras solicitadas ou ainda exceções. Neste sentido, analise o fluxograma que está sendo apresentado, e então assinale a alternativa que descreve o fluxo de maneira CORRETA: A) () É solicitado o preço ao usuário; realizada uma condição, que se for verdadeira, é apresentada a mensagem e o fluxo do programa segue para o final; caso a condição for falsa, o fluxo segue diretamente para o final. B) ( ) É realizada uma condição, e quando a expressão for verdadeira é apresentada uma mensagem e o fluxo segue diretamente para o final do programa. C) ( ) É solicitado o preço ao usuário; realizada uma condição, e enquanto a expressão for verdadeira a repetição da mensagem continua, senão, o fluxo segue diretamente para o final do programa. D) ( ) É solicitado o preço ao usuário; realizada uma condição, e enquanto a expressão for verdadeira o loop continua executando, senão, o fluxo segue diretamente para o final do programa. 13. A tomada de decisão encadeada ocorre quando são utilizadas tomadas de decisões simples ou compostas uma dentro da outra. Neste sentido, uma decisão depende da outra para ser executada, pois as condições mais internas somente serão acessadas se as externas forem executadas. Neste contexto, assinale a alternativa CORRETA que tenha os passos de uma tomada de decisão encadeada: A) ( ) Se o retorno lógico da condição 1 for verdadeiro, então o fluxo chega à condição 1, que caso este retorno também seja verdadeiro, é executada a instrução subordinada a esta condição, e caso contrário, o programa volta ao fluxo normal. B) ( ) Se o retorno lógico da condição 2 for verdadeiro, então o fluxo chega à condição 1, que caso este retorno também seja verdadeiro, é executada a instrução subordinada a esta condição, e caso contrário, o programa volta ao fluxo normal. C) ( ) Se o retorno lógico da condição 2 for verdadeiro, então é executada a instrução subordinada a esta condição, e caso contrário, o programa volta ao fluxo normal. D) () Se o retorno lógico da condição 1 for verdadeiro, então o fluxo chega à condição 2, que caso este retorno também seja verdadeiro, é executada a instrução subordinada a esta condição, e caso contrário, o programa volta ao fluxo normal. 14. Tanto em algoritmos quanto em linguagens de programação reais, muitas vezes é necessário implementarmos a realização de desvios do fluxo do programa, sinalizando assim o que o computador pode ou não executar, isto é, quais instruções. Neste sentido, analise o algoritmo a seguir, e então assinale a alternativa que o descreve de maneira CORRETA: A) () É solicitado o preço da gasolina ao usuário; validada uma condição booleana, que se esta for verdadeira é apresentada uma mensagem, e depois desta, o fluxo do programa segue para o final; caso a condição for falsa, o fluxo segue diretamente para o final. B) ( ) É solicitado o preço da gasolina ao usuário; realizada uma condição (se o preço informado é menor que o preço médio), e enquanto a expressão for verdadeira o loop continua executando, senão, o fluxo segue diretamente para o final do programa. C) ( ) É solicitado o preço da gasolina ao usuário; realizada uma condição (se o preço informado é maior que o preço médio), então o fluxo segue diretamente para o final do programa. D) ( ) É solicitado o preço da gasolina ao usuário; realizada uma condição (se o preço informado é maior que o preço médio), e enquanto a expressão for verdadeira o loop continua executando, senão, o fluxo segue diretamente para o final do programa. 15. As estruturas de repetição, ou também chamadas de laços de repetição ou ainda looping, servem para repetir a execução de determinadas instruções no código-fonte de um programa. Estes comandos facilitam o trabalho dos desenvolvedores nos casos em que é necessário realizar a repetição várias vezes do mesmo código. Referente a laços de repetição, assinale a alternativa CORRETA: A) () Comando WHILE é um comando que executa looping em uma determinada quantidade de vezes que é pré-definida. B) ( ) Comando IF é um comando que executa looping em uma determinada quantidade de vezes que é pré-definida. C) ( ) Os comandos WHILE e SWITCH-CASE pertencem as estruturas de repetição. D) ( ) Comando PARA é um comando que executa um loop enquanto uma expressão for verdadeira. 16. Na programação de sistemas, quando temos uma lista de dados do mesmo tipo, podemos utilizar as estruturas de dados homogêneas, que reduzem o trabalho de criação e manipulação dos dados. Nos casos em que a necessidade é de apenas uma variável para determinar cada um dos registros, utiliza- se a estrutura conhecida por vetor. Referente a vetores, assinale a alternativa CORRETA: A) ( ) Representam um conjunto de dados que estejam em dois índices. B) ( ) Representam um conjunto de dados que estejam em três índices. C) ( ) Representam um conjunto de dados que estejam em mais de um índice. D) () Representam um conjunto de dados que estejam em um determinado índice. 17. Um vetor é uma estrutura de dados homogênea, e possui apenas uma dimensão. Porém, existem determinadas situações em que precisamos armazenar em memória os mesmos tipos de dados, porém temos mais de uma variável para designar o mesmo registro. Por exemplo, quando precisamos armazenar os dados de contato de uma pessoa, que neste caso temos as variáveis nome, e-mail e telefone, precisamos armazená-los em uma mesma posição. Referente ao exemplo da necessidade de aplicação de estrutura de dados apresentada, assinale a alternativa CORRETA: A) () Para o caso de armazenamento de dados de contato com mais de uma variável na mesma posição, pode ser utilizada uma matriz bidimensional. B) ( ) Para o caso de armazenamentode dados de contato com mais de uma variável na mesma posição, pode ser utilizada uma matriz unidimensional. C) ( ) Para o caso de armazenamento de dados de contato com mais de uma variável na mesma posição, as estruturas de dados homogêneas não possuem suporte. D) ( ) Para o caso de armazenamento de dados de contato com mais de uma variável na mesma posição, pode ser utilizado um vetor. 18. As estruturas de dados homogêneas auxiliam na programação devido à redução do número de variáveis que devem ser criadas e tratadas, em determinados casos. Porém, cada dado armazenado nesta estrutura também aloca uma área de memória do computador, gerenciado pelo Sistema Operacional da máquina. Referente à representação de um vetor na memória, assinale a alternativa CORRETA: A) ( ) Quando um vetor é criado, ainda não é solicitada ao Sistema Operacional a reserva de memória. B) ( ) A reserva de memória alocada para os dados de um vetor não é contínua. C) ( ) É alocado um único endereçamento da memória para um vetor. D) () É alocado um endereçamento de memória para cada dado armazenado em um vetor. 19. Em um algoritmo, muitas regras originam desvios condicionais dentro do código-fonte dos programas, o que faz garantir a satisfação de condições que foram exigidas. Os desvios condicionais podem ser utilizados dentro de loops de vetores normalmente, como se estivessem sendo utilizados em outro trecho do código-fonte. Neste sentido, analise o pseudocódigo a seguir, e então assinale a alternativa CORRETA: A) ( ) Serão impressos na tela os valores: 70 e 20. B) ( ) Serão impressos na tela os valores: 10 e 40. C) ( ) Serão impressos na tela os valores: 30 e 20. D) () Serão impressos na tela os valores: 40 e 70. 20. As estruturas de dados unidimensionais, também conhecidas por vetores ou matrizes de uma dimensão, representam um conjunto de dados que possuem o mesmo tipo (inteiro, real, caractere, booleano). Os vetores são estruturas de dados que são referenciadas pelo mesmo nome, necessitando de um número para acessá-los. Referente a vetores, assinale a alternativa CORRETA: A) () A manipulação dos dados de um vetor é individual. B) ( ) A manipulação dos dados de um vetor também é em conjunto. C) ( ) A utilização de um vetor depende da linguagem de programação, pois pode ser muito diferente de uma linguagem para outra. D) ( ) Dependendo da linguagem de programação, a manipulação de dados de um vetor não é realizada por índices. 21. A metodologia de dividir um código-fonte em partes menores e mais específicas surgiu após os vários problemas no desenvolvimento de software. Este método facilita o trabalho de desenvolvimento de software, pois analisa-se e desenvolve-se cada funcionalidade separada e independentemente uma da outra. Referente a modularização de código-fonte, assinale a alternativa CORRETA? A) () Um procedimento, assim como uma função, são sub-rotinas. B) ( ) Enquanto uma função é uma sub-rotina, um procedimento é um trecho de código que realiza uma tarefa específica. C) ( ) Uma sub-rotina é uma algoritmo que resolve toda a solução para um programa de computador. D) ( ) Enquanto uma função é um trecho de código que retorna uma resposta, um procedimento é uma sub-rotina. 22. Um algoritmo modularizado possui a facilidade de compreensão de seu código-fonte, diminuindo isto é, seu código torna-se mais legível. Além disso, a manutenção é facilitada e torna-se mais rápida. Existem algumas formas de serem passados dados para uma sub-rotina processar. Neste contexto, analise código-fonte modularizado a seguir, e então assinale a alternativa CORRETA: A) ( ) O código-fonte não funciona em um compilador de pseudocódigo devido chamada do procedimento faltar a nomenclatura do algoritmo. B) () Neste caso, o procedimento não precisaria ter passagem de parâmetros. C) ( ) O código-fonte não funciona em um compilador, pois como existem variáveis globais, não poderia haver passagem de parâmetros para a sub-rotina. D) ( ) O código-fonte não funciona em um compilador de pseudocódigo devido a sintaxe do procedimento estar errada. 23. No passado, a época conhecida por crise de software teve este nome devido aos problemas no desenvolvimento de software acarretados por códigos-fonte mal estruturados, desorganizados e consequentemente muito trabalhosos para uma futura manutenção. Neste tempo, não existiam metodologias para controlar e melhorar a qualidade dos produtos de software, o que levou ao surgimento das mesmas. Referente a sub-rotinas e métodos de melhorias de software, assinale a alternativa CORRETA: A) ( ) A criação de algoritmos chamados de sub-rotinas auxiliou no processo de desenvolvimento destas metodologias, as quais podem ser descritas como um único algoritmo que resolve toda a solução. B) () A divisão de algoritmos em sub-rotinas foi uma dos métodos utilizados para melhorar a qualidade dos códigos-fonte. C) ( ) As sub-rotinas são algoritmos que servem para a criação de programas, solução resolvida em um único procedimento. D) ( ) As sub-rotinas são algoritmos que servem para a criação de programas, solução resolvida em uma única função. 24. A modularização de um código-fonte pode ser resolvida através da utilização de sub-rotinas, as quais são utilizadas para resolver tarefas específicas de um problema, ao invés de solucionar todo o problema do programa. Referente a manipulação de dados por sub-rotinas, assinale a alternativa CORRETA? A) () Sub-rotinas podem receber dados por parâmetros ou ainda utilizar variáveis globais para a manipulação de dados. B) ( ) Sub-rotinas podem receber dados de sua unidade mestre apenas por variáveis globais. C) ( ) Caso a sub-rotina seja uma função, ela pode receber dados através de parâmetros, e caso seja um procedimento, apenas por variáveis globais. D) ( ) Caso a sub-rotina seja um procedimento, ela pode receber dados através de parâmetros, e caso seja uma função, apenas por variáveis globais. 25. Os métodos top-down e bottom-up facilitam o desenvolvimento de software om o código-fonte estruturado, assim como para os orientados a objetos, aceitos pela maioria das linguagens de programação atuais. Para aplicação do método top-down é necessário conhecer bem as funcionalidades principais do sistema. Referente aos métodos top-down e bottom-up, assinale a alternativa CORRETA: A) ( ) O método bottom-up permite uma visualização geral da estrutura de procedimentos em conjunto. B) ( ) O método bottom-up permite que procedimentos sejam testados apenas em conjunto. C) ( ) O método top-down permite uma visualização geral da estrutura de procedimentos em conjunto. D) () O método top-down permite uma visualização detalhada da estrutura de procedimentos separadamente. 26. Os algoritmos são realmente uma forma lógica muito importante para a solução de problemas, tanto na computação quanto em outas áreas. Neste sentido, o sequenciamento de instruções para resolver um problema segue seus passos: a entrada de dados, seu processamento e sua saída. Referente a algoritmos e seus dados e instruções, assinale a alternativa CORRETA: A) () Dados são registros não tratados e informação é um dado tratado. B) ( ) Informação são dados não tratados. C) ( ) A saída de um algoritmo são dados não tratados. D) ( ) A saída de um algoritmo são dados e informações. 27. Amodularização de código-fonte surgiu devido a problemas com a época conhecida por crise de software, na qual os códigos-fonte eram muito confusos, mal estruturados, não seguiam uma metodologia de qualidade, ocasionando altos custos, prazos ultrapassados e dificuldades e muito trabalho na manutenção destes programas. Referente a modularidade, assinale a alternativa CORRETA: A) () Um procedimento pode ser entendido como uma sub-rotina que não retorna uma resposta. B) ( ) Um procedimento pode ser descrito como sinônimo de função, pois ambos são sub-rotinas e realizam a mesma funcionalidade. C) ( ) Uma função pode ser entendida como uma sub-rotina que não retorna uma resposta para a unidade mestre. D) ( ) Um procedimento pode ser descrito como uma sub-rotina que retorna uma resposta para a sua unidade mestre. 28. Em determinados casos, a utilização de vetor para resolver algum problema torna-se mais trabalhosa, por ter de se criar mais de um no mesmo programa. Nestes casos, pode-se resolver utilizando uma única matriz bidimensional, cujo funcionamento é parecido com o de um vetor, mas ao invés de um único índice para manipular os dados, esta estrutura possui dois. Referente à matriz bidimensional, assinale a alternativa CORRETA: A) () Pode ser comparada a uma tabela, que possui linhas e colunas. B) ( ) Pode ser comparada a uma lista com uma coluna de valores. C) ( ) Pode ter até três colunas e ilimitada a quantidade de linhas. D) ( ) Pode ter até três linhas e ilimitada a quantidade de colunas. 29. Desvios condicionais na programação de sistemas serve para desviar o fluxo de um programa para atender a determinadas condições impostas, isto é, regras solicitadas ou ainda exceções. Neste sentido, analise o fluxograma que está sendo apresentado, e então assinale a alternativa que descreve o fluxo de maneira CORRETA: A) ( ) É realizada uma condição, e quando a expressão for verdadeira é apresentada uma mensagem e o fluxo segue diretamente para o final do programa. B) ( ) É solicitado o preço ao usuário; realizada uma condição, e enquanto a expressão for verdadeira o loop continua executando, senão, o fluxo segue diretamente para o final do programa. C) ( ) É solicitado o preço ao usuário; realizada uma condição, e enquanto a expressão for verdadeira a repetição da mensagem continua, senão, o fluxo segue diretamente para o final do programa. D) () É solicitado o preço ao usuário; realizada uma condição, que se for verdadeira, é apresentada a mensagem e o fluxo do programa segue para o final; caso a condição for falsa, o fluxo segue diretamente para o final. 30. Tanto em algoritmos quanto em linguagens de programação reais, muitas vezes é necessário implementarmos a realização de desvios do fluxo do programa, sinalizando assim o que o computador pode ou não executar, isto é, quais instruções. Neste sentido, analise o algoritmo a seguir, e então assinale a alternativa que o descreve de maneira CORRETA: A) () É solicitado o preço da gasolina ao usuário; validada uma condição booleana, que se esta for verdadeira é apresentada uma mensagem, e depois desta, o fluxo do programa segue para o final; caso a condição for falsa, o fluxo segue diretamente para o final. B) ( ) É solicitado o preço da gasolina ao usuário; realizada uma condição (se o preço informado é menor que o preço médio), e enquanto a expressão for verdadeira o loop continua executando, senão, o fluxo segue diretamente para o final do programa. C) ( ) É solicitado o preço da gasolina ao usuário; realizada uma condição (se o preço informado é maior que o preço médio), e enquanto a expressão for verdadeira o loop continua executando, senão, o fluxo segue diretamente para o final do programa. D) ( ) É solicitado o preço da gasolina ao usuário; realizada uma condição (se o preço informado é maior que o preço médio), então o fluxo segue diretamente para o final do programa. 31. Algoritmos são uma sequência de instruções finitas que servem para solucionar algum problema específico. Além disso, para que um algoritmo seja mais facilmente desenvolvido, a pessoa responsável pelo seu desenvolvimento deve ter um bom raciocínio lógico. O IMC (Índice de Massa Corporal) é o cálculo realizado para saber se uma pessoa está abaixo ou acima do peso, e este é calculado através da fórmula: peso dividido pela altura ao quadrado. Neste sentido, veja um problema a ser solucionado: desenvolver um algoritmo que o usuário informe o eu peso e a sua altura, e o programa calcule seu IMC, exibindo-o na tela. Referente ao problema mencionado, assinale a alternativa que contenha as instruções CORRETAS: A) () Solicitar ao usuário que informe seu peso; solicitar ao usuário que informe sua altura; calcular o IMC (peso/altura*altura); exibir o IMC na tela. B) ( ) Solicitar ao usuário dois números; calcular a soma; exibir o resultado na tela. C) ( ) Solicitar ao usuário que informe seu peso; solicitar ao usuário que informe sua altura; exibir o resultado na tela. D) ( ) Solicitar ao usuário que informe seu peso; solicitar ao usuário que informe sua altura; calcular o IMC (peso/altura*altura); exibir o peso na tela. 32. É importante conhecer os tipos de dados, pois é a partir deste conhecimento que se evitam alguns erros na programação quanto à declaração de variáveis. Continuando a falar sobre dados, eles são processados em programas das mais variadas formas, para que resultem em alguma informação, isto é, dado tratado. Referente a comandos de entrada de dados, assinale a alternativa CORRETA: A) ( ) Um exemplo de entrada de dados é uma tela de computador. B) ( ) Em algoritmos, o comando “Escreva” realiza a entrada de dados para processamento. C) () O comando “Leia” é utilizado em pseudocódigo para a entrada de dados pelo usuário. D) ( ) Impressora é um exemplo de entrada de dados. 33. Em algoritmos, assim como em linguagens de programação reais, os operadores lógicos e relacionais são utilizados para combinar variáveis e constantes, que são utilizadas para fornecer um valor como resposta. Referente a operadores lógicos, assinale a alternativa CORRETA: A) () São baseados por tabelas verdade que apresentam resultados booleanos. B) ( ) O operador de conjunção analisa dois valores lógicos, e retorna valor verdadeiro quando ao menos um dos dois valores lógicos analisados for verdadeiro. C) ( ) Para a expressão “A” que possui inicialmente valor “V” e outra expressão “B” cujo valor inicial seja “F”, aplicando-se a conjunção, o resultado será “V”. D) ( ) O operador de disjunção analisa dois valores lógicos, e retorna valor verdadeiro quando ambos valores analisados forem verdadeiros. 34. Em determinadas situações, a utilização de estruturas de dados homogêneas é a solução para evitar a criação de várias variáveis do mesmo tipo, o que evita não somente a declaração, como também a manipulação de várias variáveis. Estas estruturas podem ser tanto vetores quanto matrizes bidimensionais, dependendo do caso. Neste sentido, analise a figura a seguir, e então assinale a alternativa CORRETA: A) ( ) A figura representa uma matriz unidimensional com 5 colunas e 6 linhas. B) ( ) A figura representa uma matriz bidimensional com 5 colunas e 5 linhas. C) ( ) A figura representa uma matriz unidimensional com 5 colunas e 5 linhas. D) (X) A figura representa uma matriz bidimensional com 6 colunas e 6 linhas. 35. Para facilitar o desenvolvimentode software, pode-se dividir um problema grande em um menor, mais específico. Esta metodologia é conhecida de “dividir para conquistar”, e chamada de modularização de código. Neste sentido, divide-se o código-fonte em pequenos blocos que fazem uma ação específica. Referente a modularização, assinale a alternativa CORRETA: A) ( ) Ao se modularizar um código, cria-se apenas funções no código. B) () Ao se modularizar um código, abstrai-se um algoritmo, isto é, divide-o em partes menores. C) ( ) Ao se modularizar um código, cria-se apenas procedimentos no código. D) ( ) Ao se modularizar um código, desenvolve-se funções com várias funcionalidades. 36. Para que uma pessoa adquira o raciocínio lógico na computação, é necessário que ela pratique vários exercícios, isto é, desenvolva, por exemplo, vários algoritmos para diferentes soluções. Neste sentido, quanto mais um desenvolvedor de software criar algoritmos que solucionem diferentes problemas, mais raciocínio lógico ele adquirirá. Referente ao raciocínio lógico, assinale a alternativa CORRETA: A) ( ) O raciocínio lógico não é desenvolvido através de exercícios. B) ( ) O raciocínio lógico é desenvolvido apenas para a solução de cálculos matemáticos. C) ( ) Um profissional de TI que já tenha desenvolvido vários algoritmos diferentes possui a mesma dificuldade de um iniciante para solucionar um problema. D) () Permite que o trabalho de um profissional de TI seja mais rápido e eficaz. 37. A sequência de passos para a solução de um problema pode ser prevista por um algoritmo. Neste sentido, a lógica de programação auxilia na solução prevendo estes passos necessários para chegar- se ao objetivo. Esta sequência de passos, possui um início e um fim, pois o problema possui uma solução, que é resolvida no último passo. Partindo desse pressuposto, classifique V para as sentenças verdadeiras e F para falsas. (V) Em algoritmos, instruções são um conjunto de regras para realização de algo. (F) Na solução de um problema, é ideal tratar uma instrução de forma isolada. (V) Ao elaborar as instruções de maneira lógica e concisa temos um algoritmo. (V) Um algoritmo possui uma sequência finita de passos. Agora, assinale a alternativa que apresenta a sequência CORRETA: A) () V – F – V – V. B) ( ) V – F – V – F. C) ( ) F – V – V – F. D) ( ) V – V – V – V. 38. Algoritmo serve para sequenciar as instruções, finitas, para a solução de um problema. Por exemplo, um algoritmo que solucione como se vestir, o qual pode especificar que seja vestido primeiro as meias e os sapatos antes de usar a calça. Outro algoritmo pode designar que a calça seja vestida antes das meias e dos sapatos. Como se pode observar, os dois algoritmos levam ao mesmo objetivo, embora a execução do primeiro seja mais trabalhosa que o segundo. Referente a algoritmos e programas, assinale a alternativa CORRETA: A) ( ) Algoritmos nunca se transformarão em programas. B) ( ) Algoritmos e programas são sinônimos dentro do contexto da computação. C) ( ) Algoritmos se transformam em programas depois que são executados. D) () Algoritmos são transformados em programas após serem convertidos em uma linguagem de programação. 39. Um algoritmo pode ser descrito por uma sequência de passos para resolver um problema. O pseudocódigo é uma das formas de representar algoritmos, o que o torna mais parecido com uma linguagem de programação devido a sua estrutura e utilização de comandos parecidos que existem em linguagens de programação reais. Referente ao pseudocódigo, assinale a alternativa CORRETA: A) ( ) O pseudocódigo não resolve o problema de interpretação de algoritmo que esteja em grau de complexidade alto. B) ( ) O pseudocódigo é a única forma de representar um algoritmo. C) () O pseudocódigo é um dos métodos de representar um algoritmo e não possui ambiguidades. D) ( ) O pseudocódigo é uma forma de representar algoritmos de forma dependente de linguagens de programação. 40. Os operadores relacionais são utilizados para comparação de valores, resultando em um valor booleano. Podemos realizar comparações de variáveis de qualquer tipo de dado, como inteiro, real, caractere ou até mesmo booleano. Referente a operadores relacionais, assinale a alternativa CORRETA: A) ( ) O sinal “=” em algoritmos significa atribuição e não comparação. B) ( ) “casa” = “Casa” retorna o valor booleano verdadeiro. C) ( ) 100 <> 100 retorna o valor booleano verdadeiro. D) () 10 <> 10 retorna o valor booleano falso. 41. Realizar a sequência de passos que um algoritmo deve executar é muito importante antes de se implementar diretamente o código-fonte, pois com isso pode-se validar com o cliente se confere conforme solicitado. Muitas regras originam desvios condicionais dentro dos programas, o que faz garantir a satisfação de funcionalidades exigidas para o mesmo. Neste sentido, desvios condicionais podem determinar quais instruções serão executadas e quais serão ignoradas e em quais contextos. Analise o pseudocódigo a seguir, e então assinale a alternativa CORRETA: A) ( ) O algoritmo possui uma tomada de decisão sequencial composta. B) () O algoritmo possui um desvio condicional composto. C) ( ) O algoritmo possui um desvio condicional simples. D) ( ) O algoritmo possui uma tomada de decisão sequencial simples. 42. No desenvolvimento de sistemas existem muitas regras que são impostas para resolverem determinados problemas. Muitas destas regras se tornam desvios condicionais no código-fonte dos programas. Referente a desvio condicional composto, assinale a alternativa CORRETA: A) ( ) Executa um comando subordinado a expressão da condição. B) () Executa instruções e a expressão lógica for verdadeira e outras instruções são executadas para o caso da expressão lógica ser falsa. C) ( ) A sintaxe para o desvio condicional composto é: “se <expressão lógica> então <instrução> fim_se”. D) ( ) Para designar uma condição para um desvio condicional composto em um fluxograma, utilizamos a figura geométrica retângulo. 43. Os desvios condicionais auxiliam no caminho do fluxo dos dados de um programa, permitindo que uma instrução seja executada ou ignorada. Os desvios condicionais podem ser simples ou compostos. Referente a tomadas de decisões sequenciais, assinale a alternativa CORRETA? A) () Existem tomadas de decisões simples ou compostas uma após a outra. B) ( ) Existem tomadas de decisões simples ou compostas uma dentro da outra. C) ( ) Existem apenas tomadas de decisões compostas uma dentro da outra. D) ( ) Existem apenas tomadas de decisões simples uma dentro da outra. 44. O desvio condicional simples é aquele em que caso a sua expressão seja satisfeita, uma condição subordinada a esta será executada. O desvio condicional composto ocorre no caso em que se uma expressão da condição for falsa, também haverá a execução de uma instrução. Referente desvio condicional, assinale a alternativa CORRETA: A) () A sintaxe para o comando desvio condicional composto é: “se <expressão lógica> então <instrução> senão <outra instrução> fim_se”. B) ( ) Desvio condicional simples possui os mesmos comandos do desvio condicional composto. C) ( ) A sintaxe para o desvio condicional composto é: “se <expressão lógica> então <instrução> fim_se”. D) ( ) Caso a expressão do desvio condicional simples for falso,uma instrução subordinada a esta será executada. 45. Em determinados casos, na programação, é necessário criar muitas variáveis para armazenar o mesmo tipo de dados, porém com identificações diferentes (nomes de variáveis). Por exemplo, em um determinado algoritmo que necessita armazenar a nota de quatro alunos diferentes para poder manipulá-las posteriormente, cria-se uma variável para cada nota. Neste contexto, as estruturas de dados homogêneas facilitam a programação. Referente a estruturas de dados homogêneas, assinale a alternativa CORRETA: A) () As estruturas de dados conhecidas como vetores ou matrizes bidimensionais podem ser utilizadas para resolver o problema das notas de alunos. B) ( ) As estruturas de dados homogêneas conhecidas como matrizes bidimensionais não auxiliam no caso apresentado das notas de alunos. C) ( ) No exemplo apresentado, é necessário criar uma variável para cada nota. D) ( ) As estruturas de dados homogêneas conhecidas como vetores não auxiliam no caso apresentado das notas de alunos. 46. Os vetores são estruturas de dados unidimensionais que facilitam o trabalho do desenvolvimento de software quando é necessária a criação de várias variáveis do mesmo tipo. Neste contexto, o armazenamento dos dados nestas estruturas é realizado através de um número, chamado índice, que apresenta a posição do dado na lista. Referente à sintaxe para adquirir um valor de um vetor, assinale a alternativa CORRETA: A) ( ) Vetor[i, j]. B) ( ) [i, j]Vetor. C) ( ) [i]Vetor. D) () Vetor[i]. 47. Dividir um código-fonte em módulos pode ser descrito por dividi-lo em blocos de código que podem efetuar operações computacionais de entrada, processamento e saída. Utilizando-se esta metodologia de dividir um problema complexo em módulos, está se tratando os problemas de forma isolada. Referente a modularização de código, assinale a alternativa CORRETA: A) ( ) Cada módulo deve possuir mais de um ponto de entrada; a unidade mestre permanece suspensa enquanto a unidade escrava executa suas instruções. B) () Cada módulo deve possuir um ponto de entrada; a unidade mestre permanece suspensa enquanto a unidade escrava executa suas instruções. C) ( ) Cada módulo deve possuir um ponto de entrada; a unidade mestre continua executando seu fluxo enquanto a unidade escrava executa suas instruções. D) ( ) Cada módulo deve possuir mais de um ponto de entrada; a unidade mestre continua executando seu fluxo enquanto a unidade escrava executa suas instruções. 48. A modularização de código-fonte facilita o trabalho de programação de software, além de fazer com que o programa tenha uma qualidade melhor, inclusive mais assertividade nos prazos e custos de um projeto. Os procedimentos são sub-rotinas, assim como funções, com a diferença de que funções retornam umas resposta para sua unidade mestre. Neste contexto, analise código-fonte modularizado a seguir, e então assinale a alternativa CORRETA: A) ( ) O código-fonte apresenta a utilização de um procedimento que realiza o cálculo de soma de dois números informados pelo usuário. B) ( ) O código-fonte não funciona em um compilador devido a ter passagem de parâmetros, que são apenas utilizadas em procedimentos. C) ( ) O código-fonte não funciona em um compilador devido a ter passagem de parâmetros, e a existência de variáveis globais, o que causa conflito. D) () O código-fonte apresenta a utilização de uma função que realiza o cálculo de soma de dois números informados pelo usuário. 49. O desenvolvimento de software é uma tarefa complexa, pois existem vários fatores que contribuem para isso. As diversas regras necessárias para a implementação em um código-fonte por exemplo, que o torna complexo de se desenvolver e para uma futura manutenção. Esta questão pode ser amenizada utilizada os princípios da modularidade. Referente a modularidade, assinale a alternativa CORRETA: A) () É a divisão de um código-fonte em partes menores mais específicas. B) ( ) É a divisão de um código-fonte em partes maiores e menos específicas. C) ( ) É a divisão de um código-fonte em partes maiores e mais específicas. D) ( ) É a divisão de um código-fonte em partes menores e menos específicas. 50. Em ciência da computação, para o desenvolvimento de software, tipos de dados podem ser definidos como a combinação de valores, assim como de operações, que uma variável pode executar. Tipos de dados são utilizados para indicar ao compilador quais as conversões são necessárias. Referente a tipos de dados, assinale a alternativa CORRETA: A) ( ) Se atribuído o valor “x55” para uma variável do tipo real, haverá a conversão para o novo tipo, sem ocorrência de erros. B) ( ) Se atribuído o valor “x55” para uma variável do tipo inteiro, haverá a conversão (cast) para o novo tipo, sem erros. C) () Se atribuído o valor 55.2 para uma variável do tipo inteiro, haverá ocorrência de uma exceção (erro). D) ( ) Se atribuído o valor 55.2 para uma variável do tipo real, haverá ocorrência de uma exceção (erro). 51. Em algoritmos, assim como em linguagens de programação, devem ser tratados vários determinantes condicionais para o fluxo de execução de um programa. Existem tomadas de decisões simples, compostas, sequenciais simples e sequenciais compostas, cada uma com suas características referentes as suas funcionalidades ou sintaxe. Analise o fluxograma a seguir, e então assinale a alternativa CORRETA: A) ( ) É a representação de um algoritmo com tomada de decisão simples. B) ( ) É a representação de um algoritmo com tomada de decisão simples encadeada. C) ( ) É a representação de um algoritmo com tomada de decisão composta. D) () É a representação de um algoritmo com tomada de decisão composta e sequencial. Esperamos ter ajudado em seus estudos Boa sorte!
Compartilhar