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

AO2
Entrega 26 set em 23:59 Pontos 6 Perguntas 10 Disponível 21 set em 0:00 - 26 set em 23:59 6 dias
Limite de tempo Nenhum
Instruções
Este teste foi travado 26 set em 23:59.
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 66 minutos 5,4 de 6
Pontuação deste teste: 5,4 de 6
Enviado 26 set em 22:29
Esta tentativa levou 66 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
https://famonline.instructure.com/courses/16387/quizzes/79328/history?version=1
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:
 As asserções I e II são proposições falsas. 
 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 verdadeiras, mas a II não é uma justificativa da I. 
 As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. Correto!Correto!
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.
0,6 / 0,6 ptsPergunta 2
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, 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:
 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 ambas falsas. 
 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 correta da I. Correto!Correto!
Alternativa A
Alternativa está correta. 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. 
0,6 / 0,6 ptsPergunta 3
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 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. 
 As asserções I e II são ambas proposições falsas. 
 A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. Correto!Correto!
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íveisno 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. 
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 e II, apenas. 
 I, apenas. 
 I, II e III. 
 III, apenas. 
 II, apenas. Correto!Correto!
Alternativa está correta. A afirmativa I é falsa porque o comando goto é 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.
0,6 / 0,6 ptsPergunta 5
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.
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:
 I e III, apenas. Correto!Correto!
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.
 I, apenas. 
 I e II, apenas. 
 III, apenas. 
 I, II e III. 
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 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:
 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çãomuito 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 III, apenas. 
 I e II, apenas 
 II e III, apenas. 
 I, apenas. 
0 / 0,6 ptsPergunta 7
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;
 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, 1, 3, 5, 7, 9. 
 0, 2, 4, 6, 8. 
 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Resposta corretaResposta correta
 9, 8, 7, 6, 5, 4, 3, 2, 1, 0. Você respondeuVocê respondeu
Alternativa incorreta.
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. 
0,6 / 0,6 ptsPergunta 8
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, II e III. 
 I e II, apenas. 
 I, apenas. Correto!Correto!
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.
 III, apenas. 
 II e III, apenas. 
0,6 / 0,6 ptsPergunta 9
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.
(...)
 
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);
https://podprogramar.com.br/logica-de-programacao-estruturas-de-repeticao/
 printf("%d ",b);
 b = b + 1;
 }
 a = a + 1;
 }
 
 return 0;
}
 
Assinale a alternativa correta que descreve quantas vezes o comando printf será executado?
 10 vezes. 
 55 vezes. 
 53 vezes. 
 28 vezes. 
 56 vezes. Correto!Correto!
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.
0,6 / 0,6 ptsPergunta 10
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.
 
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áveisem 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. 
 local. 
 inteiro. 
 caractere. 
 real com precisão simples. Correto!Correto!
http://linguagemc.com.br/variaveis-em-linguagem-c/
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. 
Pontuação do teste: 5,4 de 6

Continue navegando