Buscar

PROGRAMAÇÃO APLICADA A 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 84 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 84 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 84 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

Assinale a opção correta.
		
	
	Um programa é um algoritmo codificado em linguagem natural.
	
	Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a linguagem de programação.
	 
	Um programa é um algoritmo codificado em uma linguagem de programação.
	
	Programa e fluxograma são sinônimos.
	
	Um programa é um algoritmo codificado em uma pseudolinguagem.
	Respondido em 04/04/2021 17:18:39
	
	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.
	
		2a
          Questão
	Acerto: 1,0  / 1,0
	
	Para realizar o armazenamento de um determinado valor na memória do computador é necessária a declaração de:
		
	 
	Variável
	
	Fluxograma
	
	Comando de entrada
	
	Estrutura de decisão
	
	Comando de saída
	Respondido em 04/04/2021 17:21:34
	
	Explicação:
	FAlso. Permite realizar entrada de dados.
	Comando de entrada
	 
	FAlso.Permite realizar saída de dados.
	Comando de saída
	 
	FAlso. Representação gráfica de um algoritmo.
	Fluxograma
	 
	FAlso.  Comando if ou if/else, por exemplo.
	Estrutura de decisão
	 
	 Verdadeiro
	Variável
	
		3a
          Questão
	Acerto: 1,0  / 1,0
	
	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
	
	F - F - V - F
	
	F - V - V - F
	
	V - F - F - F
	 
	V - V - V - F
	Respondido em 04/04/2021 17:25:55
	
		4a
          Questão
	Acerto: 1,0  / 1,0
	
	A sintaxe de uma linguagem de programação
		
	 
	define a forma como os comandos e as estruturas da linguagem devem ser utilizados.
	
	garante que a estrutura ENTRADA -> PROCESSAMENTO -> SAÍDA seja respeitada pelo programa.
	
	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.
	
	viabiliza a comunicação entre usuários e programas através de comandos de entrada e saída.
	Respondido em 04/04/2021 17:32:26
	
		5a
          Questão
	Acerto: 0,0  / 1,0
	
	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:
		
	
	Repetição
	
	Recursiva
	 
	Decisão
	
	Matricial
	 
	Vetorial
	Respondido em 04/04/2021 17:37:39
	
	Explicação:
A opção que determina a estrutura de controle citada é a Decisão
	
		6a
          Questão
	Acerto: 0,0  / 1,0
	
	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.
		
	 
	while
	
	cout / cin
	
	for
	 
	switch / case
	
	do/while
	Respondido em 04/04/2021 17:44:30
	
	Explicação:
Por definição dada em aula de comando de seleção
	
		7a
          Questão
	Acerto: 1,0  / 1,0
	
	Considere o trecho abaixo sabendo que num é um variável inteira.
 
num = 11;
do {
         if (num % 2 == 0)
            cout << num << "\n";
       num = num -1 ;
}  while (num != 0);
 
Assinale a opção correta :
		
	
	O trecho fornecido pára quando  num for zero e os números exibidos  são todos os pares de 10 até 0, nesta ordem.
	
	o trecho fornecido pára quando num for diferente de zero e são exibidos os valores 10 e 8, pelo menos.
	 
	O trecho fornecido pára quando  num for zero e os números exibidos  são todos os pares de 10 até 2, nesta ordem.
	
	O trecho entra em loop.
	
	O trecho fornecido pára quando  num for diferente de zero e o único número exibido é o 10.
	Respondido em 04/04/2021 17:46:02
	
	Explicação:
1a. opção está correta. Veja o teste de mesa :
	num
	num % 2 é igual a zero ? 
	num é diferente de zero ?  
	 
	11
	 11 % 2 é 1. Logo, é falso o teste do if.
	 
	 
	10
	 
	10 diferente de 0 ? sim
	 
	 
	10 % 2 é zero ? sim. Imprime o 10
	 
	 
	9
	 
	9 é diferente de 0 ? sim
	 
	 
	9 % 2 é zero ? Não
	 
	 
	8
	 
	8 é diferente de zero ? sim
	 
	 
	8 % 2 é zero ?  Sim. Imprime o 8 
	 
	 
	7
	 
	7 é diferente de zero ? sim
	 
	 
	7 % 2 é zero ? Não
	 
	 
	6  
	  6 % 2 é zero ? Sim. Imprime o 6 e decrementa para 5  valor de num 
	6 é diferente de zero  ? sim
	 
	 
	  E  assim continua ... irá parar quando num for zero...
Note que está imprimindo os pares de 10 até 2, pois quando decrementa num para zero, o teste do do...while falha.
	 
	 
	 
	 
	 
	 
Imprimirá  os números 10  8  6  4  2  , um embaixo do outro.
 
2a. opção é falsa.   Pára quando o valor de num for zero, mas não imprime o valor 0, justamente pelo já explicado no item anterior.
3a. opção é falsa.   Pára quando o valor de num for zero. Além disso, é um loop, então imprimem-se vários níumeros como mostrado na explicação da 1a. opção.
4a. opção é falsa.  Como mostrado no 1o. item, vários números são impressos :  os números 10  8  6  4  2  , um embaixo do outro.
5a. opção é falsa.  Falso. Como mostrado no 1o. item, vários números são impressos :  os números 10  8  6  4  2  , um embaixo do outro. Ocorre a parada do loop quando num for zero.
                   
	
		8a
          Questão
	Acerto: 0,0  / 1,0
	
	O que será impresso, após a execução do código, a seguir?
#include < iostream >
using namespace std;
int main()
{
for(int i=25;i>0;i=i-6) cout << i << " ";
system( "pause" );
}
		
	
	10 5 0 13 7
	 
	25 19 13 7 1
	
	12 8 10 7 15
	 
	0 0 0 0 0
	
	12 5 10 7 13
	Respondido em 04/04/2021 17:47:13
	
	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
	
		9a
          Questão
	Acerto: 1,0  / 1,0
	
	Os chamados vetores e matrizes podem ser considerados como:
		
	
	Comandos de seleção
	 
	Estruturas de dados homogêneas
	
	Comandos de repetição
	
	Estruturas de dados heterogêneas
	
	Comandos de seleção composta
	Respondido em 04/04/2021 17:50:46
	
	Explicação:
	 Verdadeira
	Estruturas de dados homogêneas
	 
	FAlsa.  Em vetores e matrizes os dados são todos do mesmo tipo.
	Estruturas de dados heterogêneas
	 
	Falso.  Comandos de seleção são if, if/else e switch
	Comandos de seleção
	 
	Falso. Comandos de repetição são for, while e do/while
	Comandos de repetição
	 
	Falso.  Comando if/else e não vetor ou matriz.
	Comandos de seleção composta
	
		10a
          Questão
	Acerto: 0,0  / 1,0
	
	Uma matriz é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________.
		
	 
	bidimensional - heterogênea - conjunto de valores - do mesmo tipo
	
	unidimensional - homogênea - conjunto de valores - do mesmo tipo
	
	bidimensional - heterogênea - único valor - de tipos variados
	
	unidimensional - heterogênea - único valor - de tipos variados
	 
	bidimensional - homogênea - conjunto de valores - do mesmo tipo
A representação gráfica dos algoritmos, em que cada símbolo apresentadorepresenta uma operação a ser realizada é chamada de:
		
	
	Linguagem de Programação
	
	Diagrama
	
	Pseudocódigo
	 
	Fluxograma
	
	Algoritmo
	Respondido em 01/04/2021 14:44:19
	
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
        Questão
	
	
	A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é chamada de:
		
	
	Linguagem de Máquina
	 
	Programa
	
	Linguagem de alto nível
	
	Compilador
	
	Linguagem de baixo nível
	Respondido em 01/04/2021 14:44:41
	
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
	
	
	
	
	 
		3
        Questão
	
	
	Assinale a alternativa correta relacionada à característica de um algoritmo:
		
	
	Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números.
	 
	A execução de um algoritmo é feita sequencialmente.
	
	Valores de entrada são recebidos através do monitor.
	
	Para cada variável pode ser definido mais de um tipo de dado.
	
	Teste de Mesa serve para receber os comandos de entrada.
	Respondido em 01/04/2021 14:44:54
	
Explicação:
	Verdadeira
	A execução de um algoritmo é feita sequencialmente.
	 
	Falso. Entrada é via teclado ou via arquivo, o que aqui não é o caso.
	Valores de entrada são recebidos através do monitor.
	 
	Falso. Apenas um tipo de dado.
	Para cada variável pode ser definido mais de um tipo de dado.
	 
	Falso. Teste de mesa serve para fazer um passo a passo.
	Teste de Mesa serve para receber os comandos de entrada.
	 
	Falso.  Tipo real aceita número com casas decimais ou inteiros. Tipo inteiro aceita apenas valores inteiros.
	Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números.
	
	
	 
		4
        Questão
	
	
	Algoritmo pode ser definido como a descrição dos passos para a execução de uma tarefa. Existem algumas formas distintas de representação de algoritmos, onde as principais são: Linguagem Natural, Linguagem Gráfica e Pseudocódigos. Se usarmos N para representar linguagem Natural, G para representar linguagem Gráfica e P para representar pseudocódigos, pode-se relacionar estas formas de representação de algoritmos com as seguintes afirmações:
( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se restringe apenas a algoritmos computacionais.
( )  Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da maioria das linguagens de programação.
( ) A grande ambiguidade existente nos significados de seus termos é uma restrição a representação aos algoritmos computacionais.
Marque a alternativa que representa a o relacionamento existente entre as afirmações e as formas de representação de algoritmos.
		
	
	N, G, P
	
	N, P, G
	
	G, N, P
	
	P, N, G
	 
	G, P, N
	Respondido em 01/04/2021 14:45:04
	
Explicação:
Analisando as afirmativas :
( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se restringe apenas a algoritmos computacionais.  <<< Fluxograma, por exemplo, que é uma linguagem gráfica >>>
( )  Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da maioria das linguagens de programação.   <<< Pseudocódigo >>>
( ) A grande ambiguidade existente nos significados de seus termos é uma restrição a representação aos algoritmos computacionais.  <<< Linguagem natural >>>
	
	
	 
		5
        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:
		
	
	I e II.
	
	I e III
	
	II e III.
	 
	I, II e III.
	
	Todas são falsas.
	Respondido em 01/04/2021 14:45:17
	
	
	 
		6
        Questão
	
	
	Sobre o FLUXOGRAMA abaixo podemos afirmar que :
		
	
	Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO
	
	Apresenta na sua lógica a estrutura básica REPETIÇÃO
	
	Apresenta na sua lógica as três estruturas básicas de programação
	
	Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO
	 
	Apresenta na sua lógica a estrutura básica DECISÃO
	Respondido em 01/04/2021 14:46:03
	
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.
	
	
	 
		7
        Questão
	
	
	Considerando 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:
		
	
	Todas as alternativas são CORRETAS
	
	Nenhuma das opções anteriores
	 
	As alternativas I e III são CORRETAS
	
	As alternativas II e III são INCORRETAS
	
	Apenas a alternativa I é CORRETA
	Respondido em 01/04/2021 14:46:30
	
Explicação:
Analisando cada afirmativa...
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo;   VERDADEIRO
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; FALSO
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos.  VERDADEIRO
 
Conclusão :  As afirmativas I e III estão corretas.
 
 
	
	
	 
		8
        Questão
	
	
	Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo:
 
 
		
	 
	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.
	
	No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre negativa.
	
	Poderiam ser retirados do fluxograma os símbolos de terminação que delimitam, respectivamente, o início e o fim da solução.
	
	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.
		Assinale a opção correta:
	
	
	
	São palavras reservadas no C++ : int, real, inteiro, float
	
	
	Para terminar um programa em C++ devemos usar retorne 0;
	
	
	Não são palavras reservadas em C++ : for, while e do
	
	
	Os programas em C++ não possuem palavras reservadas.
	
	
	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++
	
	
	
	 
		
	
		2.
		Um programa é um algoritmo codificado em linguagem natura:
	
	
	
	Todas as instruções de um programa em C++ devem estar entre chavesSem endentação o programa não compila
	
	
	Para saída de dados usamos cin com o operador <<
	
	
	Para terminar um programa podemos escrever :   return;
	
	
	Na linguagem C++ temos que não há distinção entre maiúsculas e minúsculas.
	
Explicação:
Basta considerar o que é descrito da linguagem na aula 2
	
	
	
	 
		
	
		3.
		O linha de programa que representa a ação "processamento" em um algoritmo em pseudolinguagem é:
	
	
	
	leia
	
	
	programa
	
	
	se
	
	
	valor <- valor + 1;
	
	
	enquanto
	
Explicação:
Conteúdo administrado no livro, onde é mostrado a equivalência entre   algoritmo e programa em C++.
As demais opções não apresentam nenhuma linha de processamento.
se indica o início de uma estrutura condicional, enquanto, uma estrutura de repetição e programa não diz nada.
Leia é o comando de leitura, para entrada de dados e não processamento.
	
	
	
	 
		
	
		4.
		As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas:
	
	
	
	palavras reservadas
	
	
	palavras código
	
	
	palavras especiais
	
	
	palavras únicas
	
	
	palavras próprias
	
Explicação:
Não tem outra possibilidade com margem à dúvida.  Por definição, é palavra reservada.
	
	
	
	 
		
	
		5.
		Assinale a opção correta.
	
	
	
	As variáveis do tipo bool podem ser true ou false.
	
	
	Uma possível declaração de uma variável inteira em C++ :  x int;
	
	
	Declarando e atribuindo um valor à uma variável booleana em C++ :  
       boolean x =  true ;
	
	
	Declarando e atribuindo um valor à uma variável booleana em C++ : 
       bool x = "true";
	
	
	Uma possível declaração de uma variável booleana em C++ :  boolean x;
	
Explicação:
DE acordo com a sintaxe da linguagem C++
	
	
	
	 
		
	
		6.
		Considerando a linguagem C++, assinale a opção correta :
	
	
	
	A linguagem C++ diferencia maiúsculas de minúsculas
	
	
	Nem toda variável precisa ser declarada.
	
	
	Se quisermos declarar uma variável que possa armazenar valores reais, com casas decimais, devemos usar o tipo real na declaração da variável.
	
	
	Se declararmos uma variável inteira nota, podemos escrever NOTA, Nota, ou qualquer outra variação, pois é a mesma coisa.
	
	
	Alguns programas em C++ começam com float main e outros com int main
	
Explicação:
BAsta seguir as descrições  e características da linguagem C++  na aula sobre variáveis
	
	
	
	 
		
	
		7.
		Assinale a opção correta.
	
	
	
	Para programar em alto nível é preciso dominar a linguagem binária.
	
	
	Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós.
	
	
	O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional.
	
	
	O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem.
	
	
	Dizemos que uma linguagem é de alto nível quando usa linguagem binária.
	
Explicação:
 
	 
	
	Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós.
	 
	Falso.  Linguagem binária é com zeros e uns, o que é baixo nível.
	Dizemos que uma linguagem é de alto nível quando usa linguagem binária.
	 
	Falso.  C++ é uma linguagem de programação de alto nível e usa palavras em Inglês.
	O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem.
	 
	Falso. Não se tem que dominar a linguagem binária em hipótese alguma.
	Para programar em alto nível é preciso dominar a linguagem binária.
	 
	FAlso.  O C++ é uma linguagem de alto nível na qual o uso de variáveis é necessário para armazenarmos dados.
	O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional.
	
	
	
	
	
	 
		
	
		8.
		Faz parte do desenvolvimento de uma algoritmo declarar as variáveis que armazenarão dados a ser manipulados pelo algoritmo. De acordo com as regras para criação dos nomes para as variáveis, assinale a alternativa que possui um exemplo de nome INCORRETO:
	
	
	
	cad1- id
	
	
	num1
	
	
	nome_aluno
	
	
	nota2
	
	
	salariofinal
	
Explicação:
 
	Falso, pois é nome possível ter letras e underscore
	nome_aluno
	 
	Falso, pois é nome possível ter letra e dígito.
	num1
	 
	 Verdadeiro, pois não se pode usar hífen em nome de variável.
	cad1- id
	 
	Falso, pois é nome possível ter letras.
	salariofinal
	 
	Falso, pois é nome possível ter letra e dígito.
	nota2
		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
	
	
	
	 
		
	
		2.
		Considerando os seguintes conteúdos para as variáveis:
 a = 2, b = 5 e c = 4 
Determine qual das sentenças retornará verdadeiro.
	
	
	
	(b + 2) > (a * c)
	
	
	a == c
	
	
	(b % a) == 0
	
	
	((b = 2) == a)
	
	
	pow(c,a) > b * c
	
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
	
	
	
	 
		
	
		3.
		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.
	
	
	
	 
		
	
		4.
		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 é FALSA, e o valor de X * X + Y = 4.
	
	
	A expressão é FALSA, e o valor de X * X + Y = 6.
	
	
	A expressão é FALSA, e o valor de X * X + Y = 3.
	
	
	A expressão é VERDADEIRA, e o valor de X * X + Y = 5.
	
	
	A expressão é VERDADEIRA, e o valor de X * X + Y = 3.
	
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.
 
	
	
	
	 
		
	
		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.
		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
	
	
	
	 
		
	
		7.
		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 *
	
	
	
	 
		
	
		8.
		Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
	
	
	
	&&, >= e ||
	
	
	&&, || e ~
	
	
	+, - e *
	
	
	<, > e >=
	
	
	=, > e ||
		C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro ou Falso conforme o que é dito sobre as funções do compilador:
(  ) Verificar erros de sintaxe no programa;
(  ) Produzir um outro programa em linguagem de máquina;
(  ) Executar o programa sem necessidade de conversão alguma.
	
	
	
	F - V - F
	
	
	V - V - V
	
	
	V - V - F
	
	
	V - F - F
	
	
	F - 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 _______________.
	
	
	
	iostream - ptb
	
	
	locale - setlocale
	
	
	locale - ptb
	
	
	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)
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: ")
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 graus Celsius: ", tempC)
	
	
	escreva("Temperatura em Fahrenheit: ")
leia(tempF)
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."
	
	
	"Você consegue abastecer 51.28 litros de combustível."
	
	
	"Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível."
	
	
	"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível."
	
	
	"Você consegue abastecer 51.28 litros de combustível com R$ 200.00."
	
	
	
	 
		
	
		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?
	
	
	
	escreva("Você tem ou fará ", idade, " anos")
	
	
	leia("Você tem ou fará ", idade, " anos")
	
	
	leia("Você tem ou fará " / idade/ " anos")
	
	
	escreva("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 cout com <<  e para saída de dados usamos cin com >>
	
	
	Para entrada de dados usamos cin com >> e para saída de dados usamos cout com <<
	
	
	Para entrada de dados usamos cout  e para saída de dados usamos cin
	
	
	Para entrada de dados usamos read e para saída de dados usamos write
	
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;
	
	
	nota1, nota2, nota3 : float
	
	
	float nota1, nota2, nota3, media;
	
	
	real nota1, nota2, nota3;
	
	
	float nota1..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;
	
	
	cout < lendo idade; cin > idade
	
	
	exiba "lendo a idade"; lendo idade;
	
	
	System.out.println("lendo idade"); System.out.println("lendo idade");
		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 ;
	
	
	
	13 13 4
	
	
	4 13 13
	
	
	0 13 4
	
	
	0 4 13
	
	
	13 4 13
	
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.
		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 > 20
	
	
	N2 > N1 || N1 > 50
	
	
	N1 > N2 || N2 < 50
	
	
	N2 == N1 || N2 > 20
	
	
	N1 < N2 && N1 < 50
	
	
	
	 
		
	
		3.
		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 é:
	
	
	
	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!"; }
	
	
	for ((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)
	
	
	if ((A+B)>C)
{ cout << "A soma de A e B é maior do que C!"; }
	
	
	
	 
		
	
		4.
		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, ounã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 - F
	
	
	V - V - V
	
	
	V - F - V
	
	
	F - V - F
	
	
	
	 
		
	
		5.
		Você deseja analisar se um número inteiro qualquer fornecido pelo usuário é par e positivo ou par e negativo. Com base na sintaxe do Portugol Studio, o trecho que realiza corretamente o teste para descobrir as características do número é:
	
	
	
	escreva("Informe um número qualquer: ")
leia(num)
resto=num^2
se (resto==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 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==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 e num>0)
{ escreva("Este número é par e positivo!") }
senao se (resto!=0 e num>0)
{ escreva("Este número é ímpar e positivo!")}
	
	
	escreva("Informe um número qualquer: ")
leia(num)
resto=num/2
se (resto==0 !! num>0)
{ escreva("Este número é par e positivo!") }
senao se (resto!=0 !! num>0)
{ escreva("Este número é ímpar e positivo!")}
	
	
	
	 
		
	
		6.
		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!";}
	
	
	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!";}
	
	
	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!";}
	
	
	
	 
		
	
		7.
		O programa abaixo recebeu o valor 2 como entrada. Analise o programa abaixo e assinale a o valor que será impresso.
#include
using namespace std;
int main()
{
  int a, b;
  cout<< "\n Digite um valor: ";
  cin>> a;
  if (a <= 2)
      b = a + 2 * 30 / 10;
  else
      b = a - 2 * 30 /10;
  cout<< b;
  system("pause");
}
	
	
	
	12
	
	
	0
	
	
	8
	
	
	2
	
	
	-4
	
	
	
	 
		
	
		8.
		Considere o trecho de programa em C++ e assinale a opção que mostra o que é impresso na tela.
int x, y, z;
x = 10;
y = 6;
z = x/y;
cout << z << " ";
if (z > 0)
   z = x % y;
cout << z << " ";
 
	
	
	
	1  1
	
	
	Ocorrerá erro, pois o trecho não compila.
	
	
	4  4
	
	
	1  4
	
	
	4  1
		
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;
}
	
	
	
	Operador ternário
	
	
	Estrutura condicional de comando composto
	
	
	Estrutura condicional de comando simples
	
	
	comando switch
	
	
	aninhamento de if
	
Explicação:
Como dito no gabarito. O operador   ?   :   equivale ao comando     if ... else. 
	
	
	
	 
		
	
		2.
		   
	
	
	
	11  50 10
	
	
	10  50  10  2
	
	
	11  50  10  2
	
	
	11  10  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 2
	
	
	
	 
		
	
		3.
		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 - escolha, B - caso, C - pare, D - outros casos
	
	
	A - case, B - switch, C - default, D - break
	
	
	A - se, B - caso, C - pare, D - default
	
	
	A - switch, B - case, C - break, D - default
	
	
	A - caso, B - escolha, C - pare, D - outros casos
	
	
	
	 
		
	
		4.
		Quero escrever um programa que leia o número equivalente a um dia da semana e retorne o nome equivalente considerando que 1- Domingo, 2 - Segunda etc. Qual  a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla?
	
	
	
	switch/case
	
	
	cout
	
	
	do/while
	
	
	while
	
	
	for
	
Explicação:
	
	switch/case
	 
	É para repetição
	do/while
	 
	É para repetição
	for
	 
	É para impressão na tela
	cout
	 
	É para repetição
	while
	
	
	
	 
		
	
		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)
{ 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"; }
	
	
	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)
{ 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 (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"; }
	
	
	
	 
		
	
		6.
		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 << " ### " ;
	
	
	
	 
Nada aparece, poiso trecho de programa possui erro.
	
	
	 
7 é divisível por 3 e por 5.
	
	
	 
Apenas 7
	
	
	 
7 não é divisível por 2.
	
	
	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###
 
	
	
	
	 
		
	
		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?
	
	
	
	do/while
	
	
	break
	
	
	switch/case
	
	
	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.
		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!";
	
	
	case 7:
  cout <<"sábado";
  break;  
default:
    cout <<"Código inválido!";
	
	
	switch 7:
  cout <<"sábado";
  break;  
default:
    cout <<"Código inválido!";
	
	
	default 7:
  cout <<"sábado";
  break;  
default:
    cout <<"Código inválido!";
	
	
	case 7:
  cout <<"sábado";
  break;  
case not:
    cout <<"Código inválido!";
		Para que a palavra "AMOR" seja escrita na tela 5 vezes, qual condição apropriada deve ser colocada no trecho de código abaixo? Marque a opção correta.
x = 1;
while ( _________ )
{
cout<<"AMOR \n";
x = x + 2;
}
	
	
	
	x <= 5
	
	
	x < 10
	
	
	x < 5
	
	
	x > 10
	
	
	x <= 11
	
Explicação:
Analisando : 
x = 1;
while ( _________ )
{
cout<<"AMOR \n";
x = x + 2;
}
Note que x é um contador que é inicializado com 1 e que varia de 2 em 2. Logo, é preciso testar  x < 10.  Veja que entraremos no loop quando  :
x vale 1
x vale 3
x vale 5
x vale 7
x vale 9
E quando x for para 11, o teste do loop falhará. Então, teremos entrado 5 vezes no bloco do while.
	
	
	
	 
		
	
		2.
		Qual a estrutura de repetição mais indicada para os casos em que é necessário que o bloco de código a ser repetido seja sempre repetido pelo menos uma vez?
	
	
	
	for{}
	
	
	while do
	
	
	repeat until
	
	
	do{ }while
	
	
	while{}
	
Explicação:
O comando do... while deixa fazer para depois testar. Logo, é feita apenas 1 vez.
No caso do comando while ou for, é possível não entrarmos no bloco do loop nenhuma vez.
 
	
	
	
	 
		
	
		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);
	
	
	
	4 vezes
	
	
	8 vezes
	
	
	6 vezes
	
	
	7 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.
		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?
	
	
	
	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;
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;
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;
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;
}
	
	
	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;
}
	
	
	
	 
		
	
		5.
		A linguagem de programação C++ dispõe de três estruturas de repetição: do..while, while e for. Pensando na maneira como cada uma delas funciona, observe o trecho de código a seguir:
Qual das alternativas a seguir, escritas com a estrutura for, equivale à estrutura while anterior?
	
	
	
	for (int cont=10; cont <= 200; cont+=2)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (int cont=0; cont <= 10; cont+=2)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (cont++; cont <= 10; int cont=0)
{  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..."; }
	
	
	
	 
		
	
		6.
		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;
 
	
	
	
	V - F - V
	
	
	F - V - V
	
	
	F - F - F
	
	
	V - F - F
	
	
	F - F - V
	
	
	
	 
		
	
		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;
}
	
	
	
	loop
	
	
	for
	
	
	while
	
	
	repeat
	
	
	do case
	
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.
		Considereo trecho de programa em C++ abaixo. Marque a opção que, corretamente, mostra o que é impresso na tela.
int x, y, z;
x = 5;
y = 20;
while (x <= y) {
z = x + y;
x = x + 5;
}
cout << z << endl;
	
	
	
	25
	
	
	30
	
	
	20
	
	
	40
	
	
	35
		   Marque a opção correta.  O que é impresso na tela ?
   int conta, x = 1, r = 1;
   for (conta = 2; conta >= 0; conta--) {
       r = r * x + 1;
        x += 2;
       cout << "r= "  << r << "  x = " << x << endl;
   }
 
	
	
	
	          r = 2    x = 3
r = 7    x = 5
	
	
	          r = 2    x = 3
r = 7    x = 5
r = 36  x = 7
	
	
	        r = 3    x = 2
r = 5    x = 7
	
	
	          r = 3    x = 4
r = 8    x = 6
r = 37  x = 7
	
	
	 
 r = 36  x = 7
	
Explicação:
 int conta, x = 1, r = 1;
   for (conta = 2; conta >= 0; conta--) {
       r = r * x + 1;
        x += 2;
       cout << "r= "  << r << "  x = " << x << endl;
   }
 
	conta
	conta >= 0
	x
	 r 
	2
	sim
	1
	1
	 
	 
	3
	 2
	1
	sim
	5
	 7
	 
	 
	 
	 
	0
	sim
	7
	36
	 
	 
	 
	 
	-1
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
TELA
r = 2  x = 3
r = 7  x = 5
r = 36  x = 7
 
 
 
	
	
	
	 
		
	
		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;
    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 pares
	
	
	O maior de todos os elementos digitados
	
	
	O menor de todos os elementos digitados
	
	
	A média dos elementos digitados
	
	
	A quantidade de 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.
 
	
	
	
	 
		
	
		3.
		Observe o trecho de código a seguir:
Sobre ele, podemos afirmar que:
I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas;
II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades;
III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f".
	
	
	
	Somente a afirmativa I é verdadeira.
	
	
	As afirmativas I e III são verdadeiras.
	
	
	As afirmativas I e II são verdadeiras.
	
	
	As afirmativas I, II e III são verdadeiras.
	
	
	Somente a afirmativa III é verdadeira.
	
	
	
	 
		
	
		4.
		Imagine que você precisa criar um laço capaz de receber o nome e as notas bimestrais de um teste e uma prova de trinta alunos. Para cada um deles, é preciso calcular e mostrar a média do bimestre e informar se o aluno está na média (nota mínima 7) ou abaixo dela. Considerando que o código será escrito em C++, qual das opções a seguir apresenta as linhas de código do laço?
	
	
	
	for (cont=1;cont<=30;cont++) {
  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!";  }
}
	
	
	while (cont=1;cont<=30;cont++) {
  cout <<"Informe as notas do aluno ";
  cout <<"Teste: "; cin >>Teste;
  cout <<"Prova: "; cin >>Prova;
  Media = (Teste+Prova)/2;
  cout <<"A média do aluno é " << Media;
  if (Media>=7)
  { cout <<"Você está na média!";  }
  else
  { cout <<"Você está abaixo da média!";  }
}
	
	
	for (cont=30;cont<=0;cont++) {
  cout <<"Informe as notas do aluno ";
  cout <<"Teste: "; cin >>Teste;
  cout <<"Prova: "; cin >>Prova;
  Media = (Teste+Prova)/2;
  cout <<"A média do aluno é " << Media;
  if (Media<7)
  { cout <<"Você está na média!";  }
  else
  { cout <<"Você está abaixo da média!";  }
}
	
	
	do (cont=1;cont<=30;cont++) {
  cout <<"Informe as notas do aluno ";
  cout <<"Teste: "; cin >>Teste;
  cout <<"Prova: "; cin >>Prova;
  Media = (Teste+Prova)/2;
  cout <<"A média do aluno é " << Media;
  if (Media>=7)
  { cout <<"Você está na média!";  }
  else
  { cout <<"Você está abaixo da média!";  }
}
	
	
	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!";  }
}
	
	
	
	 
		
	
		5.
		Imagine que você precisa escrever um programa em C++ que receba o sexo de 100 pessoas (F para Feminino ou M para Masculino). Ao final da leitura dos sexos, o programa precisa exibir as seguintes informações: quantidade de mulheres, quantidade de homens, percentual de mulheres e percentual de homens.
Observações: 1. O programa deve funcionar com "F" e "M" maiúsculos ou minúsculos; 2. A estrutura de repetição a ser utilizada deve ser FOR.
Sabendo disso, qual seria o trecho de repetição adequado para esse programa?
	
	
	
	for (int cont=1;cont<=100;cont++) {
  cin <<"Qual o sexo? ";
  cout >>qtdeF;
  if (sexo==F && sexo==f)
  { qtdeF++; }
  else if (sexo==M || sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont>=100;cont--) {
  cout <<"Qual o sexo? ";
  cin >>sexo;
  if (sexo==F && sexo==f)
  { qtdeF++; }
  else if (sexo==M || sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont>=100;cont--) {
  cout <<"Qual o sexo? ";
  if (sexo==F && sexo==f)
  { qtdeF++; }
  else if (sexo==M &&| sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont<=100;cont++) {
  cout <<"Qual o sexo? ";
  cin >>sexo;
  if (sexo==F || sexo==f)
  { qtdeF++; }
  else if (sexo==M || sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont<=100;cont++) {
  cout <<"Qual o sexo? ";
  cin >>qtdeF;
  if (sexo==F && sexo==f)
  { qtdeF--; }
  else if (sexo==M || sexo==m)
  { qtdeM--; }
}
	
	
	
	 
		
	
		6.
		Após a execução do trecho de código, abaixo, quais números serão exibidos na tela?
for(int i=3; i<100; i=i+19)
cout << " " << i;
	
	
	
	3 23 42 61 80 99
	
	
	3 23 40 60 79 98
	
	
	3 22 41 60 79 99
	
	
	3 22 41 60 79 98
	
	
	3 22 41 59 79 98
	
Explicação:
Considerando o trecho 
for(int i  =  3; i<100;  i = i+19) 
    cout << " " << i;
fazendo passo a passo :
	i
	 i < 100 ? 
	3
	 3 < 100 ? Sim
	3+ 19 é 22
	22  < 100 ? Sim
	22+ 19 é 41
	41 < 100  ? Sim
	41 + 19 é 60 
	60 < 100 ? sim
	60 + 19 é  79 
	79 < 100 ? sim
	79 + 19 é 98
	98 <  100 ? sim
	98 + 19 é 117
	 117 < 100 ? falsa. Então não entra no loop
 
TELA
3  22  41 60 79 98  
	
	
	
	 
		
	
		7.
		As estruturas de repetição permitem executar mais de uma vez um mesmo trecho de código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas condições, mas com a opção de repetir o mesmo bloco quantas vezes forem necessárias. As estruturas de repetição são úteis, por exemplo, para repetir uma série de operações semelhantes que são executadas para todos os elementos de uma lista ou de uma tabela de dados, ou simplesmente para repetir um mesmo processamento até que uma certa condição seja satisfeita. Sejam as seguintes afirmativas:
I - Toda estrutura de repetição apresenta um teste no início e um na saída.
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de decisão, onde não haja testes ou condições.
III - Toda estrutura de repetição apresenta um critério de parada.
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas iterações.
 
Marque a alternativa que representa apenas as afirmativas CORRETAS:
	
	
	
	III
	
	
	I
	
	
	II, III e IV
	
	
	I e IV
	
	
	I e III
	
Explicação:
I -  Toda estrutura de repetição apresenta um teste no início e um na saída.   Falso.  Ou no início ou no fim.
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturasde decisão, onde não haja testes ou condições.
      Falso.  São estruturas diferentes.
III - Toda estrutura de repetição apresenta um critério de parada.  Verdadeiro.
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas iterações.  Falso.
	
	
	
	 
		
	
		8.
		Marque a opção correta. Considere o trecho de programa feito em C++. O valor final de s e o valor final de num, são respectivamente:
int conta, num=1, s=0;
for(conta = 10; conta < = 40; conta= conta+10){
     s= s+num;
     num= num +2;
}
	
	
	
	50 e 9
	
	
	50 e 16
	
	
	16 e 9
	
	
	9 e 9
	
	
	o valor de s está indefinido e o valor de num é 7
		
	
	
	
	-1 0 1 2 3 4 5 6 7 8
	
	
	0 1 2 3 4 5 6 7 8 9
	
	
	-1 0 1 2 3 4 4 3 2 1
	
	
	0 1 2 3 4 5 4 3 2 1 0
	
	
	-1 0 1 2 3 4 5 4 3 2 1
	
Explicação:
O primeiro for preenche o vetor v[]= {0,1,2,3,4,5,6,7,8,9)
O segundo for é executado de traz para frente por 4 vezes, até i=6 alterando valores do vetor.
v[]=  {0,1,2,3,4,5,4,3,2,1)
No terceiro for, ele começa na posição 5, pois o anterior, executou até o 6 e voltou mais uma para encerrar.
Logo este for vai variar de 5 até a zero, pois o valor inicial não foi declarado, ficando vazio e a cada valor da posição 5 até 0 será diminuído de uma unidade, ficando assim:
v[]=  {-1,0,1,2,3,4,4,3,2,1)
O último for, apenas imprime o vetor completo.
	
	
	
	 
		
	
		2.
		Considere que um casal de amigos está brincando de par ou ímpar. Você precisa escrever um algoritmo que, a cada uma das 10 jogadas que farão, armazene nos vetores jogadasA e jogadasB o número escolhido pelo jogador A (que é par) e o número escolhido pelo jogador B (que é ímpar), respectivamente. Precisa informar, também a cada jogada, o jogador vencedor. O trecho que avaliaria a soma dos números escolhidos por cada amigo e decidiria quem venceu a rodada seria:
	
	
	
	total=jogadasA+jogadasB
se (total%2==0)
{ escreva("Jogador A venceu!\n") }
senao
{ escreva("Jogador B venceu!\n") }
	
	
	total++
se (total%2!=0)
{ escreva("Jogador A venceu!\n") }
senao
{ escreva("Jogador B venceu!\n") }
	
	
	total=jogadasA[ind]+jogadasB[ind]
se (total%2==0)
{ escreva("Jogador A venceu!\n") }
senao
{ escreva("Jogador B venceu!\n") }
	
	
	total=[ind]+jogadasB
se (total%2>=0)
{ escreva("Jogador A venceu!\n") }
senao
{ escreva("Jogador B venceu!\n") }
	
	
	total=jogadasA[ind]+jogadasB[ind]
escolha (total%2==0)
{ escreva("Jogador A venceu!\n") }
outros casos
{ escreva("Jogador B venceu!\n") }
	
	
	
	 
		
	
		3.
		Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________.
	
	
	
	unidimensional - homogênea - conjunto de valores - do mesmo tipo
	
	
	unidimensional - heterogênea - único valor - de tipos variados
	
	
	unidimensional - homogênea - único valor - de tipos variados
	
	
	bidimensional - heterogênea - conjunto de valores - do mesmo tipo
	
	
	bidimensional - homogênea - único valor - do mesmo tipo
	
	
	
	 
		
	
		4.
		Analise o código abaixo e assinale o item que corresponde aos valores finais do vetor v.
int a = 2;
int v[] = {2, 3, 1};
v[0] = v[a];
v[1] = v[0] + v[0];
v[2] = v[0] + v[1];
	
	
	
	1, 3, 2
	
	
	2, 1, 3
	
	
	3, 2, 1
	
	
	2, 3, 1
	
	
	1, 2, 3
	
Explicação:
Comentando linha a linha, a resposta será encontrada.
int a = 2; 
int v[ ] = {2, 3, 1}; 
v[0] = v[a];                           //v[0] recebe v[2], que é 1
v[1] = v[0] + v[0];                 // v[1] recebe 1 + 1, que dá 2
v[2] = v[0] + v[1];                //v[2] recebe o valor 1+2, que dá 3
 
	
	
	
	 
		
	
		5.
		Você deseja armazenar na variável SOMA a adição entre todos os elementos de um vetor com 10 número reais chamado NUM. O trecho de código que apresenta a estrutura repetitiva que permite que isso seja feito é:
	
	
	
	for (i=0;i<=9;i++)
{ SOMA+=NUM[i]; }
	
	
	for (i=0;i<=9;i++)
{ SOMA=SOMA[i]+NUM }
	
	
	for (i=1;i<=10;i++)
{ SOMA+=NUM[i]; }
	
	
	for (i=0;i<=9)
{ SOMA=NUM[i]; }
	
	
	for (i=0;i=9;i++)
{ SOMA=NUM[i] }
	
	
	
	 
		
	
		6.
		Em C++, se você precisasse escrever um programa que recebesse o sexo e a altura de 25 pessoas e armazenasse nos vetores Sexo e Altura, respectivamente, e, em seguida, calculasse e exibisse a média de altura das mulheres e a média de altura dos homens, que trecho utilizaria para recebimento de valores via teclado e para as somas necessárias na obtenção da média das alturas?
Atenção às variáveis utilizadas:
quantF - Quantidade de pessoas do sexo feminino;
somaAF - Soma das alturas do sexo feminino;
quantM - Quantidade de pessoas do sexo masculino;
somaAM - Soma das alturas do sexo masculino.
	
	
	
	for (ind=24;ind<=24;ind++)  {
  cout <<"Informe o sexo: ";
  cin >>Sexo[ind];
  cout <<"Informe a altura: ";
  cin >>Altura[ind];
  if (Sexo[ind]==F || Sexo[ind]==f)
  { quantF+=ind; somaAF+=Altura[ind]; }
  else if (Sexo[ind]==M || Sexo[ind]==m)
  { quantM+=ind; somaAM+=Altura[ind]; }
}
	
	
	for (ind=0;ind<=24;ind++)  {
  cout <<"Informe o sexo: ";
  cin >>Sexo[ind];
  cout <<"Informe a altura: ";
  cin >>Altura[ind];
  if (Sexo[ind]==F || Sexo[ind]==f)
  { quantF++; somaAF+=Altura[ind]; }
  else if (Sexo[ind]==M || Sexo[ind]==m)
  { quantM++; somaAM+=Altura[ind]; }
}
	
	
	for (ind=0;ind<=24;ind+=2)  {
  cout <<"Informe o sexo: ";
  cin >>Sexo[ind];
  cout <<"Informe a altura: ";
  cin >>Altura[ind];
  if (Sexo[ind]==F && Sexo[ind]==f)
  { quantF++; somaAF+=Altura[ind]; }
  else if (Sexo[ind]==M && Sexo[ind]==m)
  { quantM++; somaAM+=Altura[ind]; }
}
	
	
	for (ind=0;ind>=24;ind--)  {
  cout <<"Informe o sexo: ";
  cin >>Sexo[ind];
  cout <<"Informe a altura: ";
  cin >>Altura[ind];
  if (Sexo[ind]==F || Sexo[ind]==f)
  { quantF++; somaAF=Altura[ind]; }
  else if (Sexo[ind]==M || Sexo[ind]==m)
  { quantM++; somaAM=Altura[ind]; }
}
	
	
	for (ind=0;ind<=24;ind++)  {
  cout <<"Informe o sexo: ";
  cin >>Sexo;
  cout <<"Informe a altura: ";
  cin >>Altura;
  if (Sexo[ind]==F || Sexo[ind]==f)
  { quantF++; somaAF+=[ind]; }
  else if (Sexo[ind]==M || Sexo[ind]==m)
  { quantM++; somaAM+=[ind]; }
}
	
	
	
	 
		
	
		7.
		Um médico precisa armazenar o peso, a altura e o IMC de seus 1000 pacientes. Contratou um programador que disse que o programa teria algumas matrizes unidimensionais para o armazenamento.
Assinale a opção abaixo que representa a declaração das referidas matrizes pelo programador, conforme as informações acima:
	
	
	
	float peso[1000], altura[1000], imc [1000];
	
	
	char peso[999], altura[999], imc [999];
	
	
	float peso[1001], altura[1001], imc [1001];
	
	
	char peso[1000], altura [1000], imc[1000];
	
	
	float peso[1000] ; altura[1000] ; imc[1000];
	
Explicação:
 Para reunir os pesos de 1000 pacientes teremos um vetor para 1000 elementos do tipo float
Para reunir as alturas de 1000 pacientes teremos um vetor para 1000 elementos do tipo float
Para reunir os imcs de 1000 pacientes teremos um vetor para 1000 elementos do tipo float
Logo, a resposta certa é 
              float peso[1000], altura[1000], imc [1000];
	
	
	
	 
		
	
		8.
		Observe as declarações abaixo e assinale a opção correta.
I int idades[]={5,16,27,19};
II float CR[3]={6.1, 8.9, 9.3};
III char letras[]={"A", "E", "I", "O", "U"};
IV char letras[]={"ALGORITMOS"};
	
	
	
	As declarações I , II e III estão corretas
	
	
	A declaração I está errada e a declaração II está correta
	
	
	As declarações I , II e IV estão corretas
	
	
	Somente as declarações I e II estão corretas
	
	
	As declarações III e IV estão erradas
		Considere os seguintes valores de entrada: 1, 2, 3, 4, 5, 6, 7, 8 e 9  e ainda,  o programa abaixo. Marque a resposta que mostra o que será exibido na tela.
#include < iostream > 
using namespace std;
int main()
{
  int lin, col, mat[3][3];
  for (lin=0; lin<3; lin++)
    for(col=0; col<3; col++)
     {
      cout<< "\nEntre com o elemento da matriz:";
      cin>> mat[lin][col];
     }
 for (lin=0;lin<3; lin++)
      cout << mat[lin][lin]<<"\n";
system("pause");
return 0;
}
	
	
	
	1 3 5 7 9
	
	
	1 2 3
	
	
	1 2 3 4 5 6 7 8 9
	
	
	1 5 9
	
	
	2 4 6 8
	
Explicação:
Considerando a entrada 1, 2, 3, 4, 5, 6, 7, 8 e 9  e o trecho do programa abaixo, veja o comentado ao fim de cada trecho.
int lin, col, mat[3][3];
  for (lin=0; lin<3; lin++)
    for(col=0; col<3; col++)
     {
      cout<< "\nEntre com o elemento da matriz:";                          
      cin>> mat[lin][col];          
     }
O trecho acima montará a matriz  com 3 linhas e 3 colunas, a saber  :
1   2   3 
4   5   6
7   8   9
Já o trecho a seguir : 
 for (lin=0; lin<3; lin++)
      cout << mat[lin][lin]<<"\n";
imprimirá os elementos da matriz em que a linha e a coluna são iguais.  Ou seja, imprimirá os elementos da diagonal principal, que estão destacados em amarelo.
1   2   3 
4   5   6
7   8   9
Impressos :  1  5  9
	
	
	
	 
		
	
		2.
		Se você precisar escrever um programa em C++ que receba uma matriz de elementos inteiros dispostos em 3 linhas e 4 colunas e exiba a quantidade de números múltiplos de 5 armazenados na matriz vai precisar de
	
	
	
	Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as colunas e variando de 0 a 3.
	
	
	Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as colunas e variando de 0 a 3.
	
	
	Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os múltiplos de 5 e variando de 0 a 5 .
	
	
	Duas estruturas seletivas: uma controlando as linhas e variando de 1 a 5, e outra controlando as colunas e variando de 1 a 3.
	
	
	Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os múltiplos de 5 e variando de 0 a 5 .
	
	
	
	 
		
	
		3.
		Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para armazenar o valor dos 12 salários de 45 funcionários.
Qual das opções abaixo o estudante deverá declarar?
	
	
	
	char funcionario[12][12];
	
	
	float funcionario[45][12];
	
	
	int salario[45], funcionario[12];
	
	
	float funcionario[12],[12];
	
	
	float funcionario[45][45];
	
Explicação:
	Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para armazenar o valor dos 12 salários de 45 funcionários.
Então, teremos 45 linhas, uma para cada funcionário. E para cada linha ou funcionário, teremos 12 colunas, uma coluna para o salário de um mês. Com relação a salário devemos usar o tipo de dados float e não int e nem char.  Logo : float funcionario[45][12];
	 
	Falso. Erro no número de linhas, colunas e uso indevido de vírgula
	float funcionario[12],[12];
	 
	Falso. Erro no número de   colunas.
	float funcionario[45][45];
	 
	Falso. Erro no número de linhas, colunas e no tipo de dados.
	char funcionario[12][12];
	 
	Falso. Não se tem aqui matriz bidimensional, como solicitado.
	int salario[45], funcionario[12];
	 
	VErdadeiro.
	float funcionario[45][12];
	
	
	
	 
		
	
		4.
		Imagine que você precisa escrever um algoritmo que receba uma matriz 4x4 de números inteiros, gere e exiba uma segunda matriz na qual as linhas são as colunas da matriz 1, e as colunas são as linhas da matriz 1. Qual das alternativas a seguir apresenta o código da estrutura de repetição que recebe os elementos da primeira matriz e gera a segunda?
	
	
	
	para (lin=0;lin<=3;lin++) {
    escreva("Informe a posição [",lin+1,",",col+1,"]: ")
    leia(M1[lin][lin])
    M2[lin][lin]=M1[lin][lin]
}
	
	
	para (lin=0;lin<=3;lin++) {
  para (col=0;col<=3;col++) {
     escreva("Informe a posição [",lin+1,",",col+1,"]: ")
     leia(M1[lin][col])
     M2[col][lin]=M1[lin][col]
  }
}
	
	
	enquanto (lin=0;lin<=3;lin++) {
  enquanto (col=0;col<=3;col++) {
     escreva("Informe a posição [",lin+1,",",col+1,"]: ")
     leia(M1[lin][col])
     M2[col][lin]=M1[lin][col]
  }
}
	
	
	para (lin=0;lin<=3;lin++) {
  para (col=0;col<=3;col++) {
     escreva("Informe a posição [",lin+1,",",col+1,"]: ")
     leia(M1[lin][col])
     M2[lin][col]=M1[lin][col]
  }
}
	
	
	para (lin=0;lin<=3;lin++) {
  para (col=0;col<=3;col++) { 
    escreva(M2[lin][col]," ")
  }
}
	
	
	
	 
		
	
		5.
		Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena a quantidade estocada de 3 produtos no último quadrimestre (4 meses). Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá:
	
	
	
	Somar todas as colunas da linha índice 0.
	
	
	Somar todas as linhas da coluna índice 0.
	
	
	Somar todas as linhas da coluna índice 1.
	
	
	Somar todas as linhas de todas as colunas.
	
	
	Somar todas as colunas da linha índice 1
	
	
	 
		
	
		6.
		Analise o código em C++ mostrado abaixo e assinale a alternativa que descreve corretamente a sua execução:
#include < iostream >
using namespace std;
int main()
{
    int p, num[50];
    
    for (p = 0; p <= 49; p++)
    {
       cout << "Digite um valor : ";
       cin >> num[p];
    }
    
    for (p = 0; p <= 49; p++)
    {
       if (num[p] % 2 == 0 && num[p] > 30)
         cout << num[p] << "\t";
    }
    
    system("pause");
    return 0;
}
	
	
	
	O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números.
	
	
	O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam maiores que 30.
	
	
	O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam menores que 30.
	
	
	O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que sejam maiores que 30.
	
	
	O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam maiores que 30.
	
Explicação:
Analisando o programa temos que : 
O 1o. for lê valores inteiros e os armazena em um vetor com capacidade para 30 elementos. Depois, no 2o. for, testa cada elemento do vetor e verifica se é par e se é maior que 30. Apenas satisfazendo as 2 condições é que o elemento de v será impresso.
Analisando cada opção :
O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números.   é falso.  Nâo imprime todos os números
O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam maiores que 30. é falso.  Tem que ser par e maior que 30 para ser impresso.
 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que sejam maiores que 30. é falso.  Imprime os pares maiores que 30 e não os ímpares.
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam menores que 30. é falso.  Tem que ser par e maior que 30 para ser impresso.
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam maiores que 30. Verdadeira
 
	
	
	
	 
		
	
		7.
		Considere as regras do Portugol Studio e imagine que você precisa escrever um algoritmo que receba uma matriz 3x2 e exiba a quantidade de elementos ímpares armazenados nas linhas pares. A estrutura de repetição capaz de realizar o recebimento dos elementos da matriz M1 e a contagem descrita é:
	
	
	
	para (lin=0;lin<=2;lin++) {
  para (col=0;col<=1;col++) {
    escreva("Informe a posição [",lin+1,",",col+1,"]: ")
    leia(M1[lin][col])
    se (lin%2==0){
      se (M1[lin][col]%2!=0)
      { qtdeImpares++ }
    }
  }
}
	
	
	para (lin=0;lin<=2;lin++) {
  para (col=0;col<=1;col++) {
    escreva("Informe a posição [",lin+1,",",col+1,"]: ")
    leia(M1)
    se (lin%2){
      se (M1%2!=0)
      { qtdeImpares++ }
    }
  }
}
	
	
	para (lin=0;lin<=2;lin++) {
  para (col=0;col<=1;col++) {
    escreva("Informe a posição [",lin+1,",",col+1,"]: ")
    leia(M1[lin][col])
    se (lin%2==0){
      se (M1[lin][col]%2!=0)
      { qtdeImpares-- }
    }
  }
}
	
	
	para (lin=0;lin<=2;lin++) {
  para (col=0;col<=1;col++){
    escreva("Informe a posição [",lin+1,",",col+1,"]: ")
    leia(M1[lin][col])
    se (lin%2!=0){
      se (M1[lin][col]%2!=0)
      { qtdeImpares++ }
    }
  }
}
	
	
	para (lin=0;lin<=2;lin++) {
  para (col=0;col<=1;col++) {
    escreva("Informe a posição [",lin+1,",",col+1,"]: ")
    leia(M1[lin][col])
    se (lin%2==0){
      se (M1[lin][col]%2==0)
      { qtdeImpares++ }
    }
  }
}
	
	
	
	 
		
	
		8.
		Observe a matriz:
 
	A
	R
	E
	S
	 
	E
	U
	Q
	 
	 
	 
	E
	O
	T
	S
	I
 
Qual será o resultado obtido após ser executado o trecho do algoritmo a seguir:
 
for (i = 0; i < 4; i ++)
   for ( j = 0; j < 2; j++)
  {
      aux =  mat[i][j];
      mat[i][j]   = mat[i][3-j];
      mat[[i][3 - j] =  aux;
  }
 
 
 
	
	
	
		S
	E
	R
	A
	Q
	U
	E
	 
	E
	
	
	 
	I
	S
	T
	O
	
	
		S
	E
	R
	A
	 
	Q
	U
	E
	
	 
	E
	
	I
	S
	T
	O
	
	
		S
	E
	R
	A
	 
	Q
	U
	E
	 
	E
	
	
	I
	S
	T
	O
	
	
		S
	E
	R
	A
	Q
	U
	E
	
	
	E
	 
	
	I
	S
	T
	O
	
	
		S
	E
	R
	A
	Q
	U
	E
	
	 
	
	E
	
	I
	S
	T
	O

Continue navegando