Buscar

Programação Aplicada a Sistema 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 70 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 70 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 70 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

Aula 1
	Sobre o FLUXOGRAMA abaixo podemos afirmar que :
		
	
	Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO
	 
	Apresenta na sua lógica a estrutura básica DECISÃO
	
	Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO
	
	Apresenta na sua lógica a estrutura básica REPETIÇÃO
	
	Apresenta na sua lógica as três estruturas básicas de programação
	Respondido em 28/05/2020 21:22:06
	
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.
	
	
	 
	
	 2a Questão
	
	
	
	
	Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo:
 
 
		
	
	No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre negativa.
	
	O fluxograma está incompleto e errado, pois não exibe mensagens antes que a leitura de dados seja realizada.
	
	A simbologia empregada no recebimento de dados está equivocada e foi trocada por aquela que representa exibição de informações.
	
	Poderiam ser retirados do fluxograma os símbolos de terminação que delimitam, respectivamente, o início e o fim da solução.
	 
	O fluxograma é responsável por calcular a idade de um indivíduo a partir de seu ano de nascimento e do ano em que estamos.
	Respondido em 28/05/2020 21:22:56
	
	
	 
	
	 3a Questão
	
	
	
	
	Fluxograma é um "diagrama esquemático que apresenta uma sequência de operações, tal como para um programa de computador ou processo industrial" (in Dicionário Priberam da Língua Portuguesa [em linha], 2008-2013, http://www.priberam.pt/dlpo/fluxograma [consultado em 13-08-2014]. Abaixo temos um fluxograma de notas (N1 e N2) obtidas pelo aluno João. Selecione a opção que apresenta os itens de entrada do fluxograma.
		
	 
	N1 e N2
	
	Reprovado
	
	Aprovado
	
	Fim
	
	Média
	Respondido em 28/05/2020 21:23:21
	
Explicação:
Logo após o início do algoritmo aparecem N1 e N2 no símbolo que representa entrada de dados.
	
	
	 
	
	 4a Questão
	
	
	
	
	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.
	 
	Um programa é um algoritmo codificado em uma linguagem de programação.
	
	Um programa é um algoritmo codificado em uma pseudolinguagem.
	
	Programa e fluxograma são sinônimos.
	
	Um programa é um algoritmo codificado em linguagem natural.
	Respondido em 28/05/2020 21:23:50
	
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.
	
	
	 
	
	 5a Questão
	
	
	
	
	Analise as afirmativas a seguir em relação a representação de algoritmos:
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo;
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo;
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos.
Podemos afirmar que:
		
	
	Apenas as alternativas II e III são INCORRETAS
	
	Apenas as alternativas I e II são CORRETAS
	 
	Apenas as alternativas I e III são CORRETAS
	
	Todas as alternativas são CORRETAS
	
	Apenas a alternativa I é CORRETA
	Respondido em 28/05/2020 21:24:22
	
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.
	
	
	 
	
	 6a Questão
	
	
	
	
	Com base nos conceitos de algoritmos, lógica de programação e linguagens de programação, é correto afirmar que:
		
	
	Os algoritmos correspondem, estritamente, aos conjuntos de dados e informações que são tratados em um determinado processamento.
	
	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 três conceitos correspondem às únicas formas de representação da solução de um determinado problema.
	
	As linguagens de programação possuem um conjunto de regras flexíveis para a representação dos comandos de um programa.
	Respondido em 28/05/2020 21:24:48
	
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.
	
	
	 
	
	 7a Questão
	
	
	
	
	Imagine que você vai receber um aumento e deseja descobrir qual será seu novo salário a partir de seu salário atual e do percentual de aumento a ser concedido por sua empresa. É preciso somar o salário atual ao percentual de aumento, que deve ser calculado multiplicando-se esse percentual pelo salário atual e dividindo-se por 100. Que fórmula realiza esse cálculo?
		
	
	novoSal <- (salAtual*percAumento/100)
	
	novoSal <- salAtual + (percAumento/100)
	
	novoSal <- salAtual + (salAtual*100)
	 
	novoSal <- salAtual + (salAtual*percAumento/100)
	
	novoSal <- salAtual + (salAtual*percAumento)
	Respondido em 28/05/2020 21:25:29
	
	
	 
	
	 8a 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, II e III.
	
	I e II.
	
	Todas são falsas.
	
	I e III
	
	II e III.
Aula 2
		Assinale a opção correta.
	
	
	
	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.
	
	
	Para programar em alto nível é preciso dominar a linguagem binária.
	
	
	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.
	
	
	
	
	
	 
		
	
		2.
		Considerando a linguagem C++, assinale a opção correta :
	
	
	
	Nem toda variável precisa ser declarada.
	
	
	Alguns programas em C++ começam com float main e outros com int main
	
	
	Se declararmos uma variável inteira nota, podemos escrever NOTA, Nota, ou qualquer outra variação, pois é a mesma coisa.
	
	
	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.
	
	
	A linguagem C++ diferencia maiúsculas de minúsculas
	
Explicação:
BAsta seguir as descrições  e características da linguagem C++  na aula sobre variáveis
	
	
	
	 
		
	
		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
	
	
	int
	
	
	float
	
	
	real
	
	
	char
	
Explicação:
Conforme gabarito e aula de tipos primitivos de dados
	
	
	
	 
		
	
		4.
		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.
	
	
	
	Variável
	
	
	Comando Enquanto-Faça
	
	
	atribuição
	
	
	Comando PARA
	
	
	Estrutura de Seleção
	
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ção
	 
	Falso. 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
	
	
	
	 
		
	
		5.
		Assinale a opção que apresenta somente nomes válidos para variáveis em C++.
	
	
	
	Conta, Total1, DIA-MÊS-ANO
	
	
	CONTA, TOTAL1, 1DATA
	
	
	CONTA, TOTAL1, data
	
	
	1conta, 2total, 3data
	
	
	Conta, Total, 5data
	
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
	
	
 
	
	
	
	 
		
	
		6.
		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:
	
	
	
	salariofinal
	
	
	nota2
	
	
	cad1- id
	
	
	nome_aluno
	
	
	num1
	
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
	
	
	
	 
		
	
		7.
		As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas:
	
	
	
	palavras próprias
	
	
	palavras especiais
	
	
	palavras únicas
	
	
	palavras reservadas
	
	
	palavras código
	
Explicação:
Não tem outra possibilidade com margem à dúvida.  Por definição, é palavra reservada.
	
	
	
	 
		
	
		8.
		Os comentários são recursos que podem ser utilizados pelos programadores para:
	
	
	
	Inserir textos explicativos apenas para o programador
	
	
	Inserir comandos que serão traduzidos pelo compilador
	
	
	Inserir comandos que serão executados pela máquina
	
	
	Inserir textos explicativos apenas para o usuário
	
	
	Inserir diretivas para o compilador
	
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
Aula 3
	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)
	Respondido em 01/06/2020 21:26:31
	
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
 
	
	
	 
	
	 2a Questão
	
	
	
	
	Assinale a opção correta.
		
	
	os operadores matemáticos não tem precedência de uso
	
	As expressões lógicas retornam valores inteiros
	
	São operadores relacionais : = , > , <
	 
	Os operadores matemáticos são : +, - , *, / e %.
	
	São operadores lógicos : &&, ||, !=
	Respondido em 01/06/2020 21:26:53
	
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
 
 
	
	
	 
	
	 3a Questão
	
	
	
	
	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 = 6.
	 
	A expressão é FALSA, e o valor de X * X + Y = 3.
	
	A expressão é VERDADEIRA, e o valor de X * X + Y = 3.
	
	A expressão é VERDADEIRA, e o valor de X * X + Y = 5.
	
	A expressão é FALSA, e o valor de X * X + Y = 4.
	Respondido em 01/06/2020 21:27:18
	
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.
 
	
	
	 
	
	 4a Questão
	
	
	
	
	Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
		
	
	+,- e *
	 
	<, > e >=
	
	=, > e ||
	
	&&, >= e ||
	
	&&, || e ~
	Respondido em 01/06/2020 21:27:30
	
Explicação:
	
	<, > e >=
	 
	Falso. Nenhum é relacional
	&&, || e ~
	 
	Falso. O único relacional é o >
	=, > e ||
	 
	Falso. O único relacional é o >= 
	&&, >= e ||
	 
	Falso. Nenhum relacional
	+, - e *
	
	
	 
	
	 5a Questão
	
	
	
	
	Assinale a alternativa que apresenta APENAS operadores relacionais.
		
	
	+, - e *
	
	=, > e ||
	
	&&, >= e ||
	 
	<, > e >=
	
	&&, || e ~
	Respondido em 01/06/2020 21:28:11
	
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 *
	
	
	 
	
	 6a Questão
	
	
	
	
	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;
	Respondido em 01/06/2020 21:28:30
	
Explicação:
MEDIA = (AV1 + AV2) / 2; - OK
	
	
	 
	
	 7a Questão
	
	
	
	
	Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos.
		
	 
	&&, || e !
	
	!, > e >=
	
	=, > e ?
	
	+, - e *
	
	&&, >= e <=
	Respondido em 01/06/2020 21:28:26
	
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 *
	
	
	
	
	 
	
	 8a Questão
	
	
	
	
	Observe a tabela da verdade para a expressão A && B || B || A.
	A
	B
	A && B
	A && B || B
	A && B || B || A
	V
	V
	V
	V
	 
	V
	F
	F
	F
	 
	F
	V
	F
	V
	 
	F
	F
	F
	F
	 
Os valores que completam correta e sequencialmente a coluna A && B || B || A, de cima para baixo, são:
		
	 
	V - V - V - F
	
	F - F - V - F
	
	F - V - V - F
	
	V - F - F - F
	
	V - V - V - V
Aula 4
		
		Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++
	
	
	
	cout < lendo idade; cin > idade
	
	
	cout << "lendo a idade"; cin >> idade;
	
	
	exiba "lendo a idade"; lendo idade;
	
	
	cout "lendo a idade"; cin idade;
	
	
	System.out.println("lendo idade"); System.out.println("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");
	
	
	
	 
		
	
		2.
		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."
	
	
	"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."
	
	
	"Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível."
	
	
	"Com R$ 200.00 você consegue abastecer 51.28 litros de combustível."
	
	
	
	 
		
	
		3.
		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")
	
	
	
	 
		
	
		4.
		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..nota3, media;
	
	
	float nota1, nota2, nota3, media;
	
	
	real nota1, nota2, nota3;
	
	
	nota1, nota2, nota3 : float
	
Explicação:
as 4 variáveis precisam ser float, para conterem valores com casas decimais
	
	
	
	 
		
	
		5.
		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 - setlocale
	
	
	locale - setlocale
	
	
	math - math.round
	
	
	locale - ptb
	
	
	iostream - ptb
	
	
	
	 
		
	
		6.
		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 - V
	
	
	V - V - F
	
	
	F - V - F
	
	
	F - F - F
	
	
	V - F - F
	
	
	
	 
		
	
		7.
		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: ")
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
	
	
	
	 
		
	
		8.
		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  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.
Aula 5
		
		Considere um programa em C++ que  recebeum número inteiro qualquer e informe se ele é par ou ímpar. a estrutura seletiva adequada para teste do número é:
	
	
	
	switch (resto==0)
  {cout <<"Este número é par!";}
case
  {cout <<"Este número é ímpar!";}
	
	
	if (resto!=0)
  {cout <<"Este número é par!";}
else
  {cout <<"Este número é ímpar!";}
	
	
	if (resto==0) then
  {cout <<"Este número é par!";}
elseif not
  {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!";}
	
	
	
	 
		
	
		2.
		Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela.
int x = 235, y = 138, z = 177, m;
m = z;
if( x < m) m = x;
if( y < m) m = y;
cout << m << " " << x << " " << y ;
	
	
	
	235 235 138
	
	
	138 138 235
	
	
	138 235 138
	
	
	177 235 138
	
	
	177 138 235
	
Explicação: A variável m ficará com o menor valor
	
	
	
	 
		
	
		3.
		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<=SAL)
   escreva("Você gastou mais do que deveria!")
	
	
	se (GASTOS>=SAL)
   escreva("Você gastou mais do que deveria!")
	
	
	se (GASTOS>SAL)               
   escreva("Você gastou mais do que deveria!")
	
	
	se (GASTOS
   escreva("Você gastou mais do que deveria!")
	
	
	
	 
		
	
		4.
		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");
}
	
	
	
	2
	
	
	12
	
	
	0
	
	
	8
	
	
	-4
	
	
	
	 
		
	
		5.
		No C++, a estrutura seletiva if permite que sejam avaliadas condições para que, a partir do resultado dessa avaliação, o programa decida o trecho a ser executada. Imaginando que você precisa avaliar se um número armazenado na variável num é positivo, negativo, ou nulo, que alternativa apresenta o trecho da condição seletiva necessário para este teste?
	
	
	
	if (num>0)
{ cout <<"Este número é positivo!";}
else if (num<0)
{ cout <<"Este número é negativo!";}
else
{ cout <<"Este número é nulo!";}
	
	
	if (num>0)
{ cout <<"Este número é positivo!";}
else (num<0)
{ cout <<"Este número é negativo!";}
else
{ cout <<"Este número é nulo!";}
	
	
	else (num>0)
{ cout <<"Este número é positivo!";}
if (num<0)
{ cout <<"Este número é negativo!";}
else
{ cout <<"Este número é nulo!";}
	
	
	if (num>0)
{ cin <<"Este número é positivo!";}
else if (num<0)
{ cin <<"Este número é negativo!";}
else
{ cin <<"Este número é nulo!";}
	
	
	if (num<0)
{ cout <<"Este número é positivo!";}
else if (num>0)
{ cout <<"Este número é negativo!";}
else
{ cout <<"Este número é nulo!";}
	
	
	
	 
		
	
		6.
		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= 11 y = 11 z = 2 k = 0
	
	
	x = 10 y = 12 z = 0.833 k = 0
	
	
	11 11 2 0
	
	
	10 12 2 0
	
	
	x = 10 y = 12 z = 0 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 
	
	
	
	 
		
	
		7.
		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
	
	
	Repetição
	
	
	Recursiva
	
	
	Decisão
	
Explicação:
A opção que determina a estrutura de controle citada é a Decisão
	
	
	
	 
		
	
		8.
		Considere o trecho de programa em C++. O que é impresso na tela ?
int x = 10, y = 3, z, k;
y = x + y - 1;
z = x/y;
k = y % x;
if ( k != 0)
cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k << "\n";
	
	
	
	x= 10 y = 12 z = 0 k = 2
	
	
	10 12 0.833 1.2
	
	
	10 12 0 2
	
	
	x = 10 y = 12 z = 0.833 k = 1.2
	
	
	Nada é impresso na tela, pois k é zero.
	
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
Aula 6
	
	 
		
	
		1.
		   
	
	
	
	11  50 10
	
	
	11  10  50  10
	
	
	11  50  10  2
	
	
	11  10  50  10  2
	
	
	10  50  10  2
	
Explicação:
1ª. Execução : valor de a é 1
Entrar no case 1, depois no case 3 e em seguida, no case 5. 
Então será impresso  11
                                       10
2ª. Execução : valor de a é 5
Entrar no case 5 e imprimir  50
3ª. Execução : valor de a é 20
Entrar no case 20 e depois no case 30.
Então, será impresso        10
                                              2
Concluindo :
Valores impressos :  11  10  50  10 2
	
	
	
	 
		
	
		2.
		Quero escrever um programa que leia o número equivalente a um dia da semana e retorne o nome equivalente considerando que 1- Domingo, 2 - Segunda etc. Qual  a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla?
	
	
	
	while
	
	
	cout
	
	
	for
	
	
	switch/case
	
	
	do/while
	
Explicação:
	
	switch/case
	 
	É para repetição
	do/while
	 
	É para repetição
	for
	 
	É para impressão na tela
	cout
	 
	É para repetição
	while
	
	
	
	 
		
	
		3.
		Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir:
*** Cardápio ***
100 - Hambúrguer - R$5,50
101 - Cachorro-quente - R$4,50
102 - Milkshake - R$7,00
103 - Pizza brotinho - R$8,00
104 - Cheeseburguer - R$8,50
Informe o código do seu pedido:
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar.
Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido?
	
	
	
	switch (codigo) {
  case 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	while (codigo) {
  case 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	switch (codigo) {
  default 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	case (codigo) {
  switch 100: item="Hambúrguer";
    valor= qtde * 5.50;
  break;
}
	
	
	switch (codigo) {
  if 100: item="Hambúrguer";
    valor= qtde* 5.50;
  break;
}
	
	
	
	 
		
	
		4.
		
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;
}
	
	
	
	comando switch
	
	
	Estrutura condicional de comando simples
	
	
	aninhamento de if
	
	
	Operador ternário
	
	
	Estrutura condicional de comando composto
	
Explicação:
Como dito no gabarito. O operador   ?   :   equivale ao comando     if ... else. 
	
	
	
	 
		
	
		5.
		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;
}
	
	
	
	55 90 15 27.5 15
	
	
	15 25 15 50 90
	
	
	50 90 15 25 15
	
	
	15 27.5 15 55 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.
	
	
	
	 
		
	
		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, pois o trecho de programa possui erro.
	
	
	 
7 não é divisível por 2.
	
	
	7 ###
	
	
	 
7 é divisível por 3 e por 5.
	
	
	 
Apenas 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.
		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.
	
	
	
	for
	
	
	cout / cin
	
	
	do/while
	
	
	switch / case
	
	
	while
	
Explicação:
Por definição dada em aula de comando de seleção
	
	
	
	 
		
	
		8.
		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 (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)
{ 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"; }
Aula 7
		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);
	
	
	
	6 vezes
	
	
	8 vezes
	
	
	4 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
	
	
	
	 
		
	
		2.
		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:
	
	
	
	Independentemente da condição de teste, os comandos subordinados sempre serão executados.
	
	
	A condição de teste deverá ser sempre verdadeira antes do início da execução.
	
	
	Os comandos subordinados poderão não ser executados.
	
	
	A condição de teste deverá ser sempre falsa antes do início da execução.
	
	
	Os comandos subordinados serão executados no mínimo uma vez.
	
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.
	
	
	
	 
		
	
		3.
		Em relação às técnicas de programação e construção de algoritmos, assinale a alternativa que apresente corretamente duas características da estrutura de controle repetir ... até que.
	
	
	
	As instruções no loop são executadas pelo menos uma vez / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro.
	
	
	O teste de controle é realizado no fim da estrutura / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro.
	
	
	A execução permanece no loop enquanto o resultado do teste for falso / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro.
	
	
	A execução permanece no loop enquanto o resultado do teste for verdadeiro / a saída da estrutura de repetição ocorre quando o resultado do teste é falso.
	
	
	O teste de controle é realizado no início da estrutura / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro.
	
Explicação:
A execução permanece no loop enquanto o resultado do teste for verdadeiro / a saída da estrutura de repetição ocorre quando o resultado do teste é falso.
	
	
	
	 
		
	
		4.
		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é 2, nesta ordem.
	
	
	O trecho fornecido pára quando  num for diferente de zero e o único número exibido é o 10.
	
	
	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 entra em loop.
	
	
	o trecho fornecido pára quando num for diferente de zero e são exibidos os valores 10 e 8, pelo menos.
	
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
	 
	10diferente 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.
                   
	
	
	
	 
		
	
		5.
		Considere o 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;
	
	
	
	35
	
	
	40
	
	
	20
	
	
	25
	
	
	30
	
Explicação:
Analisando passo a passo...
x recebe 5 e y recebe 20
1o. teste ... 5 <= 20 ? sim. Entra no loop e faz  :
                 z recebe 25
                 x recebe 5+5, que dá 10
2o. teste ... 10 <= 20 ? sim. Entra no loop e faz :
    z recebe 30
    x recebe 15
 
3o. teste ... 15  <= 20 ? sim. Entra no loop e faz :
    z recebe 35
    x recebe 20
 
4o. . teste ... 20  <= 20 ? sim. Entra no loop e faz :
    z recebe 40
    x recebe 25
5o. teste ... 25 <= 20 ? Falso.
Depois do fim do while será impresso o valor de z que é 40.
 
	
	
	
	 
		
	
		6.
		A linguagem de programação C++ dispõe de três estruturas de repetição: do..while, while e for. Pensando na maneira como cada uma delas funciona, observe o trecho de código a seguir:
Qual das alternativas a seguir, escritas com a estrutura for, equivale à estrutura while anterior?
	
	
	
	for (int cont=0; cont <= 10; cont++)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (cont++; cont <= 10; int cont=0)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (int cont=10; cont <= 200; cont+=2)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (int cont=10; cont <= 0; cont++)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	for (int cont=0; cont <= 10; cont+=2)
{  cout << "Estamos na " << cont << "a. rodada..."; }
	
	
	
	 
		
	
		7.
		Para que a palavra "AMOR" seja escrita na tela 5 vezes, qual condição apropriada deve ser colocada no trecho de código abaixo? Marque a opção correta.
x = 1;
while ( _________ )
{
cout<<"AMOR \n";
x = x + 2;
}
	
	
	
	x <= 11
	
	
	x > 10
	
	
	x <= 5
	
	
	x < 5
	
	
	x < 10
	
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.
	
	
	
	 
		
	
		8.
		Assinale a alternativa correta em relação a quantidade de vezes que a palavra "ALGORITMO" será impressa, no trecho de código abaixo:
cont = 0;
while( cont < 30 ) {
   cout << "ALGORITMO" << endl;
   cont = cont + 1;
}
	
	
	
	29
	
	
	Nenhuma das alternativas.
	
	
	31
	
	
	15
	
	
	30
Aula 8
		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--) {
  cout <<"Qual o sexo? ";
  cin >>sexo;
  if (sexo==F && sexo==f)
  { qtdeF++; }
  else if (sexo==M || sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont>=100;cont--) {
  cout <<"Qual o sexo? ";
  if (sexo==F && sexo==f)
  { qtdeF++; }
  else if (sexo==M &&| sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont<=100;cont++) {
  cin <<"Qual o sexo? ";
  cout >>qtdeF;
  if (sexo==F && sexo==f)
  { qtdeF++; }
  else if (sexo==M || sexo==m)
  { qtdeM++; }
}
	
	
	for (int cont=1;cont<=100;cont++) {
  cout <<"Qual o sexo? ";
  cin >>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++; }
}
	
	
	
	 
		
	
		2.
		Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário:
int main ( ) {
    int i;
    double x, y = 0;
    for (i = 0; i < 10; i++){
        cout << "Digite um numero: ";
        cin >> x;
        y = y + x;  
    }
    cout << "Numero: " << y << "\n";
    system("PAUSE");
    return 0;
}
	
	
	
	A soma de todos os elementos
	
	
	A quantidade de elementos digitados
	
	
	A média dos elementos digitados
	
	
	A soma dos elementos pares
	
	
	O maior de todos os elementos digitados
	
Explicação:
Antes do loop é lido um valor e armazenado em x e a cada rodada o valor de x é acumulado em um somatório, indicado na linha :
    y = y + x;
Assim, ao final do for, teremos em y o somatório de todos os números que x armazenou.
	
	
	
	 
		
	
		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".
	
	
	
	As afirmativas I e III são verdadeiras.
	
	
	As afirmativas I e II são verdadeiras.
	
	
	Somente a afirmativa III é verdadeira.
	
	
	As afirmativas I, II e III são verdadeiras.
	
	
	Somente a afirmativa I é verdadeira.
	
	
	
	 
		
	
		4.
		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 e IV
	
	
	I e III
	
	
	I
	
	
	II, III e IV
	
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 - Todaestrutura de repetição pode ser substituída por um conjunto de estruturas de 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.
	
	
	
	 
		
	
		5.
		O que será impresso, após a execução do código, a seguir?
#include < iostream >
using namespace std;
int main()
{
for(int i=25;i>0;i=i-6) cout << i << " ";
system( "pause" );
}
	
	
	
	12 8 10 7 15
	
	
	25 19 13 7 1
	
	
	10 5 0 13 7
	
	
	0 0 0 0 0
	
	
	12 5 10 7 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
	
	
	
	 
		
	
		6.
		Marque a opção correta.  Considere o trecho de programa feito abaixo em C++. O que é impresso na tela ?
 
   int conta, num = 1, prod = 1;
   for (conta = 4; conta > 0; conta--) {
      prod = prod *num;
      num++;
   }
   cout << "Prod = "  << prod << "  num = " << num << endl;
 
	
	
	
	 
             Prod = 1  num = 2
Prod = 2   num = 3
Prod = 6   num = 4
Prod = 24 num = 5
 
	
	
	 
Prod = 6  num = 4
	
	
	 
Prod não pode ser calculado e num assumirá o valor final 5.
	
	
	Prod = 24 num = 5
	
	
	 
Prod = 6   num = 5
	
Explicação:
Analisando o trecho e fazendo em seguida um teste de mesa :
   int conta, num = 1, prod = 1;
   for (conta = 4; conta > 0; conta--) {
          prod = prod *num;
         num++;
   }
   cout << "Prod = "  << prod << "  num = " << num << endl;
 
TESTE de mesa :
 
	conta
	conta > 0
	num 
	prod
	4
	 4 > 0 ? sim
	1
	1
	3
	3 > 0 ? sim
	2
	1
	2
	2 > 0 ?  sim
	3
	2
	1
	1 > 0 ? sim
	4
	6
	0
	0 > 0 ? FAlso
	5
	24
Terminando o for, será impresso :
Prod = 24 num = 5
 
 
	
	
	
	 
		
	
		7.
		Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0?
	
	
	
	for (i = num; i > 0; i++)
	
	
	while (num != 0)
	
	
	for ( i = 0; i == num; i++)
	
	
	while (num == 0)
	
	
	enquanto (num > 0)
	
Explicação:
	 verdadeira
	while (num != 0)
	 
	FAlsa. Diferente é !=. Nesta opção está "enquanto num é igual  a zero."
	while (num == 0)
	 
	 FAlsa.  Nesta opção está "enquanto num for maior que zero"
	enquanto (num > 0)
	 
	 Falsa.  Teste incorreto no for.  == é para teste de igualdade.
	for ( i = 0; i == num; i++)
	 
	 FAlsa.  Não inicializa ou testa corretamente.
	for (i = num; i > 0; i++)
	
	
 
	
	
	
	 
		
	
		8.
		Após a execução do trecho de código, abaixo, quais números serão exibidos na tela?
for(int i=3; i<100; i=i+19)
cout << " " << i;
	
	
	
	3 23 40 60 79 98
	
	
	3 22 41 60 79 98
	
	
	3 23 42 61 80 99
	
	
	3 22 41 60 79 99
	
	
	3 22 41 59 79 98
Aula 9
		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];
	
	
	
	2, 1, 3
	
	
	3, 2, 1
	
	
	1, 2, 3
	
	
	2, 3, 1
	
	
	1, 3, 2
	
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
 
	
	
	
	 
		
	
		2.
		Qual estrutura de repetição abaixo preenche corretamente um vetor de 30 posições com 0 (zero) em cada uma das posições?
	
	
	
	for(int i=1;i<=30;i++){ vetor[i] = 0; }
	
	
	for(int i=0;i<=30;i++){ vetor[i] = 0; }
	
	
	for(int i=0;i<30;i++){ vetor[i] == 0; }
	
	
	for(int i=0;i<30;i++){ vetor[i] = 0; }
	
	
	for(int i=1;i<30;i++){ vetor[i] = 0; }
	
Explicação:
	
	for(int i=0;i<30;i++)   { vetor[i] = 0; }
	 
	Falso. Está acessando v[30], o que é incorreto.
	for(int i=0;i<=30;i++)  { vetor[i] = 0; }
	 
	FAlso.  Está iniciando i de 1 e não de zero.
	for(int i=1;i<30;i++)   { vetor[i] = 0; }
	 
	FAlso. Está iniciando i de 1 e não de zero e está acessando v[30], o que é incorreto.
	for(int i=1;i<=30;i++)   { vetor[i] = 0; }
	 
	Falso. O erro está dentro do bloco do for. Está usando == e não a atribuição como deveria. PAra atibuir, use =.
	for(int i=0;i<30;i++)  { vetor[i] == 0; }
	
	
	
	 
		
	
		3.
		
	
	
	
	0 1 2 3 4 5 6 7 8 9
	
	
	-1 0 1 2 3 4 5 6 7 8
	
	
	0 1 2 3 4 5 4 3 2 1 0
	
	
	-1 0 1 2 3 4 5 4 3 2 1
	
	
	-1 0 1 2 3 4 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.
	
	
	
	 
		
	
		4.
		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=SOMA[i]+NUM }
	
	
	for (i=0;i<=9)
{ SOMA=NUM[i]; }
	
	
	for (i=1;i<=10;i++)
{ SOMA+=NUM[i]; }
	
	
	for (i=0;i<=9;i++)
{ SOMA+=NUM[i]; }
	
	
	for (i=0;i=9;i++)
{ SOMA=NUM[i] }
	
	
	
	 
		
	
		5.
		<valor[x];
</valor[x];
	
	
	
	Todos os elementos que são maiores que cinco do vetor VALOR.
	
	
	Todos os elementos ímpares do vetor VALOR.
	
	
	Todos os elementos que são menores que cinco do vetor VALOR.
	
	
	Todos os elementos pares do vetor VALOR.
	
	
	Todos os elementos do vetor VALOR.
	
Explicação:
Analisando o trecho dado em C++, temos o seguinte :
x é índice do vetor VALOR e é inicializado com zero.  x irá de zero até 10, mas só entrará no loop até valer 9.
PAra cada x de 0 até 9 entraremos no loop e testaremos se o elemento de VALOR de índice x é maior que 5. Se for, tal elemento será impresso na tela. Se não for, nada faremos.
Olhando para o vetor VALOR temos que serão impressos os valores de 6 até 10.
Analisando cada opção :
	Falso.  Serão impressos valores ímpares também.
	Todos os elementos pares do vetor VALOR.
	 
		Falso.  Serão impressos valores pares também.
	Todos os elementos ímpares do vetor VALOR.
	 
		Falso.  Serão impressos valores maiores que 5.
	Todos os elementos que são menores que cinco do vetor VALOR.
	 
	
	Todos os elementos que são maiores que cinco do vetor VALOR.
	 
	Falso. Serão impressos apenas os valores 6, 7, 8, 9 e 10
	Todos os elementos do vetor VALOR.
	
	
	
	 
		
	
		6.
		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];
	
	
	char peso[1000], altura [1000], imc[1000];
	
	
	float peso[1001], altura[1001], imc [1001];
	
	
	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];
	
	
	
	 
		
	
		7.
		Você está escrevendo um programa noqual utiliza um vetor de 15 elementos do tipo caractere denominado LETRAS e precisa contar quantas posições do vetor armazenam a letra "A" ou a letra "E" e guardar o total na variável QuantAE. O trecho de código capaz de realizar essa contagem é:
	
	
	
	for (i=0;i=14;i++)
{
  if (LETRAS[i] == ¿A¿ !! LETRAS[i] == ¿E¿)
  { QuantAE+=1; }
}
	
	
	for (i=1;i<=15;i++)
{
  if (LETRAS[i] == "A" && LETRAS[i] == "E")
  { QuantAE+=1; }
}
	
	
	for (i=1;i<=14;i++)
{
  if (LETRAS[i] == "A" || LETRAS[i] == "E")
  { QuantAE+=; }
}
	
	
	for (i=0;i<=14;i++)
{
  if (LETRAS[i] == "A" or LETRAS[i] == "E")
  { QuantAE=1; }
}
	
	
	for (i=0;i<=14;i++)
{
  if (LETRAS[i] == "A" || LETRAS[i] == "E")
  { QuantAE+=1; }
}
	
	
	
	 
		
	
		8.
		Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________.
	
	
	
	unidimensional - heterogênea - único valor - de tipos variados
	
	
	bidimensional - heterogênea - conjunto de valores - do mesmo tipo
	
	
	unidimensional - homogênea - único valor - de tipos variados
	
	
	unidimensional - homogênea - conjunto de valores - do mesmo tipo
	
	
	bidimensional - homogênea - único valor - do mesmo tipo
Aula 10
		Sabendo-se que a sintaxe do C e do C++ estabelece que a declaração de vetores bidimensionais deve se dar da seguinte forma:
< tipo do dado > nome_da_matriz [nº de linhas][nº de colunas];
Na codificação de um programa, na linguagem C++, é necessário a declaração de uma matriz bidimensional para armazenar as notas de 6 disciplinas de uma turma com 30 alunos. Tomando-se como base que o algoritmo considera que os dados estarão organizados na matriz de modo que cada linha represente as notas de um único aluno, marque a alternativa que apresenta de forma correta a declaração desta matriz, chamada notasAlunos.
	
	
	
	b) float notasAlunos[6][30];
	
	
	c) float notasAlunos[30,6];
	
	
	e) float notasAlunos[][];
	
	
	a) float notasAlunos[30][6];
	
	
	d) float notasAlunos[6,30];
	
Explicação:
Como cada linha possui as notas de cada aluno e são 6 disciplinas ( = 6 notas) então teremos uma matriz com 30 linhas e 6 colunas.  como a matriz se chama notasAlunos e as notas são valores reais teremos :
   float notasAlunos[30][6];
 
Vendo porque as outras opções não podem ser :
	Falso. São 30 linhas e 6 colunas. A matriz declarada neste item coloca 6 linhas e 30 colunas.
	 float notasAlunos[6][30];
	 
	Falso.  Sintaticamente incorreto. Precisa trabalhar com as linhas e colunas dentro de colchetes separados.
	 float notasAlunos[30,6];
	 
	Falso. Erro nos valores e na sintaxe no uso dos colchetes.
	 float notasAlunos[6,30];
	 
	Falso. Nâo colocou o total de linhas e de colunas.
	 float notasAlunos[][];
	
	
 
	
	
	
	 
		
	
		2.
		Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena, em cada uma de suas linhas, a quantidade estocada de produtos no último quadrimestre (4 meses). Sabendo-se que a declaração de uma matriz em C/C++ se dá da forma:
< tipo de dado> nome [nºde linhas][nºde colunas];
 Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá:
	
	
	
	Somar todas as colunas da linha índice 1
	
	
	Somar todas as linhas de todas as colunas.
	
	
	Somar todas as linhas da coluna índice 1.
	
	
	Somar todas as linhas da coluna índice 0.
	
	
	Somar todas as colunas da linha índice 0.
	
Explicação:
Como a 1a. coluna (coluna 0)  é relativa ao 1o. mês, então é preciso somar todas as linhas da coluna 0.
Analisando as opções :
	 Verdadeira
	Somar todas as linhas da coluna índice 0.
	 
	Falso. Tem que somar todas as linhas da coluna 0
	Somar todas as colunas da linha índice 0.
	 
	Falso. O 1o. mês é relativo à 1a. coluna, que tem índice zero.
	Somar todas as linhas da coluna índice 1.
	 
	Falso. Tem que somar todas as linhas, cuja coluna tem índice 0.
	Somar todas as colunas da linha índice 1
	 
	FAlso. Se quer apenas o 1o. mês, que está na 1a. coluna.
	Somar todas as linhas de todas as colunas.
	
	
	
	 
		
	
		3.
		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
	
Explicação:
Conforme gabarito e aula de matrizes, consciente que o índice da linha começa de zero e o da coluna também.  O papel da variavel aux é permitir a troca dos valores da matriz.
	
	
	
	 
		
	
		4.
		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?
	
	
	
	float funcionario[45][45];
	
	
	float funcionario[45][12];
	
	
	int salario[45], funcionario[12];
	
	
	char funcionario[12][12];
	
	
	float funcionario[12],[12];
	
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];
	
	
	
	 
		
	
		5.
		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 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 .
	
	
	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 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 as colunas e variando de 0 a 3.
	
	
	
	 
		
	
		6.
		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++) {
  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++) {
    escreva("Informe a posição [",lin+1,",",col+1,"]: ")
    leia(M1[lin][lin])
    M2[lin][lin]=M1[lin][lin]
}
	
	
	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(M2[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[col][lin]=M1[lin][col]
  }
}
	
	
	
	 
		
	
		7.
		Analise a seguinte afirmação:
"Um edifício tem 8 andares, cada andar tem 5 apartamentos."
Como poderíamos escrever uma declaração de matriz  na linguagem C++, seguindo a afirmação acima, sabendo que os dados seriam do tipo int ?
	
	
	
	int edificio[8][5];
	
	
	int edificio[1][40];
	
	
	int edificio[40][1];
	
	
	int edificio[40][5];
	
	
	int edificio[5][8];
	
Explicação:
Analisando ...
         "Um edifício tem 8 andares, cada andar tem 5 apartamentos."
Cada andar pode ser visto como uma linha da matriz. E em cada linha ou andar, podemos ter 5 apartamentos ou 5 colunas.
Dessa forma temos :
                             int edificio[8][5];   
 
 porque no 1o. par de parênteses temos o total de linhas e no 2o. par de colchetes temos o total de colunas
Veja que em todas as opções temos a variável de nome edificio.
 
	
	
	
	 
		
	
		8.
		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 ímpares 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 pares 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.

Outros materiais