Buscar

PROGRAMAÇÃO APLICADA À SISTEMAS ELÉTRICOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 176 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 176 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 176 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1.
		A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é chamada de:
	
	
	
	Programa
	
	
	Linguagem de alto nível
	
	
	Linguagem de baixo nível
	
	
	Compilador
	
	
	Linguagem de Máquina
	
Explicação: 
	Falso. É um tradutor.
	Compilador
	 
	FAlsa. Linguagem de zeros e uns.
	Linguagem de Máquina
	 
	 VErdadeiro
	Programa
	 
	Falso. Usada para escrever programas
	Linguagem de alto nível
	 
	Falso. Usada para escrever programas mais próximos da máquina. Exemplo : linguagem assembly
	Linguagem de baixo nível
	
	
	
	
	
	 
		
	
		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.
		Sobre fluxograma, assina a opção correta.
	
	
	
	É uma representação gráfica de algoritmos que dá margem à dupla interpretação ou ambiguidades.
	
	
	É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidade .
	
	
	É uma forma de se representar o uso de hardware no programa.
	
	
	É uma forma de se escrever programas em qualquer linguagem de programação.
	
	
	É usado na escrita de pseudolinguagens, como o Portugol.
	
Explicação: 
É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidades, como ensinado na aula 1 online.
	
	
	
	 
		
	
		4.
		Com base nos conceitos de algoritmos, lógica de programação e linguagens de programação, é correto afirmar que:
	
	
	
	As linguagens de programação possuem um conjunto de regras flexíveis para a representação dos comandos de um programa. 
	
	
	Lógica de programação corresponde à representação gráfica de um determinado algoritmo.
	
	
	As linguagens de programação possibilitam a codificação de um determinado algoritmo, de acordo com um conjunto de regras específico.
	
	
	Os algoritmos correspondem, estritamente, aos conjuntos de dados e informações que são tratados em um determinado processamento. 
	
	
	Os três conceitos correspondem às únicas formas de representação da solução de um determinado problema.
	
Explicação: 
1ª. opção : Falso.  As representações de algoritmos são linguagem natural, fluxograma e pseudocódigo.
2ª. opção .  Falso. Fluxograma corresponde à representação gráfica de algoritmos.
3ª. opção.  Verdadeira.  De acordo com o ensinado na aula 1.
4ª. opção. Falso.  Em algoritmos se vê também os comandos, além dos dados.
5ª. opção. Falso. As regras não são flexíveis. Temos que seguir corretamente a sintaxe das linguagens na criação de programas.
	
	
	
	 
		
	
		5.
		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 I e II são CORRETAS
	
	
	Apenas as alternativas I e III são CORRETAS
	
	
	Apenas as alternativas II e III são INCORRETAS
	
	
	Todas as alternativas são CORRETAS
	
	
	Apenas a alternativa I é CORRETA
	
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.
	
	
	
	 
		
	
		6.
		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 + (salAtual*percAumento)
	
	
	novoSal <- salAtual + (salAtual*percAumento/100)
	
	
	novoSal <- (salAtual*percAumento/100)
	
	
	novoSal <- salAtual + (salAtual*100)
	
	
	novoSal <- salAtual + (percAumento/100)
	
	
	
	 
		
	
		7.
		Assinale a opção correta.
	
	
	
	Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a linguagem de programação.
	
	
	Programa e fluxograma são sinônimos.
	
	
	Um programa é um algoritmo codificado em linguagem natural.
	
	
	Um programa é um algoritmo codificado em uma linguagem de programação.
	
	
	Um programa é um algoritmo codificado em uma pseudolinguagem.
	
Explicação: 
	Um programa é um algoritmo codificado em uma linguagem de programação.
Verdadeira
 
	 
	Falsa.  Programa é código escrito em alguma linguagem de programação.  Fluxograma é uma representação gráfica de algoritmo.
	Programa e fluxograma são sinônimos.
	 
	Falso. Programa é um algoritmo codificado ou  escrito em alguma linguagem de programação. 
	Um programa é um algoritmo codificado em linguagem natural.
	 
	Falso. Programa é um algoritmo codificado ou  escrito em alguma linguagem de programação. 
	Um programa é um algoritmo codificado em uma pseudolinguagem.
	 
	Falso.  É fundamental o uso da lógica de  programação além de se conhecer a linguagem de programação.
	Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a linguagem de programação.
	
	
	
	 
		
	
		8.
		Assinale a opção que, corretamente, mostra exemplos de linguagens de programação.
	
	
	
	C++, C# e fluxograma
	
	
	C++, Java, portugol
	
	
	C++, Java, C#
	
	
	fluxograma, português estruturado, C
	
	
	português estruturado, C++, Java
	
Explicação: 
Exemplos dados na aula 1.  
		1.
		 Assinale a opção que mostra as formas possíveis e mais adequadas de se representar um algoritmo :
	
	
	
	Linguagem gráfica e pseudolinguagem
	
	
	Linguagem natural e pseudolinguagem
	
	
	Apenas pseudolinguagem
	
	
	 Linguagem natural e linguagem gráfica
	
	
	Linguagem natural, fluxograma e pseudolinguagem
	
Explicação: 
Por definição e aula de introdução e formas de representação de algoritmo.
	
	
	
	 
		
	
		2.
		Sobre Português Estruturado, assinale a opção correta :
	
	
	
	É igual ao fluxograma
	
	
	É igual a uma carta para um encarregado
	
	
	É igual à linguagem natural ou narrativa
	
	
	É igual à linguagem de programação na língua portuguesa
	
	
	O português estruturado é uma simplificação da nossa linguagem natural, na qual usamos frases simples e estruturas quepossuem um significado muito bem definido.
	
Explicação: 
Definição direta e objetiva dada na aula 1. 
	
	
	
	 
		
	
		3.
		A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser realizada é chamada de:
	
	
	
	Algoritmo
	
	
	Diagrama
	
	
	Fluxograma
	
	
	Linguagem de Programação
	
	
	Pseudocódigo
	
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
	
	
	
	 
		
	
		4.
		A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é chamada de:
	
	
	
	Compilador
	
	
	Linguagem de alto nível
	
	
	Programa
	
	
	Linguagem de Máquina
	
	
	Linguagem de baixo nível
	
Explicação: 
	Falso. É um tradutor.
	Compilador
	 
	FAlsa. Linguagem de zeros e uns.
	Linguagem de Máquina
	 
	 VErdadeiro
	Programa
	 
	Falso. Usada para escrever programas
	Linguagem de alto nível
	 
	Falso. Usada para escrever programas mais próximos da máquina. Exemplo : linguagem assembly
	Linguagem de baixo nível
	
	
	
	
	
	 
		
	
		5.
		Sobre algoritmo, marque a opção correta.
	
	
	
	É a solução teórica, passo a passo, de um problema.
	
	
	É uma etapa posterior à programação da solução de um problema.
	
	
	É um hardware especifico para resolver problemas.
	
	
	É uma linguagem de programação para computadores.
	
	
	É uma forma de ensinar o computador.
	
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.
	
	
 
	
	
	
	 
		
	
		6.
		Sobre fluxograma, assina a opção correta.
	
	
	
	É uma forma de se representar o uso de hardware no programa.
	
	
	É uma representação gráfica de algoritmos que dá margem à dupla interpretação ou ambiguidades.
	
	
	É uma forma de se escrever programas em qualquer linguagem de programação.
	
	
	É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidade .
	
	
	É usado na escrita de pseudolinguagens, como o Portugol.
	
Explicação: 
É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidades, como ensinado na aula 1 online.
	
	
	
	 
		
	
		7.
		Assinale a opção que, corretamente, mostra exemplos de linguagens de programação.
	
	
	
	fluxograma, português estruturado, C
	
	
	C++, Java, C#
	
	
	C++, C# e fluxograma
	
	
	C++, Java, portugol
	
	
	português estruturado, C++, Java
	
Explicação: 
Exemplos dados na aula 1.  
	
	
	
	 
		
	
		8.
		Com base nos conceitos de algoritmos, lógica de programação e linguagens de programação, é correto afirmar que:
	
	
	
	As linguagens de programação possuem um conjunto de regras flexíveis para a representação dos comandos de um programa. 
	
	
	Os algoritmos correspondem, estritamente, aos conjuntos de dados e informações que são tratados em um determinado processamento. 
	
	
	As linguagens de programação possibilitam a codificação de um determinado algoritmo, de acordo com um conjunto de regras específico.
	
	
	Lógica de programação corresponde à representação gráfica de um determinado algoritmo.
	
	
	Os três conceitos correspondem às únicas formas de representação da solução de um determinado problema.
	
Explicação: 
1ª. opção : Falso.  As representações de algoritmos são linguagem natural, fluxograma e pseudocódigo.
2ª. opção .  Falso. Fluxograma corresponde à representação gráfica de algoritmos.
3ª. opção.  Verdadeira.  De acordo com o ensinado na aula 1.
4ª. opção. Falso.  Em algoritmos se vê também os comandos, além dos dados.
5ª. opção. Falso. As regras não são flexíveis. Temos que seguir corretamente a sintaxe das linguagens na criação de programas.
		1.
		Assinale a opção correta. Sobre variáveis é correto afirmar que ...
	
	
	
	nomes de variáveis sempre podem iniciar com aspa.
	
	
	uma variável ocupa um espaço em memória e devemos usar, normalmente, um tipo de dados ao declará-la.
	
	
	palavras reservadas podem ser usadas para nome de variáveis.
	
	
	uma variável ocupa um espaço em memória e nunca se usa um tipo de dados ao declará-la.
	
	
	o nome de uma variável sempre pode começar com acento.
	
Explicação: 
1ª. opção : Verdadeiro.  De acordo com definição da aula e exemplos vistos nas aulas 2 e 3 e demais aulas.
2ª. opção : Falso.  Vide aulas 2, 3 e outras. Palavras reservadas serão de comandos, tipos de dados e não podem ser usadas para nomear variáveis.
3ª. opção : Falso.  Nomes de variáveis começam com letra ou _ (sublinhado)
4ª. opção : Falso. Nomes de variáveis começam com letra ou _ (sublinhado)
5ª. opção. Falso. A partir da aula 2 se vê  que variáveis   terão um tipo de dados.
	
	
	
	 
		
	
		2.
		Assinale a opção que apresenta somente nomes válidos para variáveis em C++.
	
	
	
	1conta, 2total, 3data
	
	
	CONTA, TOTAL1, data
	
	
	CONTA, TOTAL1, 1DATA
	
	
	Conta, Total, 5data
	
	
	Conta, Total1, DIA-MÊS-ANO
	
Explicação: 
	Falsa.  Não se pode começar nome de variável com dígito.
	CONTA, TOTAL1, 1DATA
	 
	Falsa. Não se pode começar nome de variável com dígito.
	Conta, Total, 5data
	 
	Verdadeiro
	CONTA, TOTAL1, data
	 
	Falsa. Não se pode pôr acento ou usar hífen em nome de variável.
	Conta, Total1, DIA-MÊS-ANO
	 
	Falsa. Não se pode começar nome de variável com dígito.
	1conta, 2total, 3data
	
	
 
	
	
	
	 
		
	
		3.
		Em C++ existem quatro tipos básicos, isto é , tipos básicos de dados que podem ser utilizados. Qual é o tipo definido da seguinte maneira: "Qualquer número real, negativo, nulo ou positivo."
	
	
	
	bool
	
	
	real
	
	
	float
	
	
	char
	
	
	int
	
Explicação: 
Conforme gabarito e aula de tipos primitivos de dados
	
	
	
	 
		
	
		4.
		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;
	
	
	float quilo = 34.90; float prato = 0; float 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;
	
	
	
	 
		
	
		5.
		Selecione, entre as alternativas, a opção correta, tendo em vista a frase: Necessita de espaço na memória e define o tipo de dado a ser armazenado.
	
	
	
	Estrutura de Seleção
	
	
	Comando PARA
	
	
	atribuição
	
	
	Comando Enquanto-Faça
	
	
	Variável
	
Explicação: 
	Necessita de espaço na memória e define o tipo de dado a ser armazenado.
	 
	Falso.  Não necessita de espaço em memória e nem de tipo de dado. É um comando de repetição.
	Comando PARA
	 
	Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de repetição.
	Comando Enquanto-Faça
	 
	 Verdadeiro
	Variável
	 
	Falso. É uma operação ou comando.
	atribuiçãoFalso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de seleção, como if ou if/else, por exemplo.
	Estrutura de Seleção
	
	
	
	 
		
	
		6.
		Os comentários são recursos que podem ser utilizados pelos programadores para:
	
	
	
	Inserir comandos que serão traduzidos pelo compilador
	
	
	Inserir diretivas para o compilador
	
	
	Inserir comandos que serão executados pela máquina
	
	
	Inserir textos explicativos apenas para o programador
	
	
	Inserir textos explicativos apenas para o usuário
	
Explicação: 
	Falso.  Comentário não é comando ou permite inserir comando.
	Inserir comandos que serão executados pela máquina
	 
	Falso.  Comentário não é comando ou permite inserir comando.
	Inserir comandos que serão traduzidos pelo compilador
	 
	 Verdadeiro
	Inserir textos explicativos apenas para o programador
	 
	Falso. O usuário não irá ler o programa.
	Inserir textos explicativos apenas para o usuário
	 
	Falso.  O compilador irá ignorar o texto explicativo dos comentários.
	Inserir diretivas para o compilador
	
	
	
	 
		
	
		7.
		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 int PI=3.14;
	
	
	const integer PI=3.14;
	
	
	const float PI=3.14;
	
	
	const real PI=3.14;
	
	
	float PI=3.14;
	
	
	
	 
		
	
		8.
		Considerando a linguagem C++, assinale a opção correta :
	
	
	
	A linguagem C++ diferencia maiúsculas de minúsculas
	
	
	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
	
	
	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.
	
Explicação: 
BAsta seguir as descrições  e características da linguagem C++  na aula sobre variáveis
		1.
		Assinale a opção correta: 
	
	
	
	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++.
	
	
	Os programas em C++ precisam ser traduzidos para uma linguagem que o computador entenda.
	
	
	Programas em C++ são interpretados e não compilados
	
Explicação: 
Basta seguir a definição de programa dada na aula  de conceitos introdutórios.
	
	
	
	 
		
	
		2.
		Quanto à linguagem de programação, marque a opção que determina o processo que efetua integralmente a tradução de um programa fonte para o código de máquina, podendo assim ser executado diretamente.
	
	
	
	Compilação
	
	
	Linkedição
	
	
	Determinação
	
	
	Orientação
	
	
	Evolução
	
Explicação: 
Compilação é o processo que efetua integralmente a tradução de um programa fonte para o código de máquina, podendo assim ser executado diretamente.
	
	
	
	 
		
	
		3.
		Assinale a opção correta:
	
	
	
	São palavras reservadas no C++ : int, real, inteiro, float
	
	
	Os programas em C++ não possuem palavras reservadas.
	
	
	Não são palavras reservadas em C++ : for, while e do
	
	
	Para terminar um programa em C++ devemos usar retorne 0;
	
	
	Os programas em C++  possuem palavras reservadas tais como main e int.
	
Explicação: 
Explicação dada na aula sobre programa em C++ e palavras reservadas em C++
	
	
	
	 
		
	
		4.
		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?
	
	
	
	string qtde25, qtde50, qtde1, quantiaTotal;
	
	
	bool qtde25, qtde50, qtde1, quantiaTotal;
	
	
	char qtde25, qtde50, qtde1, quantiaTotal;
	
	
	int qtde25, qtde50, qtde1, quantiaTotal;
	
	
	float qtde25, qtde50, qtde1, quantiaTotal;
	
	
	
	 
		
	
		5.
		Assinale a opção correta.  O que quer dizer main ?
	
	
	
	algoritmo
	
	
	programa
	
	
	portugol
	
	
	principal
	
	
	estruturado, de português estruturado
	
Explicação: 
Basta saber a tradução.
	
	
	
	 
		
	
		6.
		Assinale a opção correta.
	
	
	
	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;
	
	
	As variáveis do tipo bool podem ser true ou false.
	
	
	Uma possível declaração de uma variável booleana em C++ :  boolean x;
	
Explicação: 
DE acordo com a sintaxe da linguagem C++
	
	
	
	 
		
	
		7.
		Assinale a opção correta. Sobre variáveis é correto afirmar que ...
	
	
	
	uma variável ocupa um espaço em memória e nunca se usa um tipo de dados ao declará-la.
	
	
	o nome de uma variável sempre pode começar com acento.
	
	
	palavras reservadas podem ser usadas para nome de variáveis.
	
	
	uma variável ocupa um espaço em memória e devemos usar, normalmente, um tipo de dados ao declará-la.
	
	
	nomes de variáveis sempre podem iniciar com aspa.
	
Explicação: 
1ª. opção : Verdadeiro.  De acordo com definição da aula e exemplos vistos nas aulas 2 e 3 e demais aulas.
2ª. opção : Falso.  Vide aulas 2, 3 e outras. Palavras reservadas serão de comandos, tipos de dados e não podem ser usadas para nomear variáveis.
3ª. opção : Falso.  Nomes de variáveis começam com letra ou _ (sublinhado)
4ª. opção : Falso. Nomes de variáveis começam com letra ou _ (sublinhado)
5ª. opção. Falso. A partir da aula 2 se vê  que variáveis   terão um tipo de dados.
	
	
	
	 
		
	
		8.
		Assinale a opção que apresenta somente nomes válidos para variáveis em C++.
	
	
	
	Conta, Total, 5data
	
	
	CONTA, TOTAL1, data
	
	
	1conta, 2total, 3data
	
	
	CONTA, TOTAL1, 1DATA
	
	
	Conta, Total1, DIA-MÊS-ANO
	
Explicação: 
	Falsa.  Não se pode começar nome de variável com dígito.
	CONTA, TOTAL1, 1DATA
	 
	Falsa. Não se pode começar nome de variável com dígito.
	Conta, Total, 5data
	 
	Verdadeiro
	CONTA, TOTAL1, data
	 
	Falsa. Não se pode pôr acento ou usar hífen em nome de variável.
	Conta, Total1, DIA-MÊS-ANO
	 
	Falsa. Não se pode começar nome de variável com dígito.
	1conta, 2total, 3data
	
	
 
	
		1.
		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 : = , > , <
	
	
	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
 
 
	
	
	
	 
		
	
		2.
		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
	
	
	V, V, F, F, V, V, F, F
	
	
	F, V, F, V, V, F, V, F
	
	
	V, V, V, V, V, F, F, F
	
	
	
	 
		
	
		3.
		Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos.
	
	
	
	!, > e >=
	
	
	+, - 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 *
	
	
	
	
	
	 
		
	
		4.
		Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro. 
	
	
	
	((pontos>=10) && (pontos <=20))
	
	
	((pontos>=10) ! (pontos <=20))
	
	
	((pontos>=10) # (pontos <=20))
	
	
	((pontos>=10) || (pontos <=20))
	
	
	((pontos>=10) % (pontos <=20))
	
Explicação: 
Pelo tabela verdade do operador e ( && em C++), as duas condições devem ser verdadeiras para toda a expressão ser verdadeira.
Se for o ou (símbolo ||), basta uma condição se verdadeira para toda a expressão ser verdadeira.
% é para cálculo de resto.
# não tem efeito
O operador ! é unário e inverte o valor lógico. Ou seja, se a expressão for verdadeira : ! expressão é falsa.
	
	
	
	 
		
	
		5.
		Considerando os seguintes conteúdos para as variáveis:
 a = 2, b = 5 e c = 4 
Determine qual das sentenças retornará verdadeiro.
	
	
	
	(b % a) == 0
	
	
	(b + 2) > (a * c)
	
	
	pow(c,a) > b * c
	
	
	a == c
	
	
	((b = 2) == a)
	
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
	
	
	
	 
		
	
		6.
		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;
	
	
	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. 
	
	
	
	 
		
	
		7.
		Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a mesma ficaria?
	
	
	
	A e B ou C nao D
	
	
	A ou nao B e nao C e nao D
	
	
	A e B ou C ou nao D
	
	
	A ou B e C e D
	
	
	A ou B e C e nao D
	
	
	
	 
		
	
		8.
		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
	
	
	A && B && C && !D
	
Explicação: 
A ||  B && C && !D
|| = OU
&& = E
! = não
	 
		
	
		1.
		Assinale a alternativa que apresenta APENAS operadores relacionais.
	
	
	
	+, - e *
	
	
	=, > e ||
	
	
	&&, >= 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 *
	
	
	
	 
		
	
		2.
		Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
	
	
	
	+, - e *
	
	
	&&, >= e ||
	
	
	<, > 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.
		Indique qual alternativa calcula corretamente a média aritmética das notas AV1 e AV2 de uma determinada disciplina
	
	
	
	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
	
	
	
	 
		
	
		4.
		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 - V - V - F
	
	
	F - F - V - F
	
	
	V - F - F - F
	
	
	V - V - V - V
	
	
	V - V - V - F
	
	
	
	 
		
	
		5.
		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)
	
	
	(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
 
	
	
	
	 
		
	
		6.
		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 = 3.
	
	
	A expressão é FALSA, e o valor de X * X + Y = 4.
	
	
	A expressão é VERDADEIRA, e o valor de X * X + Y = 5.
	
	
	A expressão é FALSA, e o valor de X * X + Y = 6.
	
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.
 
	
	
	
	 
		
	
		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
	
	
	14
	
	
	3
	
	
	4.66666 
	
	
	4
	
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.
		Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos.
	
	
	
	!, > e >=
	
	
	&&, >= e <=
	
	
	=, > e ?
	
	
	+, - e *
	
	
	&&, || e !
		1.
		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 - F - F
	
	
	V - V - V
	
	
	V - V - F
	
	
	F - V - F
	
	
	V - F - F
	
	
	
	 
		
	
		2.
		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 _______________.
	
	
	
	math - math.round
	
	
	locale - ptb
	
	
	iostream - setlocale
	
	
	iostream - ptb
	
	
	locale - setlocale
	
	
	
	 
		
	
		3.
		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 criarum 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: ")
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
	
	
	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)
	
	
	
	 
		
	
		4.
		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."
	
	
	"Você consegue abastecer 51.28 litros de combustível."
	
	
	"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível."
	
	
	"Com R$ 200.00 você consegue abastecer 51.28 litros de combustível."
	
	
	
	 
		
	
		5.
		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")
	
	
	leia("Você tem ou fará " / idade/ " anos")
	
	
	escreva("Você tem ou fará " * idade * " anos")
	
	
	
	 
		
	
		6.
		Assinale a opção correta :
	
	
	
	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
	
	
	Para entrada de dados usamos cin com <<  e para saída de dados usamos cout com >>
	
	
	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
	
Explicação: 
Basta seguir as descrições na aula 2.
	
	
	
	 
		
	
		7.
		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);
   
	
	
	
	int nota1, nota2, nota3, media;
	
	
	float nota1, nota2, nota3, media;
	
	
	real nota1, nota2, nota3;
	
	
	float nota1..nota3, media;
	
	
	nota1, nota2, nota3 : float
	
Explicação: 
as 4 variáveis precisam ser float, para conterem valores com casas decimais
	
	
	
	 
		
	
		8.
		Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++
	
	
	
	cout < lendo idade; cin > idade
	
	
	System.out.println("lendo idade"); System.out.println("lendo idade");
	
	
	cout "lendo a idade"; cin idade;
	
	
	cout << "lendo a idade"; cin >> idade;
	
	
	exiba "lendo a idade"; lendo 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");
		1.
		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 - V - F
	
	
	V - F - F
	
	
	F - F - F
	
	
	V - V - V
	
	
	F - V - F
	
	
	
	 
		
	
		2.
		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 - ptb
	
	
	locale - setlocale
	
	
	math - math.round
	
	
	iostream - setlocale
	
	
	
	 
		
	
		3.
		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: ")
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)
	
	
	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
	
	
	real tempF, tempC
escreva("Temperatura em Fahrenheit: ")
tempC=(tempF-32)/1.8
escreva("Temperatura em graus Celsius: ", tempC)
	
	
	
	 
		
	
		4.
		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$ 200.00 você consegue abastecer 51.287645 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$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível."
	
	
	
	 
		
	
		5.
		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 seguirmostra 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")
	
	
	escreva("Você tem ou fará " * idade * " anos")
	
	
	leia("Você tem ou fará " / idade/ " anos")
	
	
	
	 
		
	
		6.
		Assinale a opção correta :
	
	
	
	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
	
	
	Para entrada de dados usamos cout  e para saída de dados usamos cin
	
	
	Para entrada de dados usamos cout com <<  e para saída de dados usamos cin com >>
	
Explicação: 
Basta seguir as descrições na aula 2.
	
	
	
	 
		
	
		7.
		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);
   
	
	
	
	real nota1, nota2, nota3;
	
	
	float nota1..nota3, media;
	
	
	nota1, nota2, nota3 : float
	
	
	int nota1, nota2, nota3, media;
	
	
	float nota1, nota2, nota3, media;
	
Explicação: 
as 4 variáveis precisam ser float, para conterem valores com casas decimais
	
	
	
	 
		
	
		8.
		Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++
	
	
	
	cout "lendo a idade"; cin idade;
	
	
	cout << "lendo a idade"; cin >> idade;
	
	
	System.out.println("lendo idade"); System.out.println("lendo idade");
	
	
	cout < lendo idade; cin > idade
	
	
	exiba "lendo a idade"; lendo 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");
		1.
		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; 
	
	
	
	x = 10 y = 12 z = 0 k = 0
	
	
	x = 10 y = 12 z = 0.833 k = 0
	
	
	10 12 2 0
	
	
	11 11 2 0
	
	
	x= 11 y = 11 z = 2 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 
	
	
	
	 
		
	
		2.
		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 - V - F
	
	
	F - V - F
	
	
	F - F - F
	
	
	V - F - V
	
	
	V - V - V
	
	
	
	 
		
	
		3.
		Em linguagem de programação, existe uma estrutura que é empregada em situações em que é preciso tomar uma decisão a respeito de determinado resultado que será obtido em duas situações diversas. Marque a opção que determina a estrutura de controle citada:
	
	
	
	Matricial
	
	
	Vetorial
	
	
	Recursiva
	
	
	Decisão
	
	
	Repetição
	
Explicação: 
A opção que determina a estrutura de controle citada é a Decisão
	
	
	
	 
		
	
		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 12 110
 
	
	
	11 12 110 1 0
 
	
	
	11 110 1 0
 
	
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.
		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"; 
	
	
	
	10 12 0.833 1.2
	
	
	10 12 0 2
	
	
	Nada é impresso na tela, pois k é zero.
	
	
	x = 10 y = 12 z = 0.833 k = 1.2
	
	
	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
	
	
	
	 
		
	
		6.
		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 é 7 e na 2ª. execução o valor de entrada é 8.    Para isso, considere 
o seguinte trecho em C++.
  int num;
  cout << "Digite um numero: ";
  cin >> num;
  if (num != 2 || num != 4 || num != 6)
  {
      num = num + 2;
      cout << num << " ";
  }
  if (num != 8)
  {
      num--;
      cout << num << " ";
  }
  else
     cout << num * 5 ;
 
	
	
	
	9 40
 
	
	
	9 8 10 9
 
	
	
	8 10 40
 
	
	
	9 8 10 40
 
	
	
	9 6 10 9
 
	
Explicação: 
Analisando o trecho de programa em C++ ...
1a. execução : num recebe 7.  Daí, testamos o 1o. if.   Note que usamos o || lógico. A condição é verdadeira e entramos no bloco do 1o. if.  Então, num recebe 9 e é impresso o valor 9 na tela.
Seguimos para o próximo if e testamos sua condição.  É verdade que 9 != 8 ? Sim. Entramos no bloco do 2o. if e então decrementamos 9 para 8 e imprimimos o valor 8.
Concluindo esta 1a. execução :  Foram impressos 9 8
2a. execução : num recebe  8.  Daí, testamos o 1o. if.   Note que usamos o || lógico. A condição é verdadeira e entramos no bloco do 1o. if.  Então,num recebe 10 e é impresso o valor 10.
Seguimos para o próximo if e testamos sua condição.  É verdade que 10 != 8 ? Sim. Entramos no bloco do 2o. if e então decrementamos 10 para 9, imprimindo o valor 9.
Concluindo esta 2a. execução :  Foram impressos 10 9 
	
	
	
	 
		
	
		7.
		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
	
	
	1, 7 e 7
	
	
	0, 6 e 7
	
	
	1, 6 e 16
	
	
	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  
	
	
	
	 
		
	
		8.
		Tendo em mente os conceitos dos comandos básicos de decisão do C++, analise o trecho de programa abaixo e assinale a alternativa que corresponda a saída na tela:
	
	
	
	2
	
	
	-1
	
	
	22
	
	
	11
	
	
	5
	
	
		1.
		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 ;
	
	
	
	0 13 4 
	
	
	13 4 13 
	
	
	0 4 13 
	
	
	4 13 13
	
	
	13 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
 
 
	
	
	
	 
		
	
		2.
		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 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!")}
	
	
	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!")}
	
	
	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==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!")}
	
	
	
	 
		
	
		3.
		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
	
	
	0.5 4 14
	
	
	14 4 0
	
	
	4 14 0.5
	
	
	4 14 0
	
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro
	
	
	
	 
		
	
		4.
		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 iii está correta. 
	
	
	Apenas a alternativa ii está correta. 
	
	
	Todas as alternativas estão erradas. 
	
	
	Todas as alternativas estão corretas. 
	
	
	Apenas a alternativa i 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.
	
	
	
	 
		
	
		5.
		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!"; }
	
	
	while ((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!"; }
	
	
	do
{ cout << "A soma de A e B é maior do que C!"; }
while ((A+B)>C)
	
	
	switch ((A+B)>C)
{ cout << "A soma de A e B é maior do que C!"; }
	
	
	
	 
		
	
		6.
		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!")
	
	
	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!")
	
	
	
	 
		
	
		7.
		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;
}
	
	
	
	N1 < N2 && N1 < 50
	
	
	N2 > N1 || N1 > 50
	
	
	N1 > N2 || N2 < 50
	
	
	N1 < N2 && N1 > 20
	
	
	N2 == N1 || N2 > 20
	
	
	
	 
		
	
		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 é:
	
	
	
	if (resto==0) then
  {cout <<"Este número é par!";}
elseif not
  {cout <<"Este número é ímpar!";}
	
	
	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!";}
	
	
	if (resto==0)
  {cout <<"Este número é par!";}
else
  {cout <<"Este número é ímpar!";}
	
	
		1.
		 
	
	
	
	10 50 10 2
	
	
	11 10 50 10 2
	
	
	11 50 10
	
	
	11 50 10 2
	
	
	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 22.
		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?
	
	
	
	do/while
	
	
	for
	
	
	while
	
	
	switch/case
	
	
	cout
	
Explicação: 
	
	switch/case
	 
	É para repetição
	do/while
	 
	É para repetição
	for
	 
	É para impressão na tela
	cout
	 
	É para repetição
	while
	
	
	
	 
		
	
		3.
		À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 
	
	
	As afirmativas II, III e IV são verdadeiras 
	
	
	As afirmativas I e IV são verdadeiras 
	
	
	Somente a afirmativa III é falsa 
	
	
	Somente a afirmativa II é verdadeira 
	
Explicação: As respostas falsas são conclusivas
	
	
	
	 
		
	
		4.
		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.
Considerando a sintaxe do Portugol Studio, um algoritmo que possa resolver o problema da lanchonete, utilizando a estrutura ESCOLHA, no trecho referente à compra de um milkshake seria:
	
	
	
	caso 102:
  item="Milkshake"
  valor=qtde*7
pare
	
	
	se 102:
  item="Milkshake"
  valor=qtde*7
pare
	
	
	escolha 102:
  item="Milkshake"
  valor=qtde*7
pare
	
	
	enquanto (102)
  item="Milkshake"
  valor=qtde*7
	
	
	para (item==102)
{
  item="Milkshake"
  valor=qtde*7
}
	
	
	
	 
		
	
		5.
		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)
{ 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 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"; }
	
	
	
	 
		
	
		6.
		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 - se, B - caso, C - pare, D - default
	
	
	A - escolha, B - caso, C - pare, D - outros casos
	
	
	A - caso, B - escolha, C - pare, D - outros casos
	
	
	A - switch, B - case, C - break, D - default
	
	
	A - case, B - switch, C - default, D - break
	
	
	
	 
		
	
		7.
		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?
	
	
	
	while (codigo) {
  case 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;
}
	
	
	switch (codigo) {
  if 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	switch (codigo) {
  case 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	
	 
		
	
		8.
		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 << " ### " ;
	
	
	
	 
7 não é divisível por 2.
	
	
	 
Nada aparece, pois o trecho de programa possui erro.
	
	
	 
Apenas 7
	
	
	 
7 é divisível por 3 e por 5.
	
	
	7 ###
	
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###
 
		1.
		Que comando em C++ é mais indicado para ser usadoem um programa que permita a escolha de uma opção do MENU  ?  Por exemplo : 1-Incluir, 2-Excluir, 3-Alterar e 9-Sair.
	
	
	
	for
	
	
	switch / case
	
	
	do/while
	
	
	cout / cin
	
	
	while
	
Explicação: 
Por definição dada em aula de comando de seleção
	
	
	
	 
		
	
		2.
		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.
	
	
	
	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!") }
	
	
	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 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!") }
	
	
	(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!") }
	
	
	
	 
		
	
		3.
		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
	
	
	A variável b ficará 3
	
	
	Nenhuma variável será alterada.
	
	
	A variável b ficará 1
	
	
	A variável t ficará 3
	
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.
 
	
	
	
	 
		
	
		4.
		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
	
	
	50 90 15 25 15
	
	
	55 90 15 27.5 15
	
	
	15 25 15 50 90 
	
	
	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.
	
	
	
	 
		
	
		5.
		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;  
switch:
    cout <<"Código inválido!";
	
	
	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;  
case not:
    cout <<"Código inválido!";
	
	
	case 7:
  cout <<"sábado";
  break;  
default:
    cout <<"Código inválido!";
	
	
	
	 
		
	
		6.
		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 <<  " ### " ;
 
	
	
	
	Apenas 9
	
	
	9 não é divisível por 2.
	
	
	Nada aparece, pois o trecho de programa possui erro.
	
	
	9 ###
	
	
	9 é divisível por 3 e por 5.
	
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.
		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
	
	
	switch/case
	
	
	break
	
	
	do/while
	
	
	for
	
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
	
	
 
	
	
	
	 
		
	
		8.
		
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;
}
	
	
	
	aninhamento de if
	
	
	comando switch
	
	
	Estrutura condicional de comando composto
	
	
	Estrutura condicional de comando simples
	
	
	Operador ternário
	
Explicação: 
Como dito no gabarito. O operador   ?   :   equivale ao comando     if ... else. 
		1.
		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.
	
	
	Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado.
	
	
	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.
	
	
	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.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
	
	
	
	 
		
	
		2.
		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 - F - V
	
	
	F - F - F
	
	
	V - F - V
	
	
	V - F - F
	
	
	F - V - V
	
	
	
	 
		
	
		3.
		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?
	
	
	
	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)
}
	
	
	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)
	
	
	
	 
		
	
		4.
		Assinale a opção que corresponde à condição da estrutura de repetição que faz com que o programa abaixo imprima 4 vezes a expressão Bom dia.
int a = 8;
while  (  ____   )
 {
   cout << "Bom dia\n";
   a = a -2;
}
	
	
	
	a <= 0
	
	
	a < 0
	
	
	a == 0
	
	
	a > 0
	
	
	a >= 0
	
Explicação: 
Analisando o trecho temos que  :
· a variável a funciona como contador e  começa com 8. 
· a variável a varia de 2 em 2. Assim : 
· quando a é 8 imprime-se  Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 8-2 = 6)
· quando a é 6  imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 6-2 = 4)
· quando a é 4 imprime-se Bom dia  (Logo após ele vai decaindo, ou seja a= a-2 --> a= 4-2 = 2)
· quando a é 2 imprime-se Bom dia  (Logo após ele vai decaindo, ou seja a= a-2 --> a= 2-2 = 4) porém como já imprimiu 4 vezes ele para.
· quando a for zero não se pode mais imprimir Bom dia, pois já se imprimiu 4 vezes, como visto acima.
Logo, a opção certa é :  a > 0, pois quando a for zero (a=0), a repetição irá terminar.
Lembrando que a não pode ser 0 pois já terá impresso 4 vezes bom dia.
	
	
	
	 
		
	
		5.
		A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é implementada pelo comando básico
	
	
	
	de seleção
	
	
	condicional
	
	
	sequencial
	
	
	de atribuição
	
	
	de repetição
	
Explicação: 
A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é implementada pelo comando básico de repetição
	
	
	
	 
		
	
		6.
		Na execução do comando while o teste da condição que controla a execução, ou não, dos comandos subordinados, é feito, sempre, antes de cada iteração. Desta forma, é correto afirmar que:
	
	
	
	Os comandos subordinados serão executados no mínimo uma vez.
	
	
	A condição de teste deverá ser sempre verdadeira antes do início da execução.
	
	
	A condição de teste deverá ser sempre falsa antes do início da execução.
	
	
	Independentemente da condição de teste, os comandos subordinados sempre serão executados.
	
	
	Os comandos subordinados poderão não ser executados.
	
Explicação: 
No comando enquanto primeiro se testa a condição para depois se executar o corpo da repetição. Se a condição for falsa nada dentro do corpo da repetição será executado.
	
	
	
	 
		
	
		7.
		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)
	
	
	do (num!=0)
	
	
	if (num!=0)
	
	
	for (num<=0)
	
	
	while (num==0)
	
	
	
	 
		
	
		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? 
 
	
	
	
	while (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cin<< "Informe as calorias do alimento " << cont <<": ";
  cout>> calAlimento;
}
	
	
	do (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;
}
	
	
	while (calAlimento!=0) {
  cont++; totCalorias+=calAlimento;
  cout<< "Informe as calorias do alimento " << cont <<": ";
  cin>> calAlimento;
}
	
		1.
		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:
	
	
	
	while 
	
	
	for/while 
	
	
	do/while 
	
	
	do/for 
	
	
	for 
	
Explicação: 
O comando do...while faz para depois testar.

Outros materiais