Buscar

Técnicas de Desenvolvimento de Algoritmos

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 17 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 17 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 17 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

Segundo Ascencio e Campos (2012, p. 1), 
 
Desde o início de sua existência, o homem procurou criar máquinas que o auxiliassem em 
seu trabalho, diminuindo esforço e economizando tempo. Dentre essas máquinas, o 
computador vem se mostrando uma das mais versáteis, rápidas e seguras. O computador 
pode auxiliá-lo em qualquer tarefa. É consciente, trabalhador, possui muita energia, mas 
não tem iniciativa, nenhuma independência, não é criativo nem inteligente, por isso precisa 
receber instruções nos mínimos detalhes. 
 
A finalidade de um computador é receber, manipular e armazenar dados. Visto somente 
como um gabinete composto de circuitos eletrônicos, cabos e fontes de alimentação, 
certamente ele parece não ter nenhuma utilidade. O computador só consegue armazenar 
dados em discos, imprimir relatórios, gerar gráficos, realizar cálculos, entre outras funções, 
por meio de programas. 
 
Portanto, sua finalidade principal é realizar a tarefa de processamento de dados, isto é, 
receber dados por um dispositivo de entrada (por exemplo, teclado, mouse, scanner, entre 
outros), realizar operações com esses dados e gerar uma resposta que será expressa em 
um dispositivo de saída (por exemplo, impressora, monitor de vídeo, entre outros). 
 
Quais as duas partes do computador que trabalham juntas? 
 
a. Monitor e teclado. 
b. Processador e impressora. 
c. Software e hardware. 
d. Sistema operacional e linguagem de programação. 
e. Hardware e firmware. 
 
 
 
Quando queremos criar ou desenvolver um software para realizar determinado tipo de 
processamento de dados, devemos escrever um programa ou vários programas 
interligados. No entanto, para que o computador compreenda e execute esse programa, 
devemos escrevê-lo usando uma linguagem que tanto o computador quanto o criador de 
software entendam. Essa linguagem é chamada de linguagem de programação. 
 
Segundo Ascencio e Campos (2012, página 01), as etapas para o desenvolvimento de um 
programa são: 
 
● Análise​ – Nesta etapa, estuda-se o enunciado do problema para definir os dados de 
entrada, o processamento e os dados de saída. 
● Algoritmo​ – Ferramentas do tipo descrição narrativa, fluxograma ou português 
estruturado são utilizadas para descrever o problema com suas soluções. 
● Codificação​ – O algoritmo é transformado em códigos da linguagem de 
programação escolhida para se trabalhar. 
 
 
 
Neste contexto, qual a definição de programa? 
 
a. Elementos gráficos que expressam um processamento de dados. 
b. Conjunto de instruções escritas em pseudocódigo. 
c. É a parte física do computador. 
d. É a codificação de um algoritmo em uma linguagem de programação. 
e. Descrição da entrada, do processamento e da saída. 
 
 
 
 
Um algoritmo é desenvolvido com o objetivo de receber dados, realizar o processamento 
desses dados e gerar uma resposta. Dado o algoritmo a seguir, qual será o resultado 
mostrado na tela caso o usuário digite os valores 2 e 3?
 
 
a. 8 
 
b. soma = 5 
 
c. 5 
 
d. z 
 
e. 6 
 
 
 
 
Um algoritmo é desenvolvido para receber dados, realizar o processamento deles e gerar 
uma resposta. Dado o algoritmo a seguir, qual seria o enunciado mais apropriado para ele?
 
 
a. Faça um algoritmo que calcule um número elevado a uma potência. 
 
b. Faça um algoritmo para mostrar o resultado da multiplicação de dois números. 
 
c. Faça um algoritmo para calcular a multiplicação entre dois números digitados pelo 
usuário. 
 
d. Faça um algoritmo para calcular e mostrar a multiplicação dos números 5 e 2. 
 
e. Faça um algoritmo para calcular a multiplicação dos números 5 e 2. 
 
 
 
 
Segundo Ascencio e Campos (2012, p. 1), as etapas para o desenvolvimento de um 
programa são: 
 
● Análise​ – Nesta etapa, estuda-se o enunciado do problema para definir os dados de 
entrada, o processamento e os dados de saída. 
● Algoritmo​ – Ferramentas do tipo descrição narrativa, fluxograma ou português 
estruturado são utilizadas para descrever o problema com suas soluções e 
● Codificação​ – O algoritmo é transformado em códigos da linguagem de 
programação escolhida para se trabalhar. 
 
Seguem algumas afirmações: 
 
(I) Elementos gráficos que expressam a entrada de dados, o processamento e a saída. 
(II) Conjunto de instruções escritas em pseudocódigo ou português estruturado. 
(III) Sequência de passos que visam atingir um objetivo. 
(IV) Narrativa que descreve a solução de um problema. 
 
Quais as afirmações são verdadeiras para o termo ALGORITMO? 
 
a. I, II, III e IV 
b. Apenas a IV 
c. Apenas a II 
d. Apenas a I 
e. Apenas a III 
 
 
 
 
Para um computador ser útil, é preciso que hardware e software trabalhem juntos. O 
software deve ser desenvolvido para executar uma ou várias tarefas bem definidas, e, 
quando queremos criar ou desenvolver um software para realizar determinado tipo de 
processamento de dados, devemos escrever um programa ou vários programas 
interligados. 
 
No entanto, para que o computador compreenda e execute esse programa, devemos 
escrevê-lo usando uma linguagem que tanto o computador quanto o criador de software 
entendam. Essa linguagem é chamada de linguagem de programação. Quais as etapas 
necessárias para o desenvolvimento de programas? 
 
a. Análise e teste. 
b. Análise, codificação e teste. 
c. Análise, algoritmo e codificação. 
d. Algoritmo e codificação. 
e. Codificação e teste. 
 
 
 
 
Um algoritmo é desenvolvido com o objetivo de receber dados, realizar o processamento 
destes dados e gerar uma resposta. Dado o algoritmo a seguir, qual seria o enunciado mais 
adequado para ele? 
 
a. Faça um algoritmo para calcular e mostrar a soma entre três valores digitados pelo 
usuário. 
b. Faça um algoritmo para calcular e mostrar a média aritmética entre três notas 
digitadas pelo usuário. 
c. Faça um algoritmo para calcular a média ponderada entre três notas. 
d. Faça um algoritmo para calcular e mostrar a média aritmética entre as notas 7, 9 e 
10. 
e. Faça um algoritmo para calcular a média aritmética entre três notas. 
 
 
Os algoritmos podem conter erros de lógica e erros de sintaxe, ou seja, erros de lógica são 
erros que não produzem o resultado esperado e erros de sintaxe são erros que não 
permitem que o algoritmo seja executado. Qual dos algoritmos a seguir está correto para 
receber dois valores e mostrar a soma deles. 
 
 
 
 
 
Para calcular a área de um triângulo retângulo, é necessário conhecer a medida da sua 
altura e da sua base, tendo em vista que área é calculada pela base vezes a altura e esse 
resultado é dividido por 2. Qual dos algoritmos a seguir pode ser utilizado para calcular a 
área de um triângulo retângulo, cuja base é fornecida pelo usuário e a altura é o dobro da 
base? 
 
 
 
 
 
 
Um algoritmo é composto por várias instruções. A seguir, temos dois comandos de 
atribuição e um comando de saída. Dadas as instruções seguintes, o que será mostrado na 
tela? 
 
x <- 5 
y <- 3 
escreval("soma = ", x+y) 
 
A. 8 
B. soma 
C. soma de 5 + 3 = 8 
D. 5 + 3 = 8 
E. soma = 8 
 
 
 
 
Um algoritmo pode ser considerado uma sequência de passos que visam atingir um 
objetivo. Tendo isso em vista e considerando o algoritmo a seguir, qual a alternativa 
correta? 
 
a. Os dois algoritmos abordam o mesmo problema, mas apresentam resultados 
diferentes. 
 
b. Os dois algoritmos apresentam algum erro. 
 
c. O algoritmo 2 não poderá ser executado por conter erro. 
 
d. O algoritmo 1 não poderá ser executado por conter erro. 
 
e. Os dois algoritmos abordam o mesmo problema e apresentam o mesmo resultado. 
 
 
 
 
 
 
No desenvolvimento de algoritmos, são utilizados os operadores lógicos para montar 
condições compostas. Dentre esses operadores, destacam-se os operadores E e OU. 
Dadas as expressões a seguir, qual par de valores as tornaria verdadeiras? 
 
expressão 1: se (x < 7) OU (y > 2) 
 
expressão 2: se (x < 7) E (y > 2) 
 
a. x = 7; y = 2 
 
b. x = 5; y = 1 
 
c. x = 5; y = 5 
 
d. x = 9; y = 3 
 
e. x = 1; y = 2 
 
 
 
Uma estruturacondicional é considerada um desvio onde alguns comandos são executados 
quando a condição é verdadeira e outros comandos são executados quando a condição é 
falsa. Assim, escreva uma estrutura condicional para mostrar conceito C para nota até 3, 
conceito B para nota entre 3 e 7 e conceito A para nota de 7 para cima.
 
 
 
 
 
 
Analisando o algoritmo a seguir e caso o usuário digite MARIA e 1, qual será a saída 
apresentada? 
 
 
a. 5 
b. 2 
c. 1 
d. 3 
e. 4 
 
 
 
 
Existe uma estrutura nos algoritmos em que se tem um conjunto de comandos que é 
executado se a condição for verdadeira e um outro conjunto de comandos é executado se a 
condição for falsa. Qual o nome dessa estrutura? 
 
a. Sequencial. 
 
b. Repetição. 
 
c. Condicional ou Decisão. 
 
d. Pilha. 
 
e. Fila. 
 
 
 
 
 
 
Um algoritmo é desenvolvido com o objetivo de receber dados, realizar o processamento desses 
dados e gerar uma resposta. Qual o enunciado adequado para o algoritmo a seguir? 
 
 a. Faça um algoritmo para calcular o novo salário com aumento de 20%, sabendo que 
apenas as mulheres terão aumento. 
 b. Faça um algoritmo para calcular o novo salário com aumento de 20%. 
 c. Faça um algoritmo para calcular o novo salário com aumento de 20%, sabendo que 
todas as mulheres terão aumento, assim como os homens com mais de 45 anos. 
 d. Faça um algoritmo para calcular o novo salário com desconto de 20%, sabendo que 
apenas homens com mais de 45 anos terão desconto. 
 e. Faça um algoritmo para calcular o novo salário com desconto de 20%. 
 
 
Um algoritmo é uma sequência de passos que visam atingir um objetivo. Dado o algoritmo a 
seguir, quais as afirmações corretas? 
 
(I) Exibirá o maior entre três números lidos, exceto se os três valores forem iguais. 
(II) Se forem lidos os valores 1, 3 e 6 nas variáveis n1, n2 e n3, respectivamente, a variável 
m receberá o valor 1, em seguida o valor 3 e, por último, o valor 6. 
(III) Se forem lidos os valores 7, 2 e 9 nas variáveis n1, n2 e n3, respectivamente, a variável 
m receberá o valor 7, em seguida o valor 2 e, por último, o valor 9. 
(IV) Se forem lidos os valores 9, 7 e 2 nas variáveis n1, n2 e n3, respectivamente, a variável 
m receberá apenas o valor 9. 
 
a. Apenas a afirmação IV. 
 
b. Todas as afirmações. 
 
c. Apenas a afirmação II. 
 
d. As afirmações I, II e IV. 
 
e. Apenas a afirmação I. 
 
 
 
 
Uma estrutura de repetição é utilizada em algoritmos quando se deseja repetir um ou vários 
comandos. Essa repetição pode ser para um número definido ou indefinido de vezes. Diante 
do exposto, assinale a alternativa que apresenta quantas vezes os comandos da estrutura 
definida a seguir podem ser repetidos. 
 
 
 
a. 5. 
 
b. 10. 
 
c. Nenhuma vez. 
 
d. 2. 
 
e. 6. 
 
 
 
O teste mesa ou simulação é utilizado para verificar se o algoritmo, a partir de uma 
determinada entrada, está gerando o resultado esperado. Considerando o exposto, simule o 
algoritmo a seguir com o dia do seu aniversário e assinale a alternativa que apresenta o 
resultado exibido pelo algoritmo. 
 
a. resultado = 2 
 
b. Nenhuma das alternativas anteriores. 
 
c. resultado = 0 
 
d. resultado = 1 
 
e. resultado = 5 
 
 
 
 
Dentre as estruturas de repetição, destaca-se a estrutura de repetição com variável de 
controle, que é utilizada quando se conhece o número de repetições desejado. 
Considerando o exposto, analise as seguintes estruturas e assinale a alternativa em que o 
comando escreval ("teste") está repetido 5 vezes. 
 
a. Apenas na estrutura 3. 
 
b. Apenas na estrutura 1. 
 
c. Apenas na estrutura 2. 
 
d. Em todas as estruturas. 
 
e. Em nenhuma das estruturas. 
 
 
 
 
Um algoritmo é uma sequência de instruções e essas instruções podem ser organizadas em 
blocos denominados módulos. Com base na análise do seguinte algoritmo, assinale a 
alternativa que apresenta o valor mostrado na tela após a sua execução. 
 
 
 
a. 25. 
 
b. 24. 
 
c. 6. 
 
d. 0. 
 
e. 12. 
 
 
 
 
 
 
Uma variável pode ser local quando é declarada e acessada dentro de uma sub-rotina ou 
uma variável pode ser global quando é declarada no corpo principal do algoritmo e pode ser 
acessada por qualquer parte do algoritmo. Com base no exposto, qual é o maior problema 
do uso abundante das variáveis globais? 
 
a. Dificuldade de desenvolvimento. 
 
b. Manutenção. 
 
c. Erros de sintaxe. 
 
d. Erros de lógica. 
 
e. Não acesso a todas as variáveis. 
 
 
 
A modularização dos algoritmos acontece quando as instruções que os compõem podem 
ser divididas em blocos menores e com objetivos bem definidos. No algoritmo a seguir, 
modularizado, que será mostrado na tela após a sua completa execução, como pode ser 
definida a instrução calcular? 
 
 
 
a. 30 - sub-rotina COM parâmetro e SEM retorno. 
 
b. 30 - sub-rotina SEM parâmetro e SEM retorno. 
 
c. 5 - sub-rotina SEM parâmetro e SEM retorno. 
 
d. 30 - sub-rotina COM parâmetro e COM retorno. 
 
e. 5 - sub-rotina SEM parâmetro e COM retorno. 
 
 
 
 
Um algoritmo é uma sequência de instruções e essas instruções podem ser organizadas em 
blocos denominados módulos. Após a execução do seguinte algoritmo, qual é o valor 
exibido na tela? 
 
 
a. 0. 
 
b. 5. 
 
c. 8. 
 
d. Nenhuma das alternativas anteriores. 
 
e. 11. 
 
 
 
Um vetor é conhecido como uma estrutura composta unidimensional homogênea. 
Considerando a declaração do vetor a seguir, qual, dentre as seguintes alternativas, permite 
carregar esse vetor com o seu índice multiplicado por 10? 
 
 
 
 
 
 
 
Um vetor é conhecido como uma estrutura composta unidimensional homogênea. Qual, 
dentre as seguintes alternativas, permite carregar um vetor de 10 posições, com dados 
digitados pelo usuário, de trás para frente?
 
 
 
 
 
Segundo Ascencio e Campos (2012, p. 194), uma matriz é uma variável composta 
homogênea multidimensional. Ela é formada por uma sequência de variáveis, todas do 
mesmo tipo, com o mesmo identificador (mesmo nome), e alocadas sequencialmente na 
memória. Uma vez que as variáveis têm o mesmo nome, o que as distingue são índices que 
referenciam a sua localização dentro da estrutura. Uma variável do tipo matriz precisa de 
um índice para cada uma de suas dimensões. Com base na seguinte declaração de matriz, 
assinale a alternativa que apresenta uma instrução válida.
 
 
a. m[1,2] <- 2. 
 
b. m[2] <- 5. 
 
c. m[2,1] <- 2. 
 
d. mat[3,4] <- 0. 
 
e. m[2,2] <- "x". 
 
 
 
 
Um algoritmo é uma sequência de passos os quais visam atingir um objetivo. Nesse caso, 
com o trecho do algoritmo a seguir, qual é o objetivo que se pretende alcançar?
 
 
a. Carregar um vetor de 5 posições e acrescentar uma unidade a cada valor digitado. 
 
b. Carregar um vetor de 5 posições, em que as posições ímpares serão digitadas e as 
posições pares armazenarão o conteúdo da posição imediatamente anterior 
acrescido de uma unidade. 
 
c. Carregar um vetor de 10 posições e acrescentar uma unidade a cada valor digitado. 
 
d. Carregar um vetor de 10 posições e alterar cada valor digitado em uma unidade. 
 
e. Carregar um vetor de 10 posições, em que as posições ímpares serão digitadas e as 
posições pares armazenarão o conteúdo da posição imediatamente anterior 
acrescido de uma unidade.

Outros materiais