Buscar

Exercícios Avaliando o Aprendizado Algoritmos Aulas 1 à 10

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 30 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 30 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 30 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

1a Questão
Verifique as afirmações abaixo e assinale a alterna�va correta:
 
I )Fluxograma é o esboço de um projeto em programação de computadores.
II) Algoritmo serve para representar o raciocínio, independentemente de detalhes computacionais.
III) Algoritmo é a representação gráfica da solução de um problema.
Somente a III está correta.
 Somente a I está correta.
Somente a II e III estão corretas.
 Somente a I e II estão corretas.
Somente a II está correta.
 
 
Explicação:
I )Fluxograma é o esboço de um projeto em programação de computadores. VERDADEIRO
II) Algoritmo serve para representar o raciocínio, independentemente de detalhes computacionais. VERDADEIRO
III) Algoritmo é a representação gráfica da solução de um problema. FALSO. 
 
 
 
 
Ref.: 201512824974
 2a Questão
Assinale a opção que corresponde à condição da estrutura de repetição que faz com que o programa abaixo imprima 4 vezes a expressão Bom dia.
int a = 8;
 while ( ____ )
 {
 cout << "Bom dia\n";
 a = a -2;
 }
a == 0
 a < 0
a >= 0
a <= 0
 a > 0
 
 
Explicação:
Analisando o trecho temos que :
a variável a funciona como contador e começa com 8. 
a variável a varia de 2 em 2. Assim :
quando a é 8 imprime-se Bom dia
quando a é 6 imprime-se Bom dia
quando a é 4 imprime-se Bom dia
quando a é 2 imprime-se Bom dia
quando a for zero não se pode mais imprimir Bom dia, pois já se imprimiu 4 vezes, como visto acima.
Logo, a opção certa é : a > 0, pois quando a for zero, a repetição irá terminar.
 
 
 
Ref.: 201510738984
 3a Questão
Assinale a opção correta.
Dispositivos de entrada e saída de dados compreendem pendrives, memória RAM e HD.
A memória, conhecida como RAM, pode ser apenas lida.
 A Unidade de Aritmética e Lógica é a responsável pelos cálculos e seus controles.
A Unidade de controle realiza controles, finalizando os cálculos.
A memória RAM serve para realizar os cálculos dos dados fornecidos pelos usuários.
 
 
Explicação: Como indicado na aula online 1 : A Unidade de Aritmética e Lógica é a responsável pelos cálculos e seus controles. Os outros itens não atendem por razões indicadas na mesma aula.
 
 
 
Ref.: 201510702200
 4a Questão
A fim de possibilitar a implementação de algoritmos estudamos algumas estruturas básicas, como estrutura de desvio de fluxo, estrutura de repetição etc. Entre as estrutura de repetição há uma na
qual uma ação será executada pelo menos uma vez, antes da avaliação da condição. Esta estrutura é implementada em C++ pelo comando básico:
for/while
while
do/for
for
 do/while
 
 
Explicação:
O comando do...while faz para depois testar. Então, o bloco a ser repetido será executado pelo menos uma vez antes de testarmos a condição.
Os comando for ou while, temos que testar antes de fazer.
 
 
 
Ref.: 201510701701
 5a Questão
Qual dos símbolos abaixo representa a entrada de valores para as variáveis?
 
 
 
 
Explicação:
Só tem uma possibilidade. É a apresentada no gabarito.
Vejamos as outras :
1a. opção : preparação
2a. opção : teste condicional
3a. opção : é a resposta certa
4a. opção : para início ou fim do programa
5a. opção : saída de dados
 
 
 
Ref.: 201510701723
 6a Questão
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0?
 while (num != 0)
enquanto (num > 0)
for ( i = 0; i == num; i++)
for (i = num; i > 0; i++)
while (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++)
 
 
 
 
Ref.: 201510738991
 7a Questão
Assinale a opção correta:
 A forma mais comum de escrever um algoritmo é em Inglês.
A forma mais comum de escrever um algoritmo é em Português.
A forma mais comum de escrever um algoritmo é em fluxograma.
 A forma mais comum de escrever um algoritmo é em portugol.
A forma mais comum de escrever um algoritmo é usar um bom software.
 
 
Explicação: Indicado na aula online no. 1 que portugol é a forma mais comum para escrever algoritmo. Não se deve usar Português, Inglês, fluxograma e nem softwares.
 
 
 
Ref.: 201510702291
 8a Questão
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);
 
8 vezes
7 vezes
 4 vezes
5 vezes
6 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
 
 
 
Ref.: 201510701621
 9a Questão
A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser realizada é chamada de:
Linguagem de Programação
Pseudocódigo
 Fluxograma
Algoritmo
Diagrama
 
 
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
 
 
 
Ref.: 201510702244
 10a Questão
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?
 do{ }while
while do
while{}
for{}
repeat until
 
 
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.
 
 
 
 
Ref.: 201512852691
 11a Questão
Sobre fluxograma, assina a opção correta.
É uma forma de se escrever programas em qualquer linguagem de programação.
 É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidade .
É uma forma de se representar o uso de hardware no programa.
É usado na escrita de pseudolinguagens, como o Portugol.
É uma representação gráfica de algoritmos que dá margem à dupla interpretação ou ambiguidades.
 
 
Explicação:
É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidades, como ensinado na aula 1 online.
 
 
 
Ref.: 201510702020
 12a Questão
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:
 II, III e IV
 IIII e III
I
I 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 - 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.
 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.
 
 
 
Ref.: 201512861304
 13a Questão
Sobre Português Estruturado, assinale a opção correta :
É igual ao fluxograma
 É igual à linguagem natural ou narrativa
É igual à linguagem de programação na língua portuguesa
 O português estruturado é uma simplificação da nossa linguagem natural, na qual usamos frases simples e estruturas que possuem um significado muito bem definido.
É igual a uma carta para um encarregado
 
 
Explicação:
Definição direta e objetiva dada na aula 1. 
 
 
 
Ref.: 201510702309
 14a Questão
Para que a palavra "AMOR" seja escrita na tela 5 vezes, qual condição apropriada deve ser colocada no trecho de código abaixo? Marque a opção correta. 
 
x = 1;
 while ( _________ )
 {
 cout<<"AMOR \n";
 x = x + 2;
 }
x > 10
x <= 11
x <= 5
 x < 10
x < 5
 
 
Explicação:
Analisando : 
 
x = 1;
 while ( _________ )
 {
 cout<<"AMOR \n";
 x = x + 2;
 }
Note que x é um contador que é inicializado com 1 e que varia de 2 em 2. Logo, é preciso testar x < 10. Veja que entraremos no loop quando :
x vale 1
x vale 3
x vale 5
x vale 7
x vale 9
E quando x for para 11, o teste do loop falhará. Então, teremos entrado 5 vezes no bloco do while.
 
 
 
Ref.: 201510702276
 15a 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 I e II são CORRETAS
Apenas a alternativa I é CORRETA
Todas as alternativas são CORRETAS
Apenas as alternativas II e III são INCORRETAS
 Apenas as alternativas I e III são CORRETAS
 
 
Explicação:
Analisando cada afirmativa :
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
Verdadeira. O fluxograma usa símbolos para E/S, atribuição e outros comandos.
 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; 
Falsa. Pseudocódigo não tem nada de representação gráfica.
 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. 
VErdadeira. Através de alguma linguagem de programação, escrevemos programas.
1a Questão
As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas:
 palavras reservadas
palavras especiais
palavras próprias
palavras código
palavras únicas
 
 
Explicação:
Não tem outra possibilidade com margem à dúvida. Por definição, é palavra reservada.
 
 
 
Ref.: 201510702273
 2a Questão
Assinale a opção que apresenta somente nomes válidos para variáveis em C++.
1conta, 2total, 3data
 Conta, Total1, DIA-MÊS-ANO
 CONTA, TOTAL1, data
Conta, Total, 5data
CONTA, TOTAL1, 1DATA
 
 
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
 
 
 
 
Ref.: 201510735591
 3a Questão
Em programação, como se chama o processo de converter um arquivo de texto, escrito em uma linguagem de programação, em códigos binários pertencentes a uma plataforma de execução?
Conversão
Transformação
 Compilação
Indexação
Ligação
 
 
Explicação:
Por definição, de acordo com o conteúdo online.
 
 
 
Ref.: 201510735516
 4a Questão
O computador não entende o conteúdo do arquivo de texto contendo o seu programa. Ele precisa ser convertido em uma linguagem que o computador entende, para poder executar o programa. Este processo é chamado de:
Tradução
Execução
 Compilação
Programação
Depuração
 
 
Explicação: A compilação é o processo de conversão dos códigos fontes em executáveis, que possibilita a execução dos programas pelo processador
 
 
 
Ref.: 201510702374
 5a Questão
Necessita de espaço na memória e define o tipo de dado a ser armazenado
Comando Enquanto-Faça
 Variável
Comando PARA
Variável de Controle
Estrutura de Seleção
 
 
Explicação:
Por definição, uma variável ocupa espaço em memória e irá armazenar dados de algum tipo compatível com sua declaração. Em C++, pelo menos.
 
 
 
Ref.: 201510701721
 6a Questão
Os comentários são recursos que podem ser utilizados pelos programadores para:
Inserir diretivas para o compilador
Inserir textos explicativos apenas para o usuário
Inserir comandos que serão executados pela máquina
Inserir comandos que serão traduzidos pelo compilador
 Inserir textos explicativos apenas para o programador
 
 
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 apenaspara o usuário
 
Falso. O compilador irá ignorar o texto
explicativo dos comentários. Inserir diretivas para o compilador
 
 
 
Ref.: 201510743411
 7a Questão
Precisamos ficar atentos a algumas exigências da linguagem C++.
Leia com atenção as afirmativas abaixo e, depois, escolha a opção correta.
I Devemos tomar cuidado para não declarar uma variável de nome Nota e não usar no programa nota.
II Foram declaradas duas variáveis com os seguintes nomes: Idade e auto. O programa foi compilado sem problemas.
III A declaração de variáveis globais é fora de todas as funções
IV Existe somente o delimitador // para fazer comentários
Somente a afirmativa IV está errada
Todas as afirmativas estão corretas
Somente as afirmativas II e III estão corretas
Somente a afirmativa III está errada
 Somente as afirmativas I e III estão corretas
 
 
Explicação:
A linguagem é Case Sensitive - elimina a II
Tem dois delimitadores para comentários - elimina a IV
 
 
 
Ref.: 201510702288
 8a Questão
 
 Assinale a opção correta. Considerando o conceito de programa é correto afirmar que ...
Um programa é um algoritmo escrito em linguagem natural, mas sem ambiguidades. Ou seja, é um conjunto de comandos que representam tarefas que serão compreendidas por um computador.
Um programa é um algoritmo codificado em uma linguagem de gráfica (ex: fluxograma), isto é, um conjunto de instruções que representam tarefas que serão apenas interpretadas por um computador.
Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador.
 Um programa é um algoritmo codificado em uma linguagem de programação, isto é, um conjunto de instruções/funções que representam tarefasque serão interpretadas e executadas por um computador.
Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão apenas executadas por um computador.
1a Questão
Normalmente um programa de computador é composto de muitas linhas de código o que dificulta, por vezes, a manutenção quando ocorre algum erro lógico. Desta forma, o programador, após identificar o possível trecho da ocorrência. Para
isso, o Dev C++ dispõe de um dispositivo que interrompe a execução do programa, passando para o programador o controle da execução. A linha onde o programa é interrompido fica destacada em vermelho.
Qual o nome deste dispositivo?
 Breakpoint
StopPoint
ExecPoint
ContinuePoint
CompilePoint
 
 
Explicação:
Não há outra possível resposta. 
 
 
 
Ref.: 201510743417
 2a Questão
Uma IDE (integrated development environment ou ambiente de desenvolvimento integrado) reúne várias facilidades para o programador. Assinale a opção onde está presente o programa que possibilita acompanhar a execução do programa e verificar erros.
Compilador
Linkeditor
Editor
Corretor
 Depurador
 
 
Explicação: A própria resposta
 
 
 
Ref.: 201510701971
 3a Questão
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;
cout "lendo a idade"; cin idade;
exiba "lendo a idade"; lendo 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"; lendoidade;
 
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");
 
 
 
Ref.: 201510701746
 4a Questão
Para exibir o valor da variável x do �po inteiro em C++ deve ser u�lizado o comando:
cout >>x;
 
cout >> "Valor de x: " , x;
cout >> "Valor de x: " >> x;
cout << "Valor de x: " >> x;
 
 cout << x;
 
 
 
Explicação:
Para impressão na tela usamos o cout com o operador <<
Nâo confundir com >> que é usado com cin, que é para entrada de dados.
 
 
 
Ref.: 201510735530
 5a Questão
Uma IDE é um conjunto de programas úteis ao programador reunidos em um mesmo ambiente, a fim de facilitar o trabalho de desenvolvimento. Dentre suas funcionalidades temos a depuração. marque a alternativa que descreve este processo.
é uma atividade que permite ao programador executar o programa. E observar o resultado final
 é uma atividade que permite ao programador executar o programa passo a passo. Desta forma, ele pode verificar os valores das variáveis e descobrir qual é a execução natural de um programa.
é uma atividade que permite ao programador escrever o programa passo a passo. Desta forma, ele pode verificar os valores das variáveis e descobrir qual é a forma natural de um programa.
é uma atividade que permite ao programador traduzir o programa. E permite a execução do mesmo.
é uma atividade que permite ao programador compilar o programa. Desta forma, ele pode executar os valores das variáveis e descobrir qual é a forma natural de um programa.
 
 
Explicação: A depuração é uma atividade que permite ao programador executar o programa passo a passo. Desta forma, ele pode verificar os valores das variáveis e descobrir qual é a execução natural de um programa.
 
 
 
Ref.: 201510739011
 6a Questão
Asssinale a opção correta.
 Uma IDE é um software que tem a função de colocar e integrar, em um mesmo ambiente, vários outros programas que ajudam um programador a criar seus programas.
IDE é apenas um editor de textos que nos dá a possíbildade de na linha de comando compilar nosso programa.
Para executar um programa em uma IDE não temos que compilá-lo previamente.
O C++ é uma IDE na qual posso compilar meus programas.
IDE é apenas um editor de textos que nos dá a possíbildade de na linha de comando executar nosso programa.
 
1a Questão
Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais.
&&, >= e ||
=, > e ||
+, - e *
&&, || e ~
 <, > e >=
 
 
Explicação:
<, > e >=
 
Falso. Nenhum é relacional &&, || e ~
 
Falso. O único relacional é o > =, > e ||
 
Falso. O único relacional é o >= &&, >= e ||
 
Falso. Nenhum relacional +, - e *
 
 
 
Ref.: 201510702072
 2a 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 = 4.
A expressão é VERDADEIRA, e o valor de X * X + Y = 3.
 A expressão é FALSA, e o valor de X * X + Y = 3.
A expressão é FALSA, e o valor de X * X + Y = 6.
A expressão é VERDADEIRA, e o valor de X * X + Y = 5.
 
 
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.
 
 
 
 
Ref.: 201510702210
 3a Questão
Qual dos fragmentos de código calcula um preço de um produto com desconto de 7,5% ?
 PRECO_DESC = PRECO - PRECO * 7.5 /100;
PRECO_DESC = PRECO * 7.5 / 100;
PRECO_DESC = PRECO * 7.5%;
PRECO_DESC = PRECO * 0.075;
PRECO_DESC = PRECO * 0.75;
 
 
Explicação:
 Verdadeiro
PRECO_DESC
= PRECO -
PRECO * 7.5
/100;
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco.
PRECO_DESC
= PRECO *
7.5 / 100;
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco. 
Além disso, calcula 75% e não o valor do enunciado.
PRECO_DESC
= PRECO *
0.75;
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco.
Além disso, calcula outra porcentagem e não o valor do enunciado.
PRECO_DESC
= PRECO *
0.075;
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco.
Além disso, usa % incorretamente. Na Matemática o símbolo %
indica porcentagem, mas em C++ representa o resto da divisão
inteira.
PRECO_DESC
= PRECO *
7.5%;
 
 
 
 
Ref.: 201510702203
 4a Questão
A declaração de variáveis permite reservar um espaço na memória para que possa armazenar os dados de um programa. Indique os nomes de variáveis que são válidos em C++.
us# , tempo
8situacao, numero
 mumero2Casa, idade
preço, medida
double, int
 
 
Explicação:
Falso. Não se usa # us# , tempo
 
Falso. Não se usa cedilha. preço, medida
 
Falso. Não se pode começar com dígito. 8situacao, numero
 
 Verdadeiro mumero2Casa, idade
 
Falso. São palavras reservadas para tipos de dados. double, int
 
 
 
Ref.: 201510701738
 5a Questão
Qual dos trechos abaixo solicita e admite corretamente a idade de um usuário?
real idade;
 cout << "Idade: ";
 cin >> idade;
int idade;
 cin << "Idade: " >> idade;
real idade;
 cin << "Idade: " >> idade;
int idade;
 cout >> "Idade: ";
 cin << idade;
 int idade;
 cout << "Idade: ";
 cin >> idade;
 
 
Explicação:
 Verdadeira
int idade;
 cout << "Idade: ";
 cin >> idade;
 
Falso. Uso indevido de >> e <<
int idade;
 cout >> "Idade: ";
 cin << idade;
 
Falso. O tipo de dados é int e não realreal idade;
 cout << "Idade: ";
 cin >> idade;
 
Falso. Uso indevido de cin .
int idade;
 cin << "Idade: "
>> idade;
 
Falso. Uso indevido de cin e declaração incorreta da
variável idade.
real idade;
 cin << "Idade: "
>> idade;
 
 
 
Ref.: 201510702054
 6a Questão
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 *
 
 
 
Ref.: 201510701693
 7a Questão
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.
 
 
 
Ref.: 201510702248
 8a Questão
Para a = 2, b = 5 e c = 4, determine qual das sentenças retornará verdadeiro em linguagem de programação C++.
(b + 2) > (a * c)
 pow(c,a) > b * c
a == c
(b % a) == 0
 ((b = 2) == a)
1a Questão
Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, 
 sendo que na 1ª. execução o valor de entrada é 7 e na 2ª. execução o valor de entrada é 8. Para isso, considere 
 o seguinte trecho em C++.
 int num;
 cout << "Digite um numero: ";
 cin >> num;
 if (num != 2 || num != 4 || num != 6)
 {
 num = num + 2;
 cout << num << " ";
 }
 if (num != 8)
 {
 num--;
 cout << num << " ";
 }
 else
 cout << num * 5 ;
 
 
9 6 10 9
 
8 10 40
 
9 8 10 40
 
 9 8 10 9
 
9 40
 
 
 
Explicação:
Analisando o trecho de programa em C++ ...
1a. execução : num recebe 7. Daí, testamos o 1o. if. Note que usamos o || lógico. A condição é verdadeira e entramos no bloco do 1o. if. Então, num recebe 9 e é impresso o valor 9 na
tela.
Seguimos para o próximo if e testamos sua condição. É verdade que 9 != 8 ? Sim. Entramos no bloco do 2o. if e então decrementamos 9 para 8 e imprimimos o valor 8.
Concluindo esta 1a. execução : Foram impressos 9 8
2a. execução : num recebe 8. Daí, testamos o 1o. if. Note que usamos o || lógico. A condição é verdadeira e entramos no bloco do 1o. if. Então, num recebe 10 e é impresso o valor 10.
Seguimos para o próximo if e testamos sua condição. É verdade que 10 != 8 ? Sim. Entramos no bloco do 2o. if e então decrementamos 10 para 9, imprimindo o valor 9.
Concluindo esta 2a. execução : Foram impressos 10 9 
 
 
 
 2a Questão
Quando estudamos sobre a estrutura do se ... entao...senao, sempre nos é dito que, quando tivermos duas possibilidades de respostas, devemos escolher a estrutura do se
composto ao invés de usar duas estruturas do se simples.
Observe as afirmativas abaixo e, depois, escolha a resposta que respalda o uso do se composto pelo que foi dito acima ao invés do se simples.
I Maior clareza no código, mas não influência na eficiência do mesmo
II Maior eficiência porque diminui o número de testes no código
III Maior eficiência somente porque o código fica mais legível, visto que o resultado final é o mesmo
IV Somente uma escolha do desenvolvedor, visto que o resultado o resultado final é o mesmo
Somente a IV está correta
A II E A III estão corretas
 Somente a II está correta
Somente a I está correta
A II E IV estão corretas
 
 
Explicação:
I Maior clareza no código, mas não influência na eficiência do mesmo . 
Comentário : Falso. Traz clareza e afeta a eficiência sim, pois acaba se fazendo testes desnecessários.
II Maior eficiência porque diminui o número de testes no código
Comentário : Correto.
III Maior eficiência somente porque o código fica mais legível, visto que o resultado final é o mesmo.
Comentário : Falso. Não é só legibilidade, mas é uma questão de eficiência, pois evita-se teste desnecessário.
IV Somente uma escolha do desenvolvedor, visto que o resultado o resultado final é o mesmo
Comentário : Falso. O desenvolvedor pode escolher sim, mas o uso adequado do condicional composto pode trazer maior eficiência para o código.
Opção correta : 
 Somente a II está correta
 
 
 
 3a Questão
Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela. 
 int x = 4, y = 14, t;
 float z;
 if( x < y ) { t=x; x=y; y=t;}
 z = (x % y) / y;
 cout << x << " " << y << " " << z ;
4 14 0
 14 4 0
0.5 4 14
4 14 0.5
14 4 0.5
 
 
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro
 
 
 
 4a Questão
Examine as afirmativas a seguir e marque a alternativa correta.
 I- A estrutura de decisão pode alterar ou desviar o fluxo natural de execução de um algoritmo.
 II- O uso de uma estrutura de decisão composta pode ser mais eficiente que o uso de duas estruturas de decisão simples, pois reduz o número de testes. 
 III- Muitas vezes é possível combinar a condição de duas estruturas de decisão simples em apenas uma utilizando operadores lógicos.
Apenas a alternativa i está correta.
 Todas as alternativas estão corretas.
Todas as alternativas estão erradas.
Apenas a alternativa iii está correta.
Apenas a alternativa ii está correta.
 
 
Explicação: As estruturas de decisão realmente alteram o fluxo de um programa, uma estrutura composta é mais eficiente que duas simples, já que há menos testes e podemos usar
operadores lógicos para combinar condições e reduzir o número de estruturas de decisão simples. Portanto todas as afirmativas estão corretas.
 
 
 
 5a Questão
Para satisfazer a regra de que para fazer AV3 o aluno deve ter nota maior ou igual a 4 em pelo menos uma das outras duas Avaliacoes, qual seria a sentença correta
Se (AV1 > 4) e (AV2 > 4)
Se (AV1 >= 4) e (AV2 >= 4)
Se (AV1 > 4) ou (AV2 > 4)
Nenhuma outra alternativa satisfaz
 Se (AV1 >= 4) ou (AV2 >= 4)
 
 
Explicação:
 
Verdadeira Se (AV1 >= 4) ou (AV2>= 4)
 
Falsa. Tinha que ser >= e não apenas > Se (AV1 > 4) ou (AV2 >4)
 
FAlsa. Nâo tem que ter 4 ou mais nas duas provas, mas
apenas em uma das provas.
Se (AV1 >= 4) e (AV2
>= 4)
 
FAlsa. Tinha que ser >= e no lugar do e tinha que se ou. Se (AV1 > 4) e (AV2 >4)
 
Falsa. A 1a. alternativa é a correta. Ou seja : Se (AV1 >=
4) ou (AV2 >= 4)
Nenhuma outra
alternativa satisfaz
 
 
 
 6a Questão
 Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, sendo que na 1ª. execução o valor de entrada é 10 e na 2ª. execução o valor de
entrada é 0. Para isso, considere o seguinte trecho em C++.
 int num;
 cout << "Digite um numero: ";
 cin >> num;
 if (num > 0)
 {
 num++;
 cout << num << " ";
 }
 cout << num + 1 << " ";
 if (num < 0)
 {num--;
 cout << num << " ";
 }
 else
 cout << num * 10 ;
 
 
11 110 1 0
 
 11 12 110 1 0
 
11 12 110
 
11 110 1 0
 
11 110 1 10
 
 
 
Explicação:
Analisando ...
1a. execução : Valor de entrada é 10. Logo, num recebeu 10 na entrada.
1o. teste >>> 10 > 0 ? Sim . Então, entramos no bloco do 1o. if e fazemos num receber 11. Depois, exibimos 11 na tela. Seguindo... é exibido o valor de num + 1, ou seja, é exibido na
tela o valor 12. 
2o. teste >>> 11 < 0 ? Não. Então, entramos no último else que imprime o resultado de 11 * 10, que é 110
Concluindo a 1a. execução para a entrada 10 : 11 12 110
 
2a. execução : Valor de entrada é 0. Logo, num recebe 0 na entrada.
1o. teste >>> 0 > 0 ? Falso. Não entramos no 1o. if. SEguindo em frente temos que o valor de num+1 é exibido na tela. Ou seja, 1 é exibido na tela.
2o. teste >>> 1 < 0 ? Não. Então, entramos no último else, que imprime o valor de 1 * 10, que é 10.
Concluindo a 2a. execução para a entrada 0 : 1 10
 
 
 
 
 7a Questão
Escolha a alternativa abaixo que completa o sentido da frase: 
 O uso das _________________ é obrigatório quando for usada mais de uma instrução dentro da estrutura de decisão, if (o comando "se" em Portugol), logo, usar sempre não ocasionará
problemas.
 chaves
strings
aspas simples
aspas duplas
palavras reservadas
 
 
Explicação:
Quando se tem duas ou mais instruções temos um bloco de comandos. O uso de chaves no bloco do if ou no bloco do else é obrigatório, assim como no caso de outros comandos.
Quando se tem apenas uma instrução, o uso de chaves é opcional.
 
 
 
 8a Questão
Verifique o trecho de código abaixo e marque a alternativa que apresenta a melhor construção para as condições abaixo, utilizando uma estrutura de decisão composta.
 if(a > 0) cout < < "pertinente";
 if(a < 5) cout < < "pertinente";
 if(a > =5) cout < < " não pertinente";
 
if(a > 5 && a < 0) cout < < "pertinente"; else cout < < "não pertinente";
 if(a > 0 || a < 5) cout < < "pertinente";
 else cout < < " não pertinente";
if(a > 0 + a < 5) cout < < "pertinente";
 else cout < < "não pertinente";
if(0 > a > 5) cout < < "pertinente";
 else cout < < " não pertinente";
 if(a > 0 && a < 5) cout < < "pertinente";
 else cout < < " não pertinente";
 
 
Explicação: O trecho do código exibe a informação "pertinente" para os valores de a maior que zero e menores que cinco. E a informação "não pertinente", para valores de a iguais ou
maiores que cinco. Portanto a condição correta é ; Se (a > 0 e a < 5) imprime "pertinente"; do contrário imprime " não pertinente";
1a Questão
Às vezes me perguntam se existe alguma razão para existirem tantas formas de decisão nas linguagens de programação.
Eu sempre digo: Claro que sim!
Analise as afirmativas abaixo e escolha a opção certa.
I Se tivermos que fazer um teste e só executar um bloco, que pode ter uma instrução ou mais instruções, o if simples deverá ser escolhido. 
II Se tivermos duas possibilidades de respostas, não poderemos usar dois if(s) simples, onde o teste de um é o complementa o do outro, porque poderão sair duas respostas. 
III Se tivermos três possibilidades de respostas, podemos usar um if simples e um if composto que não teremos problemas com as respostas. 
IV Quando temos 10 possibilidades de respostas, poderemos usar 10 if(s) simples, embora usar ifs encadeados seria mais eficiente. 
Somente a afirmativa III é falsa
As afirmativas II, III e IV são verdadeiras
 As afirmativas I e IV são verdadeiras
Somente a afirmativa II é verdadeira
Somente a afirmativa I é verdadeira
 
 
Explicação: As respostas falsas são conclusivas
 
 
 
 2a Questão
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
 switch/case
do/while
for
cout
 
 
Explicação:
switch/case
 
É para repetição do/while
 
É para repetição for
 
É para impressão na tela cout
 
É para repetição while
 
 
 
 3a Questão
Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 7 ? Assinale a opção correta.
 int num;
 cout << "Digite um numero: ";
 cin >> num;
 if (num % 2 == 0)
 cout << num << "é divisível por 2";
 else
 if (num % 3 == 0 && num % 5 == 0)
 cout << num << " é divisível por 3 e por 5";
 else
 cout << num << " ### " ;
 
 
7 é divisível por 3 e por 5.
 
Apenas 7
 
7 não é divisível por 2.
 7 ###
 
Nada aparece, pois o trecho de programa possui erro.
 
 
Explicação:
Analisando o trecho em C++ e considerando a entrada 7 temos :
num recebeu 7 na entrada.
1o. teste : 7 % 2 é zero ? Falso. Então, entramos no else do 1o. if e testamos a condição do 2o. if
2o. teste : 7 % 3 é zero ? Falso. Nem adianta testar a outra condição deste if, pois existe o &&. DAí, entramos no else do 2o. if, imprimindo na tela 
 7###
Logo, a resposta correta é 7###
 
 
 
 
 4a Questão
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
15 27.5 15 55 90
55 1
 50 90 15 25 15
 
 
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.
 
 
 
 5a Questão
Analise o trecho do algoritmo abaixo e indique a alterna�va que apresenta as saídas ob�das para os valores: A=17, B=21 e C=13.
SE (A > (B+C)) ENTÃO
ESCREVA("+++++")
SENÃO
SE (B<=C) ENTÃO
ESCREVA("%%%%%")
SENÃO 
ESCREVA("^^^^^")
FIM SE 
ESCREVA("=====")
 FIM SE
 ^^^^^
=====
^^^^^
=====
+++++ 
=====
%%%%%
 
 
Explicação:
Analise o trecho do algoritmo abaixo e indique a alternativa que apresenta as saídas obtidas para os valores: A=17, B=21 e C=13.
SE (A > (B+C)) ENTÃO //1o. teste : 17 > (34) ? FAlso. Entraremos no 1o. senão.
 ESCREVA("+++++") //não entra aqui
SENÃO //Entra aqui devido à falha do 1o. teste
 SE (B<=C) ENTÃO //2o. teste : 21 <= 12 ? Falso. Então, entraremos no bloco do 2o. senão
 ESCREVA("%%%%%") //não entra aqui
 SENÃO 
 ESCREVA("^^^^^") //SErá executada esta linha e depois seguiremos em frente.
FIM SE 
ESCREVA("=====") //Após terminar o bloco do comando condicional, executamos esta linha
 FIM SE
 
DA análise feita acima dois "escreva" são executados :
ESCREVA("^^^^^") 
ESCREVA("=====") 
O que dará o seguinte resultado : 
^^^^^
=====
 
 
 
 
 6a Questão
Caso o valor inserido pelo usuário seja igual a 5, qual a mensagem exibida pelo código:
 
int a;
 
cin >> a;
 if (a<5)
 cout << "valor esperado";
 else
 if (a>=5 && a<=10)
 cout << "valor ainda aceitável";
 else
 if (a>10 && a<20)
 cout << "valor acima do esperado";
 else
 if (a>=20) cout << "valor fora de faixa";
nenhuma mensagem será exibidavalor fora de faixa
valor acima do esperado
valor esperado
 valor ainda aceitável
 
 
Explicação: Se a variável a assume o valor 5 a única condição verdadeira é a>=5 && a<=10, portanto a saída será "valor ainda aceitável "
 
 
 
 7a Questão
Qual o comando utilizado pelo C++ para implementação de algoritmos onde seja necessário que o usuário entre com um valor referente a uma opção a ser escolhida, quando é necessário
consulta em uma tabela ou a um menu exibido na tela.
cout
cin
table
 switch/case
break
 
 
Explicação: a estrutura de escolha é implementada no C++ pelo comando switch/case
 
 
 
 8a Questão
 
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 util izada.
int main() {
 int num;
 cout<<"Digite um número: ";
 cin>> num;
 (num > 0)?cout<< num : cout<<" Número negativo ";
 return 0;
 }
 
Estrutura condicional de comando simples
comando switch
Estrutura condicional de comando composto
 Operador ternário
aninhamento de if
 
 
Explicação:
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
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;
 }
 
Marque a opção correta. Considere o trecho de programa feito abaixo em C++. O valor final de soma e o valor final de num, são respectivamente
 
int contador, num = 1, soma = 0;
for (contador = 1; contador <= 20; contador += 5) {
 soma = soma + num;
 num = num + 3;
 }
1.
9 e 9
50 e 16
50 e 9
16 e 9
o valor de s está indefinido e o valor de num é 7
 
 
 
Explicação:
Acompanhe o teste de mesa :
num s conta conta <= 10 ? 
1 0 10 sim
3 1 20 sim
5 4 30 sim
7 9 40 sim
9 16 50 não
Logo, s vale 16 e num vale 9
 
 
 
 
 
2.
 
12 e 10
 
 
22 e 20
 
22 e 10
 
o valor de soma está indefinido e o valor de num é 10
22 e 13
 
 
 
Explicação:
 
Analisando o trecho : 
int contador, num = 1, soma = 0;
for (contador = 1; contador <= 20; contador += 5) {
 soma = soma + num;
 num = num + 3;
 }
 
Fazendo teste de mesa :
contador num soma contador <= 20
1 1 0 sim
6 4 1 sim
11 7 5 sim
16 10 12 sim
21 13 22 21 <= 20 ? Falso.
 
 
 
 
A REPETIÇÃO é uma das estruturas básicas de programação, determine entre as atividades abaixo a que representa uma REPETIÇÃO :
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;
Laços de repetição são usados para que uma determinada sequência de comandos seja repetida um determinado número de vezes, sem a necessidade de reescrever tais comandos
inúmeras vezes. Marque a alternativa que apresenta corretamente a representação de um laço de repetição codificado em C++.
Os valores finais das variáveis estão em vermelho.
Logo, a resposta é 22 e 13
 
 
 
3.
Se um aluno obter média abaixo de 6.0 estará REPROVADO, se não estará APROVADO.
Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar.
No trânsito, se o sinal estiver vermelho, PARE, se não, PODE PASSAR.
Para encher um copo com água, mantenha a torneira aberta enquanto o copo não esitver cheio.
Calcule a média de um aluno somando as duas maiores notas e dividindo a soma por dois.
 
 
 
Explicação:
Falso. É um condicional. No trânsito, se o sinal estiver vermelho, PARE, senão, PODE PASSAR.
 
 Verdadeiro. Tem o
comando enquanto.
Para encher um copo com água, mantenha a torneira
aberta enquanto o copo não esitver cheio.
 
Falso. É uma sequência Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar.
 
Falso. É um comando
condicional ... tem se ... se
não..
Se um aluno obter média abaixo de 6.0 estará
REPROVADO, se não estará APROVADO.
 
Falso. Comando sequencial. Calcule a média de um aluno somando as duasmaiores notas e dividindo a soma por dois.
 
 
 
4.
3 23 40 60 79 98
3 22 41 60 79 99
3 22 41 59 79 98
3 23 42 61 80 99
3 22 41 60 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 
 
 
 
5.
b) if(i>10)
{ if (i<100) i=0;}
a) for(int i=0;i<10;i++)
{ cout<< i;}
e) for(i++, , int i)
{ cout<< I;}
c) for( i>0, i<10,i++)
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário:
int main ( ) {
 int i;
 double x, y = 0;
 for (i = 0; i < 10; i++){
 cout << "Digite um numero: ";
 cin >> x;
 if ((x % 2) == 0){
 y = y + x; 
 }
 }
 cout << "Numero: " << y << "\n";
 system("PAUSE");
 return 0;
 }
Analise o trecho de código em C++ abaixo :
for (int x = 0; x < 10; x++)
 {
 if (valor[x] % 3 == 0 && valor[x] % 7 == 0)
 cout << valor[x];
 }
 
{ cout< < I;}
d) if(int i;i<10;i++)
{cout< < I;}
 
 
 
Explicação:
Verdadeira
a) for(int
i=0;i<10;i++)
{ cout<< i;}
 
Falso. O comando if não é de repetição. É um comando condicional.
b) if(i>10)
{ if (i<100)
i=0;}
 
Falso. A 1a. parte do for é a inicialização e não um teste como feito
na opção. Deve se usar ; separando a inicialização do teste lógico e
da parte dos incrementos.
c) for( i>0,
i<10,i++)
{ cout< < I;}
 
Falso. O comando if não é de repetição e a opção ainda usa o if de
forma incorreta.
d) if(int
i;i<10;i++)
{cout< < I;}
 
FAlso. A 1a. parte do for é a inicialização e não um incremento como
feito na opção. Deve se usar ; separando a inicialização do teste
lógico e da parte dos incrementos.
e) for(i++, ,
int i)
{ cout<< I;}
 
 
 
 
6.
A soma de todos os elementos
A média dos elementos digitados
A soma dos elementos pares
O maior de todos os elementos digitados
A quantidade de elementos digitados
 
 
 
Explicação:
Analisando o trecho do programa dado :
 int i;
 double x, y = 0; //inicializa y que irá acumular o somatório
 for (i = 0; i < 10; i++){
 cout << "Digite um numero: ";
 cin >> x; //Lê o valor de x
 if ((x % 2) == 0){ //testa se x é par
 y = y + x; //Se x é par então acumula em y o valor de x, somando todos os valores das variáveis x que são pares
 }
 }
 cout << "Numero: " << y << "\n"; //Imprime y, que acumulou o somatório mencionado acima
 
 
 
 
 
7.
Imprimirá na tela todos os valores de um vetor que são pares.
Imprimirá na tela todos os valores de um vetor que são múltiplos de 3 e múltiplos de 7.
Imprimirá na tela todos os valores de um vetor que não são múltiplos de 5.
Qual dos comandos abaixo está escrito de forma errada?
Imprimirá na tela todos os valores de um vetor.
Imprimirá na tela todos os valores de um vetor que são ímpares.
 
 
 
Explicação:
 Verdadeiro
 
Imprimirá na tela todos os valores de um vetor que
são múltiplos de 3 e múltiplos de 7.
 
Falso. Imprimirá o valor 105,
que é múltiplo de 3, 7 e 5.
 
Imprimirána tela todos os valores de um vetor que
não são múltiplos de 5.
 
Falso. Só imprimirá os múltiplos
de 3 e 7.
 
Imprimirá na tela todos os valores de um vetor.
 
Falso. Imprimirá na tela o valor
21, que é ímpar.
 
Imprimirá na tela todos os valores de um vetor que
são pares.
 
FAlso. Imprimirá na tela o valor
42, que é par.
Imprimirá na tela todos os valores de um vetor que
são ímpares.
 
 
 
8.
for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2)
for (X=0 ; X < 10 ; X++)
for (X=10 ; X > 0 ; X--)
for (X=0 , Y=4 ; X < 10 ; X++ , Y--)
for (X < 10 ; X=0 ; X++)
 
 
 
Explicação:
Está correto. Temos a inicialização, o teste e a parte do
incremento
for (X=0 ; X < 10
; X++)
 
Está correto. Temos duas inicializações separadas por vírgula e
incremento e decremento separados por vírgula. E ainda o teste
corretamente.
for (X=0 , Y=4 ; X
< 10 ; X++ , Y--)
 
Está correto. Temos a inicialização, o teste e a parte
dodecremento.
for (X=10 ; X > 0
; X--)
 
Está correto. Temos duas inicializações separadas por vírgula
e incremento e decremento separados por vírgula. E ainda o
teste corretamente.
 
for (X=0 , Y=0 ; X
< 10 ; X++ ,
Y=Y+2)
 
 A sintaxe desta opção está incorreta e portanto, deve ser
marcada. O teste lógico e a inicialização estão trocados de lugar.
for (X < 10 ; X=0
; X++)
 
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;
 }
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 :
1.
x <= 5
x < 10
x > 10
x <= 11
x < 5
 
 
 
Explicação:
Analisando : 
 
x = 1;
 while ( _________ )
 {
 cout<<"AMOR \n";
 x = x + 2;
 }
Note que x é um contador que é inicializado com 1 e que varia de 2 em 2. Logo, é preciso testar x < 10. Veja que entraremos no loop quando :
x vale 1
x vale 3
x vale 5
x vale 7
x vale 9
E quando x for para 11, o teste do loop falhará. Então, teremos entrado 5 vezes no bloco do while.
 
 
 
2.
O trecho entra em loop.
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 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é 2, nesta ordem.
 
 
 
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 
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; 
 }
Comando de repetição é utilizado quando se deseja repetir determinados comandos. Marque a opção que representa o uso do comando while para implementar a estrutura de um
contador corretamente.
6 6 % 2 é zero ? Sim. Imprime o 6 edecrementa 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.
 
 
 
 
3.
do case
repeat
while
loop
for
 
 
 
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
 
 
 
4.
while (if cont =10){ }
String cont = ""; { cont++; } while (cont!="")
while (repita 10 vezes) { }
while () { cout << "exibindo o número"; }
int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; }
 
 
 
Explicação:
A estrutura geral do while quando se usa contador no teste do loop é a seguinte :
while ( < condição... teste lógico ... com o contador > )
 {
 < comandos>
 alteração do contador
}
 
Analisando ...
 Falsa. Faltou a condição ou teste lógico ou
variável que pode ser true ou false.
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;
}
while () { cout << "exibindo o número"; }
 
 
Verdadeira. Pode se r encaixada na
explicação no início.
int cont = 0; while (cont <=10){ cout
<< "exibindo o número " << cont;
cont++; }
 
FAlsa. Não tem String em C++. Existe
string, mas não String. Sintaxe incorreta no
uso do while.
String cont = ""; { cont++; } while
(cont!="")
 
Falsa. Sintaxe incorreta. Uso de repita sem
sentido. while (repita 10 vezes) { }
 
Falsa. Uso incorreto do if na parte relativa à
condição do while. while (if cont =10){ }
 
 
 
5.
15
30
Nenhuma das alternativas.
31
29
 
 
 
Explicação:
Fazendo passo a passo :
cont = 0;
while( cont < 30 ) {
 cout << "ALGORITMO" << endl;
 cont = cont + 1;
}
variável
cont Teste cont < 30 ? Sim ou não ?
0 0 < 30 ? sim
1 1 < 30 ? sim
2 2 < 30 ? Sim
3 3 < 30 ? Sim
4 4 < 30 ? Sim
5 5 < 30 ? sim
6 6 < 30 ? sim
7 7 < 30 ? sim
continuando
até 29 29 < 30 ? Sim
30
30 < 30 ? Não. Falso. Não entra no while
Note que entrou 30 vezes no corpo do while e
a cada vez que entrou imprimiu ALGORITMO
TELA
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
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; 
 
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 mesmoprocessamento
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:
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
ALGORITMO
>>>>>>>>>>>>>>>>>> Logo, imprimiu 30 vezes a palavra ALGORITMO
 
 
 
 
6.
30
25
20
40
35
 
 
 
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.
 
 
 
 
7.
I e IV
II, III e IV
I
III
I e III
 
Leia atentamente o trecho de código abaixo e diga o que ele apresentará ao usuário no final :
int main ( ) {
 int i = 0;
 double x, y = 0;
 cout << "Digite um numero: ";
 cin >> x;
 while (x != 0){
 i = i + 1;
 y = y + x;
 cout << "Digite um numero: ";
 cin >> x;
 }
 y = y / i;
 cout << "Numero: " << x << "\n";
 system("PAUSE");
 return 0;
 }
 
 
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 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.
 
 
 
8.
O menor de todos os elementos digitados
A média dos elementos digitados
O maior de todos os elementos digitados
O último número digitado, ou seja, zero
A quantidade de elementos digitados
 
 
 
Explicação:
A última impressão será o valor de x e o último valor de x é zero, pois foi o valor que parou a repetição.
Terminada a repetição, um novo y é gerado e depois o valor de x é impresso. Ou seja, 0.
1a Questão
Em alguns casos um programador se depara com rotinas que precisam ser repetidas constantemente durante o fluxo de seu programa, aumentando consideravelmente a quantidade de
linhas do seu programa. Para resolver isto é necessário construir pequenos programas que devem ser chamados de dentro do bloco principal. Estes pequenos programas podem ser
classificados de duas formas diferentes relacionados à sua utilização no código. Como são chamados estes programas?
Struct e função
 Função e procedimento
Procedimento e main
Include e main
Main e função
 
 
Explicação:
Imediato, pelos conceitos apresentados na aula 9.
Função e
procedimento
 
Falso. main e não Main é o programa principal. Main efunção
 
Falso. main e não Main é o programa principal. Procedimentoe main
 
Falso. include e não Include é para incluir um arquivo importante
durante a compilação e main é o programa principal.
Include e
main
 
Falso. struct e não Struct será aprendido em Estrutura de dados. Struct efunção
 
 
 
 2a Questão
Para calcular o volume de um cilindro, precisamos saber o raio da base e a altura do cilindro.
Um desenvolvedor iniciante escreveu alguns cabeçalhos da função que irá definir, mas, como está em dúvida, está pedindo a sua ajuda.
Analise as opções abaixo e assinale a que corresponde ao cabeçalho de uma função que deverá receber valores necessários através dos seus parâmetros para que possa calcular e exibir
dentro da função o volume do cilindro
float Volume Cilindro(float raio, altura)
void Volume-Cilindro (Raio, Altura)
 void V_Cilindro(float r, float h)
 float Volume(int raio, int altura)
float Cilindro(float R, H )
 
 
Explicação:
A definição de uma função exige declaração dos parâmetros com tipo e nome e o retorno correto, O tipo int não serve para medidas.
Além disso, para o volume do cilindro são necessários raio da base e a altura do cilindro. Todas essas medidas são valores reais, logo do tipo float. Como o resultado, que é o volume,
será mostrado na função, então a função nada retornará. Ou seja, a função será do tipo void.
 
 
 
 
 
 3a Questão
Uma Função, em C++, é um programa à parte ou um subprograma que pode ser chamado de dentro do programa principal, sempre que necessário. Assinale abaixo a alternativa que NÃO
representa uma vantagem de se utilizar função dentro de um programa.
 evita a sobrecarga de digitação.
melhora a legibilidade.
melhora a manutenção e permite a alteração de uma determinada parte do código de uma maneira mais rápida.
modulariza o programa em partes menores e mais funcionais.
evita que uma parte do código seja repetida várias vezes em um programa
 
 
Explicação:
Falso, pois é uma vantagem
em se usar função. melhora a legibilidade.
 
Falso, pois é uma
característica/vantagem em se
usar função.
modulariza o programa em partes menores e mais
funcionais.
 
Falso, pois é uma
característica/vantagem em se
usar função.
melhora a manutenção e permite a alteração de uma
determinada parte do código de uma maneira mais
rápida.
 
 Verdadeiro. evita a sobrecarga de digitação.
 
Falso, pois é uma vantagem
permite reaproveitamento de
código.
evita que uma parte do código seja repetida várias
vezes em um programa
 
 
 
 
 4a Questão
Assinale a afirmativa incorreta.
As variáveis que estão fora do escopo de qualquer função são ditas globais.
Quando a função nada retorna, colocamos a palavra void antes do nome da função.
 Algumas funções não precisam ter um tipo.
O comando return permite retornar um valor pela função.
As variáveis que estão no escopo de qualquer função são ditas locais.
 
 
Explicação: A aula 9 fornece o conceitos necessários para identificar os itens corretos e o item incorreto.
 
 
 
 5a Questão
Analise as quatro sentenças abaixo sobre escopo das variáveis e, em seguida, assinale a alternativa correta:
I. Trata-se do bloco de código onde a variável é válida;
II. As variáveis que são definidas dentro de uma função são chamadas de variáveis globais;
III. Os parâmetros formais de uma função valem dentro e também fora da função;
IV. As variáveis são válidas nos blocos em que foram definidas.
Apenas as sentenças I e II estão corretas
Apenas a sentença I está correta
Todas as sentenças estão corretas
Apenas as sentenças I, II e IV estão corretas
 Apenas as sentenças I e IV estão corretas
 
 
 
 6a Questão
Uma função deve obrigatoriamente conter um tipificador, ou seja, deve retornar um valor ao término de sua execução. No entanto, para sua execução ser eficiente, é necessário enviar
dados do bloco principal, que chama a função, para o interior da função. O espaço reservado para transportar esses dados de um lado para o outro é chamado de:
Vetor global.
Variável global.
 Parâmetros.
Variável local.
Vetor local.
 
 
Explicação:
Conforme definição encontrada na aula 9 (conteúdo online).Note que não pode ser :
>> variável global : fora de qualquer função e enxergada do ponto de declaração em diante
>> variável local : enxergada e manipulável dentro da função em que é declarada.
>> vetor global : seria um vetor declarado globalmente.
>> vetor local : seria um vetor declarado localmente.
 
 
 
 7a Questão
Assinale a opção correta, considerando a função calculaIMC definida abaixo : 
 
float calculaIMC(float peso, float altura) { 
 return peso/(altura * altura); 
 } 
 
 A função calculaIMC tem 2 parâmetros e retorna um valor do tipo float.
A função calculaIMC deveria ser do tipo void e não float.
A função calculaIMC está errada, pois deveria ler o peso e a altura, usando 
 cin >> peso >> altura;
A função calculaIMC não compila
A função calculaIMC não tem parâmetros e retorna um valor do tipo float.
 
 
Explicação: O aluno deve saber identificar o tipo da função e os parâmetros.
 
 
 
 8a Questão
No cabeçalho de uma função que não retornam valor utilizamos "void" logo no começo. Já em uma função que retorna valor, no lugar da palavra "void":
não devemos colocar nada, já que não possível que uma função não retorne valor
 temos que indicar o tipo do retorno, além de usar o comando "return" dentro da função
temos que retirar os nomes dos parâmetros, deixando apenas os seu tipos, no cabeçalho da função
temos que acrescentar ";" no final do cabeçalho de declaração da função
temos que usar somente os comandos "cin" e "cout" no corpo da função
Suponha que você tenha que fazer um programa em C++ e deseja armazenar a venda dos 3 meses de 30 vendedores de uma loja em uma matriz. Marque a opção que representa esta
declaração:
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 ?
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á:
1.
char valores[30][2];
float valores[30][2];
char valores[30];
float valores[30][3];
float valores[32];
 
 
 
Explicação:
 
Para cada vendedor teremos os valores dos 3 meses. Ou seja, para cada um dos 30 vendedores iremos armazenar valores reais, um em cada mês. Então, podemos declarar uma
matriz bidimensional com 30 linhas e 3 colunas.
Como foi usado o nome valores para a matriz e se está armazenando os valores dos vendedores, usaremos float.
Então,
float valores[30][3];
 
 
 
 
2.
int edificio[1][40];
int edificio[40][1];
int edificio[8][5];
int edificio[5][8];
int edificio[40][5];
 
 
 
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.
 
 
 
 
3.
Somar todas as colunas da linha índice 1
Somar todas as linhas da coluna índice 1.
Somar todas as linhas de todas as colunas.
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.
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]; 
 
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:
Os chamados vetores e matrizes podem ser considerados como:
Uma professora possui uma turma de 40 alunos e precisa declarar uma matriz bidimensional, na linguagem C++, para armazenar as notas de AV1, AV2 e AV3 da turma.
Considere que ela necessita dos dados organizados na matriz, de modo que cada linha deverá representar um aluno. Assinale a alterna�va que apresenta a declaração
 
 
 
4.
1, 2, 3
2, 1, 3
3, 2, 1
1, 3, 2
2, 3, 1
 
 
 
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.
float peso[1001], altura[1001], imc [1001];
char peso[1000], altura [1000], imc[1000];
float peso[1000], altura[1000], imc [1000];
char peso[999], altura[999], imc [999];
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];
 
 
 
6.
Estruturas de dados heterogêneas
Comandos de repetição
Comandos de seleção composta
Comandos de seleção
Estruturas de dados homogêneas
 
 
 
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çãocomposta
 
 
 
7.
desta matriz.
Análise de código abaixo e selecione entre as alternativas, o que será impresso, após a execução.
int a = 3, b = 2;
int v[] = { 6, 7, 8, 9};
a = (v[2] - v[0]) + a;
int d = a * v[b];
std::cout << d << " " << v[1] << a + 2;
int notas[40][40];
char notas[3][40];
float notas[40][3];
float notas[40,3];
char notas[40][3];
 
 
 
Explicação:
 Se cada linha deve representar um aluno e são 40 alunos então a matriz a ser declarada terá 40 linhas. Como é preciso armazenar as 3 notas de cada aluno então, a matriz
possuirá 3 colunas. Se é preciso armazenar notas então o tipo de dados deve ser float.
Analisando as opções.
Falso. Errado o número de colunas e o tipo de dados. int notas[40][40];
 
Falso. Seriam 40 linhas, 3 colunas e o tipo float. tipo char para
nota não serve.
char notas[3]
[40];
 
Falso. Não se separa o total de linhas do total de colunas com
vírgula.
float
notas[40,3];
 
 Verdadeira
float notas[40]
[3];
 
FAlso. Erro no usodo tipo char. char notas[40][3];
 
 
 
8.
40 75
21 67
24 75
40 77
35 67
 
 
 
Explicação:
int a = 3, b = 2;
int v[] = { 6, 7, 8, 9};
a = (v[2] - v[0]) + a;
int d = a * v[b];
std::cout << d << " " << v[1] << a + 2;
Analisando passo a passo :
a b v d
3 2 {6,7,8,9} 
a recebe 8 - 6 + 3, que
dá 5 
5 * v[2], ou seja, 5 *
8 = 40
Na tela será impresso :
40 7 7
pois, d vale 40
 v[1] vale 7
 a vale 5 e somado com 2 dá 7

Continue navegando