Buscar

Conceitos Básicos de C++

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Código de referência da questão.1a Questão
	
	
	
	
	As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas:
	
	
	
	palavras próprias
	 Certo
	palavras reservadas
	
	palavras especiais
	
	palavras código
	
	palavras únicas
	Respondido em 08/06/2020 20:18:11
	
Explicação:
Não tem outra possibilidade com margem à dúvida.  Por definição, é palavra reservada.
	
	 
	
	 Código de referência da questão.2a Questão
	
	
	
	
	Assinale a opção correta: 
	
	
	
	Um programa escrito em C++ que executa no Linux não vai executar no Windows.
	 Certo
	Os programas em C++ precisam ser traduzidos para uma linguagem que o computador entenda.
	
	Não se pode escrever programa em C++ que execute no Mac.
	
	Programas em C++ são interpretados e não compilados
	
	É o linker que traduz o todo  programa feito em C++.
	Respondido em 08/06/2020 20:18:33
	
Explicação:
Basta seguir a definição de programa dada na aula  de conceitos introdutórios.
	
	 
	
	 Código de referência da questão.3a Questão
	
	
	
	
	Assinale a opção correta.
	
	
	 Certo
	Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós.
	
	Dizemos que uma linguagem é de alto nível quando usa linguagem binária.
	
	Para programar em alto nível é preciso dominar a linguagem binária.
	
	O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem.
	
	O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional.
	Respondido em 08/06/2020 20:18:21
	
Explicação:
 
	 
	
	Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós.
	 
	Falso.  Linguagem binária é com zeros e uns, o que é baixo nível.
	Dizemos que uma linguagem é de alto nível quando usa linguagem binária.
	 
	Falso.  C++ é uma linguagem de programação de alto nível e usa palavras em Inglês.
	O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem.
	 
	Falso. Não se tem que dominar a linguagem binária em hipótese alguma.
	Para programar em alto nível é preciso dominar a linguagem binária.
	 
	FAlso.  O C++ é uma linguagem de alto nível na qual o uso de variáveis é necessário para armazenarmos dados.
	O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional.
	
	 
	
	 Código de referência da questão.4a Questão
	
	
	
	
	No C++, é possível declarar variáveis e constantes. Uma constante é um espaço da memória reservado a um valor que não se altera ao longo da execução de um programa. Imaginando que você precise de uma constante para armazenar o valor de PI (3,14), como seria feita sua declaração em C++?
	
	
	 Certo
	const float PI=3.14;
	
	const integer PI=3.14;
	
	const real PI=3.14;
	
	const int PI=3.14;
	
	float PI=3.14;
	Respondido em 08/06/2020 20:18:55
	
	 
	
	 Código de referência da questão.5a Questão
	
	
	
	
	Assinale a opção correta.
	
	
	
	Uma possível declaração de uma variável booleana em C++ :  boolean x;
	
	Declarando e atribuindo um valor à uma variável booleana em C++ :  
       boolean x =  true ;
	
	Declarando e atribuindo um valor à uma variável booleana em C++ : 
       bool x = "true";
	
	Uma possível declaração de uma variável inteira em C++ :  x int;
	 Certo
	As variáveis do tipo bool podem ser true ou false.
	Respondido em 08/06/2020 20:19:01
	
Explicação:
DE acordo com a sintaxe da linguagem C++
	
	 
	
	 Código de referência da questão.6a Questão
	
	
	
	
	Um restaurante self-service vende comida por peso e cobra R$ 34,90 por quilo consumido. Sabendo que o preço a ser pago pelo cliente é calculado a partir do peso de seu prato multiplicado pelo valor do quilo, o trecho de declaração de variáveis em C++ que seria necessário em um programa capaz de informar ao cliente o valor a pagar é:
	
	
	
	bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0;
	
	int quilo = 34.90; int prato = 0; int valor_pagar = 0;
	
	char quilo = 34.90; char prato = 0; char valor_pagar = 0;
	
	real quilo = 34.90; real prato = 0; real valor_pagar = 0;
	 Certo
	float quilo = 34.90; float prato = 0; float valor_pagar = 0;
	Respondido em 08/06/2020 20:19:07
	
	 
	
	 Código de referência da questão.7a Questão
	
	
	
	
	Considerando a linguagem C++, assinale a opção correta :
	
	
	
	Alguns programas em C++ começam com float main e outros com int main
	 Certo
	A linguagem C++ diferencia maiúsculas de minúsculas
	
	Se quisermos declarar uma variável que possa armazenar valores reais, com casas decimais, devemos usar o tipo real na declaração da variável.
	
	Nem toda variável precisa ser declarada.
	
	Se declararmos uma variável inteira nota, podemos escrever NOTA, Nota, ou qualquer outra variação, pois é a mesma coisa.
	Respondido em 08/06/2020 20:19:09
	
Explicação:
BAsta seguir as descrições  e características da linguagem C++  na aula sobre variáveis
	
	 
	
	 Código de referência da questão.8a Questão
	
	
	
	
	Uma variável pode ser entendida como sendo:
	
	
	 Certo
	Um endereço na memória principal.
	
	Um dispositivo de entrada de dados.
	
	Um elemento da unidade lógica de controle.
	
	Um dispositivo de memória auxiliar.
	
	Um dispositivo de saída de dados.
	Respondido em 08/06/2020 20:19:12
	
Explicação:
Analisando cada item :
	Falso. Variável ocupa espaço em memória e tem um endereço.
Um dispositivo de entrada de dados é o teclado.
	Um dispositivo de entrada de dados.
	 
 
	Falso. Variável ocupa espaço em memória e tem um endereço.
	Um dispositivo de memória auxiliar.
	 
	Verdadeiro.
 
	Um endereço na memória principal.
	 
	Falso. Variável ocupa espaço em memória e tem um endereço.
Um dispositivo de saída de dados é o monitor.
 
	Um dispositivo de saída de dados.
	 
	Falso. Variável ocupa espaço em memória e tem um endereço.
	Um elemento da unidade lógica de controle.
	
	1.
		 Assinale a opção correta. 
	
	Certo
	
	As variáveis do tipo bool podem ser true ou false.
	
	
	Uma possível declaração de uma variável inteira em C++ :  x int;
	
	
	Declarando e atribuindo um valor à uma variável booleana em C++ :  
       boolean x =  true ;
	
	
	Uma possível declaração de uma variável booleana em C++ :  boolean x;
	
	
	Declarando e atribuindo um valor à uma variável booleana em C++ : 
       bool x = "true";
	
Explicação:
DE acordo com a sintaxe da linguagem C++
	
	
	 
	
	
	2.
	
		 Uma variável pode ser entendida como sendo: 
	
	Certo
	
	Um endereço na memória principal.
	
	
	Um dispositivo de memória auxiliar.
	
	
	Um dispositivo de saída de dados.
	
	
	Um dispositivo de entrada de dados.
	
	
	Um elemento da unidade lógica de controle.
	
Explicação:
Analisando cada item :
	Falso. Variável ocupa espaço em memória e tem um endereço.
Um dispositivo de entrada de dados é o teclado.
	Um dispositivo de entrada de dados.
	 
 
	Falso. Variável ocupa espaço em memória e tem um endereço.
	Um dispositivo de memória auxiliar.
	 
	Verdadeiro.
 
	Um endereço na memória principal.
	 
	Falso. Variável ocupa espaço em memória e tem um endereço.
Um dispositivo de saída de dados é o monitor.
 
	Um dispositivo de saída de dados.
	 
	Falso. Variável ocupa espaço em memória e tem um endereço.
	Um elemento da unidade lógica de controle.
	
	
	 
	
	
	3.
	
		 Assinale a opção correta. 
	
	
	
	O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem.
	
	
	Para programar em alto nível é preciso dominar a linguagem binária.
	Certo
	
	Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós.
	
	
	Dizemos que uma linguagem é de alto nível quando usa linguagem binária.
	
	
	O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional.
	
Explicação:
 
	 
	
	Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras
conhecidas por nós.
	 
	Falso.  Linguagem binária é com zeros e uns, o que é baixo nível.
	Dizemos que uma linguagem é de alto nível quando usa linguagem binária.
	 
	Falso.  C++ é uma linguagem de programação de alto nível e usa palavras em Inglês.
	O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem.
	 
	Falso. Não se tem que dominar a linguagem binária em hipótese alguma.
	Para programar em alto nível é preciso dominar a linguagem binária.
	 
	FAlso.  O C++ é uma linguagem de alto nível na qual o uso de variáveis é necessário para armazenarmos dados.
	O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional.
	
	
	 
	
	
	4.
	
		 As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas: 
	
	
	
	palavras código
	
	
	palavras únicas
	
	
	palavras próprias
	
	
	palavras especiais
	Certo
	
	palavras reservadas
	
Explicação:
Não tem outra possibilidade com margem à dúvida.  Por definição, é palavra reservada.
	
	
	 
	
	
	5.
	
		 Assinale a opção correta:  
	
	
	
	Programas em C++ são interpretados e não compilados
	Certo
	
	Os programas em C++ precisam ser traduzidos para uma linguagem que o computador entenda.
	
	
	Um programa escrito em C++ que executa no Linux não vai executar no Windows.
	
	
	Não se pode escrever programa em C++ que execute no Mac.
	
	
	É o linker que traduz o todo  programa feito em C++.
	
Explicação:
Basta seguir a definição de programa dada na aula  de conceitos introdutórios.
	
	
	 
	
	
	6.
	
		 Considerando a linguagem C++, assinale a opção correta : 
	
	
	
	Nem toda variável precisa ser declarada.
	
	
	Se quisermos declarar uma variável que possa armazenar valores reais, com casas decimais, devemos usar o tipo real na declaração da variável.
	
	
	Se declararmos uma variável inteira nota, podemos escrever NOTA, Nota, ou qualquer outra variação, pois é a mesma coisa.
	
	
	Alguns programas em C++ começam com float main e outros com int main
	Certo
	
	A linguagem C++ diferencia maiúsculas de minúsculas
	
Explicação:
BAsta seguir as descrições  e características da linguagem C++  na aula sobre variáveis
	
	
	 
	
	
	7.
	
		 Um restaurante self-service vende comida por peso e cobra R$ 34,90 por quilo consumido. Sabendo que o preço a ser pago pelo cliente é calculado a partir do peso de seu prato multiplicado pelo valor do quilo, o trecho de declaração de variáveis em C++ que seria necessário em um programa capaz de informar ao cliente o valor a pagar é: 
	
	Certo
	
	float quilo = 34.90; float prato = 0; float valor_pagar = 0;
	
	
	bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0;
	
	
	int quilo = 34.90; int prato = 0; int valor_pagar = 0;
	
	
	char quilo = 34.90; char prato = 0; char valor_pagar = 0;
	
	
	real quilo = 34.90; real prato = 0; real valor_pagar = 0;
	
	
	 
	
	
	8.
	
		 No C++, é possível declarar variáveis e constantes. Uma constante é um espaço da memória reservado a um valor que não se altera ao longo da execução de um programa. Imaginando que você precise de uma constante para armazenar o valor de PI (3,14), como seria feita sua declaração em C++? 
	
	
	
	const real PI=3.14;
	
	
	const int PI=3.14;
	
	
	const integer PI=3.14;
	Certo
	
	const float PI=3.14;
	
	
	float PI=3.14;
	
	1.
		 Indique qual alternativa calcula corretamente a média aritmética das notas AV1 e AV2 de uma determinada disciplina 
	
	Certo
	
	MEDIA = (AV1 + AV2) / 2;
	
	
	MEDIA = (AV1 * AV2) / 2;
	
	
	MEDIA = (AV1 - AV2) / 2;
	
	
	MEDIA = (AV1 ** AV2) / 2;
	
	
	MEDIA = AV1 + AV2 / 2;
	
Explicação:
MEDIA = (AV1 + AV2) / 2; - OK
	
	
	 
	
	
	2.
	
		 Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. 
	
	
	
	&&, >= e ||
	
	
	&&, || e ~
	Certo
	
	<, > e >=
	
	
	=, > e ||
	
	
	+, - e *
	
Explicação:
	
	<, > e >=
	 
	Falso. Nenhum é relacional
	&&, || e ~
	 
	Falso. O único relacional é o >
	=, > e ||
	 
	Falso. O único relacional é o >= 
	&&, >= e ||
	 
	Falso. Nenhum relacional
	+, - e *
	
	
	 
	
	
	3.
	
		 Assinale a alternativa que apresenta APENAS operadores relacionais. 
	
	
	
	+, - e *
	
	
	&&, || e ~
	
	
	=, > e ||
	Certo
	
	<, > e >=
	
	
	&&, >= e ||
	
Explicação:
	
	<, > e >=
	 
	&& e || são operadores lógicos na linguagem C++
       ~ é operador na lógica matemática para negação
	&&, || e ~
	 
	 = é atribuição
        > relacional
         || ou lógico
	=, > e ||
	 
	O único relacional é >= . Os outros dois são operadores lógicos.
	&&, >= e ||
	 
	 Operadores matemáticos
	+, - e *
	
	
	 
	
	
	4.
	
		 Indique qual o tercho em C++  que calcula corretamente a média das notas AV1 e AV2 de uma determinada disciplina. 
	
	Certo
	
	MEDIA =  (AV1 + AV2) / 2;
	
	
	MEDIA =  (AV1 - AV2) / 2;
	
	
	MEDIA  =  (AV1 * AV2) / 2;
	
	
	MEDIA   =  AV1 + AV2 / 2;
	
	
	MEDIA = (AV1 ** AV2) / 2;
	
Explicação:
Conforme aula e gabarito.  É importante primeiro somar as notas e depois dividir por 2. 
	
	
	 
	
	
	5.
	
		 Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos. 
	
	
	
	&&, >= e <=
	Certo
	
	&&, || e !
	
	
	+, - e *
	
	
	=, > e ?
	
	
	!, > e >=
	
Explicação:
	 
	Falso. O único operador lógico é o !
	!, > e >=
	 
	 Verdadeiro.
	&&, || e !
	 
	Falso. Nâo há operador lógico neste item.
	=, > e ?
	 
	 
	Falso. O único operador lógico é o &&
	
	
	&&, >= e <=
	 
	Falso. Nâo há operador lógico neste item.
	+, - e *
	
	
	 
	
	
	6.
	
		 Qual das alternativas apresenta a expressão que seja capaz de avaliar se uma variável do tipo inteiro, denominada NUMERO ,é ímpar e negativa. 
	
	
	
	(NUMERO<0) || (NUMERO%2!=0)
	
	
	(NUMERO>0) !! (NUMERO%2==0)
	Certo
	
	(NUMERO<0) && (NUMERO%2!=0)
	
	
	(NUMERO>0) || (NUMERO%2==0)
	
	
	(NUMERO>0) && (NUMERO%2==0)
	
Explicação:
(NUMERO<0) && (NUMERO%2!=0)
pra ser negativo , tem que se menor que zero NUMERO<0
pra ser impar, o resto da divisão pode 2 não pode ser zero -->  != (diferente) --> NUMERO%2!=0
 
	
	
	 
	
	
	7.
	
		 Analise o trecho de código abaixo e depois marque a opção correta para o que se pede:   int x, y,a , b;
  float z;   a = 14;
  b = 3;
  x = a / b;
  y = a % b;
  z = y / x;  Qual seria o valor de x? 
	
	
	
	5
	
	
	4.66666
	
	
	3
	Certo
	
	4
	
	
	14
	
Explicação:
Fazendo um teste de mesa e sabendo que a divisão com  / entre inteiros fornece o quociente da divisão e o operador % fornece o resto da divisão inteira, chegamos no valor x igual a 4.
	
	
	 
	
	
	8.
	
		 Sendo X = 1, Y = 2 e Z = 5, assinale a alternativa correta, dentre as relacionadas abaixo, que corresponde aos questionamentos realizados em relação à expressão: X * X + Y > Z.
Questionamentos:
- Esta expressão é VERDADEIRA ou FALSA?
- O valor do termo X * X + Y é igual a qual valor ? 
	
	
	
	A expressão é VERDADEIRA, e o valor de X * X + Y = 3.
	
	
	A expressão é FALSA, e o valor de X * X + Y = 6.
	Certo
	
	A expressão é FALSA, e o valor de X * X + Y = 3.
	
	
	A expressão é VERDADEIRA, e o valor de X * X + Y = 5.
	
	
	A expressão é FALSA, e o valor de X * X + Y = 4.
	
Explicação:
Questionamentos:
- Esta expressão é VERDADEIRA ou FALSA? A expressão é Falsa.
- O valor do termo X * X + Y é igual a qual valor ? O resultado da expressão é 3
Resolvendo a expressão :  X * X + Y > Z
                                           1 * 1 + 2 dá  1 + 2 que é 3
                                           3 > Z, sendo que Z vale 5 ? FAlsa.
	
	 
	
	
	1.
	
		 Monte a tabela da verdade para a expressão A || B && C && !A. 	 A 	 B 	 C 	 !A 	 B && C 	 B && C && !A 	 A || B && C && !A 
	 V 	 V 	 V 	 F 	 V 	 F 	   
	 V 	 V 	 F 	 F 	 F 	 F 	   
	 V 	 F 	 V 	 F 	 F 	 F 	   
	 V 	 F 	 F 	 F 	 F 	 F 	   
	 F 	 V 	 V 	 V 	 V 	 V 	   
	 F 	 V 	 F 	 V 	 F 	 F 	   
	 F 	 F 	 V 	 V 	 F 	 F 	   
	 F 	 F 	 F
V 	 F 	 F 	   
 A sequência de valores que preenche a última coluna, de cima para baixo, é: 
	
	
	
	F, F, F, F, F, V, V, V
	
	
	V, F, V, F, V, F, V, F
	Certo
	
	V, V, V, V, V, F, F, F
	
	
	V, V, F, F, V, V, F, F
	
	
	F, V, F, V, V, F, V, F
	
	
	 
	
	
	2.
	
		 Assinale a opção correta. 
	
	
	
	os operadores matemáticos não tem precedência de uso
	
	
	São operadores lógicos : &&, ||, !=
	
	
	São operadores relacionais : = , > , <
	Certo
	
	Os operadores matemáticos são : +, - , *, / e %.
	
	
	As expressões lógicas retornam valores inteiros
	
Explicação:
Os operadores matemáticos são : +, - , *, / e %. = VERDADE
São operadores lógicos : &&, ||, != -->  != não é operador lógico e sim relacional (diferente) --> FALSO
São operadores relacionais : = , > , < --->  = não é operador relacional e sim comando de atribuição de valor a variável.--> FALSO
As expressões lógicas retornam valores inteiros --> FALSO, retornam valores lógicos (V ou F)
os operadores matemáticos não tem precedência de uso --: FALSO, há precedencia sim, o * tem preferencia sobre a soma e subtrção
 
 
	
	
	 
	
	
	3.
	
		 Considerando os seguintes conteúdos para as variáveis:  a = 2, b = 5 e c = 4  Determine qual das sentenças retornará verdadeiro. 
	
	
	
	pow(c,a) > b * c
	
	
	(b + 2) > (a * c)
	Certo
	
	((b = 2) == a)
	
	
	a == c
	
	
	(b % a) == 0
	
Explicação:
a == c --> falso, pois a é diferente c
(b + 2) > (a * c) -> falso, pois 7 > 8 é falso
((b = 2) == a) , verdade, pois a = 2
	
	
	 
	
	
	4.
	
		 Utilizando os operadores adequados, como pode ser reescrita a expressão abaixo?  A ou B e C e não D 
	
	
	
	A && B || C || !D
	
	
	A || B ! C ! &&D
	
	
	A && B && C && !D
	
	
	A !! B && C && ||D
	Certo
	
	A || B && C && !D
	
Explicação:
A ||  B && C && !D
|| = OU
&& = E
! = não
	
	
	 
	
	
	5.
	
		 Assinale a alternativa que apresenta APENAS operadores relacionais. 
	
	
	
	&&, >= e ||
	
	
	+, - e *
	Certo
	
	<, > e >=
	
	
	=, > e ||
	
	
	&&, || e ~
	
Explicação:
	
	<, > e >=
	 
	&& e || são operadores lógicos na linguagem C++
       ~ é operador na lógica matemática para negação
	&&, || e ~
	 
	 = é atribuição
        > relacional
         || ou lógico
	=, > e ||
	 
	O único relacional é >= . Os outros dois são operadores lógicos.
	&&, >= e ||
	 
	 Operadores matemáticos
	+, - e *
	
	
	 
	
	
	6.
	
		 Qual das alternativas apresenta a expressão que seja capaz de avaliar se uma variável do tipo inteiro, denominada NUMERO ,é ímpar e negativa. 
	
	
	
	(NUMERO>0) || (NUMERO%2==0)
	
	
	(NUMERO>0) && (NUMERO%2==0)
	
	
	(NUMERO>0) !! (NUMERO%2==0)
	
	
	(NUMERO<0) || (NUMERO%2!=0)
	Certo
	
	(NUMERO<0) && (NUMERO%2!=0)
	
Explicação:
(NUMERO<0) && (NUMERO%2!=0)
pra ser negativo , tem que se menor que zero NUMERO<0
pra ser impar, o resto da divisão pode 2 não pode ser zero -->  != (diferente) --> NUMERO%2!=0
 
	
	
	 
	
	
	7.
	
		 Indique qual o tercho em C++  que calcula corretamente a média das notas AV1 e AV2 de uma determinada disciplina. 
	
	
	
	MEDIA = (AV1 ** AV2) / 2;
	
	
	MEDIA =  (AV1 - AV2) / 2;
	Certo
	
	MEDIA =  (AV1 + AV2) / 2;
	
	
	MEDIA  =  (AV1 * AV2) / 2;
	
	
	MEDIA   =  AV1 + AV2 / 2;
	
Explicação:
Conforme aula e gabarito.  É importante primeiro somar as notas e depois dividir por 2. 
	
	
	 
	
	
	8.
	
		 Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. 
	
	
	
	&&, >= e ||
	
	
	=, > e ||
	
	
	&&, || e ~
	
	
	+, - e *
	Certo
	
	<, > e >=
	
Explicação:
	
	<, > e >=
	 
	Falso. Nenhum é relacional
	&&, || e ~
	 
	Falso. O único relacional é o >
	=, > e ||
	 
	Falso. O único relacional é o >= 
	&&, >= e ||
	 
	Falso. Nenhum relacional
	+, - e *
	
	1.
		 Observe o algoritmo a seguir: 1 programa 2 { 3  inclua biblioteca Matematica --> mat 4  funcao inicio() 5  { 6      real qtdeDin, valComb, qtdeLitros 7      escreva("Quanto custa o litro do combustível? R$ ") 8      leia(valComb) 9      escreva("Quantos reais você tem? R$ ") 10     leia(qtdeDin) 11     qtdeLitros=qtdeDin/valComb 12     escreva("Com R$ ", qtdeDin, " você consegue abastecer ", mat.arredondar(qtdeLitros,2)," litros de combustível.") 13     } 14 } Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual mensagem seria exibida pelo computador na linha 12? 
	
	
	
	"Você consegue abastecer 51.28 litros de combustível com R$ 200.00."
	
	
	"Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível."
	
	
	"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível."
	Certo
	
	"Com R$ 200.00 você consegue abastecer 51.28 litros de combustível."
	
	
	"Você consegue abastecer 51.28 litros de combustível."
	
	
	 
		 
	
	2.
	
		 Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das interrogações a seguir? programa {   funcao inicio( ) {     ????????   } } 
	
	
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
tempC=(tempF-32)/1.8
escreva("Temperatura em graus Celsius: ", tempC)
	Certo
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
leia(tempF)
tempC=(tempF-32)/1.8
escreva("Temperatura em graus Celsius: ", tempC)
	
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
leia(tempF)
tempC=(tempF-32)/1.8
	
	
	escreva("Temperatura em Fahrenheit: ")
leia(tempF)
tempC=(tempF-32)/1.8
escreva("Temperatura em graus Celsius: ", tempC)
	
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
leia(tempF)
escreva("Temperatura em graus Celsius: ", tempC)
	
	
	 
		 
	
	3.
	
		 C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro ou Falso conforme o que é dito sobre as funções do compilador: (  ) Verificar erros de sintaxe no programa; (  ) Produzir um outro programa em linguagem de máquina; (  ) Executar o programa sem necessidade de conversão alguma. 
	
	
	
	F - V - F
	
	
	V - F - F
	Certo
	
	V - V - F
	
	
	F - F - F
	
	
	V - V - V
	
	
	 
		 
	
	4.
	
		 No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso que sejam utilizadas a biblioteca _______________ e a função _______________. 
	
	
	
	locale - ptb
	
	
	iostream - setlocale
	
	
	iostream - ptb
	Certo
	
	locale - setlocale
	
	
	math - math.round
	
	
	 
		 
	
	5.
	
		 Marque a opção correta para a declaração das variáveis conforme o trecho de código abaixo, que calcula a média de 3 notas de 1 aluno:    printf (" nota 1 = ");    scanf("%f", nota1);    printf (" nota 2 = ");    scanf("%f", nota2);    printf (" nota 3 = ");    scanf("%f", nota3);    media=(nota1+nota2+nota3)/3;    printf ("media= %f",media);     
	
	
	
	nota1, nota2, nota3 : float
	
	
	int nota1, nota2, nota3, media;
	
	
	real nota1, nota2, nota3;
	
	
	float nota1..nota3, media;
	Certo
	
	float nota1, nota2, nota3, media;
	
Explicação:
as 4 variáveis precisam ser float, para conterem valores com casas decimais
	
	
	 
		 
	
	6.
	
		 Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ 
	
	
	
	exiba "lendo a idade"; lendo idade;
	
	
	cout "lendo a idade"; cin idade;
	
	
	System.out.println("lendo idade"); System.out.println("lendo idade");
	Certo
	
	cout << "lendo a idade"; cin >> idade;
	
	
	cout < lendo idade; cin > idade
	
Explicação:
	Falso. Erro no cout e no cin. Os operadores são >> e <<. E ainda ?: variável não tem espaço em branco
	cout < lendo idade;
cin > idade
	 
	 VErdade
	cout << "lendo a idade"; cin >> idade;
	 
	Falso.  Faltam os operadores >> e <<
	cout "lendo a idade"; cin idade;
	 
	Falso. Em C++ não é exiba e lendo.
	exiba "lendo a idade"; lendo idade;
	 
	Falso. Não é Java. Em C++ usam-se cout para saída de dados e cin para entrada de dados
	System.out.println("lendo idade"); System.out.println("lendo idade");
	
	
	 
		 
	
	7.
	
		 Utilizando as regras do Portugol Studio, imagine que você precisa escrever um algoritmo que receba o ano atual e o ano de nascimento de um usuário, calcule e exiba a sua idade através da mensagem "Você tem ou fará XX anos", onde XX é a idade calculada. Qual das alternativas a seguir mostra a instrução correta a ser utilizada na exibição da idade? 
	
	
	
	leia("Você tem ou fará " / idade/ " anos")
	
	
	escreva("Você tem ou fará " /idade/ " anos")
	
	
	escreva("Você tem ou fará " * idade * " anos")
	Certo
	
	escreva("Você tem ou fará ", idade, " anos")
	
	
	leia("Você tem ou fará ", idade, " anos")
	
	
	 
		 
	
	8.
	
		 Assinale a opção correta : 
	
	
	
	Para entrada de dados usamos cout  e para saída de dados usamos cin
	
	
	Para entrada de dados usamos read e para saída de dados usamos write
	
	
	Para entrada de dados usamos cout com <<  e para saída de dados usamos cin com >>
	Certo
	
	Para entrada de dados usamos cin com >> e para saída de dados usamos cout com <<
	
	
	Para entrada de dados usamos cin com <<  e para saída de dados usamos cout com >>
	
	1.
		 Observe o algoritmo a seguir: 1 programa 2 { 3  inclua biblioteca Matematica --> mat 4  funcao inicio() 5  { 6      real qtdeDin, valComb, qtdeLitros 7      escreva("Quanto custa o litro do combustível? R$ ") 8      leia(valComb) 9      escreva("Quantos reais você tem? R$ ") 10     leia(qtdeDin) 11     qtdeLitros=qtdeDin/valComb 12     escreva("Com R$ ", qtdeDin, " você consegue abastecer ", mat.arredondar(qtdeLitros,2)," litros de combustível.") 13     } 14 } Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual mensagem seria exibida pelo computador na linha 12? 
	
	
	
	"Você consegue abastecer 51.28 litros de combustível com R$ 200.00."
	
	
	"Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível."
	
	
	"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível."
	Certo
	
	"Com R$ 200.00 você consegue abastecer 51.28 litros de combustível."
	
	
	"Você consegue abastecer 51.28 litros de combustível."
	
	
	 
		 
	
	2.
	
		 Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das interrogações a seguir? programa {   funcao inicio( ) {     ????????   } } 
	
	
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
tempC=(tempF-32)/1.8
escreva("Temperatura em graus Celsius: ", tempC)
	Certo
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
leia(tempF)
tempC=(tempF-32)/1.8
escreva("Temperatura em graus Celsius: ", tempC)
	
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
leia(tempF)
tempC=(tempF-32)/1.8
	
	
	escreva("Temperatura em Fahrenheit: ")
leia(tempF)
tempC=(tempF-32)/1.8
escreva("Temperatura em graus Celsius: ", tempC)
	
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
leia(tempF)
escreva("Temperatura em graus Celsius: ", tempC)
	
	
	 
		 
	
	3.
	
		 C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro ou Falso conforme o que é dito sobre as funções do compilador: (  ) Verificar erros de sintaxe no programa; (  ) Produzir um outro programa em linguagem de máquina; (  ) Executar o programa sem necessidade de conversão alguma. 
	
	
	
	F - V - F
	
	
	V - F - F
	Certo
	
	V - V - F
	
	
	F - F - F
	
	
	V - V - V
	
	
	 
		 
	
	4.
	
		 No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso que sejam utilizadas a biblioteca _______________ e a função _______________. 
	
	
	
	locale - ptb
	
	
	iostream - setlocale
	
	
	iostream - ptb
	Certo
	
	locale - setlocale
	
	
	math - math.round
	
	
	 
		 
	
	5.
	
		 Marque a opção correta para a declaração das variáveis conforme o trecho de código abaixo, que calcula a média de 3 notas de 1 aluno:    printf (" nota 1 = ");    scanf("%f", nota1);    printf (" nota 2 = ");    scanf("%f", nota2);    printf (" nota 3 = ");    scanf("%f", nota3);    media=(nota1+nota2+nota3)/3;    printf ("media= %f",media);     
	
	
	
	nota1, nota2, nota3 : float
	
	
	int nota1, nota2, nota3, media;
	
	
	real nota1, nota2, nota3;
	
	
	float nota1..nota3, media;
	Certo
	
	float nota1, nota2, nota3, media;
	
Explicação:
as 4 variáveis precisam ser float, para conterem valores com casas decimais
	
	
	 
		 
	
	6.
	
		 Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ 
	
	
	
	exiba "lendo a idade"; lendo idade;
	
	
	cout "lendo a idade"; cin idade;
	
	
	System.out.println("lendo idade"); System.out.println("lendo idade");
	Certo
	
	cout << "lendo a idade"; cin >> idade;
	
	
	cout < lendo idade; cin > idade
	
Explicação:
	Falso. Erro no cout e no cin. Os operadores são >> e <<. E ainda ?: variável não tem espaço em branco
	cout < lendo idade; cin > idade
	 
	 VErdade
	cout << "lendo a idade"; cin >> idade;
	 
	Falso.  Faltam os operadores >> e <<
	cout "lendo a idade"; cin idade;
	 
	Falso. Em C++ não é exiba e lendo.
	exiba "lendo a idade"; lendo idade;
	 
	Falso. Não é Java. Em C++ usam-se cout para saída de dados e cin para entrada de dados
	System.out.println("lendo idade"); System.out.println("lendo idade");
	
	
	 
		 
	
	7.
	
		 Utilizando as regras do Portugol Studio, imagine que você precisa escrever um algoritmo que receba o ano atual e o ano de nascimento de um usuário, calcule e exiba a sua idade através da mensagem "Você tem ou fará XX anos", onde XX é a idade calculada. Qual das alternativas a seguir mostra a instrução correta a ser utilizada na exibição da idade? 
	
	
	
	leia("Você tem ou fará " / idade/ " anos")
	
	
	escreva("Você tem ou fará " /idade/ " anos")
	
	
	escreva("Você tem ou fará " * idade * " anos")
	Certo
	
	escreva("Você tem ou fará ", idade, " anos")
	
	
	leia("Você tem ou fará ", idade, " anos")
	
	
	 
		 
	
	8.
	
		 Assinale a opção correta : 
	
	
	
	Para entrada de dados usamos cout  e para saída de dados usamos cin
	
	
	Para entrada de dados usamos read e para saída de dados usamos write
	
	
	Para entrada de dados usamos cout com <<  e para saída de dados usamos cin com >>
	Certo
	
	Para entrada de dados usamos cin com >> e para saída de dados usamos cout com <<
	
	
	Para entrada de dados usamos cin com <<  e para saída de dados usamos cout com >>
	
	1.
		 Para satisfazer a regra de que para fazer AV3 o aluno deve ter nota maior ou igual a 4 em pelo menos uma das outras duas Avaliacoes, qual seria a sentença correta 
	
	Certo
	
	Se (AV1 >= 4) ou (AV2 >= 4)
	
	
	Se (AV1 > 4) ou (AV2 > 4)
	
	
	Se (AV1 > 4) e (AV2 > 4)
	
	
	Nenhuma outra alternativa satisfaz
	
	
	Se (AV1 >= 4) e (AV2 >= 4)
	
Explicação:
	 
	Verdadeira
	Se (AV1 >= 4) ou (AV2 >= 4)
	 
	Falsa. Tinha que ser >= e não apenas >
	Se (AV1 > 4) ou (AV2 > 4)
	 
	FAlsa.  Nâo tem que ter 4 ou mais nas duas provas, mas apenas em uma das provas.
	Se (AV1 >= 4) e (AV2 >= 4)
	 
	FAlsa. Tinha que ser >=  e no lugar do e tinha que se ou.
	Se (AV1 > 4) e (AV2 > 4)
	 
	Falsa.  A 1a. alternativa é a correta. Ou seja : Se (AV1
>= 4) ou (AV2 >= 4)
	Nenhuma outra alternativa satisfaz
	
	
	 
		 
	
	2.
	
		 Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela.
int x = 13, y = 4, z;
if( x > y ) { z = x; x = y; y = z; }
cout << z << " " << x << " " << y ; 
	
	Certo
	
	13 4 13
	
	
	13 13 4
	
	
	4 13 13
	
	
	0 4 13
	
	
	0 13 4
	
Explicação:
Fazendo um teste de mesa  através de comentários no trecho dado :
int x = 13, y = 4, z;           // x recebe 13 e y recebe 4     
if( x > y )           //testa se 13 é maior que 4 ... É verdade. Então, entra no bloco do if
{
   z = x;         // z recebe x, que vale 13. Ou seja, z recebe 13
   x = y;       // x recebe y, que é 4.   Ou seja, x recebe 4
  y = z;       // y recebe z, que vale 13. Ou seja, y recebe 13
}
cout << z << " " << x << " " << y ;  //SErá impresso  :    13  4  13
 
 
	
	
	 
		 
	
	3.
	
		 Considere o trecho de programa em C++ e assinale a opção que mostra o que é impresso na tela. int x, y, z; x = 10; y = 6; z = x/y; cout << z << " "; if (z > 0)    z = x % y; cout << z << " ";   
	
	Certo
	
	1  4
	
	
	Ocorrerá erro, pois o trecho não compila.
	
	
	4  1
	
	
	4  4
	
	
	1  1
	
Explicação:
Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso.
	
	
	 
		 
	
	4.
	
		 Considere o trecho de programa em C++. O que é impresso na tela ?
int x = 10, y = 3, z, k;
y = x + y - 1;
z = x/y;
k = y % x;
if ( k != 0)
cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k << "\n"; 
	
	
	
	x = 10 y = 12 z = 0.833 k = 1.2
	
	
	10 12 0 2
	
	
	10 12 0.833 1.2
	
	
	Nada é impresso na tela, pois k é zero.
	Certo
	
	x= 10 y = 12 z = 0 k = 2
	
Explicação:
É preciso fazer um teste de mesa ou chinês e encontrar a resposta correta, como indicado. Para isso, o conteúdo da aula 5 é suficiente, junto com declaração de variáveis de aula anterior.
int x = 10, y = 3, z, k; 
y = x + y - 1; 
z = x/y; 
k = y % x; 
if ( k != 0) 
cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k << "\n"; 
 
Teste de mesa 
	x
	y
	z
	k
	10
	3
	 
	 
	 
	12
	0
	2
	 
	 
	 
	 
y recebe 10+3-1, que é 12. Logo, y recebe 12
z recebe x/y, que é 10/12 que dá zero.
k recebe 12%10, que dá 2.
Como k é diferente de 0 temos que será impresso :
x = 10  y = 12  z = 0  k = 2
	
	
	 
		 
	
	5.
	
		 Analise o programa abaixo e selecione a alternativa que contenha a condição correta para que o número 27 seja mostrado na tela.   #include
using namespace std;
int main()
{
int N1, N2;
N1= 27;
N2= 54;
if ( ______________ )
{
   cout<< N2;
}
else
{
   cout<< N1;
}
return 0;
} 
	
	Certo
	
	N1 > N2 || N2 < 50
	
	
	N2 > N1 || N1 > 50
	
	
	N1 < N2 && N1 < 50
	
	
	N2 == N1 || N2 > 20
	
	
	N1 < N2 && N1 > 20
	
	
	 
		 
	
	6.
	
		 No C++, a estrutura seletiva if permite que sejam avaliadas condições para que, a partir do resultado dessa avaliação, o programa decida o trecho a ser executada. Imaginando que você precisa avaliar se um número armazenado na variável num é positivo, negativo, ou nulo, que alternativa apresenta o trecho da condição seletiva necessário para este teste? 
	
	Certo
	
	if (num>0)
{ cout <<"Este número é positivo!";}
else if (num<0)
{ cout <<"Este número é negativo!";}
else
{ cout <<"Este número é nulo!";}
	
	
	if (num<0)
{ cout <<"Este número é positivo!";}
else if (num>0)
{ cout <<"Este número é negativo!";}
else
{ cout <<"Este número é nulo!";}
	
	
	if (num>0)
{ cout <<"Este número é positivo!";}
else (num<0)
{ cout <<"Este número é negativo!";}
else
{ cout <<"Este número é nulo!";}
	
	
	else (num>0)
{ cout <<"Este número é positivo!";}
if (num<0)
{ cout <<"Este número é negativo!";}
else
{ cout <<"Este número é nulo!";}
	
	
	if (num>0)
{ cin <<"Este número é positivo!";}
else if (num<0)
{ cin <<"Este número é negativo!";}
else
{ cin <<"Este número é nulo!";}
	
	
	 
		 
	
	7.
	
		 Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando que você tenha um algoritmo no qual o salário esteja armazenado na variável SAL e o total de gastos esteja armazenado na variável GASTOS, como deve ser escrita a estrutura seletiva responsável por testar o que você deseja descobrir? 
	
	
	
	se (GASTOS==SAL)
   escreva("Você gastou mais do que deveria!")
	Certo
	
	se (GASTOS>SAL)               
   escreva("Você gastou mais do que deveria!")
	
	
	se (GASTOS>=SAL)
   escreva("Você gastou mais do que deveria!")
	
	
	se (GASTOS<=SAL)
   escreva("Você gastou mais do que deveria!")
	
	
	se (GASTOS
   escreva("Você gastou mais do que deveria!")
	
	
	 
		 
	
	8.
	
		 Considere um programa em C++ que  recebe um número inteiro qualquer e informe se ele é par ou ímpar. a estrutura seletiva adequada para teste do número é: 
	
	
	
	switch (resto==0)
  {cout <<"Este número é par!";}
case
  {cout <<"Este número é ímpar!";}
	
	
	if (resto=0)
  {cout <<"Este número é par!";}
if 
  {cout <<"Este número é ímpar!";}
	
	
	if (resto!=0)
  {cout <<"Este número é par!";}
else
  {cout <<"Este número é ímpar!";}
	Certo
	
	if (resto==0)
  {cout <<"Este número é par!";}
else
  {cout <<"Este número é ímpar!";}
	
	
	if (resto==0) then
  {cout <<"Este número é par!";}
elseif not
  {cout <<"Este número é ímpar!";}
	
	1.
		 O programa abaixo recebeu o valor 2 como entrada. Analise o programa abaixo e assinale a o valor que será impresso. #include
using namespace std;
int main()
{
  int a, b;
  cout<< "\n Digite um valor: ";
  cin>> a;
  if (a <= 2)
      b = a + 2 * 30 / 10;
  else
      b = a - 2 * 30 /10;
  cout<< b;
  system("pause");
} 
	
	Certo
	
	8
	
	
	0
	
	
	12
	
	
	2
	
	
	-4
	
	
	 
		 
	
	2.
	
		 Analise o código abaixo e marque as saídas corretas:
#include   < iostream > using namespace std; 
int main () { 
int x, i; x = 1;
cout << x; i = 6;
x = x + i; cout <<  x; 
if ( x <= 7) {
   cout  <<  x;
   x = x + 10;
} else {
   cout  <<  x;
}
retun 0;
} 
	
	
	
	1, 6 e 7
	Certo
	
	1, 7 e 7
	
	
	1, 6 e 16
	
	
	0, 6 e 7
	
	
	1, 7, 17
	
Explicação:
int x, i;
x = 1;
cout << x;
i = 6;
x = x + i;
cout <<  x;
if ( x <= 7) {
   cout  <<  x;
   x = x + 10;
} else {
   cout  <<  x;
}
Fazendo um teste de mesa, temos :
x = 1 e depois é impresso o valor 1
i recebe 6 e então, x recebe 1+6, que dá 7. Então, 7 é impresso.
Chegamos na condição do if e testamos se 7 <= 7.  É verdade ? Sim. Então, 7 é impresso e depois, x recebe 7 + 10, que dá 17.
Ou seja, foi impresso  1   7   7  
	
	
	 
		 
	
	3.
	
		 Sobre a estrutura seletiva "se", pode-se afirmar que ela (   ) permite que novas estruturas seletivas sejam definidas dentro dela; (   ) restringe a execução de um trecho do código à veracidade, ou não, de uma ou mais condições; (   ) não permite o teste de condições que combinem, na mesma expressão, operadores de tipos distintos; 
	
	
	
	V - F - V
	
	
	F - V - F
	
	
	V - V - V
	
	
	F - F - F
	Certo
	
	V - V - F
	
	
	 
		 
	
	4.
	
		  Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, sendo que na 1ª. execução  o valor de entrada é 10 e na 2ª. execução o valor de entrada é 0.    Para isso, considere o seguinte trecho em C++.   int num;   cout << "Digite um numero: ";
  cin >> num;   if (num  > 0)
  {
      num++;
      cout << num << " ";
  }
  cout << num + 1 << " ";
  if (num < 0)
  {
      num--;
      cout << num << " ";
  }
  else
     cout << num * 10 ; 
  
	
	
	
	11  110  1 10
 
	
	
	11   110    1   0
 
	
	
	11  110  1  0
 
	Certo
	
	11   12   110   1   0
 
	
	
	11   12    110
 
	
Explicação:
Analisando ...
1a. execução  : Valor de entrada é 10. Logo, num recebeu 10 na entrada.
1o. teste >>>  10 > 0 ? Sim . Então, entramos no bloco do 1o. if e fazemos num receber 11. Depois, exibimos 11 na tela. Seguindo... é
exibido o valor de num + 1, ou seja, é exibido na tela o valor 12. 
2o. teste >>> 11 < 0 ? Não. Então, entramos no último else que imprime o resultado de 11 * 10, que é 110
Concluindo a 1a. execução para a entrada 10 :           11  12  110
 
2a. execução :  Valor de entrada é 0.  Logo, num recebe 0 na entrada.
1o. teste >>> 0 > 0 ? Falso.  Não entramos no 1o. if. SEguindo em frente temos que o valor de num+1 é exibido na tela. Ou seja, 1 é exibido na tela.
2o. teste >>> 1 < 0 ? Não. Então, entramos no último else, que imprime o valor de 1 * 10, que é 10.
Concluindo a 2a. execução para a entrada 0 :     1   10
 
	
	
	 
		 
	
	5.
	
		 Você deseja analisar se um número inteiro qualquer fornecido pelo usuário é par e positivo ou par e negativo. Com base na sintaxe do Portugol Studio, o trecho que realiza corretamente o teste para descobrir as características do número é: 
	
	
	
	escreva("Informe um número qualquer: ")
leia(num)
resto=num/2
se (resto==0 !! num>0)
{ escreva("Este número é par e positivo!") }
senao se (resto!=0 !! num>0)
{ escreva("Este número é ímpar e positivo!")}
	
	
	escreva("Informe um número qualquer: ")
leia(num)
resto=num^2
se (resto==1 e num>1)
{ escreva("Este número é par e positivo!") }
senao se (resto!=0 e num>0)
{ escreva("Este número é ímpar e positivo!")}
	Certo
	
	escreva("Informe um número qualquer: ")
leia(num)
resto=num%2
se (resto==0 e num>0)
{ escreva("Este número é par e positivo!") }
senao se (resto!=0 e num>0)
{ escreva("Este número é ímpar e positivo!")}
	
	
	escreva("Informe um número qualquer: ")
leia(num)
resto=num%2
se (resto==0 e num<0)
{ escreva("Este número é ímpar e positivo!") }
senao se (resto!=0 e num>0)
{ escreva("Este número é par e positivo!")}
	
	
	escreva("Informe um número qualquer: ")
leia(num)
resto=num%2
se (resto==0 ou num>0)
{ escreva("Este número é par e positivo!") }
senao se (resto!=0 ou num>0)
{ escreva("Este número é ímpar e positivo!")}
	
	
	 
		 
	
	6.
	
		 Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela.
int x = 235, y = 138, z = 177, m;
m = z;
if( x < m) m = x;
if( y < m) m = y;
cout << m << " " << x << " " << y ; 
	
	
	
	177 138 235
	
	
	235 235 138
	Certo
	
	138 235 138
	
	
	138 138 235
	
	
	177 235 138
	
Explicação: A variável m ficará com o menor valor
	
	
	 
		 
	
	7.
	
		 Examine as afirmativas a seguir e marque a alternativa correta.
I- A estrutura de decisão pode alterar ou desviar o fluxo natural de execução de um algoritmo.
II- O uso de uma estrutura de decisão composta pode ser mais eficiente que o uso de duas estruturas de decisão simples, pois reduz o número de testes.
III- Muitas vezes é possível combinar a condição de duas estruturas de decisão simples em apenas uma utilizando operadores lógicos. 
	
	
	
	Apenas a alternativa i está correta.
	
	
	Apenas a alternativa ii está correta.
	Certo
	
	Todas as alternativas estão corretas.
	
	
	Todas as alternativas estão erradas.
	
	
	Apenas a alternativa iii está correta.
	
Explicação: As estruturas de decisão realmente alteram o fluxo de um programa, uma estrutura composta é mais eficiente que duas simples, já que há menos testes e podemos usar operadores lógicos para combinar condições e reduzir o número de estruturas de decisão simples. Portanto todas as afirmativas estão corretas.
	
	
	 
		 
	
	8.
	
		 Considere o trecho de programa em C++. O que é impresso na tela ?
int x = 10, y = 3, z, k;
y = x + y - 1;
z = x/y;
k = y % x;
if (k == 0)
cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k;
else
cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; 
	
	Certo
	
	11 11 2 0
	
	
	x= 11 y = 11 z = 2 k = 0
	
	
	x = 10 y = 12 z = 0 k = 0
	
	
	10 12 2 0
	
	
	x = 10 y = 12 z = 0.833 k = 0
	
Explicação:
É preciso fazer um teste de mesa ou chinês e encontrar a resposta correta, como indicado. Para isso, o conteúdo sobre comando condicional, atualmente, na aula 5,  é suficiente, junto com declaração de variáveis de aula anterior.
 
x recebe 10 e depois
y recebe 3 e depois y recebe 10+3-1, que dá 12
z recebe 10/12, que dá 0
k recebe 2
TEste do if é falso. Então, entra-se no else e é impresso :    11   11  2  0 
	
	1.
		 Às vezes me perguntam se existe alguma razão para existirem tantas formas de decisão nas linguagens de programação. Eu sempre digo: Claro que sim! Analise as afirmativas abaixo e escolha a opção certa. I Se tivermos que fazer um teste e só executar um bloco, que pode ter uma instrução ou mais instruções, o if simples deverá ser escolhido.              II Se tivermos duas possibilidades de respostas, não poderemos usar dois if(s) simples, onde o teste de um é o complementa o do outro,  porque poderão sair duas  respostas.   III Se tivermos três possibilidades de respostas, podemos usar um if simples e um if composto que não teremos problemas com as respostas.     IV Quando temos 10 possibilidades de respostas, poderemos usar 10 if(s) simples,  embora usar ifs encadeados seria mais eficiente.  
	
	
	
	Somente a afirmativa I é verdadeira
	Certo
	
	As afirmativas I e IV são verdadeiras
	
	
	As afirmativas II, III e IV são verdadeiras
	
	
	Somente a afirmativa III é falsa
	
	
	Somente a afirmativa II é verdadeira
	
Explicação: As respostas falsas são conclusivas
	
	
	 
	
	
	2.
	
		     
	
	Certo
	
	11  10  50  10  2
	
	
	11  10  50  10
	
	
	11  50  10  2
	
	
	11  50 10
	
	
	10  50  10  2
	
Explicação:
1ª. Execução : valor de a é 1
Entrar no case 1, depois no case 3 e em seguida, no case 5. 
Então será impresso  11
                                       10
2ª. Execução : valor de a é 5
Entrar no case 5 e imprimir  50
3ª. Execução : valor de a é 20
Entrar no case 20 e depois no case 30.
Então, será impresso        10
                                              2
Concluindo :
Valores impressos :  11  10  50  10 2
	
	
	 
	
	
	3.
	
		 Considere o trecho de programa em C++ abaixo.  O que é impresso na tela quando o número de entrada é 7 ? Assinale a opção correta.   int num;
  cout << "Digite um numero: ";
  cin >> num;
  if (num % 2 == 0)
    cout << num << "é divisível por 2";
  else
    if (num % 3 == 0 && num % 5 == 0)
       cout << num << " é divisível por 3 e por 5";
    else
        cout << num << " ### " ; 
	
	
	
	 
Apenas 7
	
	
	 
7 é divisível por 3 e por 5.
	Certo
	
	7 ###
	
	
	 
7 não é divisível por 2.
	
	
	 
Nada aparece, pois o trecho de programa possui erro.
	
Explicação:
Analisando o trecho em C++ e considerando a entrada 7 temos :
num recebeu 7 na entrada.
1o. teste : 7 % 2 é zero ? Falso. Então, entramos no else do 1o. if  e testamos a condição do 2o. if
2o. teste : 7 % 3 é zero ? Falso. Nem adianta testar a outra condição deste if, pois existe o &&. DAí, entramos no else do 2o. if, imprimindo na tela 
                                     7###
Logo, a resposta correta é   7###
 
	
	
	 
	
	
	4.
	
		 Quero escrever um programa que leia o número equivalente a um dia da semana e retorne o nome equivalente considerando que 1- Domingo, 2 - Segunda etc. Qual  a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla? 
	
	
	
	while
	
	
	for
	Certo
	
	switch/case
	
	
	do/while
	
	
	cout
	
Explicação:
	
	switch/case
	 
	É para repetição
	do/while
	 
	É para repetição
	for
	 
	É para impressão na tela
	cout
	 
	É para repetição
	while
	
	
	 
	
	
	5.
	
		 Um aluno de Introdução a Programação precisa escrever um programa que leia um caracter equivalente a uma estação do ano imprima o nome equivalente considerando que P- Primavera, V - Verão, O - Outono e I - Inverno. Qual a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla? 
	
	
	
	while
	
	
	for
	Certo
	
	switch/case
	
	
	break
	
	
	do/while
	
Explicação:
	 
	Falso. Comando de repetição
	do/while
Falso. Comando de repetição.
	for
	 
	Verdadeiro.
	switch/case
	 
	Falso. Comando de repetição.
	while
	 
	Falso. Comando de interrupção.
	break
 
	
	
	 
	
	
	6.
	
		 Considere que o trecho de código em C++ foi executado 2 vezes, sendo que na 1ª. execução o valor de entrada foi 10 e na 2ª. execução, o valor de entrada foi 5. Ao final das duas execuções, respectivamente, o que foi impresso na tela ?
cout << "Digite um valor : ";
cin >> z;
switch(z) {
case 5 : cout << 3 * z << " ";
case 10 : cout << 11 /2 * z << " ";
case 20 : cout << z * z - 10 << endl;
break;
default : cout << "Entrada invalida. " << endl;
} 
	
	
	
	15 25 15 50 90
	
	
	15 27.5 15 55 90
	
	
	55 90 15 27.5 15
	Certo
	
	50 90 15 25 15
	
	
	55 1
	
Explicação:
O aluno deverá fazer um teste de mesa ou chinês para poder escolher a resposta certa. Tal questão envolve conhecimento de switch ... case com e sem break e de operadores aritméticos, como a divisão entre inteiros ocorrida no 2o. case.
	
	
	 
	
	
	7.
	
		 Considere o trecho de programa em C++ abaixo.  O que é impresso na tela quando o número de entrada é 9 ? Assinale a opção correta.   int x;   cout << "Digite um numero: ";   cin >> x;   if (x % 2 == 0)     cout << x << "é divisível por 2";   else     if (x % 3 == 0 && x % 5 == 0)        cout << x << " é divisível por 3 e por 5";     else         cout << x <<  " ### " ;   
	
	
	
	Nada aparece, pois o trecho de programa possui erro.
	
	
	9 não é divisível por 2.
	
	
	9 é divisível por 3 e por 5.
	
	
	Apenas 9
	Certo
	
	9 ###
	
Explicação:
Como a entrada foi 9 então o teste do 1o. if falha e entramos no 1o. else.
Dentro do 1o. else temos uma conjunção, ou seja, um E.  Como o 1o. teste do E é verdadeiro, mas o 2o. teste é falso, não entramos no bloco do 2o. if.  Entramos então,  no último else .   Por isso, é impresso o valor de x e ###.  Como x vale 9, a saída é 9###
	
	
	 
	
	
	8.
	
		 Considerere um trecho de um programa em  C++. Qual a variável que será alterada e para qual valor ela mudará ? int   a = 2, b = 4, x = 12, y = 11, z = 3;              float t = 0;             if (x < y+z)                  if (y != z*4 - 2)                      t = y/z;                 else                      a = y % z;              else                 b = z + y/x;   
	
	
	
	A variável a ficará 1
	Certo
	
	A variável t ficará 3
	
	
	A variável b ficará 3
	
	
	A variável b ficará 1
	
	
	Nenhuma variável será alterada.
	
Explicação:
int   a = 2, b = 4, x = 12, y = 11, z = 3;
             float t = 0;
            if (x < y+z)
                 if (y != z*4 - 2)
                     t = y/z;
                else
                     a = y % z;
             else
                b = z + y/x;
Analisando o trecho acima.
1o. if  :  12  < 14 ? Sim. Entrar no 1o. if.
2o. if : 11 !=  3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if.
Então, é preciso fazermos t receber  y/z, ou seja, t receber 11/3, que dá 3.
	
	
	
	1.
	
		 O trecho de código a seguir utiliza uma estrutura de repetição do tipo  for . Marque a alternativa que apresenta de forma correta o mesmo trecho utilizando a estrutura de repetição while. Seja: for( int i=3; i<100; i+=2)      cout <<   i ;   
	
	
	
	    int i;
    i=3;
    while(i<100)
    {
         i=i+2;
        cout << i;
    }
	
	
	   int i;
    while (i<100) {
         cout << i;
         i=3;
         i=i+2;
    }
	
	
	   int i;
    while (i<100) {
       i=3;
      cout << i;
      i=i+2;
   }
	
	
	    int i;
    i=3;
    while(i<100)   
     cout << i;
      i=i+2;
   
	Certo
	
	   int i;
    i=3;
    while (i<100)   {
      cout << i;
      i=i+2;
 }
	
Explicação:
A estrutura dos dois comandos é a seguinte :
 inicialização, teste lógico, incremento/decremento e o trecho da repetição.
conforme aula e gabarito.
 
	
	
	 
	
	
	2.
	
		 Para que a palavra "AMOR" seja escrita na tela 5 vezes, qual condição apropriada deve ser colocada no trecho de código abaixo? Marque a opção correta.
x = 1;
while ( _________ )
{
cout<<"AMOR \n";
x = x + 2;
} 
	
	
	
	x > 10
	Certo
	
	x < 10
	
	
	x <= 11
	
	
	x < 5
	
	
	x <= 5
	
Explicação:
Analisando : 
x = 1;
while ( _________ )
{
cout<<"AMOR \n";
x = x + 2;
}
Note que x é um contador que é inicializado com 1 e que varia de 2 em 2. Logo, é preciso testar  x < 10.  Veja que entraremos no loop quando  :
x vale 1
x vale 3
x vale 5
x vale 7
x vale 9
E quando x for para 11, o teste do loop falhará. Então, teremos entrado 5 vezes no bloco do while.
	
	
	 
	
	
	3.
	
		 A linguagem de programação C++ dispõe de três estruturas de repetição: do..while, while e for. Pensando na maneira como cada uma delas funciona, observe o trecho de código a seguir: Qual das alternativas a seguir, escritas com a estrutura for, equivale à estrutura while anterior? 
	
	
	
	for (int cont=0; cont <= 10; cont+=2)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (int cont=10; cont <= 200; cont+=2)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (cont++; cont <= 10; int cont=0)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	Certo
	
	for (int cont=0; cont <= 10; cont++)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (int cont=10; cont <= 0; cont++)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	 
	
	
	4.
	
		 A fim de possibilitar a implementação de algoritmos estudamos algumas estruturas básicas, como estrutura de desvio de fluxo, estrutura de repetição etc. Entre as estrutura de repetição há uma na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição. Esta estrutura é implementada em C++ pelo comando básico: 
	
	
	
	for/while
	Certo
	
	do/while
	
	
	for
	
	
	while
	
	
	do/for
	
Explicação:
O comando do...while faz para depois testar. Então, o bloco a ser repetido será executado pelo menos uma vez antes de testarmos a condição.
Os comando for ou while, temos que testar antes de fazer.
	
	
	 
	
	
	5.
	
		 Imagine que você precisa escrever um programa em C++ que receba uma sequência de números e, para cada número informado, diga se ele é par ou ímpar. Essa sequência se encerra quando o usuário digitar 0 e você precisa utilizar uma estrutura repetitiva com pré-teste. Qual dos trechos a seguir atenderia essa solicitação? 
	
	
	
	for (num!=0) { 
  switch (num%2==0) 
  { cout <<"Este número é par.\n"; }
  switch
  { cout <<"Este número é ímpar.\n"; }
  cout <<"Informe  um número qualquer: ";
  cin >>num;
}
	
	
	do { 
  if (num%2==0) 
  { cout <<"Este número é par.\n"; }
  else
  { cout <<"Este número é ímpar.\n"; }
  cout <<"Informe  um número qualquer: ";
  cin >>num;
} while (num!=0)
	
	
	while (num!=0) { 
  if (num%2==0) 
  { cin <<"Este número é par.\n"; }
  else
  { cin <<"Este número é ímpar.\n"; }
  cin <<"Informe  um número qualquer: ";
  cout >>num;
}
	
	
	for (num==0; num!=0; num--) { 
  if (num%2==0) 
  { cout <<"Este número é par.\n"; }
  else
  { cout <<"Este número é ímpar.\n"; }
  cout <<"Informe  um número qualquer: ";
  cin >>num;
}
	Certo
	
	while (num!=0) { 
  if (num%2==0) 
  { cout <<"Este número é par.\n"; }
  else
  { cout <<"Este número é ímpar.\n"; }
  cout <<"Informe  um número qualquer: ";
  cin >>num;
}
	
	
	 
	
	
	6.
	
		 Considere o seguinte problema: Uma turma precisa escolher seu representante. Sabendo que existem apenas dois candidatos, identificados pelas letras A e B, receba o número do aluno e o candidato por ele escolhido e contabilize os votos de cada um. A leitura de votos será finalizada quando o número do aluno informado for 0. A linha inicial da estrutura repetitiva com pré-teste capaz de controlar o recebimento dos votos é:   
	
	
	
	if (num!=0)
	Certo
	
	while (num!=0)
	
	
	do (num!=0)
	
	
	while (num==0)
	
	
	for (num<=0)
	
	
	 
	
	
	7.
	
		 Considere o trecho abaixo sabendo que num é um
variável inteira.   num = 11; do {          if (num % 2 == 0)             cout << num << "\n";        num = num -1 ; }  while (num != 0);   Assinale a opção correta : 
	
	
	
	o trecho fornecido pára quando num for diferente de zero e são exibidos os valores 10 e 8, pelo menos.
	Certo
	
	O trecho fornecido pára quando  num for zero e os números exibidos  são todos os pares de 10 até 2, nesta ordem.
	
	
	O trecho fornecido pára quando  num for zero e os números exibidos  são todos os pares de 10 até 0, nesta ordem.
	
	
	O trecho fornecido pára quando  num for diferente de zero e o único número exibido é o 10.
	
	
	O trecho entra em loop.
	
Explicação:
1a. opção está correta. Veja o teste de mesa :
	num
	num % 2 é igual a zero ? 
	num é diferente de zero ?  
	 
	11
	 11 % 2 é 1. Logo, é falso o teste do if.
	 
	 
	10
	 
	10 diferente de 0 ? sim
	 
	 
	10 % 2 é zero ? sim. Imprime o 10
	 
	 
	9
	 
	9 é diferente de 0 ? sim
	 
	 
	9 % 2 é zero ? Não
	 
	 
	8
	 
	8 é diferente de zero ? sim
	 
	 
	8 % 2 é zero ?  Sim. Imprime o 8 
	 
	 
	7
	 
	7 é diferente de zero ? sim
	 
	 
	7 % 2 é zero ? Não
	 
	 
	6  
	  6 % 2 é zero ? Sim. Imprime o 6 e decrementa para 5  valor de num 
	6 é diferente de zero  ? sim
	 
	 
	  E  assim continua ... irá parar quando num for zero...
Note que está imprimindo os pares de 10 até 2, pois quando decrementa num para zero, o teste do do...while falha.
	 
	 
	 
	 
	 
	 
Imprimirá  os números 10  8  6  4  2  , um embaixo do outro.
 
2a. opção é falsa.   Pára quando o valor de num for zero, mas não imprime o valor 0, justamente pelo já explicado no item anterior.
3a. opção é falsa.   Pára quando o valor de num for zero. Além disso, é um loop, então imprimem-se vários níumeros como mostrado na explicação da 1a. opção.
4a. opção é falsa.  Como mostrado no 1o. item, vários números são impressos :  os números 10  8  6  4  2  , um embaixo do outro.
5a. opção é falsa.  Falso. Como mostrado no 1o. item, vários números são impressos :  os números 10  8  6  4  2  , um embaixo do outro. Ocorre a parada do loop quando num for zero.
                   
	
	
	 
	
	
	8.
	
		 Considere que uma refeição saudável envolve o consumo máximo de 550 calorias. Sabendo disso, você deseja escrever um programa que, a partir da quantidade de calorias consumidas em uma refeição, informe se você ultrapassou esse valor ou permaneceu dentro do limite. Para fazer o cálculo do consumo total, você precisará que seja digitado o valor calórico de cada elemento. Como não se sabe exatamente quantos alimentos diferentes foram consumidos, considere que será digitado 0 quando não houver mais consumo a ser informado. Ao final do programa, é necessário exibir o consumo total de calorias e informar se foi ultrapassado o valor sugerido por refeição, se o usuário permaneceu dentro do limite ou se consumiu exatamente a quantidade de calorias sugerida. Qual das alternativas a seguir apresenta a estrutura repetitiva adequada para este problema?    
	
	
	
	do (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cout<< "Informe as calorias do alimento " << cont <<": ";
  cin>> calAlimento;
}
	
	
	for (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cout<< "Informe as calorias do alimento " << cont <<": ";
  cin>> calAlimento;
}
	
	
	while (cont!=0) {
  cont++; totCalorias+=0;
  cout<< "Informe as calorias do alimento " << cont <<": ";
  cin>> calAlimento;
}
	
	
	while (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cin<< "Informe as calorias do alimento " << cont <<": ";
  cout>> calAlimento;
}
	Certo
	
	while (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cout<< "Informe as calorias do alimento " << cont <<": ";
  cin>> calAlimento;
}
	
	1.
		 O trecho de código a seguir utiliza uma estrutura de repetição do tipo  for . Marque a alternativa que apresenta de forma correta o mesmo trecho utilizando a estrutura de repetição while. Seja: for( int i=3; i<100; i+=2)      cout <<   i ;   
	
	Certo
	
	   int i;
    i=3;
    while (i<100)   {
      cout << i;
      i=i+2;
 }
	
	
	   int i;
    while (i<100) {
       i=3;
      cout << i;
      i=i+2;
   }
	
	
	    int i;
    i=3;
    while(i<100)   
     cout << i;
      i=i+2;
   
	
	
	   int i;
    while (i<100) {
         cout << i;
         i=3;
         i=i+2;
    }
	
	
	    int i;
    i=3;
    while(i<100)
    {
         i=i+2;
        cout << i;
    }
	
Explicação:
A estrutura dos dois comandos é a seguinte :
 inicialização, teste lógico, incremento/decremento e o trecho da repetição.
conforme aula e gabarito.
 
	
	
	 
	
	
	2.
	
		 A fim de possibilitar a implementação de algoritmos estudamos algumas estruturas básicas, como estrutura de desvio de fluxo, estrutura de repetição etc. Entre as estrutura de repetição há uma na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição. Esta estrutura é implementada em C++ pelo comando básico: 
	
	
	
	for/while
	
	
	for
	
	
	do/for
	Certo
	
	do/while
	
	
	while
	
Explicação:
O comando do...while faz para depois testar. Então, o bloco a ser repetido será executado pelo menos uma vez antes de testarmos a condição.
Os comando for ou while, temos que testar antes de fazer.
	
	
	 
	
	
	3.
	
		 A linguagem de programação C++ dispõe de três estruturas de repetição: do..while, while e for. Pensando na maneira como cada uma delas funciona, observe o trecho de código a seguir: Qual das alternativas a seguir, escritas com a estrutura for, equivale à estrutura while anterior? 
	
	
	
	for (int cont=10; cont <= 200; cont+=2)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (cont++; cont <= 10; int cont=0)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (int cont=10; cont <= 0; cont++)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (int cont=0; cont <= 10; cont+=2)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	Certo
	
	for (int cont=0; cont <= 10; cont++)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	 
	
	
	4.
	
		 Considere que uma refeição saudável envolve o consumo máximo de 550 calorias. Sabendo disso, você deseja escrever um programa que, a partir da quantidade de calorias consumidas em uma refeição, informe se você ultrapassou esse valor ou permaneceu dentro do limite. Para fazer o cálculo do consumo total, você precisará que seja digitado o valor calórico de cada elemento. Como não se sabe exatamente quantos alimentos diferentes foram consumidos, considere que será digitado 0 quando não houver mais consumo a ser informado. Ao final do programa, é necessário exibir o consumo total de calorias e informar se foi ultrapassado o valor sugerido por refeição, se o usuário permaneceu dentro do limite ou se consumiu exatamente a quantidade de calorias sugerida. Qual das alternativas a seguir apresenta a estrutura repetitiva adequada para este problema?    
	
	Certo
	
	while (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cout<< "Informe as calorias do alimento " << cont <<": ";
  cin>> calAlimento;
}
	
	
	while (cont!=0) {
  cont++; totCalorias+=0;
  cout<< "Informe as calorias do alimento " << cont <<": ";
  cin>> calAlimento;
}
	
	
	for (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cout<< "Informe as calorias do alimento " << cont <<": ";
  cin>> calAlimento;
}
	
	
	do (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cout<< "Informe as calorias do alimento " << cont <<": ";
  cin>> calAlimento;
}
	
	
	while (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cin<< "Informe as calorias do alimento " << cont <<": ";
  cout>> calAlimento;
}
	
	
	 
	
	
	5.
	
		 Considere o seguinte problema: Uma turma precisa escolher seu representante. Sabendo que existem apenas dois candidatos, identificados pelas letras A e B, receba o número do aluno e o candidato por ele escolhido e contabilize os votos de cada um. A leitura de votos será
finalizada quando o número do aluno informado for 0. A linha inicial da estrutura repetitiva com pré-teste capaz de controlar o recebimento dos votos é:   
	
	
	
	if (num!=0)
	Certo
	
	while (num!=0)
	
	
	for (num<=0)
	
	
	do (num!=0)
	
	
	while (num==0)
	
	
	 
	
	
	6.
	
		 Para que a palavra "AMOR" seja escrita na tela 5 vezes, qual condição apropriada deve ser colocada no trecho de código abaixo? Marque a opção correta.
x = 1;
while ( _________ )
{
cout<<"AMOR \n";
x = x + 2;
} 
	
	
	
	x <= 11
	
	
	x < 5
	
	
	x > 10
	Certo
	
	x < 10
	
	
	x <= 5
	
Explicação:
Analisando : 
x = 1;
while ( _________ )
{
cout<<"AMOR \n";
x = x + 2;
}
Note que x é um contador que é inicializado com 1 e que varia de 2 em 2. Logo, é preciso testar  x < 10.  Veja que entraremos no loop quando  :
x vale 1
x vale 3
x vale 5
x vale 7
x vale 9
E quando x for para 11, o teste do loop falhará. Então, teremos entrado 5 vezes no bloco do while.
	
	
	 
	
	
	7.
	
		 Uma turma precisa escolher seu representante. Sabendo que existem apenas dois candidatos, identificados pelas letras A e B, imagine que você precisa escrever um programa em C++ que receba o número do aluno e o candidato por ele escolhido e contabilize os votos de cada um. A leitura de votos será finalizada quando o número do aluno informado for 0. Contabilize também os votos nulos, que são aqueles diferentes de A ou B. Ao final, é preciso exibir o candidato vencedor, os votos para o candidato A, os votos para o candidato B e os votos nulos. Qual das alternativas a seguir apresenta o trecho de código adequado à solução desse problema? 
	
	
	
	cout<< "Digite o número do aluno: "; cin>> num;
while (num!=0) {
  cout<< "Digite a letra de seu candidato: "; cin>> voto;
  case (voto == A)
    { contA++; }
  case (voto == B)
    { contB++; }
  case
  { contN++; }
  cout<< "Digite o número do aluno: ";
  cin>> num;
}
	
	
	cout<< "Digite o número do aluno: "; cin>> num;
for (num!=0) {
  cout<< "Digite a letra de seu candidato: "; cin>> voto;
  if (voto == A)
    { contA++; }
  else if (voto == B)
    { contB++; }
  else
  { contN++; }
  cout<< "Digite o número do aluno: ";
  cin>> num;
}
	Certo
	
	cout<< "Digite o número do aluno: "; cin>> num;
while (num!=0) {
  cout<< "Digite a letra de seu candidato: "; cin>> voto;
  if (voto == A)
    { contA++; }
  else if (voto == B)
    { contB++; }
  else
  { contN++; }
  cout<< "Digite o número do aluno: ";
  cin>> num;
}
	
	
	cin<< "Digite o número do aluno: "; cout>> num;
do while (num!=0) {
  cin<< "Digite a letra de seu candidato: "; cout>> voto;
  if (voto == A)
    { contA++; }
  else if (voto == B)
    { contB++; }
  else
  { contN++; }
  cin<< "Digite o número do aluno: ";
  cout>> num;
}
	
	
	cout<< "Digite o número do aluno: "; cin>> num;
do (num!=0) {
  cout<< "Digite a letra de seu candidato: "; cin>> voto;
  if (voto == A)
    { contA++; }
  else if (voto == B)
    { contB++; }
  else
  { contN++; }
  cout<< "Digite o número do aluno: ";
  cin>> num;
}
	
	
	 
	
	
	8.
	
		 Considerando a seguinte sequencia de instruções, marque a alternativa que indica o comando correspondente para preenchimento da lacuna.
...
cin>>matricula;
______________ (matricula<99)
{
cin>>matricula;
} 
	
	
	
	do case
	
	
	repeat
	
	
	loop
	
	
	for
	Certo
	
	while
	
	1.
		 Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa correta para que um programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR na linguagem C++. 
	
	
	
	for (int i=0; i =< 200; i++)
	Certo
	
	for (int i=0; i < 200; i++)
	
	
	for ( i=0; i <= 200; i++)
	
	
	for (int i=0; i <= 200; i++)
	
	
	for (int i=0, i <= 200, i++)
	
Explicação:
	 
	 Verdadeira
	for (int i=0; i < 200; i++)
	 
	 Falsa. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no teste do for.
	for (int i=0; i <= 200; i++)
	 
	 FAlsa. A variável i não foi declarada.
	for ( i=0; i <= 200; i++)
	 
	 Falsa.  Não existe =<
	for (int i=0; i =< 200; i++)
	 
	 Falsa.  Uso indevido do for. Não se põe vírgula e sim ponto e vírgula.
	for (int i=0, i <= 200, i++)
	
	
	 
	
	
	2.
	
		 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) {
    int i;
    double x, y = 0;
    for (i = 0; i < 10; i++){
        cout << "Digite um numero: ";
        cin >> x;
        if ((x % 2) == 1){
            y = y + x;  
        }
    }
    cout << "Numero: " << y << "\n";
    system("PAUSE");
    return 0;
} 
	
	
	
	A média dos elementos digitados
	
	
	A quantidade de elementos digitados
	
	
	O maior de todos os elementos digitados
	Certo
	
	A soma dos elementos ímpares
	
	
	A soma de todos os elementos
	
Explicação:
Comentando o programa :
 
    double x,
             y = 0;                   //inicializa o somatório
    for (i = 0; i < 10; i++){
        cout << "Digite um numero: ";
        cin >> x;                //lê número e armazena em x
        if ((x % 2) == 1){   //testa se x é ímpar. Se for então faz a acumulação em y, ou seja, gera um somatório com o valor de cada x 
            y = y + x;   
        }
    }
    cout << "Numero: " << y << "\n";       //imprime y que acumulou a soma dos valores armazenados em x, ou seja, os valores ímpares
	
	
	 
	
	
	3.
	
		 
	
	
	
	o valor de s está indefinido e o valor de num é 7
	
	
	9 e 9
	
	
	50 e 16
	
	
	50 e 9
	Certo
	
	16 e 9
	
Explicação:
 
	conta
	num
	s
	conta <= 40 ?
	10
	1
	0
	sim
	20
	3
	0 + 1 , que dá 1
	sim
	30
	5
	1 + 3, que dá 4
	sim
	40
	7
	4 + 5, que é 9
	sim
	50
	9
	9 + 7, que é 16
	Falso !
 
Valor final de s é 16 e o valor final de num é 9
	
	
	 
	
	
	4.
	
		 Após a execução do trecho de código, abaixo, quais números serão exibidos na tela?
for(int i=3; i<100; i=i+19)
cout << " " << i; 
	
	
	
	3 23 40 60 79 98
	
	
	3 23 42 61 80 99
	Certo
	
	3 22 41 60 79 98
	
	
	3 22 41 59 79 98
	
	
	3 22 41 60 79 99
	
Explicação:
Considerando o trecho 
for(int i  =  3; i<100;  i = i+19) 
    cout << " " << i;
fazendo passo a passo :
	i
	 i < 100 ? 
	3
	 3 < 100 ? Sim
	3+ 19 é 22
	22  < 100 ? Sim
	22+ 19 é 41
	41 < 100  ? Sim
	41 + 19 é 60 
	60 < 100 ? sim
	60 + 19 é  79 
	79 < 100 ? sim
	79 + 19 é 98
	98 <  100 ? sim
	98 + 19 é 117
	 117 < 100 ? falsa. Então não entra no loop
 
TELA
3  22  41 60 79 98  
	
	
	 
	
	
	5.
	
		 O que será impresso, após a execução do código, a seguir?
#include < iostream >
using namespace std;
int main()
{
for(int i=25;i>0;i=i-6) cout << i << " ";
system( "pause" );
} 
	
	
	
	10 5 0 13 7
	
	
	0 0 0 0 0
	Certo
	
	25 19 13 7 1
	
	
	12 5 10 7 13
	
	
	12 8 10 7 15
	
Explicação:
Analisando o trecho do programa :
for(int i = 25 ;i>0  ;i=i-6)
   cout << i << " ";
Façamos um teste de mesa :
 
	i
	 i > 0 ? 
	25
	sim
	19
	sim
	13
	 sim
	7
	 sim
	1
	 sim
	-5
	 não
TELA :
25  19  13  7  1
	
	
	 
	
	
	6.
	
		 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) {
    int i;
    double x, y;
    cout << "Digite um numero: ";
    cin >> x;
    for (i=0; i<5; i++){
        cout << "Digite um numero: ";
        cin >> y;
        if (y > x){
           x = y;     
        }
    }
    cout << "Numero: " << x << "\n";
    system("PAUSE");
    return 0;
} 
	
	
	
	O menor de todos os elementos digitados
	
	
	A média dos elementos digitados
	
	
	A quantidade de elementos digitados
	Certo
	
	O maior de todos os elementos digitados
	
	
	A quantidade de elementos pares
	
Explicação:
Ao final do programa o valor de x será impresso e vemos que a cada rodada do loop (while), o valor de entrada armazenado em y é comparado com x. Se y for maior que x, guardamos em x o maior valor.
 
	
	
	 
	
	
	7.
	
		 Imagine que você precisa escrever um programa em C++ que receba o sexo de 100 pessoas (F para Feminino ou M para Masculino).
Ao final da leitura dos sexos, o programa precisa exibir as seguintes informações: quantidade de mulheres, quantidade de homens, percentual de mulheres e percentual de homens. Observações: 1. O programa deve funcionar com "F" e "M" maiúsculos ou minúsculos; 2. A estrutura de repetição a ser utilizada deve ser FOR. Sabendo disso, qual seria o trecho de repetição adequado para esse programa? 
	
	Certo
	
	for (int cont=1;cont<=100;cont++) {
  cout <<"Qual o sexo? ";
  cin >>sexo;
  if (sexo==F || sexo==f)
  { qtdeF++; }
  else if (sexo==M || sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont>=100;cont--) {
  cout <<"Qual o sexo? ";
  if (sexo==F && sexo==f)
  { qtdeF++; }
  else if (sexo==M &&| sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont<=100;cont++) {
  cin <<"Qual o sexo? ";
  cout >>qtdeF;
  if (sexo==F && sexo==f)
  { qtdeF++; }
  else if (sexo==M || sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont>=100;cont--) {
  cout <<"Qual o sexo? ";
  cin >>sexo;
  if (sexo==F && sexo==f)
  { qtdeF++; }
  else if (sexo==M || sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont<=100;cont++) {
  cout <<"Qual o sexo? ";
  cin >>qtdeF;
  if (sexo==F && sexo==f)
  { qtdeF--; }
  else if (sexo==M || sexo==m)
  { qtdeM--; }
}
	
	
	 
	
	
	8.
	
		 Marque a opção correta.  Considere o trecho de programa feito abaixo em C++. O que é impresso na tela ?
 
   int conta, num = 1, prod = 1;
   for (conta = 4; conta > 0; conta--) {
      prod = prod *num;
      num++;
   }
   cout << "Prod = "  << prod << "  num = " << num << endl;   
	
	
	
	 
Prod = 6  num = 4
	
	
	 
             Prod = 1  num = 2
Prod = 2   num = 3
Prod = 6   num = 4
Prod = 24 num = 5
 
	Certo
	
	Prod = 24 num = 5
	
	
	 
Prod = 6   num = 5
	
	
	 
Prod não pode ser calculado e num assumirá o valor final 5.
	
Explicação:
Analisando o trecho e fazendo em seguida um teste de mesa :
   int conta, num = 1, prod = 1;
   for (conta = 4; conta > 0; conta--) {
          prod = prod *num;
         num++;
   }
   cout << "Prod = "  << prod << "  num = " << num << endl;
 
TESTE de mesa :
 
	conta
	conta > 0
	num 
	prod
	4
	 4 > 0 ? sim
	1
	1
	3
	3 > 0 ? sim
	2
	1
	2
	2 > 0 ?  sim
	3
	2
	1
	1 > 0 ? sim
	4
	6
	0
	0 > 0 ? FAlso
	5
	24
Terminando o for, será impresso :
Prod = 24 num = 5
	
	1.
		 Observe o trecho de código a seguir: Sobre ele, podemos afirmar que: I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas; II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades; III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f". 
	
	
	
	As afirmativas I, II e III são verdadeiras.
	
	
	As afirmativas I e II são verdadeiras.
	
	
	As afirmativas I e III são verdadeiras.
	
	
	Somente a afirmativa III é verdadeira.
	Certo
	
	Somente a afirmativa I é verdadeira.
	
	
	 
	
	
	2.
	
		 Analise o trecho do código abaixo, e indique a saída obtida se for lido o valor 5 para n: 
cin>>n;
total=0; for (i=15; i>n; i-=2)
{
    total+=i;
}
cout < < total;  
	
	Certo
	
	55
	
	
	48
	
	
	63
	
	
	60
	
	
	39
	
Explicação:
Considerando o trecho e n sendo 5 : 
cin>>n;
total=0;
for (i=15; i>n; i-=2)
{
    total+=i;
}
cout < < total; 
temos o teste de mesa :
	n
	total
	i
	5
	0
	15
	 
	0 + 15 que é 15
	13
	 
	15 + 13 que é 28
	11
	 
	28 + 11 que é 39 
	9
	 
	39 + 9  que é 48
	 7
	 
	 48 + 7 que é 55 
	 5   ( 5 > 5 dá falso)
Logo, total é 55
	
	
	 
	
	
	3.
	
		 Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? 
	
	
	
	for (i = num; i > 0; i++)
	Certo
	
	while (num != 0)
	
	
	while (num == 0)
	
	
	enquanto (num > 0)
	
	
	for ( i = 0; i == num; i++)
	
Explicação:
	 verdadeira
	while (num != 0)
	 
	FAlsa. Diferente é !=. Nesta opção está "enquanto num é igual  a zero."
	while (num == 0)
	 
	 FAlsa.  Nesta opção está "enquanto num for maior que zero"
	enquanto (num > 0)
	 
	 Falsa.  Teste incorreto no for.  == é para teste de igualdade.
	for ( i = 0; i == num; i++)
	 
	 FAlsa.  Não inicializa ou testa corretamente.
	for (i = num; i > 0; i++)
 
	
	
	 
	
	
	4.
	
		 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) {
    int i = 0;
    double x, y = 0;
    cout << "Digite um numero: ";
    cin >> x;
    while (x != 0){
        i = i + 1;
        y = y + x;
        cout << "Digite um numero: ";
        cin >> x;
    }
    y = y / i;
    cout << "Numero: " << y << "\n";
    system("PAUSE");
    return 0;
} 
	
	
	
	A quantidade de elementos digitados
	
	
	O maior de todos os elementos digitados
	
	
	A quantidade de elementos pares
	Certo
	
	A média dos elementos digitados
	
	
	O menor de todos os elementos digitados
	
Explicação:
 int i = 0;         //inicializa a quantidade de elementos digitados diferentes de zero
 double x, y = 0;          // y inicializa o somatorio dos valores de entrada
    cout << "Digite um numero: ";
    cin >> x;   //Lê o primeiro valor
    while (x != 0){      //Enquanto o valor de entrada não for zero
        i = i + 1;          //conta mais um número lido
        y = y + x;        //acumula o valor de x em y, gerando o somatório dos números lidos e armazenados em x
        cout << "Digite um numero: ";
        cin >> x;   //Lê o proóximo número
    }
    y = y / i;         //Divide a soma dos números lidos não nulos por i  ( i é o total de números lidos não nulos)
    cout << "Numero: " << y << "\n";   //Imprime a média armazenada em y
Logo : O programa calcula a média dos números digitados (diferente de zero)
	
	
	 
	
	
	5.
	
		 Imagine que você precisa criar um laço capaz de receber o nome e as notas bimestrais de um teste e uma prova de trinta alunos. Para cada um deles, é preciso calcular e mostrar a média do bimestre e informar se o aluno está na média (nota mínima 7) ou abaixo dela. Considerando que o código será escrito em C++, qual das opções a seguir apresenta as linhas de código do laço? 
	
	
	
	for (cont=1;cont<=30;cont+=2) {
  cout <<"Informe as notas do aluno ";
  cin <<"Teste: "; cout >>Teste;
  cin <<"Prova: "; cout >>Prova;
  Media = (Teste+Prova)/2;
  cout <<"A média do aluno é " << Media;
  if (Media>=7)
  { cin <<"Você está na média!";  }
  else
  { cin <<"Você está abaixo da média!";  }
}
	
	
	while (cont=1;cont<=30;cont++) {
  cout <<"Informe as notas do aluno ";
  cout <<"Teste: "; cin >>Teste;
  cout <<"Prova: "; cin >>Prova;
  Media = (Teste+Prova)/2;
  cout <<"A média do aluno é " << Media;
  if (Media>=7)
  { cout <<"Você está na média!";  }
  else
  { cout <<"Você está abaixo da média!";  }
}
	
	
	for (cont=30;cont<=0;cont++) {
  cout <<"Informe as notas do aluno ";
  cout <<"Teste: "; cin >>Teste;
  cout <<"Prova: "; cin >>Prova;
  Media = (Teste+Prova)/2;
  cout <<"A média do aluno é " << Media;
  if (Media<7)
  { cout <<"Você está na média!";  }
  else
  { cout <<"Você está abaixo da média!";  }
}
	
	
	do (cont=1;cont<=30;cont++) {
  cout <<"Informe as notas do aluno ";
  cout <<"Teste: "; cin >>Teste;
  cout <<"Prova: "; cin >>Prova;
  Media = (Teste+Prova)/2;
  cout <<"A média do aluno é " << Media;
  if (Media>=7)
  { cout <<"Você está na média!";  }
  else
  { cout <<"Você está abaixo da média!";  }
}
	Certo
	
	for (cont=1;cont<=30;cont++) {
  cout <<"Informe as notas do aluno ";
  cout <<"Teste: "; cin >>Teste;
  cout <<"Prova: "; cin >>Prova;
  Media = (Teste+Prova)/2;
  cout <<"A média do aluno é " << Media;
  if (Media>=7)
  { cout <<"Você está na média!";  }
  else
  { cout <<"Você está abaixo da média!";  }
}
	
	
	 
	
	
	6.
	
		 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) {
    int i;
    double x, y = 0;
    for (i = 0; i < 10; i++){
        cout << "Digite um numero: ";
        cin >> x;
        if ((x % 2) == 1){
            y = y +

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando