Logo Passei Direto
Buscar

AO2_ Algoritmos e Lógica de Programação

Questionário de Algoritmos e Lógica de Programação (AO2) com questões de múltipla escolha sobre C: estruturas de repetição (while, do-while), declaração de funções (void) e aspectos lexicais/sintáticos/semânticos, incluindo histórico de tentativas, pontuação e instruções do Canvas.

Ferramentas de estudo

Questões resolvidas

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?


int.
double.
void.

A partir dessas informações, avalie as afirmacoes a seguir:

I. Uma boa prática de programação é a utilização de quantos comandos goto forem necessários para controlar o fluxo do programa. Isso evidencia também que o programador é muito habilidoso na manipulação dos comandos que controlam o fluxo de execução dos programas.

II. O comando return é utilizado quando a função necessita retornar ao ponto de onde ela foi chamada. Esse comando retorna um valor ou pode não retornar valor, ou seja, quando a função não tiver um valor associado a ela (void).

III. O comando break é utilizado quando o programador necessita encerrar a execução do programa imediatamente.

É correto o que se afirma em:

I. Uma boa prática de programação é a utilização de quantos comandos goto forem necessários para controlar o fluxo do programa. Isso evidencia também que o programador é muito habilidoso na manipulação dos comandos que controlam o fluxo de execução dos programas.
II. O comando return é utilizado quando a função necessita retornar ao ponto de onde ela foi chamada. Esse comando retorna um valor ou pode não retornar valor, ou seja, quando a função não tiver um valor associado a ela (void).
III. O comando break é utilizado quando o programador necessita encerrar a execução do programa imediatamente.
I, II e III.
I, apenas.
III, apenas.
II, apenas.

A respeito das asserções, assinale a opção correta:

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.
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.
As asserções I e II são ambas proposições falsas.
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.
A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

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?


int.
double.
void.

A partir dessas informações, avalie as afirmacoes a seguir:

I. Uma boa prática de programação é a utilização de quantos comandos goto forem necessários para controlar o fluxo do programa. Isso evidencia também que o programador é muito habilidoso na manipulação dos comandos que controlam o fluxo de execução dos programas.

II. O comando return é utilizado quando a função necessita retornar ao ponto de onde ela foi chamada. Esse comando retorna um valor ou pode não retornar valor, ou seja, quando a função não tiver um valor associado a ela (void).

III. O comando break é utilizado quando o programador necessita encerrar a execução do programa imediatamente.

É correto o que se afirma em:

I. Uma boa prática de programação é a utilização de quantos comandos goto forem necessários para controlar o fluxo do programa. Isso evidencia também que o programador é muito habilidoso na manipulação dos comandos que controlam o fluxo de execução dos programas.
II. O comando return é utilizado quando a função necessita retornar ao ponto de onde ela foi chamada. Esse comando retorna um valor ou pode não retornar valor, ou seja, quando a função não tiver um valor associado a ela (void).
III. O comando break é utilizado quando o programador necessita encerrar a execução do programa imediatamente.
I, II e III.
I, apenas.
III, apenas.
II, apenas.

A respeito das asserções, assinale a opção correta:

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.
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.
As asserções I e II são ambas proposições falsas.
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.
A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa.

Prévia do material em texto

20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 1/17
AO2
Entrega 26 de set de 2021 em 23:59 Pontos 6 Perguntas 10
Disponível 21 de set de 2021 em 0:00 - 26 de set de 2021 em 23:59
Limite de tempo Nenhum
Instruções
Este teste foi travado 26 de set de 2021 em 23:59.
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 49 minutos 4,2 de 6
Pontuação deste teste: 4,2 de 6
Enviado 26 de set de 2021 em 19:11
Esta tentativa levou 49 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 / 0,6 ptsPergunta 1
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.
A+
A
A-
https://famonline.instructure.com/courses/16387/quizzes/79328/history?version=1
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 2/17
 
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
 
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:
 
A asserção I é uma proposição verdadeira, e a asserção II é uma
proposição falsa.
 
As asserções I e II são proposições verdadeiras, mas a asserção II não é
uma justificativa correta da I.
ocê respondeuocê respondeu
A alternativa está incorreta. 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 ambas proposições falsas. esposta corretaesposta correta
 
A asserção I é uma proposição falsa, e a asserção II é uma proposição
verdadeira.
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 3/17
 
As asserções I e II são proposições verdadeiras, e a asserção II é uma
justificativa correta da I.
0,6 / 0,6 ptsPergunta 2
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?
 int. 
 double. 
 void. Correto!Correto!
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() { }.
 return. 
 #include. 
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 4/17
0,6 / 0,6 ptsPergunta 3
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)?
 Case Sensitive. Correto!Correto!
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.
 Eclipse. 
 Palavra Reservada. 
 IDE. 
 Expressões. 
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 5/17
0,6 / 0,6 ptsPergunta 4
Leia o trecho abaixo:
 
Em um programa de computador, as instruções são executas em uma
sequência, partindo-se da primeira instrução do algoritmo e, pelo fato de
não haver desvios (condições e laços de repetição), segue
gravitacionalmente até alcançar a última instrução da sequência. Para
que o fluxo seja interrompido, utilizam-se recursos imperativos, como o
comando goto, também conhecido por comando de interrupção abrupta,
ou comando de chamada de função, além de alguma estrutura de
repetição ou por estrutura de decisão.
Os comandos de controle automático de fluxo (while, for, do-while) são
comandos que proporcionam ao programador uma forma segura de
condução do fluxo natural do programa, enquanto o comando goto atribui
ao programador este controle.
A partir dessas informações, avalie as afirmações a seguir:
 
I. Uma boa prática de programação é a utilização de quantos comandos
goto forem necessários para controlar o fluxo do programa. Isso
evidencia também que o programador é muito habilidoso na manipulação
dos comandos que controlam o fluxo de execução dos programas.
II. O comando return é utilizado quando a função necessita retornar ao
ponto de onde ela foi chamada. Esse comando retorna um valor ou pode
não retornar valor, ou seja, quando a função não tiver um valor associado
a ela (void).
III. O comando break é utilizado quando o programador necessita
encerrar a execução do programa imediatamente.
 
É correto o que se afirma em:
 I, II e III. 
 I, apenas. 
 III, apenas. 
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 6/17
 II, apenas. Correto!Correto!
Alternativa está correta. A afirmativa I é falsa porque o comandogoto
é um recurso que deve ser evitado na lógica de programação, posto
que ele possibilita que o fluxo normal da lógica seja interrompido, e
isso propicia muitas oportunidades de erros de lógica. Não se coloca
em dúvida a habilidade de quem o usa, porém, partindo-se do
princípio de que programas são passíveis de manutenção, o
comando goto dificulta o entendimento da lógica e potencializa os
riscos de surgimento de bugs. A afirmativa II é verdadeira porque o
comando return é utilizado para retornar à função chamada para o
ponto que a chamou. Trata-se de um desvio porque faz com que a
execução retorne ao ponto onde a chamada da função foi feita. Sua
sintaxe é return expressão. A “expressão” é opcional, caso a função
chamada não tiver um valor associado a ela (void). A afirmativa III é
falsa porque a função break não encerra o programa, mas: i)
Terminar um case (Comando switch); ii) Forçar o fim de um laço de
repetição (for, while ou do-while). O comando que encerra um
programa é o exit(). Logo, a alternativa correta é II, apenas.
 I e II, apenas. 
0 / 0,6 ptsPergunta 5
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).
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 7/17
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. 
 
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.
 
A asserção I é uma proposição verdadeira, e a asserção II é uma
proposição falsa.
esposta corretaesposta correta
 
As asserções I e II são proposições verdadeiras, e a asserção II é uma
justificativa da I.
ocê respondeuocê respondeu
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 8/17
Alternativa C
Alternativa está incorreta. 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().
0,6 / 0,6 ptsPergunta 6
Leia o trecho a seguir:
 
A construção de software não é uma tarefa simples. Por isso, está sujeita
a diversos tipos de problema que acabam resultando na obtenção de um
produto diferente daquele que se espera.
Para que os erros de software sejam descobertos antes de o software ser
liberado para utilização, existe uma série de atividades chamadas de
validação, verificação e teste, com a finalidade de garantir que tanto o
modo pelo qual o software está sendo construído quanto o produto em si
estejam em conformidade com o especificado.
(Fonte: DELAMARO, M. E.; MALDONADO, J. C.; JINO, M. Introdução ao
teste de software.
Rio de Janeiro: Campos/Elsevier, 2007).
Considerando as informações apresentadas, avalie as afirmações a seguir:
 
I. A única forma de testar um algoritmo é testá-lo após a codificação em uma
linguagem de programação, com isso, podemos entrar com os dados. Os
resultados finais mostram o comportamento exato do algoritmo nos vários
cenários de teste.
II. Um sistema é composto por um conjunto de programas, sendo que cada qual
possui um objetivo específico, mas que são todos voltados para resolver um
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 9/17
problema maior. Por isso, fazer testes unitários não contribui para o teste de um
sistema. Somente um teste amplo é capaz de mostrar pontos falhos no todo.
III. Ao término da elaboração do algoritmo, o programador deve buscar formas
de verificar se está funcionando corretamente. Uma forma eficaz de utilizar uma
técnica com a qual possa identificar todas as variáveis manipuladas no
algoritmo, verificar todas as condições (requisitos) necessárias para solucionar o
problema, dispositivos de entrada e saída, e pontos que demonstrem o
comportamento do programa.
 
É correto o que se afirma em:
 I e III, apenas. 
 I, apenas. 
 II e III, apenas. 
 III, apenas. Correto!Correto!
Alternativa A
Alternativa está correta. A afirmativa I é falsa, uma vez que existe
outra forma de testar um programa antes de sua codificação. Para
esse fim, temos o teste de mesa, que verifica em tempo de algoritmo
codificado em pseudolinguagem ou fluxograma. Assim, não há
necessidade de o computador fazer o teste de mesa, o qual pode ser
feito com a utilização somente de lápis e papel. A afirmativa II é falsa
por afirmar que testes unitários não contribuem para o teste de
sistema. Se um sistema é composto de vários programas, então o
teste unitário contribui muito para o teste de sistema, pois este está
voltado para a verificação de um resultado amplo; já o teste unitário
busca a verificação muito próxima de cada linha codificada no
programa. A afirmativa III é verdadeira. Após produzir o algoritmo, o
programador deve verificar se este está funcionando corretamente,
ou seja, se está fazendo o que foi pedido. Por isso, existe uma
técnica eficaz, chamada teste de mesa, a qual facilita o entendimento
do fluxo de execução do algoritmo e permite identificar erros de
lógica na construção do algoritmo. Esta técnica é composta por um
instrumento que reúne todas as variáveis envolvidas no algoritmo e
todas as condições que o programa deve prever. Nessa técnica,
também é possível que se planejem vários cenários a se testar.
Portanto, a alternativa correta é III, apenas.
 I e II, apenas 
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 10/17
0,6 / 0,6 ptsPergunta 7
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 umacondiçã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.
(...)
 
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.
 
A+
A
A-
https://podprogramar.com.br/logica-de-programacao-estruturas-de-repeticao/
https://podprogramar.com.br/logica-de-programacao-estruturas-de-repeticao/
https://podprogramar.com.br/logica-de-programacao-estruturas-de-repeticao/
https://podprogramar.com.br/logica-de-programacao-estruturas-de-repeticao/
https://podprogramar.com.br/logica-de-programacao-estruturas-de-repeticao/
https://podprogramar.com.br/logica-de-programacao-estruturas-de-repeticao/
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 11/17
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?
 53 vezes. 
 55 vezes. 
 56 vezes. Correto!Correto!
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 12/17
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.
 28 vezes. 
 10 vezes. 
0 / 0,6 ptsPergunta 8
Leia o trecho abaixo:
 
O fluxo normal de um programa de computador executa instruções em
uma sequência: parte-se da primeira instrução do algoritmo até alcançar a
última instrução da sequência. Um dos recursos utilizados em linguagens
de programação, como forma de desvio do fluxo, é a utilização de
funções. As funções são trechos de códigos executados que podem ser
chamadas em qualquer ponto do programa, por outras funções.
Toda função, exceto as funções declaradas como void, deve devolver
valor para o ponto de chamada. Esse valor é devolvido pelo comando
return.
Para ilustrar a situação, imagine que um programa necessita fazer uma
parte do cálculo de pagamento de um funcionário. Esse cálculo é feito a
partir dos proventos e dos descontos. Então, o programa deve ser
seccionado em várias funções para calcular cada um dos elementos.
Cada função deve fazer o cálculo que é de sua responsabilidade e
devolver o resultado para o ponto que a chamou (Função principal). Esta,
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 13/17
por sua vez, utiliza os valores devolvidos para fazer a soma de proventos
e a dedução dos descontos, gerando o valor líquido.
Considerando esse contexto, avalie as seguintes asserções e a relação
proposta entre elas.
 
I. Dentro de uma mesma função, pode haver mais de um comando return,
porém, todos devem devolver valores do mesmo tipo.
 
PORQUE
 
II. O comando return deve devolver valores que sejam do mesmo tipo que
constam na declaração da função. Por exemplo a função “double
calcSalario()”, que deve devolver um valor calculado do tipo double no(s)
comando(s) return.
 
A respeito das 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.
esposta corretaesposta correta
 
A asserção I é uma proposição falsa, e a asserção II é uma proposição
verdadeira.
ocê respondeuocê respondeu
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 14/17
Alternativa E
 Alternativa está incorreta. A asserção I é uma proposição verdadeira
porque o comando return possui duas importantes utilizações dentro
de uma função: provocar a saída imediata da função e devolver um
valor para o ponto de chamada da função. A linguagem C permite
que, dentro de uma mesma função, seja codificado mais de um
comando return. Isso porque o término de uma função pode ser
executado em qualquer ponto dela. É importante, porém, que o valor
devolvido em todos os pontos seja do mesmo tipo do dado que
consta no comando de declaração da função. A asserção II é uma
proposição verdadeira porque a linguagem C impõe que todo
comando return (quando devolve valores), ao ser codificado, deverá
devolver valores do mesmo tipo de dado que consta na declaração
da função. A asserção II justifica a corretamente a asserção I, já que
ela afirma que os comandos devem devolver valores do mesmo tipo.
 
As asserções I e II são proposições verdadeiras, mas a asserção II não é
uma justificativa da I.
 As asserções I e II são proposições ambas falsas. 
 
A asserção I é uma proposição verdadeira, e a asserção II é uma
proposição falsa.
0,6 / 0,6 ptsPergunta 9
Leia o texto a seguir:
 
O que é uma variável?
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.
 
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 15/17
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 simples. Correto!Correto!
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. 
 real com precisão dupla. 
 local. 
 caractere. 
 inteiro. 
A+
A
A-
http://linguagemc.com.br/variaveis-em-linguagem-c/
http://linguagemc.com.br/variaveis-em-linguagem-c/http://linguagemc.com.br/variaveis-em-linguagem-c/
http://linguagemc.com.br/variaveis-em-linguagem-c/
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 16/17
0,6 / 0,6 ptsPergunta 10
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:
 I e II, apenas. 
 I, II e III. 
 III, apenas. 
 I, apenas. Correto!Correto!
A+
A
A-
20/10/2023, 15:31 AO2: Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/16387/quizzes/79328 17/17
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
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.
 II e III, apenas. 
Pontuação do teste: 4,2 de 6
A+
A
A-

Mais conteúdos dessa disciplina