Buscar

Conceitos de Algoritmos e Programação

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

ALGORITMOS 
1a aula 
Lupa 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
Considerando as afirmativas a seguir em relação a representação de algoritmos: 
 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o 
algoritmo; 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir 
dos algoritmos. 
 
Podemos afirmar que: 
 
 As alternativas I e III são CORRETAS 
 
Todas as alternativas são CORRETAS 
 
As alternativas II e III são INCORRETAS 
 
Apenas a alternativa I é CORRETA 
 
Nenhuma das opções anteriores 
Respondido em 08/10/2020 23:07:25 
 
 
Explicação: 
Analisando cada afirmativa... 
 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; VERDADEIRO 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o 
algoritmo; FALSO 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir 
dos algoritmos. VERDADEIRO 
 
Conclusão : As afirmativas I e III estão corretas. 
 
 
 
 
2 
 Questão 
 
 
A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser realizada é chamada 
de: 
 
 Fluxograma 
 
Diagrama 
 
Linguagem de Programação 
 
Pseudocódigo 
 
Algoritmo 
Respondido em 08/10/2020 23:05:08 
 
 
Explicação: 
Falso. Não usa representação gráfica Pseudocódigo 
 
Falso. Algoritmo não é representação de algoritmo Algoritmo 
 
javascript:diminui();
javascript:aumenta();
FAlso. Linguagem de programação é usada para escrever programa. Linguagem de Programação 
 
 
Fluxograma 
 
FAlso. Que diagrama ? Diagrama 
 
 
 
3 
 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 pseudolinguagem, isto é, um conjunto de instruções/funções que 
representam tarefas que serão apenas executadas 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 tarefas que serão interpretadas e executadas por um computador. 
Respondido em 08/10/2020 23:08:09 
 
 
Explicação: 
 
Um programa é um algoritmo codificado em uma linguagem de 
programação, isto é, um conjunto de instruções/funções que 
representam tarefas que serão interpretadas e executadas por 
um computador. 
 
Falso. Para escrever programa 
usamos linguagem de programação 
e não pseudolinguagem. 
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. 
 
Falso. Para escrever programa 
usamos linguagem de programação 
e não pseudolinguagem. 
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. 
 
Falso. Para escrever programa 
usamos linguagem de programação 
e não linguagem gráfica. 
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. 
 
 Para escrever programa usamos 
linguagem de programação e não 
linguagem natural. 
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. 
 
 
 
4 
 Questão 
 
Com base nos conceitos de algoritmos, lógica de programação e linguagens de programação, é correto afirmar que: 
 
 
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. 
 
Os algoritmos correspondem, estritamente, aos conjuntos de dados e informações que são tratados em um determinado 
processamento. 
 As linguagens de programação possibilitam a codificação de um determinado algoritmo, de acordo com um conjunto de regras 
específico. 
 
Lógica de programação corresponde à representação gráfica de um determinado algoritmo. 
Respondido em 08/10/2020 23:05: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. 
 
 
 
5 
 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 + (salAtual*percAumento) 
 
novoSal <- salAtual + (salAtual*100) 
 novoSal <- salAtual + (salAtual*percAumento/100) 
 
novoSal <- (salAtual*percAumento/100) 
Respondido em 08/10/2020 23:05:55 
 
 
 
6 
 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: 
 
 
Todas são falsas. 
 
I e II. 
 
II e III. 
 
I e III 
 I, II e III. 
Respondido em 08/10/2020 23:08:31 
 
 
 
7 
 Questão 
 
 
Assinale a opção que, corretamente, mostra exemplos de linguagens de programação. 
 
 
fluxograma, português estruturado, C 
 
português estruturado, C++, Java 
 
C++, C# e fluxograma 
 
C++, Java, portugol 
 C++, Java, C# 
Respondido em 08/10/2020 23:08:35 
 
 
Explicação: 
Exemplos dados na aula 1. 
 
 
8 
 Questão 
 
 
Sobre fluxograma, assina a opção correta. 
 
 
É uma forma de se representar o uso de hardware no programa. 
 
É 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 representação gráfica de algoritmos que dá margem à dupla interpretação ou ambiguidades. 
 
É usado na escrita de pseudolinguagens, como o Portugol. 
Respondido em 08/10/2020 23:08:43 
 
 
Explicação: 
É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidades, como ensinado na aula 1 
online. 
 
 
ALGORITMOS 
2a aula 
Lupa 
 
 
 
 
 
 
 
1 
 Questão 
 
 
Em C++ existemquatro 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." 
 
 
char 
 
real 
javascript:diminui();
javascript:aumenta();
 
int 
 float 
 
bool 
Respondido em 08/10/2020 23:09:04 
 
 
Explicação: 
Conforme gabarito e aula de tipos primitivos de dados 
 
 
2 
 Questão 
 
 
Um menino resolveu abrir o cofrinho de economias que contém o que guardou durante um ano. São moedas de R$ 0,25, R$ 
0,50 e R$ 1,00. Imaginando que você precisa escrever um programa em C++ que, a partir da quantidade de cada moeda, 
mostre a quantia total economizada, como seria a declaração de variáveis necessárias a este programa? 
 
 
bool qtde25, qtde50, qtde1, quantiaTotal; 
 
char qtde25, qtde50, qtde1, quantiaTotal; 
 
string qtde25, qtde50, qtde1, quantiaTotal; 
 float qtde25, qtde50, qtde1, quantiaTotal; 
 
int qtde25, qtde50, qtde1, quantiaTotal; 
Respondido em 08/10/2020 23:06:40 
 
 
 
3 
 Questão 
 
 
Um restaurante self-service vende comida por peso e cobra R$ 34,90 por quilo consumido. Sabendo que o preço a ser pago 
pelo cliente é calculado a partir do peso de seu prato multiplicado pelo valor do quilo, o trecho de declaração de variáveis 
em C++ que seria necessário em um programa capaz de informar ao cliente o valor a pagar é: 
 
 float quilo = 34.90; float prato = 0; float valor_pagar = 0; 
 
char quilo = 34.90; char prato = 0; char valor_pagar = 0; 
 
bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0; 
 
int quilo = 34.90; int prato = 0; int valor_pagar = 0; 
 
real quilo = 34.90; real prato = 0; real valor_pagar = 0; 
Respondido em 08/10/2020 23:09:18 
 
 
 
4 
 Questão 
 
 
Assinale a opção correta: 
 
 Para terminar um programa em C++ devemos usar retorne 0; 
 Não são palavras reservadas em C++ : for, while e do 
 Os programas em C++ possuem palavras reservadas tais como main e 
int. 
 Os programas em C++ não possuem palavras reservadas. 
 São palavras reservadas no C++ : int, real, inteiro, float 
Respondido em 08/10/2020 23:09:35 
 
 
Explicação: 
Explicação dada na aula sobre programa em C++ e palavras reservadas em C++ 
 
 
5 
 Questão 
 
 
Considerando a linguagem C++, assinale a opção correta : 
 
 Se declararmos uma variável inteira nota, podemos escrever NOTA, 
Nota, ou qualquer outra variação, pois é a mesma coisa. 
 Alguns programas em C++ começam com float main e outros com int 
main 
 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. 
 Nem toda variável precisa ser declarada. 
 A linguagem C++ diferencia maiúsculas de minúsculas 
Respondido em 08/10/2020 23:09:45 
 
 
Explicação: 
BAsta seguir as descrições e características da linguagem C++ na aula sobre variáveis 
 
 
6 
 Questão 
 
 
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: 
 
 
nota2 
 
num1 
 cad1- id 
 
salariofinal 
 
nome_aluno 
Respondido em 08/10/2020 23:09:53 
 
 
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 
 Questão 
 
 
Assinale a opção que apresenta somente nomes válidos para variáveis em C++. 
 
 
CONTA, TOTAL1, 1DATA 
 
1conta, 2total, 3data 
 CONTA, TOTAL1, data 
 
Conta, Total, 5data 
 
Conta, Total1, DIA-MÊS-ANO 
Respondido em 08/10/2020 23:09:59 
 
 
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 
 
 
 
8 
 Questão 
 
 
As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas: 
 
 
palavras código 
 
palavras próprias 
 
palavras únicas 
 palavras reservadas 
 
palavras especiais 
Respondido em 08/10/2020 23:10:10 
 
 
Explicação: 
Não tem outra possibilidade com margem à dúvida. Por definição, é palavra reservada. 
 
 
 
 
ALGORITMOS 
3a aula 
Lupa 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
javascript:diminui();
javascript:aumenta();
Indique qual o tercho em C++ que calcula corretamente a média das notas AV1 e AV2 de 
uma determinada disciplina. 
 
 
MEDIA = AV1 + AV2 / 2; 
 
MEDIA = (AV1 * AV2) / 2; 
 MEDIA = (AV1 + AV2) / 2; 
 
MEDIA = (AV1 - AV2) / 2; 
 
MEDIA = (AV1 ** AV2) / 2; 
Respondido em 08/10/2020 23:11:17 
 
 
Explicação: 
Conforme aula e gabarito. É importante primeiro somar as notas e depois dividir por 2. 
 
 
2 
 Questão 
 
 
Assinale a opção correta. 
 
 
São operadores relacionais : = , > , < 
 
os operadores matemáticos não tem precedência de uso 
 
São operadores lógicos : &&, ||, != 
 Os operadores matemáticos são : +, - , *, / e %. 
 
As expressões lógicas retornam valores inteiros 
Respondido em 08/10/2020 23:09:11 
 
 
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 
 
 
 
 
3 
 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 08/10/2020 23:12:22 
 
 
Explicação: 
MEDIA = (AV1 + AV2) / 2; - OK 
 
 
4 
 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)) 
Respondido em 08/10/2020 23:12:42 
 
 
Explicação: 
Pelo tabela verdade do operador e ( && em C++), as duas condições devem ser verdadeiras para toda a expressão ser 
verdadeira. 
Se for o ou (símbolo ||), basta uma condição se verdadeira para toda a expressão ser verdadeira. 
% é para cálculo de resto. 
# não tem efeito 
O operador ! é unário e inverte o valor lógico. Ou seja, se a expressão for verdadeira : ! expressão é falsa. 
 
 
5 
 Questão 
 
 
Utilizando os operadores adequados, como pode ser reescrita a expressão abaixo? 
 A ou B e C e não D 
 
 
A && B || C || !D 
 A || B && C && !D 
 
A !! B && C && ||D 
 
A || B ! C ! &&D 
 
A && B && C && !D 
Respondido em 08/10/2020 23:13:52 
 
 
Explicação: 
A || B && C && !D 
|| = OU 
&& = E 
! = não 
 
 
6 
 Questão 
 
 
Analise o trecho de código abaixoe depois marque a opção correta para o que se pede: 
 int x, y,a , b; 
 float z; 
 a = 14; 
 b = 3; 
 x = a / b; 
 y = a % b; 
 z = y / x; 
 Qual seria o valor de x? 
 
 4 
 
3 
 
5 
 
4.66666 
 
14 
Respondido em 08/10/2020 23:17:43 
 
 
Explicação: 
Fazendo um teste de mesa e sabendo que a divisão com / entre inteiros fornece o quociente da divisão e o operador % 
fornece o resto da divisão inteira, chegamos no valor x igual a 4. 
 
 
7 
 Questão 
 
 
Considerando os seguintes conteúdos para as variáveis: 
 a = 2, b = 5 e c = 4 
Determine qual das sentenças retornará verdadeiro. 
 
 
a == c 
 
(b + 2) > (a * c) 
 
pow(c,a) > b * c 
 
(b % a) == 0 
 ((b = 2) == a) 
Respondido em 08/10/2020 23:18:32 
 
 
Explicação: 
a == c --> falso, pois a é diferente c 
(b + 2) > (a * c) -> falso, pois 7 > 8 é falso 
((b = 2) == a) , verdade, pois a = 2 
 
 
8 
 Questão 
 
 
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 08/10/2020 23:16:39 
 
 
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 
 
 
 
 
ALGORITMOS 
4a aula 
Lupa 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ 
 
 
cout < lendo idade; cin > idade 
 
exiba "lendo a idade"; lendo idade; 
 
cout "lendo a idade"; cin idade; 
 cout << "lendo a idade"; cin >> idade; 
 
System.out.println("lendo idade"); System.out.println("lendo idade"); 
Respondido em 08/10/2020 23:17:06 
 
 
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 
 Questão 
 
 
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); 
javascript:diminui();
javascript:aumenta();
 printf (" nota 3 = "); 
 scanf("%f", nota3); 
 media=(nota1+nota2+nota3)/3; 
 printf ("media= %f",media); 
 
 
 float nota1, nota2, nota3, media; 
 
real nota1, nota2, nota3; 
 
nota1, nota2, nota3 : float 
 
float nota1..nota3, media; 
 
int nota1, nota2, nota3, media; 
Respondido em 08/10/2020 23:17:10 
 
 
Explicação: 
as 4 variáveis precisam ser float, para conterem valores com casas decimais 
 
 
3 
 Questão 
 
 
No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso que sejam 
utilizadas a biblioteca _______________ e a função _______________. 
 
 
locale - ptb 
 
math - math.round 
 
iostream - setlocale 
 
iostream - ptb 
 locale - setlocale 
Respondido em 08/10/2020 23:17:17 
 
 
 
4 
 Questão 
 
 
Assinale a opção correta : 
 
 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 >> 
 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 << 
Respondido em 08/10/2020 23:17:21 
 
 
Explicação: 
Basta seguir as descrições na aula 2. 
 
 
5 
 Questão 
 
Observe o algoritmo a seguir: 
1 programa 
2 { 
3 inclua biblioteca Matematica --> mat 
4 funcao inicio() 
5 { 
6 real qtdeDin, valComb, qtdeLitros 
7 escreva("Quanto custa o litro do combustível? R$ ") 
8 leia(valComb) 
9 escreva("Quantos reais você tem? R$ ") 
10 leia(qtdeDin) 
11 qtdeLitros=qtdeDin/valComb 
12 escreva("Com R$ ", qtdeDin, " você consegue abastecer 
", mat.arredondar(qtdeLitros,2)," litros de combustível.") 
13 } 
14 } 
Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual mensagem seria 
exibida pelo computador na linha 12? 
 
 
"Você consegue abastecer 51.28 litros de combustível." 
 "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." 
 
"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." 
 
"Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." 
 
"Você consegue abastecer 51.28 litros de combustível com R$ 200.00." 
Respondido em 08/10/2020 23:18:31 
 
 
 
6 
 Questão 
 
 
Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos medem a 
temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo que, dada uma temperatura 
em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe do Portugol Studio, qual das alternativas a 
seguir apresenta o trecho da solução a ser escrito no lugar das interrogações a seguir? 
programa { 
 funcao inicio( ) { 
 ???????? 
 } 
} 
 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
 real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
Respondido em 08/10/2020 23:17:31 
 
 
 
7 
 Questão 
 
 
C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro ou Falso conforme o 
que é dito sobre as funções do compilador: 
( ) Verificar erros de sintaxe no programa; 
( ) Produzir um outro programa em linguagem de máquina; 
( ) Executar o programa sem necessidade de conversão alguma. 
 
 
F - V - F 
 
V - F - F 
 
F - F - F 
 V - V - F 
 
V - V - V 
Respondido em 08/10/2020 23:17:39 
 
 
 
8 
 Questão 
 
 
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") 
 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") 
 
 
 
ALGORITMOS 
5a aula 
Lupa 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
Analise o programa abaixo e selecione a alternativa que contenha a condição correta para que o número 27 seja mostrado na tela. 
 
#include 
using namespace std; 
int main() 
{ 
int N1, N2; 
N1= 27; 
N2= 54; 
if ( ______________ ) 
{ 
 cout<< N2; 
} 
else 
{ 
 cout<< N1; 
} 
return 0; 
}N1 < N2 && N1 < 50 
 
N1 < N2 && N1 > 20 
 
N2 > N1 || N1 > 50 
 
N2 == N1 || N2 > 20 
 N1 > N2 || N2 < 50 
Respondido em 08/10/2020 23:19:11 
 
 
 
2 
 Questão 
 
 
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 (num<0) 
{ cout <<"Este número é negativo!";} 
else 
javascript:diminui();
javascript:aumenta();
{ 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!";} 
 
if (num<0) 
{ cout <<"Este número é positivo!";} 
else if (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!";} 
Respondido em 08/10/2020 23:19:17 
 
 
 
3 
 Questão 
 
 
Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando que você tenha 
um algoritmo no qual o salário esteja armazenado na variável SAL e o total de gastos esteja armazenado na 
variável GASTOS, como deve ser escrita a estrutura seletiva responsável por testar o que você deseja descobrir? 
 
 
se (GASTOS>=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!") 
 se (GASTOS>SAL) 
 escreva("Você gastou mais do que deveria!") 
Respondido em 08/10/2020 23:19:24 
 
 
 
4 
 Questão 
 
 
Considere um programa em C++ que recebe um número inteiro qualquer e informe se ele é par ou ímpar. a estrutura 
seletiva adequada para teste do número é: 
 
 if (resto==0) 
 {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!";} 
else 
 {cout <<"Este número é ímpar!";} 
 
switch (resto==0) 
 {cout <<"Este número é par!";} 
case 
 {cout <<"Este número é ímpar!";} 
 
if (resto=0) 
 {cout <<"Este número é par!";} 
if 
 {cout <<"Este número é ímpar!";} 
Respondido em 08/10/2020 23:19:28 
 
 
 
5 
 Questão 
 
 
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"); 
} 
 
 
 
0 
 
2 
 
-4 
 
12 
 8 
Respondido em 08/10/2020 23:19:37 
 
 
 
6 
 Questão 
 
 
Considere o trecho de programa em C++ e assinale a opção que mostra o 
que é impresso na tela. 
int x, y, z; 
x = 10; 
y = 6; 
z = x/y; 
cout << z << " "; 
if (z > 0) 
 z = x % y; 
cout << z << " "; 
 
 
 4 1 
 4 4 
 Ocorrerá erro, pois o trecho não compila. 
 1 4 
 1 1 
Respondido em 08/10/2020 23:19:43 
 
 
Explicação: 
Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 
 
 
7 
 Questão 
 
 
Analise o código abaixo e marque as saídas corretas: 
 
#include < iostream > 
using namespace std; 
 
int main () { 
 
int x, i; 
x = 1; 
cout << x; 
i = 6; 
x = x + i; 
cout << x; 
 
if ( x <= 7) { 
 cout << x; 
 x = x + 10; 
} else { 
 cout << x; 
} 
retun 0; 
} 
 
 
1, 7, 17 
 
1, 6 e 16 
 
0, 6 e 7 
 1, 7 e 7 
 
1, 6 e 7 
Respondido em 08/10/2020 23:19:55 
 
 
Explicação: 
int x, i; 
x = 1; 
cout << x; 
i = 6; 
x = x + i; 
cout << x; 
 
if ( x <= 7) { 
 cout << x; 
 x = x + 10; 
} else { 
 cout << x; 
} 
Fazendo um teste de mesa, temos : 
x = 1 e depois é impresso o valor 1 
i recebe 6 e então, x recebe 1+6, que dá 7. Então, 7 é impresso. 
Chegamos na condição do if e testamos se 7 <= 7. É verdade ? Sim. Então, 7 é impresso e depois, x recebe 7 + 10, que 
dá 17. 
Ou seja, foi impresso 1 7 7 
 
 
8 
 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 
 
 9 8 10 9 
 
 
9 8 10 40 
 
 
9 40 
 
 
8 10 40 
 
Respondido em 08/10/2020 23:20:06 
 
 
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 
 
 
 
ALGORITMOS 
6a aula 
Lupa 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
 
 
 11 10 50 10 
 11 10 50 10 2 
 11 50 10 
 11 50 10 2 
 10 50 10 2 
Respondido em 08/10/2020 23:20:40 
 
 
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 
javascript:diminui();
javascript:aumenta();
Entrar no case 20 e depois no case 30. 
Então, será impresso 10 
 2 
Concluindo : 
Valores impressos : 11 10 50 10 2 
 
 
2 
 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 utilizada. 
int main() { 
int num; 
cout<<"Digite um número: "; 
cin>> num; 
(num > 0)?cout<< num : cout<<" Número negativo "; 
return 0; 
} 
 
 Operador ternário 
 
Estrutura condicional de comando simples 
 
aninhamento de if 
 
Estrutura condicional de comando composto 
 
comando switch 
Respondido em 08/10/2020 23:20:49 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
 
 
3 
 Questão 
 
 
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íveisconforme 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) { 
 if 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
while (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 switch (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; 
} 
Respondido em 08/10/2020 23:20:55 
 
 
 
4 
 Questão 
 
 
Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 9 ? Assinale a 
opção correta. 
 int x; 
 cout << "Digite um numero: "; 
 cin >> x; 
 if (x % 2 == 0) 
 cout << x << "é divisível por 2"; 
 else 
 if (x % 3 == 0 && x % 5 == 0) 
 cout << x << " é divisível por 3 e por 5"; 
 else 
 cout << x << " ### " ; 
 
 
 
9 não é divisível por 2. 
 9 ### 
 
Nada aparece, pois o trecho de programa possui erro. 
 
9 é divisível por 3 e por 5. 
 
Apenas 9 
Respondido em 08/10/2020 23:21:18 
 
 
Explicação: 
Como a entrada foi 9 então o teste do 1o. if falha e entramos no 1o. else. 
Dentro do 1o. else temos uma conjunção, ou seja, um E. Como o 1o. teste do E é verdadeiro, mas o 2o. teste é falso, não 
entramos no bloco do 2o. if. Entramos então, no último else . Por isso, é impresso o valor de x e ###. Como x vale 9, 
a saída é 9### 
 
 
5 
 Questão 
 
 
Um aluno de Introdução a Programação precisa escrever um programa que leia um caracter equivalente a uma estação do ano 
imprima o nome equivalente considerando que P- Primavera, V - Verão, O - Outono e I - Inverno. Qual a estrutura básica em 
C++ que deve ser utilizada para fazer esta seleção múltipla? 
 
 
for 
 
while 
 
break 
 
do/while 
 switch/case 
Respondido em 08/10/2020 23:24:29 
 
 
Explicação: 
 
Falso. Comando de repetição do/while 
 
Falso. Comando de repetição. for 
 
Verdadeiro. switch/case 
 
Falso. Comando de repetição. while 
 
Falso. Comando de interrupção. break 
 
 
 
6 
 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; 
} 
 
 
15 25 15 50 90 
 
55 90 15 27.5 15 
 
55 1 
 
15 27.5 15 55 90 
 50 90 15 25 15 
Respondido em 08/10/2020 23:22:12 
 
 
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. 
 
 
7 
 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 ### 
 
 
Nada aparece, pois o trecho de programa possui erro. 
 
 
7 não é divisível por 2. 
 
 
7 é divisível por 3 e por 5. 
 
 
Apenas 7 
Respondido em 08/10/2020 23:22:20 
 
 
Explicação: 
Analisando o trecho em C++ e considerando a entrada 7 temos : 
num recebeu 7 na entrada. 
1o. teste : 7 % 2 é zero ? Falso. Então, entramos no else do 1o. if e testamos a condição do 2o. if 
2o. teste : 7 % 3 é zero ? Falso. Nem adianta testar a outra condição deste if, pois existe o &&. DAí, entramos no else do 
2o. if, imprimindo na tela 
 7### 
Logo, a resposta correta é 7### 
 
 
 
8 
 Questão 
 
 
Considerere um trecho de um programa em C++. Qual a variável que será alterada e para qual valor ela 
mudará ? 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
 
 
 
A variável a ficará 1 
 
A variável b ficará 1 
 
A variável b ficará 3 
 A variável t ficará 3 
 
Nenhuma variável será alterada. 
Respondido em 08/10/2020 23:22:29 
 
 
Explicação: 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
Analisando o trecho acima. 
1o. if : 12 < 14 ? Sim. Entrar no 1o. if. 
2o. if : 11 != 3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if. 
Então, é preciso fazermos t receber y/z, ou seja, t receber 11/3, que dá 3. 
 
 
 
 
ALGORITMOS 
7a aula 
Lupa 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
Considere que uma refeição saudável envolve o consumo máximo de 550 calorias. Sabendo disso, você deseja escrever um 
programa que, a partir da quantidade de calorias consumidas em uma refeição, informe se você ultrapassou esse valor ou 
permaneceu dentro do limite. Para fazer o cálculo do consumo total, você precisará que seja digitado o valor calórico de cada 
elemento. Como não se sabe exatamente quantos alimentos diferentes foram consumidos, considere que será digitado 0 
quando não houver mais consumo a ser informado. Ao final do programa, é necessário exibir o consumo total de calorias e 
informar se foi ultrapassado o valor sugerido por refeição, se o usuário permaneceu dentro do limite ou se consumiu 
exatamente a quantidade de calorias sugerida. Qual das alternativas a seguir apresenta a estrutura repetitiva adequada para 
este problema? 
 
 
 
for (calAlimento!=0) { 
 cont++; totCalorias+=calAlimento; 
 cout<< "Informe as calorias do alimento " << cont <<": "; 
 cin>> calAlimento; 
} 
 
do (calAlimento!=0) { 
 cont++; totCalorias+=calAlimento; 
 cout<< "Informe as calorias do alimento " << cont <<": "; 
 cin>> calAlimento; 
} 
 
while (calAlimento!=0) { 
 cont++; totCalorias+=calAlimento; 
javascript:diminui();
javascript:aumenta();
 cin<< "Informe as calorias do alimento " << cont <<": "; 
 cout>> calAlimento; 
} 
 while (calAlimento!=0) { 
 cont++; totCalorias+=calAlimento; 
 cout<< "Informe as calorias do alimento " << cont <<": "; 
 cin>> calAlimento; 
} 
 
while (cont!=0) { 
 cont++; totCalorias+=0; 
 cout<< "Informe as calorias do alimento " << cont <<": "; 
 cin>> calAlimento; 
} 
Respondido em 08/10/2020 23:22:51 
 
 
 
2 
 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 
Respondido em 08/10/2020 23:22:57 
 
 
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 : 
o quando a é 8 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 8-2 = 6) 
o quando a é 6 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 6-2 = 4) 
o quando a é 4 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 4-2 = 2) 
o quando a é 2 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 2-2 = 4) porém 
como já imprimiu 4 vezes ele para. 
o quando a for zero não se pode mais imprimir Bom dia, pois já se imprimiu 4 vezes, como visto acima. 
Logo, a opção certa é : a > 0, pois quando a for zero (a=0), a repetição irá terminar. 
Lembrando que a não pode ser 0 pois já terá impresso 4 vezes bom dia. 
 
 
3 
 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 
 do/while 
 do/for 
 for/while 
 while 
Respondido em 08/10/2020 23:23:07 
 
 
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. 
 
 
4 
 Questão 
 
 
A partir da comparação entre as estruturas while e do...while, é certo afirmar que: 
 
 No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o bloco de comandos 
controlado será sempre executado, pelo menos uma vez. 
 
Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. 
 
No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o bloco de comandos 
será sempre executado, pelo menos uma vez. 
 
Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado. 
 
Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo 
menos uma vez. 
Respondido em 08/10/2020 23:23:15 
 
 
Explicação: 
Falso. No do/while primeiro se faz o que está 
no corpo do loop para depois testar e no while, 
se testa para depois fazer o queestá no corpo do 
loop. 
Em termos de execução não há diferença. A 
diferença está, apenas, na sintaxe. 
 
Falso. No do/while o bloco de instruções será 
feito pelo menos 1 vez. 
No do...while, o bloco de comandos controlado 
poderá não ser executado. Enquanto que no while o 
bloco de comandos será sempre executado, pelo 
menos uma vez. 
 
 Verdadeiro 
No while, o bloco de comandos controlado poderá 
não ser executado. Enquanto que no do...while o 
bloco de comandos controlado será sempre 
executado, pelo menos uma vez. 
 
Falso. No while pode não ser executado 
nenhuma vez. 
Dependendo da condição de teste, em ambos os 
casos o bloco de comandos controlado será sempre 
executado, pelo menos uma vez. 
 
Falso. No do/while as instruções serão feitas 
pelo menos 1 vez. 
Dependendo da condição de teste, em ambos os 
casos o bloco de comandos controlado poderá não 
ser executado 
 
 
 
5 
 Questã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; 
} 
 
 while 
 
for 
 
repeat 
 
do case 
 
loop 
Respondido em 08/10/2020 23:23:21 
 
 
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 
 
 
 
6 
 Questão 
 
 
Considere o seguinte problema: Uma turma precisa escolher seu representante. Sabendo que existem apenas dois 
candidatos, identificados pelas letras A e B, receba o número do aluno e o candidato por ele escolhido e contabilize os votos 
de cada um. A leitura de votos será finalizada quando o número do aluno informado for 0. 
A linha inicial da estrutura repetitiva com pré-teste capaz de controlar o recebimento dos votos é: 
 
 
 while (num!=0) 
 
for (num<=0) 
 
while (num==0) 
 
if (num!=0) 
 
do (num!=0) 
Respondido em 08/10/2020 23:23:30 
 
 
 
7 
 Questão 
 
 
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: 
 
 A condição de teste deverá ser sempre verdadeira antes do início da execução. 
 Os comandos subordinados serão executados no mínimo uma vez. 
 Os comandos subordinados poderão não ser executados. 
 Independentemente da condição de teste, os comandos subordinados sempre serão executados. 
 A condição de teste deverá ser sempre falsa antes do início da execução. 
Respondido em 08/10/2020 23:23:38 
 
 
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. 
 
 
8 
 Questão 
 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i = 0; 
 double x, y = 0; 
 cout << "Digite um numero diferente de zero : "; 
 cin >> x; 
 while (x != 0){ 
 i = i + 1; 
 y = y + x; 
 cout << "Digite um numero diferente de zero: "; 
 cin >> x; 
 } 
 y = y / i; 
 cout << "Numero: " << i << "\n"; 
 return 0; 
} 
 
 
A quantidade de elementos pares 
 
A média dos elementos digitados 
 A quantidade de elementos digitados diferentes de zero. 
 
O menor de todos os elementos digitados 
 
O maior de todos os elementos digitados 
Respondido em 08/10/2020 23:23:49 
 
 
Explicação: 
A condição para entrar no loop e contar é x ser diferente de zero. O que será exibido ao final do programa é a quantidade i 
calculada. 
Note que o primeiro valor de x digitado é testado, então entra-se no loop e logo depois, este valor é contado através do 
uso de i que é incrementado. Claro que x é manipulado, tendo seu valor somado com o valor de y, mas ao final do 
programa a quantidade i é impressa. Se o valor zero for digitado, ele não será contado. 
 
 
 
 
ALGORITMOS 
8a aula 
Lupa 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
Imagine que você precisa criar um laço capaz de receber o nome e as notas bimestrais de um teste e uma prova de trinta 
alunos. Para cada um deles, é preciso calcular e mostrar a média do bimestre e informar se o aluno está na média (nota 
mínima 7) ou abaixo dela. Considerando que o código será escrito em C++, qual das opções a seguir apresenta as linhas de 
código do laço? 
 
 
do (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
while (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
javascript:diminui();
javascript:aumenta();
 
for (cont=1;cont<=30;cont+=2) { 
 cout <<"Informeas notas do aluno "; 
 cin <<"Teste: "; cout >>Teste; 
 cin <<"Prova: "; cout >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cin <<"Você está na média!"; } 
 else 
 { cin <<"Você está abaixo da média!"; } 
} 
 for (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
for (cont=30;cont<=0;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media<7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
Respondido em 08/10/2020 23:24:13 
 
 
 
2 
 Questão 
 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 if ((x % 2) == 1){ 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A soma de todos os elementos 
 A soma dos elementos ímpares 
 
O maior de todos os elementos digitados 
 
A quantidade de elementos digitados 
 
A média dos elementos digitados 
Respondido em 08/10/2020 23:24:46 
 
 
Explicação: 
Comentando o programa : 
 
 double x, 
 y = 0; //inicializa o somatório 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; //lê número e armazena em x 
 if ((x % 2) == 1){ //testa se x é ímpar. Se for então faz a acumulação em y, ou seja, gera um somatório com o 
valor de cada x 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; //imprime y que acumulou a soma dos valores armazenados em x, ou seja, os 
valores ímpares 
 
 
3 
 Questão 
 
 
Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa correta para que um 
programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR na linguagem C++. 
 
 
for ( i=0; i <= 200; i++) 
 
for (int i=0, i <= 200, i++) 
 for (int i=0; i < 200; i++) 
 
for (int i=0; i =< 200; i++) 
 
for (int i=0; i <= 200; i++) 
Respondido em 08/10/2020 23:25:40 
 
 
Explicação: 
 
 Verdadeira 
for (int i=0; i < 200; 
i++) 
 
 Falsa. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= 
no teste do for. 
for (int i=0; i <= 200; 
i++) 
 
 FAlsa. A variável i não foi declarada. 
for ( i=0; i <= 200; 
i++) 
 
 Falsa. Não existe =< 
for (int i=0; i =< 200; 
i++) 
 
 Falsa. Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. 
for (int i=0, i <= 200, 
i++) 
 
 
 
4 
 Questã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; 
 
 
3 23 42 61 80 99 
 
3 22 41 60 79 99 
 3 22 41 60 79 98 
 
3 23 40 60 79 98 
 
3 22 41 59 79 98 
Respondido em 08/10/2020 23:29:48 
 
 
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 
 Questão 
 
 
Analise o trecho do código abaixo, e indique a saída obtida se for lido o valor 5 para n: 
 
cin>>n; 
total=0; 
for (i=15; i>n; i-=2) 
{ 
 total+=i; 
} 
cout < < total;<total;< p=""> </total;<> 
 
 55 
 
63 
 
48 
 
39 
 
60 
Respondido em 08/10/2020 23:32:29 
 
 
Explicação: 
Considerando o trecho e n sendo 5 : 
cin>>n; 
total=0; 
for (i=15; i>n; i-=2) 
{ 
 total+=i; 
} 
cout < < total; 
temos o teste de mesa : 
n total i 
5 0 15 
 0 + 15 que é 15 13 
 15 + 13 que é 28 11 
 28 + 11 que é 39 9 
 39 + 9 que é 48 7 
 48 + 7 que é 55 5 ( 5 > 5 dá falso) 
Logo, total é 55 
 
 
6 
 Questão 
 
 
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; 
} 
 
 9 e 9 
 16 e 9 
 50 e 16 
 50 e 9 
 o valor de s está indefinido e o valor de num é 7 
Respondido em 08/10/2020 23:32:40 
 
 
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 
 
 
 
 
7 
 Questão 
 
 
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 >>sexo; 
 if (sexo==F && sexo==f) 
 { qtdeF++; } 
 else if (sexo==M || sexo==m) 
 { qtdeM++; } 
} 
 
for (int cont=1;cont<=100;cont++) { 
 cout <<"Qual o sexo? "; 
 cin >>qtdeF; 
 if (sexo==F && sexo==f) 
 { qtdeF--; } 
 else if (sexo==M || sexo==m) 
 { qtdeM--; } 
} 
Respondido em 08/10/2020 23:30:21 
 
 
 
8 
 Questão 
 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y; 
 cout << "Digite um numero: "; 
 cin >> x; 
 for (i=0; i<5; i++){ 
 cout << "Digite um numero: "; 
 cin >> y; 
 if (y > x){ 
 x = y; 
 } 
 } 
 cout << "Numero: " << x << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A quantidade de elementos pares 
 
A quantidade de elementos digitados 
 O maior de todos os elementos digitados 
 
O menor de todos os elementos digitados 
 
A média dos elementos digitados 
Respondido em 08/10/2020 23:30:30 
 
 
Explicação: 
Ao final do programa o valor de x será impresso e vemos que a cada rodada do loop (while), o valor de entrada 
armazenado em y é comparado com x. Se y for maior que x, guardamos em x o maior valor. 
 
 
 
 
ALGORITMOS 
9a aula 
Lupa 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
 
 
 -1 0 1 2 3 4 5 4 3 2 1 
 0 1 2 3 4 5 4 3 2 1 0 
 0 1 2 3 4 5 6 7 8 9 
 -1 0 1 2 3 4 4 3 2 1 
 -1 0 1 2 3 4 5 6 7 8 
Respondido em 08/10/2020 23:31:50 
 
 
Explicação: 
O primeiro for preenche o vetor v[]= {0,1,2,3,4,5,6,7,8,9) 
javascript:diminui();
javascript:aumenta();
O segundo for é executado de traz para frente por 4 vezes, atéi=6 alterando valores do vetor. 
v[]= {0,1,2,3,4,5,4,3,2,1) 
No terceiro for, ele começa na posição 5, pois o anterior, executou até o 6 e voltou mais uma para encerrar. 
Logo este for vai variar de 5 até a zero, pois o valor inicial não foi declarado, ficando vazio e a cada valor da posição 5 até 
0 será diminuído de uma unidade, ficando assim: 
v[]= {-1,0,1,2,3,4,4,3,2,1) 
O último for, apenas imprime o vetor completo. 
 
 
2 
 Questão 
 
 
Os chamados vetores e matrizes podem ser considerados como: 
 
 
Comandos de seleção composta 
 
Comandos de seleção 
 
Comandos de repetição 
 
Estruturas de dados heterogêneas 
 Estruturas de dados homogêneas 
Respondido em 08/10/2020 23:31:57 
 
 
Explicação: 
 Verdadeira Estruturas de dados homogêneas 
 
FAlsa. Em vetores e matrizes os dados são todos do mesmo tipo. Estruturas de dados heterogêneas 
 
Falso. Comandos de seleção são if, if/else e switch Comandos de seleção 
 
Falso. Comandos de repetição são for, while e do/while Comandos de repetição 
 
Falso. Comando if/else e não vetor ou matriz. Comandos de seleção composta 
 
 
 
3 
 Questão 
 
 
Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser 
_____________. 
 
 
bidimensional - homogênea - único valor - do mesmo tipo 
 
unidimensional - heterogênea - único valor - de tipos variados 
 
unidimensional - homogênea - único valor - de tipos variados 
 
bidimensional - heterogênea - conjunto de valores - do mesmo tipo 
 unidimensional - homogênea - conjunto de valores - do mesmo tipo 
Respondido em 08/10/2020 23:32:02 
 
 
 
4 
 Questão 
 
 
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]; 
 
 
3, 2, 1 
 1, 2, 3 
 
1, 3, 2 
 
2, 1, 3 
 
2, 3, 1 
Respondido em 08/10/2020 23:34:45 
 
 
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 
 Questão 
 
 
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; } 
Respondido em 08/10/2020 23:34:51 
 
 
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; } 
 
 
 
6 
 Questão 
 
<valor[x]; 
 
</valor[x]; 
 
 
Todos os elementos que são menores que cinco do vetor VALOR. 
 
Todos os elementos do vetor VALOR. 
 
Todos os elementos pares do vetor VALOR. 
 Todos os elementos que são maiores que cinco do vetor VALOR. 
 
Todos os elementos ímpares do vetor VALOR. 
Respondido em 08/10/2020 23:35:02 
 
 
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. 
 
 
 
7 
 Questão 
 
 
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=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] } 
 
for (i=0;i<=9;i++) 
{ SOMA=SOMA[i]+NUM } 
 
for (i=0;i<=9) 
{ SOMA=NUM[i]; } 
Respondido em 08/10/2020 23:35:11 
 
 
 
8 
 Questão 
 
 
Suponha que em um programa em C/C++ se deseje armazenar 15 valores decimais em um vetor LISTA. Assinale a declaração 
correta: 
 
 
float lista[15]; 
 
int LISTA[16]; 
 
float lista[16]; 
 
int lista[15]; 
 float LISTA[15]; 
Respondido em 08/10/2020 23:32:53 
 
 
Explicação: 
 
 Verdadeira float LISTA[15]; 
 
Falso. É 15 e não 16. Além disso, deve-se usar float ou double e não int. int LISTA[16]; 
 
Falso. É 15 e não 16. float lista[16]; 
 
FAlso. Deve-se usar float ou double e não int. int lista[15]; 
 
Falso. O nome do vetor dado no enunciado é LISTA e não lista. float lista[15]; 
 
 
 
 
 
 
 
ALGORITMOS 
10a aula 
Lupa 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
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]; 
 a) float notasAlunos[30][6]; 
 
d) float notasAlunos[6,30]; 
 
e) float notasAlunos[][]; 
Respondido em 08/10/2020 23:33:52 
 
 
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 
 Questão 
 
 
javascript:diminui();
javascript:aumenta();
Considere as regras do Portugol Studio e imagine que você precisa escrever um algoritmo que receba uma matriz 3x2 e 
exiba a quantidade de elementos ímpares armazenados nas linhas pares. A estrutura de repetição capaz de realizar o 
recebimento dos elementos da matriz M1 e a contagem descrita é: 
 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col])se (lin%2==0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares-- } 
 } 
 } 
} 
 para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1) 
 se (lin%2){ 
 se (M1%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2==0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2!=0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
Respondido em 08/10/2020 23:33:58 
 
 
 
3 
 Questão 
 
 
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 
 
Respondido em 08/10/2020 23:36:40 
 
 
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 
 Questão 
 
 
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 da coluna índice 1. 
 
Somar todas as colunas da linha índice 0. 
 Somar todas as linhas da coluna índice 0. 
 
Somar todas as linhas de todas as colunas. 
Respondido em 08/10/2020 23:36:51 
 
 
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. 
 
 
 
5 
 Questão 
 
 
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++) { 
 para (col=0;col<=3;col++) { 
 escreva(M2[lin][col]," ") 
 } 
} 
 
enquanto (lin=0;lin<=3;lin++) { 
 enquanto (col=0;col<=3;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 M2[col][lin]=M1[lin][col] 
 } 
} 
 
para (lin=0;lin<=3;lin++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][lin]) 
 M2[lin][lin]=M1[lin][lin] 
} 
 para (lin=0;lin<=3;lin++) { 
 para (col=0;col<=3;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 M2[col][lin]=M1[lin][col] 
 } 
} 
Respondido em 08/10/2020 23:37:11 
 
 
 
6 
 Questão 
 
 
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. 
 
 a) float notasAlunos[30][6]; 
 
b) float notasAlunos[6][30]; 
 
d) float notasAlunos[6,30]; 
 
c) float notasAlunos[30,6]; 
 
e) float notasAlunos[][]; 
Respondido em 08/10/2020 23:35:04 
 
 
Explicação: 
A especificação de uma matriz segue a sintaxe: 
tipo [qtd linhas][qtd colunas]; 
Como são 30 alunos, cada um terá uma linha e para as 6 notas, cada uma terá uma coluna. 
Temos então: 
 float notasAlunos[30][6]; 
 
 
7 
 Questão 
 
 
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á somente os números ímpares e que sejam 
maiores que 30. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números. 
 O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam 
maiores que 30. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os números 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. 
Respondido em 08/10/2020 23:35:16 
 
 
Explicação: 
Analisando o programa temos que : 
O 1o. for lê valores inteiros e os armazena em um vetor com capacidade para 30 elementos. Depois, no 2o. for, testa cada 
elemento do vetor e verifica se é par e se é maior que 30. Apenas satisfazendo as 2 condições é que o elemento de v será 
impresso. 
Analisando cada opção : 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números. é falso. Nâo imprime todos os 
números 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam maiores que 30. é 
falso. Tem que ser par e maior que 30 para ser impresso. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que sejam maiores que 
30. é falso. Imprime os pares maiores que 30 e não os ímpares. 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam menores que 
30. é falso. Tem que ser par e maior que 30 para ser impresso. 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam maiores que 
30. Verdadeira 
 
 
 
8 
 Questão 
 
 
Considere os seguintes valores de entrada: 1, 2, 3, 4, 5, 6, 7, 8 e 9 e ainda, o programa abaixo. Marque a resposta que 
mostra o que será exibido na tela. 
#include < iostream > 
using namespace std; 
int main() 
{ 
 int lin, col, mat[3][3]; 
 for (lin=0; lin<3; lin++) 
 for(col=0; col<3; col++) 
 {cout<< "\nEntre com o elemento da matriz:"; 
 cin>> mat[lin][col]; 
 } 
 for (lin=0; lin<3; lin++) 
 cout << mat[lin][lin]<<"\n"; 
system("pause"); 
return 0; 
} 
 
 
2 4 6 8 
 1 5 9 
 
1 2 3 
 
1 2 3 4 5 6 7 8 9 
 
1 3 5 7 9 
Respondido em 08/10/2020 23:38:06 
 
 
Explicação: 
Considerando a entrada 1, 2, 3, 4, 5, 6, 7, 8 e 9 e o trecho do programa abaixo, veja o comentado ao fim de cada trecho. 
int lin, col, mat[3][3]; 
 for (lin=0; lin<3; lin++) 
 for(col=0; col<3; col++) 
 { 
 cout<< "\nEntre com o elemento da matriz:"; 
 cin>> mat[lin][col]; 
 } 
O trecho acima montará a matriz com 3 linhas e 3 colunas, a saber : 
1 2 3 
4 5 6 
7 8 9 
Já o trecho a seguir : 
 for (lin=0; lin<3; lin++) 
 cout << mat[lin][lin]<<"\n"; 
imprimirá os elementos da matriz em que a linha e a coluna são iguais. Ou seja, imprimirá os elementos da diagonal 
principal, que estão destacados em amarelo. 
1 2 3 
4 5 6 
7 8 9 
Impressos : 1 5 9

Continue navegando

Outros materiais