Buscar

QUESTÕES - ALGORÍTMO UNIASSELVI

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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!

Outros materiais