Buscar

AO2_ Algoritmos e Lógica de Programação

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

23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 1/19
AO2
Entrega 27 mar em 23:59 Pontos 6 Perguntas 10
Disponível 23 mar em 0:00 - 27 mar em 23:59 5 dias Limite de tempo Nenhum
Instruções
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 72 minutos 6 de 6
 As respostas corretas estarão disponíveis em 28 mar em 0:00.
Pontuação deste teste: 6 de 6
Enviado 23 mar em 16:18
Esta tentativa levou 72 minutos.
Importante:
Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que
você clique em "FAZER O QUESTIONÁRIO", no final da página.
0,6 / 0,6 ptsPergunta 1
Leia o texto abaixo:
 
As matrizes bidimensionais costumam ser utilizadas para representar
tabelas de valores, consistindo em informações organizadas em linhas
e colunas. Para identificar um elemento particular da tabela, devemos
especificar os subscritos. As matrizes bidimensionais são compostas
por m linhas e n colunas, e são chamadas de matrizes m por n, e
estes elementos m e n determinam o tamanho da matriz. Cada
elemento da matriz bidimensional é identificado (acessado) por um
nome de elemento seguido dos subscritores que identificam sua
localização na matriz.
(Fonte: DEITEL, H. M.; DEITEL, P. J. C++: Como Programar. 5. ed.
https://famonline.instructure.com/courses/22779/quizzes/99524/history?version=1
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 2/19
São Paulo: Pearson Prentice Hall, 2006. p. 279).
Considerando as informações apresentadas, avalie as afirmações a
seguir:
 
I. Suponha uma declaração de uma matriz bidimensional (linguagem
C): “int qtd[4][3];”. Com isso, o comando “printf("\n qtd %d = ", qtd[1
[5]);” possui um erro conceitual referente à manipulação de matrizes.
II. Para acessar os dados de uma matriz bidimensional, utilizamos os
índices i e j, que correspondem respectivamente à referência de
colunas e linhas da matriz.
III. Para percorrer todas as linhas e colunas de uma matriz, é
recomendado o laço de repetição for.
 
Está correto o que se afirma em:
 III, apenas. 
 I, II e III. 
 I e II, apenas. 
 I, apenas. 
 I e III, apenas. 
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 3/19
Alternativa A
Alternativa está correta. A afirmativa I é verdadeira porque
conceitualmente o acesso a uma tabela bidimensional tem a
seguinte regra: Os valores dos indexadores estão limitados ao
tamanho da matriz, ou seja, o tamanho de uma matriz
bidimensional é dado pelos valores declarados para a linha e a
coluna (i e j respectivamente). No caso do comando print..., ele
manipulando a coluna [5], porém na declaração o valor máximo é
[3]. A afirmativa II é falsa porque, para acessar os dados de uma
matriz bidimensional, utilizamos índices i e j que correspondem
respectivamente à referência de linhas e colunas da matriz. A
afirmativa III é verdadeira porque, por definição, o laço de
repetição for é recomendado quando o número de repetições é
controlado por uma variável de valor conhecido. Uma matriz é
definida como sendo uma área de tamanho definido em linhas e
colunas. O laço de repetição for é então o paradigma de laço de
repetição ideal para percorrer uma matriz bidimensional. Logo, a
alternativa correta é I e III, apenas.
0,6 / 0,6 ptsPergunta 2
Leia o texto abaixo:
 
Um programador deve ter competência para resolver problemas
computacionais organizadamente. Ele deve praticar os seguintes
passos para a resolução sistemática de um problema computacional,
no qual temos o entendimento macro do problema, a elaboração do
algoritmo, a diagramação da solução e a codificação do programa.
Todas as fases assinaladas são importantes. Destacamos a de
elaboração do algoritmo, que traz subsídios sólidos para que a busca
do programa seja com baixo índice de erros em suas soluções
computacionais.
Considerando o trecho acima, avalie as seguintes asserções e a
relação proposta entre elas.
 
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 4/19
I. Uma pseudolinguagem possui uma estrutura que simula as
linguagens de programação formais praticadas por programadores
profissionais.
 
PORQUE
 
II. Um programa codificado em pseudolinguagem deve ser totalmente
aderente à estrutura de controle de fluxo e comandos das linguagens
formais de programação.
 
A respeito dessas asserções, assinale a opção correta:
 
As asserções I e II são proposições verdadeiras, e a II é uma
justificativa da I.
Alternativa A
Alternativa está correta. A asserção I é uma proposição
verdadeira porque uma pseudolinguagem é uma reprodução
informal das linguagens de programação formais. Portanto, uma
pseudolinguagem deve ter a seguinte estrutura: Início do
programa, uma seção para a declaração de variáveis e uma
seção para a codificação do algoritmo. Além disso, é necessário
que a pseudolinguagem possua regras para os aspectos lexicais,
sintáticos e semânticos que toda linguagem de programação
possui. A asserção II é uma proposição verdadeira e justifica
corretamente a asserção I. Uma pseudolinguagem precisa ter
uma estrutura em conformidade com as linguagens formais
porque faz com que a transformação da pseudolinguagem para o
código formal tenha uma correspondência de paradigmas entre
ambas.
 
A asserção I é uma proposição falsa, e a II é uma proposição
verdadeira.
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 5/19
 
As asserções I e II são proposições verdadeiras, mas a II não é uma
justificativa da I.
 
A asserção I é uma proposição verdadeira, e a II é uma proposição
falsa.
 As asserções I e II são proposições falsas. 
0,6 / 0,6 ptsPergunta 3
Leia o trecho abaixo:
 
A linguagem C oferece estruturas para o controle do fluxo de execução
de um programa. Assim, pode-se alterar a simples execução
sequencial dos comandos. Dentre as estruturas de controle de fluxo,
temos os comandos condicionais. Além dos comandos condicionais, a
linguagem C também oferece estruturas que permitem repetir um
bloco de comandos. Essas estruturas são conhecidas como comandos
de repetição. A parte do programa que é executada várias vezes em
um comando de repetição é chamada de laço de repetição.
Considerando esse contexto, avalie as seguintes asserções e a
relação proposta entre elas.
 
I. O comando while é frequentemente utilizado quando não se
conhece, a priori, quanta vezes o laço de repetição será executado,
mas se sabe que o laço será executado pelo menos uma vez. O
comando while deve ser utilizado quando a execução do laço de
repetição não for opcional.
 
PORQUE
 
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 6/19
II. O do-while é um comando de repetição que, primeiramente, testa o
seu critério de continuação e somente depois, dependendo do
resultado, prossegue na execução do laço de repetição.
 
A respeito dessas asserções, assinale a opção correta:
 
As asserções I e II são proposições verdadeiras, e a asserção II é uma
justificativa correta da I.
 As asserções I e II são ambas proposições falsas. 
A alternativa está correta. A asserção I é uma proposição falsa 
porque o while é um comando de repetição que, primeiramente, 
testa o seu critério de continuação e somente depois, 
dependendo do resultado, prossegue na execução do laço de 
repetição; ele deve ser usado somente quando o laço de 
repetição for opcional. A asserção II é uma proposição falsa 
porque o do-while é um comando de repetição que, 
primeiramente, executa o laço de repetição e, em seguida, testa o 
seu critério de continuação para determinar se executa 
novamente o laço de repetição.
 
As asserções I e II são proposições verdadeiras, mas a asserção II não
é uma justificativacorreta da I.
 
A asserção I é uma proposição falsa, e a asserção II é uma proposição
verdadeira.
 
A asserção I é uma proposição verdadeira, e a asserção II é uma
proposição falsa.
0,6 / 0,6 ptsPergunta 4
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 7/19
Leia o texto a seguir:
 
Uma variável é uma posição nomeada de memória usada para guardar
um valor que pode ser modificado pelo programa. Na linguagem C,
todas as variáveis devem ser declaradas antes de serem usadas.
As variáveis declaradas dentro de uma função (dentro do bloco de
código) são chamadas de variáveis locais. Um bloco de código inicia-
se com o caractere abre-chaves ({) e termina em fecha-chaves (}).
Ao contrário das locais, as variáveis globais são reconhecidas pelo
programa inteiro e podem ser usadas em qualquer ponto, ou seja, por
todas as funções. Essas variáveis podem preservar seus valores
durante todo o processamento do programa, valores que também
podem ser alterados por qualquer comando específico de atribuição de
valores localizados em qualquer parte do programa.
(Fonte: SCHILDT, H. C Completo e Total. São Paulo: Makron Books,
2006).
Com base nos dados acima, avalie as seguintes asserções e a relação
proposta entre elas.
 
I. Em um código C, podemos ter variáveis declaradas dentro de
diferentes funções com o mesmo nome, e seus valores em memória
são preservados, podendo ser alterados somente pela função que a
criou.
 
PORQUE
 
II. Em linguagem C, as variáveis declaradas fora de todos os blocos
(no início do programa) somente podem ser acessadas pela função
main(), porque esta é a função principal do programa.
 
A respeito das asserções, assinale a opção correta:
 As asserções I e II são ambas proposições falsas. 
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 8/19
 
A asserção I é uma proposição verdadeira, e a asserção II é uma
proposição falsa.
Alternativa A
Alternativa está correta. A asserção I é uma proposição
verdadeira, visto que variáveis locais só podem ser referenciadas
por comando que estão dentro do bloco no qual as variáveis
foram declaradas. Pelo princípio da variável local, ela somente
pode ser visível pela função que a criou, ou seja, embora as
variáveis distintas sejam homônimas, elas não são visíveis no
programa inteiro. A asserção II é uma proposição falsa, pois as
variáveis criadas fora de todas as funções que fazem parte do
programa são variáveis globais; e como tal são reconhecidas pelo
programa inteiro, podendo ser usadas em qualquer ponto do
programa, e não somente pela função main().
 
A asserção I é uma proposição falsa, e a asserção II é uma proposição
verdadeira.
 
As asserções I e II são proposições verdadeiras, e a asserção II é uma
justificativa da I.
 
As asserções I e II são proposições verdadeiras, mas a asserção II não
é uma justificativa da I.
0,6 / 0,6 ptsPergunta 5
Leia o texto a seguir:
 
O que é uma variável?
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 9/19
Variável é um local reservado na memória para armazenar um tipo de
dado.
Toda variável deve ter um identificador, ou seja, um nome. Além de ter
um nome, a variável também precisa ter um tipo. O tipo de dado de
uma variável determina o que ela é capaz de armazenar.
 
Tipos de dados
Existem diversos tipos de dados que podem ser usados nas variáveis.
Cada tipo de dado é específico para armazenar um determinado
formato de dado.
Podemos dizer que os principais tipos de dados numéricos se dividem
em:
Inteiro: armazena números inteiros
Real: armazena números com casas decimais, são as variáveis de
ponto flutuante;
O tipo de dado caracter é capaz de representar um caracter ou um
conjunto de caracteres (letras, dígitos ou símbolos).
 
Fonte: CASAVELLA, E. Variáveis em Linguagem C. Disponível em:
http://linguagemc.com.br/variaveis-em-linguagem-c/
(http://linguagemc.com.br/variaveis-em-linguagem-c/) . Acesso em: 05
de abril de 2021.
 
O tipo de dados float refere-se também aos dados do tipo
 real com precisão dupla. 
 caractere. 
 real com precisão simples. 
http://linguagemc.com.br/variaveis-em-linguagem-c/
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 10/19
Alternativa correta.
O tipo de dado chamado de float em linguagem C representa os
números reais.
Caracteres são representados pelo char.
Números inteiros são representados pelo int.
Números reais com precisão dupla são representados pelo
double.
Local não é um tipo de dado. 
 inteiro. 
 local. 
0,6 / 0,6 ptsPergunta 6
Observe o código a seguir:
 
#include <stdio.h>
#include <locale.h>
int main()
{
 setlocale(LC_ALL, "Portuguese");
 int temp, cont;
 int vetor_prova[10] = {9,8,7,6,5,4,3,2,1,0};
 while (cont < 10)
 {
 temp = vetor_prova[cont];
 vetor_prova[cont] = vetor_prova[9-cont];
 vetor_prova[9-cont] = temp;
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 11/19
 cont = cont + 1;
 }
 for (cont = 0; cont <=9; cont++)
 {
 printf ("posição %d é igual a %d \n", cont, vetor_prova[cont]);
 }
 return 0;
}
 
Considerando o código apresentado acima, assinale a alternativa
correta sobre qual será o conteúdo do vetor chamado vet_prova ao fim
da execução do programa.
 0, 2, 4, 6, 8. 
 0, 2, 4, 6, 8, 1, 3, 5, 7, 9. 
 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 
Alternativa correta.
Um vetor foi criado no programa e já recebeu os valores
9,8,7,6,5,4,3,2,1,0 como seu conteúdo.
Então, um while é executado 10 vezes, e em cada uma dessas
execuções, o conteúdo existente no vetor foi invertido de posição,
até que no fim do processo, ele tem todos os valores invertidos,
ficando 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
 1, 3, 5, 7, 9. 
 9, 8, 7, 6, 5, 4, 3, 2, 1, 0. 
0,6 / 0,6 ptsPergunta 7
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 12/19
Leia o texto a seguir:
 
Toda linguagem de programação possui três aspectos que um
programador, ao fazer uso de uma dada linguagem, deve ter pleno
domínio: aspectos lexicais, sintáticos e semânticos. Os lexicais dizem
respeito ao conjunto de palavras que o programa reconhece
(dicionário), o que vale tanto para variáveis, comandos e
identificadores. Os sintáticos referem-se à estrutura de cada comando,
ou seja, a sintaxe do comando. Os semânticos estão relacionados com
a manipulação dos dados e seus respectivos tipos.
Do ponto de vista léxico, existem linguagens de programação que
possuem regras muitos específicas para a identificação de seus vários
identificadores (variáveis, comandos, labels etc.).
Qual é o termo que designa uma linguagem que diferencia letras
maiúsculas de letras minúsculas na codificação dos comandos e
atribuição de identificadores (variáveis, nomes de funções e labels)?
 Eclipse. 
 Palavra Reservada. 
 IDE. 
 Case Sensitive. 
Alternativa A
Alternativa está correta, pois case sensitive é um termo da Língua
Inglesa, incorporado aos termos das linguagens de programação,
que designa uma linguagem de programação que faz a
diferenciação entre letras minúsculas e maiúsculas na escrita.
Esse ponto é muito importante, pois faz referência a variáveis
homônimas escritas de formas diferentes (por exemplo, a variável
contador é diferente da variável Contador) e que podem produzir
erros de lógica.
 Expressões. 
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 13/19
0,6 / 0,6 ptsPergunta 8
Leia o texto a seguir:
 
Uma função é uma unidade de código de programa autônoma
projetada para cumprir uma tarefa particular.
Funções permitem grandes tarefas de computação, sejam divididas
em tarefasmenores.
 
Uma das principais razões da existência de funções é evitar que o
programador tenha de escrever o mesmo código repetidas vezes.
 
As funções em C são utilizadas como funções, quando retornam
valores; podem ser chamadas de dentro de uma expressão e não
recebem parâmetros. Podem ser utilizadas também como sub-rotinas,
quando não retornam valores; são chamadas por um comando CALL e
recebem parâmetros.
No entanto, não pode haver aninhamento de uma função dentro de
outras funções. Cada bloco de um programa em C é uma e somente
uma função.
 
Adaptado de:
https://wiki.ifsc.edu.br/mediawiki/index.php/AULA_13_-
_Introdu%C3%A7%C3%A3o_%C3%A0_Linguagem_C_-_FIC
(https://wiki.ifsc.edu.br/mediawiki/index.php/AULA_13_-
_Introdu%C3%A7%C3%A3o_%C3%A0_Linguagem_C_-_FIC) . Acesso
em: 13/10/2020.
Considerando o texto acima, assim como o conteúdo visto, avalie as
afirmações a seguir:
 
1. A passagem de valores entre funções pode acontecer por valor ou
referência, sendo que a passagem por referência pode ser ainda
efetuada como Matriz, como Matriz sem dimensão ou como
ponteiro.
2. A diferença entre passagem por referência e por valor é que na
passagem por valor, quando acaba a função os parâmetros não
https://wiki.ifsc.edu.br/mediawiki/index.php/AULA_13_-_Introdu%C3%A7%C3%A3o_%C3%A0_Linguagem_C_-_FIC
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 14/19
foram alterados pela execução da função chamada. Já na
chamada por referência, quando acaba a função os parâmetros
são alterados pela execução da função chamada.
3. Na chamada por referência é feita uma cópia do valor do
argumento no parâmetro formal da sub-rotina, logo as alterações
de valores que acontecerem dentro da sub-rotina, não serão
refletidas nas variáveis do chamador.
 
É correto o que se afirma em:
 II apenas. 
 I e II apenas. 
Alternativa correta. São corretas as afirmativas I e II, pois quando
se passa valores entre funções na linguagem C, esses valores
podem ser passados de duas formas: por valor ou por referência,
sendo que na passagem por valor, quando acaba a função os
parâmetros não foram alterados pela execução da função. Isso
ocorre, pois os parâmetros estão em uma área de memória que
pertence somente à função chamadora. Já na chamada por
referência, quando acaba a função os parâmetros são alterados
pela execução da função chamada. Isso ocorre, pois na chamada
por referência a manipulação dos parâmetros ocorre na área da
memória que é compartilhada entre a função chamadora e a
função chamada. Há três formas de se efetuar uma chamada por
referência: como Matriz, como Matriz sem dimensão ou como
ponteiro.
 II e III apenas. 
 III apenas. 
 I apenas. 
0,6 / 0,6 ptsPergunta 9
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 15/19
Leia o texto a seguir:
 
Na grande maioria das vezes, não nos damos conta disso, mas ao
fazer uma análise do nosso cotidiano, podemos compreender como
todas as nossas ações são consequência de uma cadeia de outras
ações menores que nos levaram até uma atitude final.
Vamos tomar como exemplo o café que tomamos de manhã.
Quando perguntam como tomamos nosso café, a maioria de nós
responde que, ao acordarmos, preparamos o café com auxílio de uma
cafeteira elétrica, colocamos ele em uma caneca e o tomamos.
Mas, ao destrinchar este processo, somos capazes de estipular uma
sequência de passos que nos levaram ao ato final de beber este café.
Esta sequência pode ser:
1. Ao acordar, levanto da cama;
2. Após levantar da cama, desço as escadas;
3. Após descer as escadas, entro na cozinha;
4. Após entrar na cozinha, pego o pó de café no armário;
5. Após pegar o pó de café, o coloco dentro da cafeteira;
6. Após colocar o pó na cafeteira, jogo água no compartimento
específico;
7. Após inserir todos os ingredientes na máquina, aperto o botão de
ligar;
8. Quando o café está pronto, pego a garrafa;
9. Após pegar a garrafa, despejo o café dentro de uma caneca;
10. Após colocar o café na caneca, bebo o café.
 
Se detalharmos ainda mais este processo, é possível incluir mais
passos dentro desta sequência.
(...)
Lógica de programação é a organização coesa de uma sequência de
instruções voltadas à resolução de um problema, ou à criação de um
software ou aplicação.
A lógica de programação é o conhecimento anterior a qualquer outro
quando falamos em desenvolvimento web porque é a partir dele que
os aprendizados posteriores, como por exemplo o das linguagens de
programação, fará sentido.
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 16/19
Cada linguagem tem suas próprias particularidades, como sua sintaxe,
seus tipos de dados e sua orientação, mas a lógica por trás de todas é
a mesma.
(...)
 
Fonte: ROVEDO, U. Lógica de Programação: O que é e por que é
importante?. Kenzie Academy. Disponível em:
https://kenzie.com.br/blog/logica-de-programacao/
(https://kenzie.com.br/blog/logica-de-programacao/) . Acesso em:05 de
abril de 2021.
 
Levando-se em consideração a lógica, de maneira geral, e que se
aplica sempre quando estamos trabalhando com programação, analise
a sequência de números a seguir:
Os primeiros cinco números de uma sequência são 0.5, 2, 8, 32, 128.
Assinale a alternativa correta sobre essa sequência considerando-se a
lógica:
 O sexto número da sequência é 512. 
Alternativa correta.
Essa sequência numérica é feita com base na multiplicação dos
números por 4.
0.5 * 4 = 2
2 * 4 = 8
8 * 4 = 32
32 * 4 = 128
Logo, o próximo número será 128 * 4 = 512.
 Essa sequência não segue nenhuma lógica. 
 O sétimo número da sequência é menor que 1000. 
 Todos os números da sequência são pares. 
https://kenzie.com.br/blog/logica-de-programacao/
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 17/19
 O próximo número da sequência é ímpar. 
0,6 / 0,6 ptsPergunta 10
Leia os textos a seguir:
 
O que é estrutura de repetição?
 
Dentro da lógica de programação é uma estrutura que permite
executar mais de uma vez o mesmo comando ou conjunto de
comandos, de acordo com uma condição ou com um contador.
São utilizadas, por exemplo, para repetir ações semelhantes que são
executadas para todos os elementos de uma lista de dados, ou
simplesmente para repetir um mesmo processamento até que a
condição seja satisfeita.
(...)
While
É dentre as 3 a mais simples.
Repete um bloco de código enquanto uma condição permanecer
verdadeira
Caso a condição seja falsa, os comandos dentro do while não
serão executados e a execução continuará com os comandos após
o while
A repetição do while é controlada por uma condição que verifica
alguma variável. Porém para que o while funcione corretamente é
importante que essa variável sofra alteração dentro do while. Ex:
um contador.
Após entrar dentro da repetição, o bloco de comandos sempre será
executado, mesmo que dentro do bloco a variável que está
controlando a execução seja alterada.
(...)
 
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 18/19
Fonte: ZANELATO, J. Lógica de Programação - estruturas de
repetição. Disponível em: https://podprogramar.com.br/logica-de-
programacao-estruturas-de-repeticao/
(https://podprogramar.com.br/logica-de-programacao-estruturas-de-
repeticao/) . Acesso em: 05 de abril de 2021.
 
Analise o código a seguir em linguagem C:
 
#include <stdio.h>
 
int main()
{
 int a, b;
 a = 1;
 while (a < 10)
 {
 b = a + 2;
 while (b < 10)
 {
 printf("%d ",a);
 printf("%d ",b);
 b = b + 1;
 }
 a = a + 1;}
 
 return 0;
}
 
Assinale a alternativa correta que descreve quantas vezes o comando
printf será executado?
https://podprogramar.com.br/logica-de-programacao-estruturas-de-repeticao/
23/03/22, 16:18 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/22779/quizzes/99524 19/19
 53 vezes. 
 10 vezes. 
 55 vezes. 
 28 vezes. 
 56 vezes. 
Alternativa correta.
O programa será executado entrando no primeiro while, e
atribuindo um valor a B através de um cálculo. A partir disso, ele
vai entrar no segundo while, onde temos dois printf, que serão
executados algumas vezes, enquanto a condição do segundo
while for verdadeira.
Quando o segundo while não for mais verdadeiro, o programa vai
sair desse while e voltar para o primeiro, vai fazer o incremento da
variável a e executar o primeiro while novamente.
Isso vai se repetir até que a condição do primeiro while seja falsa.
Tudo isso fará com que o printf execute 56 vezes.
A saída do programa será: 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 4 2 5 2 6 2
7 2 8 2 9 3 5 3 6 3 7 3 8 3 9 4 6 4 7 4 8 4 9 5 7 5 8 5 9 6 8 6 9 7 9.
Pontuação do teste: 6 de 6

Continue navegando