Buscar

Introdução a programação C atividade estacio EAD

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

Introdução a programação C++	
Aula 1
- Imagine que você vai receber um aumento e deseja descobrir qual será seu novo salário a partir de seu salário atual e do percentual de aumento a ser concedido por sua empresa. É preciso somar o salário atual ao percentual de aumento, que deve ser calculado multiplicando-se esse percentual pelo salário atual e dividindo-se por 100. Que fórmula realiza esse cálculo?
R. novoSal <- salAtual + (salAtual*percAumento/100)
- O resultado do pensamento computacional pode ser denominado algoritmo. Um algoritmo pode ser definido como
R. uma série de procedimentos descritos passo a passo visando a solução de um problema.
- Em Informática, os algoritmos costumam ser escritos em Portugol. Sobre o mesmo, podemos afirmar que:
I. É uma linguagem intermediária entre a linguagem natural e a linguagem de programação;
II. Costuma adotar o inglês como língua padrão para redação dos algoritmos computacionais;
III. Adota algumas regras para fins de padronização e garantia de compreensão dos algoritmos;
IV. Pode ser executado diretamente pelo computador, sem auxílio de nenhum software específico.
R. I e III
- Observe as assertivas a seguir acerca dos fluxogramas:
I. Os mesmos são a representação gráfica dos algoritmos.
II. Para desenhá-los, é preciso adotar uma simbologia padrão pré-determinada.
III. Existem programas que permitem que os mesmos sejam desenhados no computador.
Assinale a seguir a alternativa que indica as afirmações corretas:
R. Todas são verdadeiras
- Você está nos Estados Unidos e precisa converter o preço de um produto em dólares para o equivalente em reais, pois deseja verificar se vale a pena comprar esse produto no exterior. Para criar um algoritmo que resolva esse problema, é preciso receber o valor do produto em dólares, calcular e exibir o seu preço equivalente em reais. Também será preciso pedir que o usuário informe a cotação do dólar no momento da conversão. Sabendo disso, que instrução deve ser usada para receber os valores via teclado e armazená-los em variáveis?
R. Leia
- Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo:
R. O fluxograma é responsável por calcular a idade de um indivíduo a partir de seu ano de nascimento e do ano em que estamos.
Aula 2
-Sobre a linguagem de programação C++, é correto afirmar que a mesma:
I. Não permite a criação de variáveis do tipo lógico;
II. É case sentive, ou seja, faz distinção entre letras maiúsculas e minúsculas;
III. Permite que os identificadores de variáveis iniciem pelo caractere sublinhado ("_");
IV. É fracamente tipada; o que permite que uma variável seja declarada sem que seu tipo seja definido.
R. II e III são verdadeiras.
-Na linguagem de programação C++, a declaração de uma variável envolve não somente a definição de seu tipo como também a definição de seu identificador. Conforme as regras dessa linguagem, são identificadores de variáveis válidos:
R. nomeProprio, sal_Bruto, _email, matricula2019- 
-Um menino resolveu abrir o cofrinho de economias que contém o que guardou durante um ano. São moedas de R$ 0,25, R$ 0,50 e R$ 1,00. Imaginando que você precisa escrever um programa em C++ que, a partir da quantidade de cada moeda, mostre a quantia total economizada, como seria a declaração de variáveis necessárias a este programa?
R. float qtde25, qtde50, qtde1, quantiaTotal;
- Uma variável é um espaço da memória principal dedicado ao armazenamento temporário de valores. No C++, elas podem ser declaradas como sendo de diferentes tipos, dentre eles
R. bool, char, int e float.
-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++?
R. const float PI=3.14;
- 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 é:
R. float quilo = 34.90; float prato = 0; float valor_pagar = 0;
Aula 3
	Utilizando a sintaxe do C++, como pode ser reescrita a expressão 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
	 
	A || B && C && !D
	Respondido em 28/03/2020 20:17:56
	
Explicação:
No C++, os operadores lógicos são && (e), || (ou), ! (não);
	
	
	Imagine que você vai receber um aumento e deseja descobrir qual será seu novo salário a partir de seu salário atual e do percentual de aumento a ser concedido por sua empresa. É preciso somar o salário atual ao percentual de aumento, que deve ser calculado multiplicando-se esse percentual pelo salário atual e dividindo-se por 100. Que fórmula realiza esse cálculo?
		
	
	novoSal <- salAtual + (percAumento/100)
	
	novoSal <- salAtual + (salAtual*percAumento)
	
	novoSal <- salAtual + (salAtual*100)
	 
	novoSal <- salAtual + (salAtual*percAumento/100)
	
	novoSal <- (salAtual*percAumento/100)
	Respondido em 27/03/2020 01:14:53
	
Explicação:
Atenção à operação de multplicação, realizada com o uso do operado *.
	
	
	 
	
	 2a Questão
	
	
	
	
	O resultado do pensamento computacional pode ser denominado algoritmo. Um algoritmo pode ser definido como
		
	
	uma sequência de comandos escritos em uma linguagem de programação.
	 
	uma solução textual redigida com base em uma sintaxe rígida e com vocabulário controlado.
	 
	uma série de procedimentos descritos passo a passo visando a solução de um problema.
	
	a representação gráfica de um conjunto de procedimentos necessários à solução de um problema.
	
	um processo de solução de problemas implementado, obrigatoriamente, em Portugol.
	Respondido em 27/03/2020 01:15:55
	
Explicação:
O pensamento computacional produz a solução estruturada para um problema. Essa solução é chamada de algoritmo e não está escrita em nenhuma linguagem de programação ou código linguístico controlado. É possível criar algoritmos para problemas variados, que não necessariamente serão resolvidos com o auxílio de um computador, como o problema de ter de trocar um pneu do carro quando o mesmo fura.
	
	
	 
	
	 3a Questão
	
	
	
	
	Em Informática, os algoritmos costumam ser escritos em Portugol. Sobre o mesmo, podemos afirmar que:
I. É uma linguagem intermediária entre a linguagem natural e a linguagem de programação;
II. Costuma adotar o inglês como língua padrão para redação dos algoritmos computacionais;
III. Adota algumas regras para fins de padronização e garantia de compreensão dos algoritmos;
IV. Pode ser executado diretamente pelo computador, sem auxílio de nenhum software específico.
São verdadeiras as assertivas:
		
	
	III e IV
	
	I, II, III e IV
	
	I e II
	 
	I e III
	 
	I, II e III
	Respondido em 27/03/2020 01:17:11
	
Explicação:
O Portugol é uma linguagem intermediária entre a linguagem natural e a linguagem de programação. Para fins de padronização e garantia de compreensão dos algoritmos, o Portugol adota algumas regras; dentre elas, um vocabulário controlado na lingua natual de quem escreve o algoritmo (no nosso caso, o português). Algoritmos escritos em Portugol podem ter sua execução testada em um computador somente através de programas como o Portugol Studio e o VisuAlg.
	
	
	 
	
	 4a Questão
	
	
	
	
	Observe as assertivas a seguir acerca dos fluxogramas:
I. Os mesmos são a representação gráfica dos algoritmos.
II. Para desenhá-los, é preciso adotar uma simbologia padrão pré-determinada.
III. Existem programas que permitem que os mesmos sejam desenhados no computador.
Assinale a seguir a alternativa que indica as afirmações corretas:
		
	
	II e III.
	
	Todas são falsas.
	
	I e II.
	 
	I e III
	 
	I, II e III.
	Respondido em 27/03/2020 01:17:49
	
Explicação:
Os fluxogramas
são a representação gráfica dos algoritmos. Para desenhá-los, existe um conjunto de regras a ser seguido e é necessário utilizar uma simbologia específica. Embora existam gabaritos (réguas) que nos ajudam a desenhar os fluxogramas no papel, atualmente existem diversos programas que nos permitem fazê-lo no computador.
	
	
	 
	
	 5a Questão
	
	
	
	
	Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo:
 
 
		
	
	No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre negativa.
	
	O fluxograma está incompleto e errado, pois não exibe mensagens antes que a leitura de dados seja realizada.
	
	A simbologia empregada no recebimento de dados está equivocada e foi trocada por aquela que representa exibição de informações.
	 
	O fluxograma é responsável por calcular a idade de um indivíduo a partir de seu ano de nascimento e do ano em que estamos.
	
	Poderiam ser retirados do fluxograma os símbolos de terminação que delimitam, respectivamente, o início e o fim da solução.
	Respondido em 27/03/2020 01:19:23
	
Explicação:
O fluxograma recebe o ano atual e o ano de nascimento do usuário, calcula e exibe sua idade.
	
	
	 
	
	 6a Questão
	
	
	
	
	Você está nos Estados Unidos e precisa converter o preço de um produto em dólares para o equivalente em reais, pois deseja verificar se vale a pena comprar esse produto no exterior. Para criar um algoritmo que resolva esse problema, é preciso receber o valor do produto em dólares, calcular e exibir o seu preço equivalente em reais. Também será preciso pedir que o usuário informe a cotação do dólar no momento da conversão. Sabendo disso, que instrução deve ser usada para receber os valores via teclado e armazená-los em variáveis?
		
	 
	Leia
	
	Escreva
	 
	Saída
	
	Processamento
	
	Atribuição
	Respondido em 27/03/2020 01:23:41
	
Explicação:
A instrução leia é responsável por armazenar em uma variável o valor informado via teclado.
	 
	
	 2a Questão
	
	
	
	
	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, é:
		
	
	V, V, F, F, V, V, F, F
	 
	V, V, V, V, V, F, F, F
	
	F, V, F, V, V, F, V, F
	 
	F, F, F, F, F, V, V, V
	
	V, F, V, F, V, F, V, F
	Respondido em 28/03/2020 20:24:12
	
Explicação:
A expressão tem 3 variáveis, o que faz com que sejam possíveis 8 combinações diferentes de V e F para as variáveis. A partir daí, resolve-se a expressão respeitando-se a prioridade dos operadores lógicos: NÃO, E, OU.
	
	
	 
	
	 3a Questão
	
	
	
	
	Observe a tabela da verdade para a expressão A && B || B || A.
	A
	B
	A && B
	A && B || B
	A && B || B || A
	V
	V
	V
	V
	 
	V
	F
	F
	F
	 
	F
	V
	F
	V
	 
	F
	F
	F
	F
	 
Os valores que completam correta e sequencialmente a coluna A && B || B || A, de cima para baixo, são:
		
	
	F - F - V - F
	 
	V - V - V - F
	
	V - F - F - F
	
	V - V - V - V
	
	F - V - V - F
	Respondido em 28/03/2020 20:40:26
	
Explicação:
A expressão tem 2 variáveis, o que faz com que sejam possíveis 4 combinações diferentes de V e F para as variáveis. A partir daí, resolve-se a expressão respeitando-se a prioridade dos operadores lógicos: NÃO, E, OU. Analisando os valores para preenchimento da coluna solicitada, precisamos lembrar que se trata de uma avaliação lógica com o operador OU, que resulta em VERDADEIRO sempre que um dos valores da expressão for desse tipo.
	
	
	 
	
	 4a Questão
	
	
	
	
	Observe as afirmativas a seguir a respeito das tabelas da verdade:
I. A tabela avalia expressões relacionais e numéricas e é preenchida com valores do tipo lógico.
II. É possível haver combinações repetidas de valores no preenchimento inicial das linhas com valores das variáveis.
III. A quantidade de variáveis na expressão avaliada determina a quantidade de resultados possíveis para a expressão.
Sobre elas, sabemos que:
		
	 
	As afirmativas II e III são verdadeiras.
	
	A afirmativa II é verdadeira.
	
	As afirmativas I e II são verdadeiras.
	 
	Todas as afirmativas são falsas.
	
	A afirmativa I é verdadeira.
	Respondido em 28/03/2020 20:47:02
	
Explicação:
- A tabela da verdade avalia expressões lógicas. 
- No preenchimento das colunas das variáveis da expressão, não há repetição de combinações.
- A quantidade de resultados possíveis para expressão é determinada pela potência de base 2 elevada à quantidade de variáveis da expressão.
	
	
	 
	
	 5a Questão
	
	
	
	
	Utilizando a sintaxe do C++, qual das expressões a seguir é 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)
	
	(NUMERO>0) || (NUMERO%2==0)
	Respondido em 28/03/2020 20:50:24
	
Explicação:
Trata-se de uma expressão mista, que utiliza operadores relacionais (maior, diferente), lógicos (&&) e matemáticos (%).
	
	
	 
	
	 6a Questão
	
	
	
	
	Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a mesma ficaria?
		
	
	A ou nao B e nao C e nao D
	
	A ou B e C e D
	
	A e B ou C nao D
	
	A e B ou C ou nao D
	 
	A ou B e C e nao D
	Respondido em 28/03/2020 20:51:29
	
Explicação:
A equivalência entre os operadores lógicos é:
! → nao
&& → e
|| → ou
		1.
		A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser realizada é chamada de:
	
	
	
	Pseudocódigo
	
	
	Algoritmo
	
	
	Diagrama
	
	
	Linguagem de Programação
	
	
	Fluxograma
	
Explicação:
	Falso. Não usa representação gráfica
	Pseudocódigo
	 
	Falso. Algoritmo não é representação de algoritmo
	Algoritmo
	 
	FAlso. Linguagem de programação é usada para escrever programa.
	Linguagem de Programação
	 
	
	Fluxograma
	 
	FAlso. Que diagrama ? 
	Diagrama
	
	
	
	 
		
	
		2.
		Sobre algoritmo, marque a opção correta.
	
	
	
	É a solução teórica, passo a passo, de um problema.
	
	
	É um hardware especifico para resolver problemas.
	
	
	É uma linguagem de programação para computadores.
	
	
	É uma forma de ensinar o computador.
	
	
	É uma etapa posterior à programação da solução de um problema.
	
Explicação:
	Falso.  Algoritmo não é linguagem de programação. Exemplo de linguagem de programção : C++
	É uma linguagem de programação para computadores.
	 
	Falso.  Algoritmo é um  conjunto de passos sem ambiguidade que vão traduzir a solução de um problema. O algoritmo poderá virar um programa, que poderá ou não "ensinar" o computador.
	É uma forma de ensinar o computador.
	 
	 Verdadeiro
	É a solução teórica, passo a passo, de um problema.
	 
	Falso. É uma etapa anterior à programação, ou seja, à criação de programa.
	É uma etapa posterior à programação da solução de um problema.
	 
	Falso.  Algoritmo pode virar um programa. E programa é software e não hardware.
	É um hardware especifico para resolver problemas.
	
	
 
	
	
	
	 
		
	
		3.
		Analise as afirmativas a seguir em relação a representação de algoritmos:
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo;
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo;
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos.
Podemos afirmar que:
	
	
	
	Apenas as alternativas II e III são INCORRETAS
	
	
	Apenas as alternativas I e III são CORRETAS
	
	
	Apenas a alternativa I é CORRETA
	
	
	Todas as alternativas são CORRETAS
	
	
	Apenas
as alternativas I e II são CORRETAS
	
Explicação:
Analisando cada afirmativa :
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
Verdadeira.  O fluxograma usa símbolos para E/S, atribuição e outros comandos.
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; 
Falsa.  Pseudocódigo não tem nada de representação gráfica.
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. 
VErdadeira.  Através de alguma linguagem de programação, escrevemos programas.
	
	
	
	 
		
	
		4.
		Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo:
 
 
	
	
	
	Poderiam ser retirados do fluxograma os símbolos de terminação que delimitam, respectivamente, o início e o fim da solução.
	
	
	O fluxograma é responsável por calcular a idade de um indivíduo a partir de seu ano de nascimento e do ano em que estamos.
	
	
	A simbologia empregada no recebimento de dados está equivocada e foi trocada por aquela que representa exibição de informações.
	
	
	O fluxograma está incompleto e errado, pois não exibe mensagens antes que a leitura de dados seja realizada.
	
	
	No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre negativa.
	
	
	
	 
		
	
		5.
		 Assinale a opção que mostra as formas possíveis e mais adequadas de se representar um algoritmo :
	
	
	
	Linguagem natural e pseudolinguagem
	
	
	Linguagem natural, fluxograma e pseudolinguagem
	
	
	 Linguagem natural e linguagem gráfica
	
	
	Apenas pseudolinguagem
	
	
	Linguagem gráfica e pseudolinguagem
	
Explicação:
Por definição e aula de introdução e formas de representação de algoritmo.
	
	
	
	 
		
	
		6.
		Assinale a opção que, corretamente, mostra exemplos de linguagens de programação.
	
	
	
	fluxograma, português estruturado, C
	
	
	C++, Java, portugol
	
	
	português estruturado, C++, Java
	
	
	C++, Java, C#
	
	
	C++, C# e fluxograma
	
Explicação:
Exemplos dados na aula 1.  
	
	
	
	 
		
	
		7.
		Fluxograma é um "diagrama esquemático que apresenta uma sequência de operações, tal como para um programa de computador ou processo industrial" (in Dicionário Priberam da Língua Portuguesa [em linha], 2008-2013, http://www.priberam.pt/dlpo/fluxograma [consultado em 13-08-2014]. Abaixo temos um fluxograma de notas (N1 e N2) obtidas pelo aluno João. Selecione a opção que apresenta os itens de entrada do fluxograma.
	
	
	
	Média
	
	
	Aprovado
	
	
	Reprovado
	
	
	N1 e N2
	
	
	Fim
	
Explicação:
Logo após o início do algoritmo aparecem N1 e N2 no símbolo que representa entrada de dados.
	
	
	
	 
		
	
		8.
		Sobre o FLUXOGRAMA abaixo podemos afirmar que :
	
	
	
	
	Apresenta na sua lógica a estrutura básica DECISÃO
	
	
	Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO
	
	
	Apresenta na sua lógica as três estruturas básicas de programação
	
	
	Apresenta na sua lógica a estrutura básica REPETIÇÃO
	
	
	Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO
	
Explicação:
Justificativas das opções :
>> Apresenta na sua lógica as três estruturas básicas de programação .
 Falso. Não apresenta repetição
>> Apresenta na sua lógica a estrutura básica REPETIÇÃO
Falso. Apresenta apenas entrada de dados, saída de dados, atribuição, condicional composto.
>> Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO
Falso. Não apresenta repetição.
>> Apresenta na sua lógica a estrutura básica DECISÃO. 
Verdadeiro.  Veja o uso do losango.
>> Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO
Falso. Não apresenta repetição.
Aula 2
	
	 1a Questão
	
	
	
	
	Sobre a linguagem de programação C++, é correto afirmar que a mesma:
I. Não permite a criação de variáveis do tipo lógico;
II. É case sentive, ou seja, faz distinção entre letras maiúsculas e minúsculas;
III. Permite que os identificadores de variáveis iniciem pelo caractere sublinhado ("_");
IV. É fracamente tipada; o que permite que uma variável seja declarada sem que seu tipo seja definido.
		
	
	I e II são verdadeiras.
	
	I, II e III são verdadeiras.
	
	I e IV são verdadeiras.
	
	II, III e IV são verdadeiras.
	 
	II e III são verdadeiras.
	Respondido em 27/03/2020 15:24:29
	
Explicação:
A linguagem de programação C++
- oferece a possibilidade de criação de variáveis e constantes do tipo lógico, definido como bool;
- faz distinção entre letras maiúsculas e minúsculas; portanto, TELEFONE é diferente de telefone;
- permite que o primeiro caractere de identificadores de variáveis seja o sublinhado ("_");
- é fortemente tipada, ou seja, o tipo de dado a ser armazenado na variável deve ser explicitamente definido.,
	
	
	 
	
	 2a Questão
	
	
	
	
	Na linguagem de programação C++, a declaração de uma variável envolve não somente a definição de seu tipo como também a definição de seu identificador. Conforme as regras dessa linguagem, são identificadores de variáveis válidos:
		
	 
	nomeProprio, sal_Bruto, _email, matricula2019
	
	nomePróprio, SAlBRuTO, email, matrícula2019
	
	NoMePrOpRiO, SalBruto, e-mail, matricula 2019
	
	Nome@Proprio, SALBRUTO, *email*, matricula 2019
	
	nome-proprio, salBRUTO, #email, matricula*2019
	Respondido em 27/03/2020 15:25:19
	
Explicação:
No C++, as regras para criação de identificadores de variáveis são as seguintes:
· Os identificadores podem começar com uma letra ou com o caractere "_";
· Após o primeiro caractere, o identificador pode ser comporto por letras e números;
· Caracteres especiais e espaços em branco não podem ser utilizados.
	· 
	
	 
	
	 3a Questão
	
	
	
	
	Um menino resolveu abrir o cofrinho de economias que contém o que guardou durante um ano. São moedas de R$ 0,25, R$ 0,50 e R$ 1,00. Imaginando que você precisa escrever um programa em C++ que, a partir da quantidade de cada moeda, mostre a quantia total economizada, como seria a declaração de variáveis necessárias a este programa?
		
	
	int qtde25, qtde50, qtde1, quantiaTotal;
	
	string qtde25, qtde50, qtde1, quantiaTotal;
	
	bool qtde25, qtde50, qtde1, quantiaTotal;
	 
	float qtde25, qtde50, qtde1, quantiaTotal;
	
	char qtde25, qtde50, qtde1, quantiaTotal;
	Respondido em 27/03/2020 15:25:59
	
Explicação:
As variáveis precisam ser capazes de armazenar valores do tipo real, portanto, precisam ser declaradas como float.
	
	
	 
	
	 4a Questão
	
	
	
	
	Uma variável é um espaço da memória principal dedicado ao armazenamento temporário de valores. No C++, elas podem ser declaradas como sendo de diferentes tipos, dentre eles
		
	
	character, string, real e double.
	 
	bool, char, int e float.
	
	long char, long bool, long int e long float.
	
	booleano, integer, string e char.
	
	real, int, char e double.
	Respondido em 27/03/2020 15:26:59
	
Explicação:
No C++, os tipos disponíveis para declaração de variáveis são int, long int, float, double, char e bool.
	
	
	 
	
	 5a 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++?
		
	
	const real PI=3.14;
	
	float PI=3.14;
	
	const integer PI=3.14;
	 
	const float PI=3.14;
	
	const int PI=3.14;
	Respondido em 27/03/2020 15:27:22
	
Explicação:
No C++, a declaração de constantes se inicia com a palavra reservada const, seguida do tipo da constante, seu identificador e seu valor.
 
	
	
	 
	
	 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 é:
		
	 
	float quilo = 34.90; float prato = 0; float valor_pagar = 0;
	
	real quilo = 34.90; real prato = 0; real valor_pagar = 0;
	
	bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0;
	
	char quilo = 34.90; char prato = 0; char valor_pagar = 0;
	
	int quilo = 34.90; int prato = 0; int valor_pagar = 0;
	Respondido em 27/03/2020 15:28:08
	
Explicação:
É necessário que as variáveis sejam do tipo float, pois armazenarão valores do tipo real.
Aula 3
	 1a Questão
	
	
	
	Utilizando a sintaxe do C++, como pode ser reescrita a expressão 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
	
	A || B ! C ! &&D
	Respondido em 28/03/2020 20:52:10
	
Explicação:
No C++, os operadores lógicos são && (e), || (ou), ! (não);
	
	
	 
	
	 2a Questão
	
	
	
	
	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, é:
		
	 
	V, V, V, V, V, F, F, F
	
	V, F, V, F, V, F, V, F
	
	F, V, F, V, V, F, V, F
	
	F, F, F, F, F, V, V, V
	
	V, V, F, F, V, V, F, F
	Respondido em 28/03/2020 20:52:35
	
Explicação:
A expressão tem 3 variáveis, o que faz com que sejam possíveis 8 combinações diferentes de V e F para as variáveis. A partir daí, resolve-se a expressão respeitando-se a prioridade dos operadores lógicos: NÃO, E, OU.
	
	
	 
	
	 3a Questão
	
	
	
	
	Observe a tabela da verdade para a expressão A && B || B || A.
	A
	B
	A && B
	A && B || B
	A && B || B || A
	V
	V
	V
	V
	 
	V
	F
	F
	F
	 
	F
	V
	F
	V
	 
	F
	F
	F
	F
	 
Os valores que completam correta e sequencialmente a coluna A && B || B || A, de cima para baixo, são:
		
	
	V - V - V - V
	
	V - F - F - F
	 
	V - V - V - F
	
	F - F - V - F
	
	F - V - V - F
	Respondido em 28/03/2020 20:52:44
	
Explicação:
A expressão tem 2 variáveis, o que faz com que sejam possíveis 4 combinações diferentes de V e F para as variáveis. A partir daí, resolve-se a expressão respeitando-se a prioridade dos operadores lógicos: NÃO, E, OU. Analisando os valores para preenchimento da coluna solicitada, precisamos lembrar que se trata de uma avaliação lógica com o operador OU, que resulta em VERDADEIRO sempre que um dos valores da expressão for desse tipo.
	
	
	 
	
	 4a Questão
	
	
	
	
	Observe as afirmativas a seguir a respeito das tabelas da verdade:
I. A tabela avalia expressões relacionais e numéricas e é preenchida com valores do tipo lógico.
II. É possível haver combinações repetidas de valores no preenchimento inicial das linhas com valores das variáveis.
III. A quantidade de variáveis na expressão avaliada determina a quantidade de resultados possíveis para a expressão.
Sobre elas, sabemos que:
		
	
	A afirmativa I é verdadeira.
	
	As afirmativas II e III são verdadeiras.
	
	As afirmativas I e II são verdadeiras.
	 
	Todas as afirmativas são falsas.
	
	A afirmativa II é verdadeira.
	Respondido em 28/03/2020 20:52:58
	
Explicação:
- A tabela da verdade avalia expressões lógicas. 
- No preenchimento das colunas das variáveis da expressão, não há repetição de combinações.
- A quantidade de resultados possíveis para expressão é determinada pela potência de base 2 elevada à quantidade de variáveis da expressão.
	
	
	 
	
	 5a Questão
	
	
	
	
	Utilizando a sintaxe do C++, qual das expressões a seguir é 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)
	
	(NUMERO>0) !! (NUMERO%2==0)
	Respondido em 28/03/2020 21:01:14
	
Explicação:
Trata-se de uma expressão mista, que utiliza operadores relacionais (maior, diferente), lógicos (&&) e matemáticos (%).
	
	
	 
	
	 6a Questão
	
	
	
	
	Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a mesma ficaria?
		
	 
	A ou B e C e nao D
	
	A ou nao B e nao C e nao D
	
	A e B ou C nao D
	
	A e B ou C ou nao D
	
	A ou B e C e D
	Respondido em 28/03/2020 21:01:33
	
Explicação:
A equivalência entre os operadores lógicos é:
! → nao
&& → e
|| → ou
Aula 4
	 
	
	 1a Questão
	
	
	
	
	Assinale a opção correta :
		
	 
	Para entrada de dados usamos cout com <<  e para saída de dados usamos cin com >>
	
	Para entrada de dados usamos cout  e para saída de dados usamos cin
	 
	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 >>
	
	Para entrada de dados usamos read e para saída de dados usamos write
	Respondido em 03/04/2020 00:15:00
	
Explicação:
Basta seguir as descrições na aula 2.
	
	
	 
	
	 2a Questão
	
	
	
	
	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 - setlocale
	
	locale - ptb
	
	iostream - setlocale
	
	iostream - ptb
	
	math - math.round
	Respondido em 03/04/2020 00:16:37
	
	
	 
	
	 3a Questão
	
	
	
	
	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?
		
	 
	"Com R$ 200.00 você consegue abastecer 51.28 litros de combustível."
	
	"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível."
	
	"Você consegue abastecer 51.28 litros de combustível."
	
	"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."
	Respondido em 03/04/2020 00:17:11
	
	
	 
	
	 4a Questão
	
	
	
	
	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( ) {
    ????????
  }
}
		
	
	escreva("Temperatura em Fahrenheit: ")
leia(tempF)
tempC=(tempF-32)/1.8
escreva("Temperatura em graus Celsius: ", tempC)
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
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
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
leia(tempF)
escreva("Temperatura em graus Celsius: ", tempC)
	 
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
leia(tempF)
tempC=(tempF-32)/1.8
escreva("Temperatura em graus Celsius: ", tempC)
	Respondido em 03/04/2020 00:19:05
	
	
	 
	
	 5a Questão
	
	
	
	
	Para exibir o valor da variável x do tipo inteiro em C++ deve ser utilizado o comando:
cout << x;
 
	
	cout >> "Valor de x: " , x;
	
	cout >>x;
 
	
	cout >> "Valor de x: "  >> x;
	 
	cout << "Valor de x: " >> x;
 
	Respondido em 03/04/2020 00:20:14
	
Explicação:
Para impressão na tela usamos o cout com o operador  <<
Nâo confundir com  >> que é usado com cin, que é para entrada de dados.
	
	
	 
	
	 6a Questão
	
	
	
	
	A sintaxe de uma linguagem de programação
		
	
	garante que a estrutura ENTRADA -> PROCESSAMENTO -> SAÍDA seja respeitada pelo programa.
	
	viabiliza a comunicação entre usuários e programas através de comandos de entrada e saída.
	
	cria a versão executável do código fonte e não está presente em algumas linguagens.
	
	converte os comandos para linguagem de máquina para que possam ser executados.
	 
	define a forma como os comandos e as estruturas da linguagem devem ser utilizados.
	Respondido em 03/04/2020 00:21:14
	
	
	 
	
	 7a Questão
	
	
	
	
	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.
		
	
	V - F - F
	
	F - V - F
	 
	V - V - F
	
	V - V - V
	
	F - F - F
	Respondido em 03/04/2020 00:21:52
	
	
	 
	
	 8a Questão
	
	
	
	
	Sabemos que existem dois comandos (cin e cout), definidos na biblioteca iostream, que não são nativamente definidos pela linguagem e servem para fazer a entrada e saída de dados. Dessa forma, assinale a alternativa que corresponde ao comando que faz a leitura do valor digitado e o  armazena na variável celsius.
		
	
	cin >> Celsius;
	
	cout <<  "Celsius ? ";
	
	cout << celsius;
	 
	cin >> celsius;
	
	float << celsius;
	Respondido em 03/04/2020 00:22:50
	
Explicação:
Para entrada de dados temos o cin e como o nome da variável é celsius, temos que a resposta certa é :   cin >> celsius;
Aula 5
	1a Questão
	
	
	
	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;
		
	
	F - F - F
	
	V - V - V
	
	V - F - V
	
	F - V - F
	 
	V - V - F
	Respondido em 10/04/2020 20:39:27
	
	
	 
	
	 2a Questão
	
	
	
	
	 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   0
 
	
	11  110  1 10
 
	
	11  110  1  0
 
	 
	11   12   110   1   0
 
	
	11   12    110
 
	Respondido em 10/04/2020 20:41:46
	
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
 
	
	
	 
	
	 3a Questão
	
	
	
	
	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
   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==SAL)
   escreva("Você gastou mais do que deveria!")
	 
	se (GASTOS>SAL)               
   escreva("Você gastou mais do que deveria!")
	Respondido em 10/04/2020 21:15:24
	
	
	 
	
	 4a Questão
	
	
	
	
	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
	
	Nada é impresso na tela, pois k é zero.
	
	10 12 0.833 1.2
	
	10 12 0 2
	 
	x= 10 y = 12 z = 0 k = 2
	Respondido em 10/04/2020 21:18:40
	
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
	
	
	 
	
	 5a Questão
	
	
	
	
	Considere um programa em C++ que leia os valores A, B, C e informe se a soma dos dois primeiros termos é maior do que o terceiro. A estrutura seletiva adequada para esse teste é:
		
	
	for ((A+B)>C)
{ cout << "A soma de A e B é maior do que C!"; }
	 
	if ((A+B)>C)
{ cout << "A soma de A e B é maior do que C!"; }
	
	switch ((A+B)>C)
{ cout << "A soma de A e B é maior do que C!"; }
	
	while ((A+B)>C)
{ cout << "A soma de A e B é maior do que C!"; }
	
	do
{ cout << "A soma de A e B é maior do que C!"; }
while ((A+B)>C)
	Respondido em 10/04/2020 21:26:45
	
	
	 
	
	 6a Questão
	
	
	
	
	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 = 4, y = 14, t;
float z;
if( x < y ) { t=x; x=y; y=t;}
z = (x % y) / y;
cout << x << " " << y << " " << z ;
		
	
	14 4 0.5
	
	4 14 0.5
	
	4 14 0
	
	0.5 4 14
	 
	14 4 0
	Respondido em 10/04/2020 21:35:02
	
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro
	
	
	 
	
	 7a Questão
	
	
	
	
	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 ii está correta.
	 
	Todas as alternativas estão corretas.
	
	Todas as alternativas estão erradas.
	
	Apenas a alternativa iii está correta.
	
	Apenas a alternativa i está correta.
	Respondido em 10/04/2020 21:35:38
	
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.
	
	
	 
	
	 8a Questão
	
	
	
	
	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, 7 e 7
	
	0, 6 e 7
	
	1, 6 e 7
	
	1, 6 e 16
	
	1, 7, 17
	Respondido em 10/04/2020 21:37:12
	
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  
Aula 6
		1.
		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?
	
	
	
	cout
	
	
	for
	
	
	do/while
	
	
	while
	
	
	switch/case
	
Explicação:
	
	switch/case
	 
	É para repetição
	do/while
	 
	É para repetição
	for
	 
	É para impressão na tela
	cout
	 
	É para repetição
	while
	
	
	
	 
		
	
		2.
		Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir:
*** Cardápio ***
100 - Hambúrguer - R$5,50
101 - Cachorro-quente - R$4,50
102 - Milkshake - R$7,00
103 - Pizza brotinho - R$8,00
104 - Cheeseburguer - R$8,50
Informe o código do seu pedido:
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar.
Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido?
	
	
	
	switch (codigo) {
  case 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	while (codigo) {
  case 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	switch (codigo) {
  if 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	case (codigo) {
  switch 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	switch (codigo) {
  default 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	
	 
		
	
		3.
		Imagine que você precisa escrever um programa que leia o nome, as 3 notas obtidas por um aluno nas 3 avaliações do semestre e a média dos exercícios que fazem parte da avaliação. O programa precisa calcular e exibir a média ponderada de aproveitamento e mostrar o conceito do aluno conforme as regras a seguir:
	Média de aproveitamento
	Conceito
	>= 9
	A
	>= 7,5 e < 9  
	B
	>= 6 e < 7,5
	C
	>= 4 e < 6
	D
	< 4
	E
Qual das alternativas a seguir apresenta a estrutura seletiva que imprime o conceito do aluno?
	
	
	
	if (Media>=9)
{ cout << "A"; }
else if (Media>=7.5 && Media<9)
{ cout << "B"; }
else if (Media>= 6 && Media<7.5)
{ cout << "C"; }
else if (Media>=4 && Media<6)
{ cout << "D"; }
else if (Media<4)
{ cout << "E"; }
	
	
	if (Media>=9)
{ cin << "A"; }
else if (Media>=7.5 && Media<9)
{ cin << "B"; }
else if (Media>= 6 && Media<7.5)
{ cin << "C"; }
else if (Media>=4 && Media<6)
{ cin << "D"; }
else if (Media<4)
{ cin << "E"; }
	
	
	if (Media>=9)
{ cin << "A"; }
else (Media>=7.5 && Media<9)
{ cin << "B"; }
else (Media>= 6 && Media<7.5)
{ cin << "C"; }
else (Media>=4 && Media<6)
{ cin << "D"; }
else (Media<4)
{ cin << "E"; }
	
	
	if (Media>=9)
{ cout << "A"; }
else if (Media>=7.5 || Media<9)
{ cout << "B"; }
else if (Media>= 6 || Media<7.5)
{ cout << "C"; }
else if (Media>=4 || Media<6)
{ cout << "D"; }
else if (Media<4)
{ cout << "E"; }
	
	
	if (Media>=9)
{ cout << "A"; }
else (Media>=7.5 && Media<9)
{ cout << "B"; }
else (Media>= 6 && Media<7.5)
{ cout << "C"; }
else (Media>=4 && Media<6)
{ cout << "D"; }
else (Media<4)
{ cout << "E"; }
	
	
	
	 
		
	
		4.
		Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome do dia semana a partir de seu código numérico equivalente, armazenado na variável codigo. Confira a codificação: 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Veja o trecho da estrutura de seleção que poderia ser utilizado na solução:
_____A_____ (codigo) {
  _____B_____ 1:
    escreva("domingo")
    ____C______
  _____B_____ 2:
    escreva("segunda-feira")
    ____C______
  _____B_____ 3:
    escreva("terça-feira")
    ____C______
  _____B_____ 4:
    escreva("quarta-feira")
    _____C_____
  _____B_____ 5:
    escreva("quinta-feira")
    _____C_____
  _____B_____ 6:
    escreva("sexta-feira")
    _____C_____
  _____B_____ 7:
    escreva("sábado")
    __________    
  _____D_____:
    escreva("Código inválido!")
  }
As instruções que completam adequadamente as lacunas são:
	
	
	
	A - case, B - switch, C - default, D - break
	
	
	A - se, B - caso, C - pare, D - default
	
	
	A - caso, B - escolha, C - pare, D - outros casos
	
	
	A - escolha, B - caso, C - pare, D - outros casos
	
	
	A - switch, B - case, C - break, D - default
	
	
	
	 
		
	
		5.
		À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 II é verdadeira
	
	
	As afirmativas I e IV são verdadeiras
	
	
	Somente a afirmativa I é verdadeira
	
	
	Somente a afirmativa III é falsa
	
	
	As afirmativas II, III e IV são verdadeiras
	
Explicação: As respostas falsas são conclusivas
	
	
	
	 
		
	
		6.
		
A linguagem C++ possui estruturas de decisão, as quais podem mudar a sequência de execução dos comandos. Analise o trecho de programa abaixo e assinale a alternativa que corresponda a estrutura de decisão utilizada.
int main() {
int num;
cout<<"Digite um número: ";
cin>> num;
(num > 0)?cout<< num  : cout<<" Número negativo ";
return 0;
}
	
	
	
	Estrutura condicional de comando simples
	
	
	Estrutura condicional de comando composto
	
	
	comando switch
	
	
	aninhamento de if
	
	
	Operador ternário
	
Explicação:
Como dito no gabarito. O operador   ?   :   equivale ao comando     if ... else. 
	
	
	
	 
		
	
		7.
		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 27.5 15 55 90
	
	
	55 1
	
	
	55 90 15 27.5 15
	
	
	50 90 15 25 15
	
	
	15 25 15 50 90
	
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.
	
	
	
	 
		
	
		8.
		Que comando em C++ é mais indicado para ser usado em um programa que permita a escolha de uma opção do MENU  ?  Por exemplo : 1-Incluir, 2-Excluir, 3-Alterar e 9-Sair.
	
	
	
	do/while
	
	
	for
	
	
	while
	
	
	cout / cin
	
	
	switch / case
	
Explicação:
Por definição dada em aula de comando de seleção
	
		
	
	 
		
	
		1.
		   
	
	
	
	11  10  50  10  2
	
	
	10  50  10  2
	
	
	11  50  10  2
	
	
	11  50 10
	
	
	11  10  50  10
	
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
	
	
	
	 
		
	
		2.
		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?
	
	
	
	cout
	
	
	switch/case
	
	
	do/while
	
	
	for
	
	
	while
	
Explicação:
	
	switch/case
	 
	É para repetição
	do/while
	 
	É para repetição
	for
	 
	É para impressão na tela
	cout
	 
	É para repetição
	while
	
	
	
	 
		
	
		3.
		Uma estrutura seletiva permite que se restrinja a execução de um trecho do programa à veracidade, ou não, de uma condição. Sabendo disso, imagine que você está com as medidas dos três lados de um triângulo armazenados nas variáveis L1, L2 e L3. Utilizando a sintaxe do Portugol Studio, como seria o trecho da estrutura seletiva que avalie se este triângulo é isóscele, escaleno ou equilátero? Veja as definições para os diferentes tipos de triângulo:
Escaleno: Dois lados quaisquer com a mesma medida;
Equilátero: Três lados com a mesma medida;
Isósceles: Três lados com medidas diferentes.
	
	
	
	(lado1==lado2 e lado2==lado3)
{ escreva("Este é um triângulo equilátero!") }
se (lado1==lado2 ou lado2==lado3 ou lado3==lado1)
{ escreva("Este é um triângulo escaleno!") }
se
{ escreva("Este é um triângulo isósceles!") }
	
	
	se (lado1==lado2 e lado2==lado3)
{ escreva("Este é um triângulo equilátero!") }
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1)
{ escreva("Este é um triângulo escaleno!") }
senao
{ escreva("Este é um triângulo isósceles!") }
	
	
	se (lado1==lado2 e lado2==lado3)
{ escreva("Este é um triângulo escaleno!") }
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1)
{ escreva("Este é um triângulo isósceles!") }
senao
{ escreva("Este é um triângulo equilátero!") }
	
	
	se (lado1=lado2 e lado2=lado3)
{ escreva("Este é um triângulo equilátero!") }
senao se
{ escreva("Este é um triângulo escaleno!") }
senao (lado1=lado2 ou lado2=lado3 ou lado3=lado1)
{ escreva("Este é um triângulo isósceles!") }
	
	
	se (lado1==lado2 ou lado2==lado3)
{ escreva("Este é um triângulo equilátero!") }
senao se (lado1==lado2 e lado2==lado3 e lado3==lado1)
{ escreva("Este é um triângulo escaleno!") }
senao
{ escreva("Este é um triângulo isósceles!") }
	
	
	
	 
		
	
		4.
		Imagine que você precisa escrever um programa em C++ que exiba o nome do dia semana a partir de seu código numérico equivalente, conforme se vê a seguir. 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Se fosse utilizada a estrutura SWITCH e os testes fossem escritos na ordem em que os dias estão listados, os casos finais dessa estrutura, considerando que você deseja apresentar uma mensagem de erro caso o usuário informe um código equivocado, seriam.
	
	
	
	default 7:
  cout <<"sábado";
  break;  
default:
    cout <<"Código inválido!";
	
	
	switch 7:
  cout <<"sábado";
  break;  
default:
    cout <<"Código inválido!";
	
	
	case 7:
  cout <<"sábado";
  break;  
default:
    cout <<"Código inválido!";
	
	
	case 7:
  cout <<"sábado";
  break;  
case not:
    cout <<"Código inválido!";
	
	
	default 7:
  cout <<"sábado";
  break;  
switch:
    cout <<"Código inválido!";
	
	
	
	 
		
	
		5.
		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 <<  " ### " ;
 
	
	
	
	9 ###
	
	
	9 não é divisível por 2.
	
	
	9 é divisível por 3 e por 5.
	
	
	Nada aparece, pois o trecho de programa possui erro.
	
	
	Apenas 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###
		7.
		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 ###
	
	
	 
Nada aparece, pois o trecho de programa possui erro.
	
	
	 
7 é divisível por 3 e por 5.
	
	
	 
7 não é divisível por 2.
	
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###
 
	
	
	
	 
		
	
		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 t ficará 3
	
	
	A variável b ficará 3
	
	
	Nenhuma variável será alterada.
	
	
	A variável b ficará 1
	
	
	A variável a ficará 1
	
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.
 
Aula 7 Estrutura de repetição com pré-teste.
		1.
		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 é:
 
	
	
	
	while (num==0)
	
	
	for (num<=0)
	
	
	if (num!=0)
	
	
	do (num!=0)
	
	
	while (num!=0)
	
	
	
	 
		
	
		2.
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? 
 
	
	
	
	for (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cout<< "Informe as calorias do alimento " << cont <<": ";
  cin>> calAlimento;
}
	
	
	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;
}
	
	
	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;
}
	
	
	
	 
		
	
		3.
		Assinale a alternativa correta em relação a quantidade de vezes que a palavra "PAZ" será impressa, no trecho de código abaixo:
x = 50;
do{
y = 8;
do{
cout<<"PAZ \n";
y++;
} while ( y <10);
x--;
}while ( x > 48);
	
	
	
	7 vezes
	
	
	8 vezes
	
	
	6 vezes
	
	
	4 vezes
	
	
	5 vezes
	
Explicação:
Analisando passo a passo o trecho dado :
x = 50;
do{
   y = 8;
   do{
       cout<<"PAZ \n";
       y++;
   } while ( y <10);
   x--;
} while ( x > 48);
 
	x
	y
	50
	8
	49
	9 
	48  (48 > 48 ? ) Falso
	10 ... 10 < 10 ? FALSO
	 
	8
	 
	9
	 
	10 ... 10 <  10 ? Falso
	 
	 
	 
	 
	 
	 
PAZ
PAZ
PAZ
PAZ
	
	
	
	 
		
	
		4.
		Imagine que , com base na sintaxe do Portugol Studio, você precisa escrever um algoritmo que receba uma sequência de números e, para cada número informado, diga se ele é par ou ímpar. A sequência se encerra quando o usuário digitar 0. Considerando que é necessário utilizar uma estrutura repetitiva com pré-teste, qual das alternativas a seguir ajuda a resolver o problema proposto?
	
	
	
	faca {
  se (num%2==0)
  { escreva("Este número é par!\n") }
  senao
  { escreva("Este número é ímpar!\n") }
  escreva("Informe um número qualquer: ")
  leia(num)
} enquanto (num!=0)
	
	
	enquanto (num==0) {
  se (num/2==0)
  { escreva("Este número é par!\n") }
  senao
  { escreva("Este número é ímpar!\n") }
  escreva("Informe um número qualquer: ")
  leia(num)
}
	
	
	enquanto (num>0) {
  se (num%2!=0)
  { escreva("Este número é par!\n") }
  senao
  { escreva("Este número é ímpar!\n") }
  escreva("Informe um número qualquer: ")
  leia(num)
}
	
	
	faca {
  se (num%2!=0)
  { escreva("Este número é par!\n") }
  senao
  { escreva("Este número é ímpar!\n") }
  escreva("Informe um número qualquer: ")
  leia(num)
} enquanto (num>0)
	
	
	enquanto (num!=0) {
  se (num%2==0)
  { escreva("Este número é par!\n") }
  senao
  { escreva("Este número é ímpar!\n") }
  escreva("Informe um número qualquer: ")
  leia(num)
}
	
	
	
	 
		
	
		5.
		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;
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;
}
	
	
	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;
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;
}
	
	
	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;
}
	
	
	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;
}
	
	
	
	 
		
	
		6.
		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:
	
	
	
	do/for
	
	
	for
	
	
	for/while
	
	
	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.
	
	
	
	 
		
	
		7.
		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
	
	
	for
	
	
	loop
	
	
	repeat
	
	
	while
	
Explicação:
	 
	Falso. Nâo tem repeat em C++.
	repeat
	 
	Falso.  Não se encaixa a sintaxe do comando for.
	for
	 
	 Verdadeiro
	while
	 
	 Falso. Não existe comando do... case.
	do case
	 
	Falso.  Nâo existe comando loop.
	loop
	
	
	
	 
		
	
		8.
		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 diferente de zero : ";
    cin >> x;
    while (x != 0){
        i = i + 1;
        y = y + x;
        cout << "Digite um numero diferente de zero: ";
        cin >> x;
    }
    y = y / i;
    cout << "Numero: " << i << "\n";
    return 0;
}
	
	
	
	O menor de todos os elementos digitados
	
	
	A média dos elementos digitados
	
	
	O maior de todos os elementos digitados
	
	
	A quantidade de elementos pares
	
	
	A quantidade de elementos digitados diferentes de zero.
	
Explicação:
A condição para entrar no loop e contar é x ser diferente de zero. O que será exibido ao final do programa é a quantidade i calculada.
Note que o primeiro valor de x digitado é testado, então entra-se no loop e logo depois, este valor é contado através do uso de i que é incrementado.  Claro que x é manipulado, tendo seu valor somado com o valor de y, mas ao final do programa a quantidade i é impressa.  Se o valor zero for digitado,
ele não será contado.
		6.
		Assinale a alternativa correta em relação a quantidade de vezes que a palavra "ALGORITMO" será impressa, no trecho de código abaixo:
cont = 0;
while( cont < 30 ) {
   cout << "ALGORITMO" << endl;
   cont = cont + 1;
}
	
	
	
	31
	
	
	15
	
	
	29
	
	
	30
	
	
	Nenhuma das alternativas.
	
Explicação:
Fazendo passo a passo :
cont = 0;
while( cont < 30 ) {
   cout << "ALGORITMO" << endl;
   cont = cont + 1;
}
	variável cont
	Teste cont < 30 ? Sim ou não ?
	0
	0 < 30 ? sim
	1
	1 < 30 ? sim
	2
	2 < 30 ? Sim
	3
	3 < 30 ? Sim
	4
	4 < 30 ? Sim
	5
	5 < 30 ? sim
	6
	6 < 30 ? sim
	7
	7 < 30 ? sim
	continuando até 29 
	 29  < 30 ? Sim
	30
	30 < 30 ? Não. Falso.  Não entra no while
Note que entrou 30 vezes no corpo do while e a cada vez que entrou imprimiu ALGORITMO
TELA
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
>>>>>>>>>>>>>>>>>>  Logo, imprimiu 30 vezes a palavra   ALGORITMO
 
	
	
	
	 
		
	
		7.
		Sobre a estrutura com pós-teste, julgue as assertivas a seguir Verdadeiras ou Falsas:
(   ) Avalia somente uma condição por vez, tendo essa que ser do tipo relacional ou matemático.
(   ) Trata-se de uma estrutura de seleção capaz de restringir a execução de determinado trecho do código;
(   ) É uma estrutura do tipo repetitiva, que precisa de uma condição que controle quando o trecho deve se repetir;
 
	
	
	
	F - V - V
	
	
	V - F - V
	
	
	F - F - F
	
	
	F - F - V
	
	
	V - F - F
	
	
	
	 
		
	
		8.
		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 (cont++; cont <= 10; int cont=0)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (int cont=10; cont <= 200; cont+=2)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (int cont=0; cont <= 10; cont+=2)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	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..."; }
		A partir da comparação entre as estruturas while e do...while, é certo afirmar que:
	
	
	
	No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o bloco de comandos controlado será sempre executado, pelo menos uma vez.
	
	
	No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o bloco de comandos será sempre executado, pelo menos uma vez.
	
	
	Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo menos uma vez.
	
	
	Em termos de execução não há diferença. A diferença está, apenas, na sintaxe.
	
	
	Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado.
	
Explicação:
	Falso.  No do/while primeiro se faz o que está no corpo do loop para depois testar e no while, se testa para depois fazer o queestá no corpo do loop.
	Em termos de execução não há diferença. A diferença está, apenas, na sintaxe.
	 
	Falso. No do/while o bloco de instruções será feito pelo menos 1 vez.
	No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o bloco de comandos será sempre executado, pelo menos uma vez.
	 
	 Verdadeiro
	No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o bloco de comandos controlado será sempre executado, pelo menos uma vez.
	 
	Falso.  No while pode não ser executado nenhuma vez.
	Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo menos uma vez.
	 
	Falso. No do/while as instruções serão feitas pelo menos 1 vez.
	Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado
	
	
	
	 
		
	
		4.
		Comando de repetição é utilizado quando se deseja repetir determinados comandos. Marque a opção que representa o uso do comando while para implementar a estrutura de um contador corretamente.
	
	
	
	while (repita 10 vezes) { }
	
	
	while (if cont =10){ }
	
	
	String cont = ""; { cont++; } while (cont!="")
	
	
	while () { cout << "exibindo o número"; }
	
	
	int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; }
	
Explicação:
A estrutura geral do while quando se usa contador no teste do loop é a seguinte :
while (   < condição... teste lógico ... com o contador >  )
 {
      < comandos>
      alteração do contador
}
 
Analisando ...
	 Falsa. Faltou a condição ou teste lógico ou variável que pode ser true ou false.
while () { cout << "exibindo o número"; }
                                     
	 
	Verdadeira. Pode se r encaixada na explicação no início.
	int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; }
	 
	FAlsa.  Não tem String em C++. Existe string, mas não String. Sintaxe incorreta no uso do while.
	String cont = ""; { cont++; } while (cont!="")
	 
	Falsa.  Sintaxe incorreta.  Uso de repita sem sentido.
	while (repita 10 vezes) { }
	 
	Falsa.  Uso incorreto do if na parte relativa à condição do while.
	while (if cont =10){ }
Aula 8 estrutura de repetição com variável de controle
	
	 
		
	
		1.
		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" );
}
	
	
	
	25 19 13 7 1
	
	
	12 8 10 7 15
	
	
	0 0 0 0 0
	
	
	12 5 10 7 13
	
	
	10 5 0 13 7
	
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
	
	
	
	 
		
	
		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 quantidade de elementos digitados
	
	
	A soma dos elementos ímpares
	
	
	A soma de todos os elementos
	
	
	O maior de todos os elementos digitados
	
	
	A média dos elementos digitados
	
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.
		
	
	
	
	50 e 16
	
	
	o valor de s está indefinido e o valor de num é 7
	
	
	50 e 9
	
	
	9 e 9
	
	
	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.
		Considere a estrutura for ( ; ; ), e assinale a afirmação correta:
	
	
	
	É um laço infinito.
	
	
	Não é executada pois não tem incremento.
Não é executada, pois não tem condição de teste.
	
	
	Tem a sintaxe incorreta.
	
	
	Não é executada, pois não tem variável.
	
Explicação:
 
	 
	 Verdadeiro
	É um laço infinito.
	 
	Falso. É possível para loops infinitos ou quase infinitos
	Tem a sintaxe incorreta.
	 
	FAlso. É possível para loops infinitos ou quase infinitos
	Não é executada, pois não tem variável.
	 
	Falso. O teste pode ser feito dentro do for.
	Não é executada, pois não tem condição de teste.
	 
	Falso. O incremento pode ser posto dentro do for.
	Não é executada pois não tem incremento.
	
	
	
	 
		
	
		5.
		Após análise do código responda a questão:
 
 
 
Ao ser compilado e executado, o programa irá exibir na tela:
	
	
	
	Os valores entre 1 e 5 (inclusive) em ordem decrescente.
	
	
	Os números pares entre 1 e 5 (inclusive) em ordem crescente.
	
	
	Os valores entre 1 e 5 (inclusive)em ordem crescente.
	
	
	Os números ímpares entre 1 e 5 em ordem decrescente.
	
	
	Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente.
	
Explicação:
	 
	 
	Verdadeira, visto que o programa imprimirá :
O valor de i e 5
O valor de i e 3
O valor de i e 1
Portanto em ordem decrescente incluindo o 5 e o 1.
	Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente.
	 
	Falso. Não é entre apenas, pois inclui 5 e 1.
	Os números ímpares entre 1 e 5 em ordem decrescente.
	 
	FAlso.  É em ordem decrescente e imprime os ímpares e não os pares.
	Os números pares entre 1 e 5 (inclusive) em ordem crescente.
	 
	FAlso. Não é qualquer valor, mas apenas os ímpares de 5 a 1, incluindo 5 e 1.
	Os valores entre 1 e 5 (inclusive) em ordem decrescente.
	 
	FAlso. Não é qualquer valor, mas apenas os ímpares em ordem decrescente de 5 a 1.
	Os valores entre 1 e 5 (inclusive)em ordem crescente.
	
	
	
	 
		
	
		6.
		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;<total;< p=""> </total;<>
	
	
	
	55
	
	
	63
	
	
	60
	
	
	48
	
	
	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
	
	
	
	 
		
	
		7.
		
Marque a opção correta.  Considere o trecho de programa feito abaixo em C++. O valor final de soma e o valor final de num, são respectivamente
 
int contador, num = 1, soma = 0;
for (contador = 1; contador <= 20; contador += 5) {
        soma = soma + num;
         num = num + 3;
   }
	
	
	
	 
o valor de soma está indefinido e o valor de num é 10
	
	
	 
12 e 10
 
	
	
	 
22 e 20
	
	
	22  e  13
	
	
	 
22  e 10
	
Explicação:
 
Analisando o trecho : 
int contador, num = 1, soma = 0;
for (contador = 1; contador <= 20; contador += 5) {
        soma = soma + num;
         num = num + 3;
   }
 
Fazendo teste de mesa :
	contador
	num
	soma
	contador <= 20
	1
	1
	0
	sim
	6
	4
	1
	sim
	11
	7
	5
	sim
	16
	10
	12
	sim
	21
	13
	22
	21 <= 20 ? Falso.
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
Os valores finais das variáveis estão em vermelho.
Logo, a resposta é 22  e  13
	
	
	
	 
		
	
		8.
		Se você desejasse escrever um programa em C++ que recebesse um número qualquer e exibisse a sua tabuada, precisaria da seguinte repetição:
	
	
	
	para (cont=0;cont<=10;cont++)
{ escreva(num," x ",cont," = ",cont*cont,"\n")}
	
	
	para (cont=10;cont<=0;cont++)
{ escreva(num," x ",cont," = ",num*5,"\n")}
	
	
	para (cont=0;cont<=10;cont++)
{ escreva(num," x ",cont," = ",num*cont,"\n")}
	
	
	para (cont=0;cont<=10;num++)
{ escreva(num," x ",cont," = ",num*num,"\n")}
	
	
	para (cont=10;cont<=0;cont--)
{ escreva(num," x ",cont," = ",num*cont,"\n")}
	
	
	
		1.
		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=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!";  }
}
	
	
	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!";  }
}
	
	
	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!";  }
}
	
	
	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!";  }
}
	
	
	
	 
		
	
		2.
		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++)
	
	
	for (int i=0; i <= 200; i++)
	
	
	for (int i=0, i <= 200, i++)
	
	
	for ( 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++)
	
	
	
	 
		
	
		3.
		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;
}
	
	
	
	A quantidade de elementos digitados
	
	
	O menor de todos os elementos digitados
	
	
	A quantidade de elementos pares
	
	
	A média dos elementos digitados
	
	
	O maior de todos os elementos digitados
	
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.
 
	
	
	
	 
		
	
		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

Teste o Premium para desbloquear

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

Outros materiais