Prévia do material em texto
AO2
Entrega 1 abr em 23:59
Pontos 6
Perguntas 10
Disponível 25 mar em 0:00 - 1 abr em 23:59
Limite de tempo Nenhum
Instruções
Este teste não está mais disponível, pois o curso foi concluído.
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 7 minutos 6 de 6
Pontuação deste teste: 6 de 6
Enviado 29 mar em 13:25
Esta tentativa levou 7 minutos.
Pergunta 1
0,6 / 0,6 pts
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.
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;
A+
A
A-
28/11/2024, 18:12 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/35432/quizzes/180647 1/14
https://famonline.instructure.com/courses/35432/quizzes/180647/history?version=1
Essa sequência não segue nenhuma lógica.
O próximo número da sequência é ímpar.
Correto!
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.
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.
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:
A+
A
A-
28/11/2024, 18:12 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/35432/quizzes/180647 2/14
https://kenzie.com.br/blog/logica-de-programacao/
https://kenzie.com.br/blog/logica-de-programacao/
https://kenzie.com.br/blog/logica-de-programacao/
https://kenzie.com.br/blog/logica-de-programacao/
0.5 * 4 = 2
2 * 4 = 8
8 * 4 = 32
32 * 4 = 128
Logo, o próximo número será 128 * 4 = 512.
Todos os números da sequência são pares.
O sétimo número da sequência é menor que 1000.
Pergunta 2
0,6 / 0,6 pts
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+
A
A-
28/11/2024, 18:12 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/35432/quizzes/180647 3/14
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 ambas proposições falsas.
Correto!
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().
As asserções I e II são proposições verdadeiras, mas a asserção II não é uma justificativa da I.
A asserção I é uma proposição falsa, e a asserção II é uma proposição verdadeira.
Pergunta 3
0,6 / 0,6 pts
#include.
int.
return.
Correto!
void.
Alternativa está correta, pois toda função, ao seu término, emite um comando para a devolução de
valor. O ponto de chamada da função deve estar preparado para receber o valor. Para isso, na
declaração da função deve-se indicar qual é o tipo de dado que deve ser retornado. Entretanto, se a
função não devolver valor, deverá ser indicado quando da codificação da função. Para tanto, a
função é declarada com o termo void, no lugar do tipo de dado. Por exemplo: void fun_nome() { }.
double.
A respeito das asserções, assinale a opção correta:
Leia o texto a seguir:
A chamada de funções proporciona ao programador uma forma eficiente de estruturar sua lógica,
pois, ao fragmentarmos a resolução de um problema computacional em partes menores, passamos
a ter um domínio maior do fluxo do programa. Um código em C pode ser estruturado com várias
funções, e a função que obrigatoriamente deve aparecer é a função main(). Uma função pode ou
não ao seu término, devolver um valor. Este valor é devolvido através do comando return.
Qual é o termo, em linguagem C, que declara explicitamente que a função não devolve valores?
A+
A
A-
28/11/2024, 18:12 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/35432/quizzes/180647 4/14
Pergunta 4
0,6 / 0,6 pts
III, apenas.
II e III, apenas.
I e II, apenas.I, II e III.
Correto!
I, apenas.
Alternativa A
Alternativa está correta. A afirmativa I é verdadeira porque a estrutura de repetição
“enquanto...faça...” pode ser utilizada em soluções que necessitem de um laço de repetição com a
quantidade de interações definidas, pois pode-se controlar a quantidade de iterações na variável
sentinela. A afirmativa II é falsa, pois a estrutura de repetição “para...de...ate...faça” é apropriada
para soluções que necessitem de um laço de repetição com a quantidade de iterações definidas,
porque o controle de iterações já faz parte da estrutura do comando. Assim, as duas estruturas de
repetição podem ser utilizadas nos mesmos casos que necessitem de uma solução com um laço de
Leia o texto a seguir:
Toda linguagem de programação possui comandos que permitem a execução repetida de um
determinado trecho de código de programa. Com esse recurso, o programador não precisa duplicar
as linhas de código em virtude da necessidade de executá-las várias vezes. Os diversos comandos
disponíveis são denominados estruturas de repetição, comumente conhecidas como laços ou loop.
(Fonte: ALVES, W. P. Linguagem e Lógica de Programação.
São Paulo: Érica, 2015 - Adaptado).
Posto isso, avalie as afirmações a seguir:
I. A utilização das estruturas de repetição “enquanto...faça...” e “para...de...ate...faça” podem ser
utilizadas nos mesmos casos que necessitem de solução com laço de repetição com a quantidade
de iterações definidas.
II. A utilização do laço de repetição “para...de...ate...faça” é recomendada para o laço de repetição
cujas quantidades de iterações não são previsíveis.
III. A utilização de laço de repetição “enquanto...faça...” atende somente a soluções que necessitem
de um laço de repetição com a quantidade de iterações indefinidas.
É correto o que se afirma em:
A+
A
A-
28/11/2024, 18:12 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/35432/quizzes/180647 5/14
repetição com a quantidade de iterações definidas. A afirmativa III é falsa porque a estrutura de
repetição “enquanto...faça...” atende tanto às soluções que necessitem de um laço de repetição com
a quantidade de iterações indefinidas, quanto às quantidades de iterações indefinidas. Por isso, a
alternativa correta é I, apenas.
Pergunta 5
0,6 / 0,6 pts
Leia o texto a seguir:
Pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples
(nativa a quem o escreve, de forma a ser entendida por qualquer pessoa) sem necessidade de
conhecer a sintaxe de nenhuma linguagem de programação. Um exemplo de pseudocódigo é o
Portugol. É uma linguagem de programação genérica e rica em detalhes. É um tipo de linguagem
chamada de linguagem de projeto de programação. Essa pseudolinguagem assemelha-se bastante
à forma como os programas são escritos. A diferença entre a descrição narrativa e o pseudocódigo
está principalmente no vocabulário finito e bem menor do pseudocódigo e nas estruturas de controle
que apresenta. A utilização de uma gama menor de termos facilita a expressão do raciocínio lógico
na medida em que reduz a possibilidade de mal entendimento das instruções.
Fonte: https://pt.wikipedia.org/wiki/Pseudoc%C3%B3digo
(https://pt.wikipedia.org/wiki/Pseudoc%C3%B3digo) Acesso em: 13/10/2020.
A psedolinguagem conta com alguns elementos conforme ilustração a seguir:
A+
A
A-
28/11/2024, 18:12 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/35432/quizzes/180647 6/14
https://pt.wikipedia.org/wiki/Pseudoc%C3%B3digo
https://pt.wikipedia.org/wiki/Pseudoc%C3%B3digo
https://pt.wikipedia.org/wiki/Pseudoc%C3%B3digo
https://pt.wikipedia.org/wiki/Pseudoc%C3%B3digo
Correto!
Identificação do programa, área de definição de variáveis, onde constam os campos numéricos, alfanuméricos, ou
outros tipos que serão utilizados no algoritmo, área onde se desenvolve a lógica, utilizando-se dos operadores
lógicos, relacionais e aritméticos.
Alternativa correta. Os elementos da pseudolinguagem são: sua estrutura, que é composta por
identificação do programa, área para definição das variáveis a serem utilizadas no algoritmo e lógica
a ser desenvolvida no algoritmo. Na área de definição de variáveis é onde serão definidos os
diversos tipos de campos, numéricos, alfanuméricos, caractere, e lógicos. Já na área onde será
desenvolvida a lógica, serão utilizados os operadores lógicos “e” e “ou”, os relacionais (>, =,
) e os aritméticos (+, -, *, /, %).
Estrutura do algoritmo, que se divide em partes menores, e mais facilmente tratáveis, que podem ser classificados
como procedimentos ou funções, sendo que as funções trabalham com valores recebidos por meio de argumentos.
Espaço de memória acessado por meio de endereço, que pode conter dados fixos ou variáveis. Quando fixos são
chamados constantes e quando variáveis são chamados de variável.
Identificação do programa, área de definição de constantes, onde constam os campos numéricos, alfanuméricos,
ou outros tipos que serão utilizados no algoritmo, área onde se desenvolve a lógica, utilizando-se dos operadores
cartesianos.
Estrutura do algoritmo, identificação do programa, área para definição das variáveis a serem utilizadas no
algoritmo, lógica a ser desenvolvida no algoritmo.
Assinale a opção correta abaixo que apresenta os elementos da pseudolinguagem Portugol.
A+
A
A-
28/11/2024, 18:12 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/35432/quizzes/180647 7/14
Pergunta 6
0,6 / 0,6 pts
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
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.
Correto!
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
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.
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:
A+
A
A-
28/11/2024, 18:12 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/35432/quizzes/180647 8/14
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.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
Pergunta 7
0,6 / 0,6 pts
Observe o código a seguir:
#include
#include
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
int main()
{
int a, b;
a = 1;
while (aprintf("%d ",b);
b = b + 1;
}
a = a + 1;
}
return 0;
}
Assinale a alternativa correta que descreve quantas vezes o comando printf será executado?
A+
A
A-
28/11/2024, 18:12 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/35432/quizzes/180647 13/14
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.
53 vezes.
55 vezes.
28 vezes.
10 vezes.
Pontuação do teste: 6 de 6
A+
A
A-
28/11/2024, 18:12 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/35432/quizzes/180647 14/14