Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão Sobre algoritmo, marque a opção correta. É uma forma de ensinar o computador. É um hardware especifico para resolver problemas. É uma linguagem de programação para computadores. É a solução teórica, passo a passo, de um problema. É uma etapa posterior à programação da solução de um problema. Respondido em 20/05/2020 21:40:14 Explicação: Falso. Algoritmo não é linguagem de programação. Exemplo de linguagem de programção : C++ É uma linguagem de programação para computadores. Falso. Algoritmo é um conjunto de passos sem ambiguidade que vão traduzir a solução de um problema. O algoritmo poderá virar um programa, que poderá ou não "ensinar" o computador. É uma forma de ensinar o computador. Verdadeiro É a solução teórica, passo a passo, de um problema. Falso. É uma etapa anterior à programação, ou seja, à criação de programa. É uma etapa posterior à programação da solução de um problema. Falso. Algoritmo pode virar um programa. E programa é software e não hardware. É um hardware especifico para resolver problemas. 2a Questão Assinale a opção correta. Considerando o conceito de programa é correto afirmar que ... 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. 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 apenas executadas por um computador. 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. Respondido em 12/06/2020 17:19:28 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. 3a 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 Fluxograma Pseudocódigo Algoritmo Diagrama Respondido em 12/06/2020 17:19:49 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 4a Questão Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo: O fluxograma está incompleto e errado, pois não exibe mensagens antes que a leitura de dados seja realizada. A simbologia empregada no recebimento de dados está equivocada e foi trocada por aquela que representa exibição de informações. O fluxograma é responsável por calcular a idade de um indivíduo a partir de seu ano de nascimento e do ano em que estamos. Poderiam ser retirados do fluxograma os símbolos de terminação que delimitam, respectivamente, o início e o fim da solução. No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre negativa. Respondido em 12/06/2020 17:21:34 5a Questão Sobre o FLUXOGRAMA abaixo podemos afirmar que : Apresenta na sua lógica a estrutura básica DECISÃO Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO Apresenta na sua lógica as três estruturas básicas de programação Apresenta na sua lógica a estrutura básica REPETIÇÃO Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO Respondido em 12/06/2020 17:23:31 Explicação: Justificativas das opções : >> Apresenta na sua lógica as três estruturas básicas de programação . Falso. Não apresenta repetição >> Apresenta na sua lógica a estrutura básica REPETIÇÃO Falso. Apresenta apenas entrada de dados, saída de dados, atribuição, condicional composto. >> Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO Falso. Não apresenta repetição. >> Apresenta na sua lógica a estrutura básica DECISÃO. Verdadeiro. Veja o uso do losango. >> Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO Falso. Não apresenta repetição. 6a 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 III são CORRETAS Apenas as alternativas II e III são INCORRETAS Apenas as alternativas I e II são CORRETAS Todas as alternativas são CORRETAS Apenas a alternativa I é CORRETA Respondido em 12/06/2020 17:25:43 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. 7a Questão A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é chamada de: Compilador Linguagem de alto nível Programa Linguagem de Máquina Linguagem de baixo nível Respondido em 12/06/2020 17:56:07 Explicação: Falso. É um tradutor. Compilador FAlsa. Linguagem de zeros e uns. Linguagem de Máquina VErdadeiro Programa Falso. Usada para escrever programas Linguagem de alto nível Falso. Usada para escrever programas mais próximos da máquina. Exemplo : linguagem assembly Linguagem de baixonível 8a Questão Sobre Português Estruturado, assinale a opção correta : É igual à linguagem natural ou narrativa É igual à linguagem de programação na língua portuguesa É igual ao fluxograma 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 Respondido em 12/06/2020 17:59:08 Explicação: Definição direta e objetiva dada na aula 1. 1a Questão Assinale a opção correta. Declarando e atribuindo um valor à uma variável booleana em C++ : bool x = "true"; Declarando e atribuindo um valor à uma variável booleana em C++ : boolean x = true ; Uma possível declaração de uma variável inteira em C++ : x int; As variáveis do tipo bool podem ser true ou false. Uma possível declaração de uma variável booleana em C++ : boolean x; Respondido em 12/06/2020 18:10:00 Explicação: DE acordo com a sintaxe da linguagem C++ 2a Questão Selecione, entre as alternativas, a opção correta, tendo em vista a frase: Necessita de espaço na memória e define o tipo de dado a ser armazenado. Variável Comando Enquanto-Faça Estrutura de Seleção atribuição Comando PARA Respondido em 12/06/2020 18:10:36 Explicação: Necessita de espaço na memória e define o tipo de dado a ser armazenado. Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de repetição. Comando PARA Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de repetição. Comando Enquanto-Faça Verdadeiro Variável Falso. É uma operação ou comando. atribuição Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de seleção, como if ou if/else, por exemplo. Estrutura de Seleção 3a Questão Assinale a opção correta. Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. Para programar em alto nível é preciso dominar a linguagem binária. Dizemos que uma linguagem é de alto nível quando usa linguagem binária. O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. Respondido em 12/06/2020 18:11:12 Explicação: Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. Falso. Linguagem binária é com zeros e uns, o que é baixo nível. Dizemos que uma linguagem é de alto nível quando usa linguagem binária. Falso. C++ é uma linguagem de programação de alto nível e usa palavras em Inglês. O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. Falso. Não se tem que dominar a linguagem binária em hipótese alguma. Para programar em alto nível é preciso dominar a linguagem binária. FAlso. O C++ é uma linguagem de alto nível na qual o uso de variáveis é necessário para armazenarmos dados. O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. 4a 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 12/06/2020 18:11:07 Explicação: Não tem outra possibilidade com margem à dúvida. Por definição, é palavra reservada. 5a Questão Em C++ existem quatro tipos básicos, isto é , tipos básicos de dados que podem ser utilizados. Qual é o tipo definido da seguinte maneira: "Qualquer número real, negativo, nulo ou positivo." char int float bool real Respondido em 12/06/2020 18:12:17 Explicação: Conforme gabarito e aula de tipos primitivos de dados 6a Questão Quanto à linguagem de programação, marque a opção que determina o processo que efetua integralmente a tradução de um programa fonte para o código de máquina, podendo assim ser executado diretamente. Evolução Determinação Compilação Linkedição Orientação Respondido em 12/06/2020 18:14:47 Explicação: Compilação é o processo que efetua integralmente a tradução de um programa fonte para o código de máquina, podendo assim ser executado diretamente. 7a Questão Assinale a opção correta. O que quer dizer main ? programa portugol principal estruturado, de português estruturado algoritmo Respondido em 12/06/2020 18:14:58 Explicação: Basta saber a tradução. 8a 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: num1 cad1- id salariofinal nome_aluno nota2 1a 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 12/06/2020 18:16:46 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. 2a 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 12/06/2020 18:17:40 Explicação: A || B && C && !D || = OU && = E ! = não 3a Questão Sendo X = 1, Y = 2 e Z = 5, assinale a alternativa correta, dentre as relacionadas abaixo, que corresponde aos questionamentos realizados em relação à expressão: X * X + Y > Z. Questionamentos: - Esta expressão é VERDADEIRA ou FALSA? - O valor do termo X * X + Y é igual a qual valor ? A expressão é VERDADEIRA, e o valor de X * X + Y = 5. 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 é FALSA, e o valor de X * X + Y = 4. Respondido em 12/06/2020 18:29:52 Explicação: Questionamentos: - Esta expressão é VERDADEIRA ou FALSA? A expressão é Falsa. - O valor do termo X * X + Y é igual a qual valor ? O resultado da expressão é 3 Resolvendo a expressão : X * X + Y > Z 1 * 1 + 2 dá 1 + 2 que é 3 3 > Z, sendo que Z vale 5 ? FAlsa. 4a Questão Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. &&, || e ~ =, > e || +, - e * <, > e >= &&, >= e || Respondido em 12/06/2020 18:31:56 Explicação: <, > e >= Falso. Nenhum é relacional &&, || e ~ Falso. O único relacional é o > =, > e || Falso. O únicorelacional é o >= &&, >= e || Falso. Nenhum relacional +, - e * 5a Questão 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 12/06/2020 18:32:21 Explicação: Conforme aula e gabarito. É importante primeiro somar as notas e depois dividir por 2. 6a Questão Indique qual alternativa calcula corretamente a média aritmética das notas AV1 e AV2 de uma determinada disciplina MEDIA = (AV1 - AV2) / 2; MEDIA = AV1 + AV2 / 2; MEDIA = (AV1 ** AV2) / 2; MEDIA = (AV1 * AV2) / 2; MEDIA = (AV1 + AV2) / 2; Respondido em 12/06/2020 18:32:36 Explicação: MEDIA = (AV1 + AV2) / 2; - OK 7a Questão Analise o trecho de código abaixo e depois marque a opção correta para o que se pede: int x, y,a , b; float z; a = 14; b = 3; x = a / b; y = a % b; z = y / x; Qual seria o valor de x? 4 5 3 4.66666 14 Respondido em 12/06/2020 18:33:11 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. 8a Questão Monte a tabela da verdade para a expressão A || B && C && !A. A B C !A B && C B && C && !A A || B && C && !A V V V F V F V V F F F F V F V F F F V F F F F F F V V V V V F V F V F F F F V V F F F F F V F F A sequência de valores que preenche a última coluna, de cima para baixo, é: V, V, V, V, V, F, F, F F, F, F, F, F, V, V, V F, V, F, V, V, F, V, F V, V, F, F, V, V, F, F V, F, V, F, V, F, V, F 1a Questão Assinale a opção correta : Para entrada de dados usamos read e para saída de dados usamos write Para entrada de dados usamos cin com << e para saída de dados usamos cout com >> Para entrada de dados usamos cout com << e para saída de dados usamos cin com >> Para entrada de dados usamos cout e para saída de dados usamos cin Para entrada de dados usamos cin com >> e para saída de dados usamos cout com << Respondido em 12/06/2020 18:34:41 Explicação: Basta seguir as descrições na aula 2. 2a 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? "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." "Você consegue abastecer 51.28 litros de combustível." "Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." "Você consegue abastecer 51.28 litros de combustível com R$ 200.00." "Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." Respondido em 12/06/2020 18:36:39 3a 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? leia("Você tem ou fará " / idade/ " anos") escreva("Você tem ou fará " * idade * " anos") leia("Você tem ou fará ", idade, " anos") escreva("Você tem ou fará ", idade, " anos") escreva("Você tem ou fará " /idade/ " anos") Respondido em 12/06/2020 18:52:11 4a 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); printf (" nota 3 = "); scanf("%f", nota3); media=(nota1+nota2+nota3)/3; printf ("media= %f",media); int nota1, nota2, nota3, media; float nota1, nota2, nota3, media; real nota1, nota2, nota3; nota1, nota2, nota3 : float float nota1..nota3, media; Respondido em 12/06/2020 18:53:03 Explicação: as 4 variáveis precisam ser float, para conterem valores com casas decimais 5a 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 _______________. math - math.round iostream - ptb locale - setlocale iostream - setlocale locale - ptb Respondido em 12/06/2020 18:53:46 6a 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. V - V - F F - V - F V - F - F F - F - F V - V - V Respondido em 12/06/2020 18:54:34 7a 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) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) Respondido em 12/06/2020 18:58:47 8a Questão Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ exiba "lendo a idade"; lendo idade; cout << "lendo a idade"; cin >> idade; System.out.println("lendo idade"); System.out.println("lendo idade"); cout < lendo idade; cin > idade cout "lendo a idade"; cin idade; Respondido em 12/06/2020 19:00:29 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"); 1a QuestãoAnalise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela. int x = 235, y = 138, z = 177, m; m = z; if( x < m) m = x; if( y < m) m = y; cout << m << " " << x << " " << y ; 177 138 235 138 138 235 138 235 138 235 235 138 177 235 138 Respondido em 12/06/2020 19:22:25 Explicação: A variável m ficará com o menor valor 2a 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 4 14 0.5 14 4 0.5 14 4 0 0.5 4 14 Respondido em 12/06/2020 19:22:54 Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro 3a Questão Em linguagem de programação, existe uma estrutura que é empregada em situações em que é preciso tomar uma decisão a respeito de determinado resultado que será obtido em duas situações diversas. Marque a opção que determina a estrutura de controle citada: Vetorial Recursiva Repetição Decisão Matricial Respondido em 12/06/2020 19:23:39 Explicação: A opção que determina a estrutura de controle citada é a Decisão 4a 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 0, 6 e 7 1, 6 e 16 1, 7 e 7 1, 6 e 7 Respondido em 12/06/2020 19:24:02 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 5a 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 8 10 9 9 6 10 9 9 40 8 10 40 9 8 10 40 Respondido em 12/06/2020 19:27:25 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 6a Questão Considere um programa em C++ que leia os valores A, B, C e informe se a soma dos dois primeiros termos é maior do que o terceiro. A estrutura seletiva adequada para esse teste é: while ((A+B)>C) { cout << "A soma de A e B é maior do que C!"; } for ((A+B)>C) { cout << "A soma de A e B é maior do que C!"; } do { cout << "A soma de A e B é maior do que C!"; } while ((A+B)>C) if ((A+B)>C) { cout << "A soma de A e B é maior do que C!"; } switch ((A+B)>C) { cout << "A soma de A e B é maior do que C!"; } Respondido em 12/06/2020 19:28:23 7a 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 ii está correta. Todas as alternativas estão erradas. Apenas a alternativa i está correta. Apenas a alternativa iii está correta. Todas as alternativas estão corretas. Respondido em 12/06/2020 19:30:05 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. 8a 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 110 1 10 11 12 110 1 0 11 110 1 0 11 12 110 Respondido em 12/06/2020 19:31:38 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 1a Questão Imagine que você precisa escrever um programa que leia o nome, as 3 notas obtidas por um aluno nas 3 avaliações do semestre e a média dos exercícios que fazem parte da avaliação. O programa precisa calcular e exibir a média ponderada de aproveitamento e mostrar o conceito do aluno conforme as regras a seguir: Média de aproveitamento Conceito >= 9 A >= 7,5 e < 9 B >= 6 e < 7,5 C >= 4 e < 6 D < 4 E Qual das alternativas a seguir apresenta a estrutura seletiva que imprime o conceito do aluno? if (Media>=9) { cin << "A"; } else (Media>=7.5 && Media<9) { cin << "B"; } else (Media>= 6 && Media<7.5) { cin << "C"; } else (Media>=4 && Media<6) { cin << "D"; } else (Media<4) { cin << "E"; } if (Media>=9) { cin << "A"; } else if (Media>=7.5 && Media<9) { cin << "B"; } else if (Media>= 6 && Media<7.5) { cin << "C"; } else if (Media>=4 && Media<6) { cin << "D"; } else if (Media<4) { cin << "E"; } if (Media>=9) { cout << "A"; } else(Media>=7.5 && Media<9) { cout << "B"; } else (Media>= 6 && Media<7.5) { cout << "C"; } else (Media>=4 && Media<6) { cout << "D"; } else (Media<4) { cout << "E"; } if (Media>=9) { cout << "A"; } else if (Media>=7.5 || Media<9) { cout << "B"; } else if (Media>= 6 || Media<7.5) { cout << "C"; } else if (Media>=4 || Media<6) { cout << "D"; } else if (Media<4) { cout << "E"; } if (Media>=9) { cout << "A"; } else if (Media>=7.5 && Media<9) { cout << "B"; } else if (Media>= 6 && Media<7.5) { cout << "C"; } else if (Media>=4 && Media<6) { cout << "D"; } else if (Media<4) { cout << "E"; } Respondido em 12/06/2020 19:34:19 2a 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? switch/case for while break do/while Respondido em 12/06/2020 19:35:51 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 3a Questão Imagine que você precisa escrever um programa em C++ que exiba o nome do dia semana a partir de seu código numérico equivalente, conforme se vê a seguir. 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Se fosse utilizada a estrutura SWITCH e os testes fossem escritos na ordem em que os dias estão listados, os casos finais dessa estrutura, considerando que você deseja apresentar uma mensagem de erro caso o usuário informe um código equivocado, seriam. switch 7: cout <<"sábado"; break; default: cout <<"Código inválido!"; case 7: cout <<"sábado"; break; case not: cout <<"Código inválido!"; case 7: cout <<"sábado"; break; default: cout <<"Código inválido!"; default 7: cout <<"sábado"; break; default: cout <<"Código inválido!"; default 7: cout <<"sábado"; break; switch: cout <<"Código inválido!"; Respondido em 12/06/2020 19:37:06 4a 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 I é verdadeira 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 III é falsa Respondido em 12/06/2020 19:38:29 Explicação: As respostas falsas são conclusivas 5a 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. Nada aparece, pois o trecho de programa possui erro. 9 ### Apenas 9 9 é divisível por 3 e por 5. Respondido em 12/06/2020 19:41:34 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### 6a 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 << " ### " ; Apenas 7 7 é divisível por 3 e por 5. Nada aparece, pois o trecho de programa possui erro. 7 não é divisível por 2. 7 ### Respondido em 12/06/2020 19:43:02 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### 7a Questão Uma estrutura seletiva permite que se restrinja a execução de um trecho do programa à veracidade, ou não, de uma condição. Sabendo disso, imagine que você está com as medidas dos três lados de um triângulo armazenados nas variáveis L1, L2 e L3. Utilizando a sintaxe do Portugol Studio, como seria o trecho da estrutura seletiva que avalie se este triângulo é isóscele, escaleno ou equilátero? Veja as definições para os diferentes tipos de triângulo: Escaleno: Dois lados quaisquer com a mesma medida; Equilátero: Três lados com a mesma medida; Isósceles: Três lados com medidas diferentes. se (lado1==lado2 ou lado2==lado3) { escreva("Este é um triângulo equilátero!") } senao se (lado1==lado2 e lado2==lado3 e lado3==lado1) { escreva("Este é um triângulo escaleno!") } senao { escreva("Este é um triângulo isósceles!") } (lado1==lado2 e lado2==lado3) { escreva("Este é um triângulo equilátero!") } se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) { escreva("Este é um triângulo escaleno!") } se { escreva("Este é um triângulo isósceles!") } se (lado1==lado2 e lado2==lado3) { escreva("Este é um triângulo equilátero!") } senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) { escreva("Este é um triângulo escaleno!") } senao { escreva("Este é um triângulo isósceles!") } se (lado1=lado2 e lado2=lado3) { escreva("Este é um triângulo equilátero!") } senao se { escreva("Este é um triângulo escaleno!") } senao (lado1=lado2 ou lado2=lado3 ou lado3=lado1) { escreva("Este é um triângulo isósceles!") } se (lado1==lado2 e lado2==lado3) { escreva("Este é um triângulo escaleno!") } senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) { escreva("Este é um triângulo isósceles!") } senao { escreva("Este é um triângulo equilátero!") } Respondido em 12/06/2020 19:45:23 8a Questão 11 50 10 2 11 10 50 10 2 11 50 10 11 10 50 10 10 50 10 2 Respondido em 12/06/2020 19:46:45 Explicação: 1ª. Execução : valor de a é 1 Entrar no case 1, depois no case 3 e em seguida, no case 5. Então será impresso 11 10 2ª. Execução : valor de a é 5 Entrar no case 5 e imprimir 50 3ª. Execução : valor de a é 20 Entrar no case 20 e depois no case 30. Então, será impresso 10 2 Concluindo : Valores impressos : 11 10 50 10 2 1a Questão Assinale a alternativa correta em relaçãoa 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; } 15 31 30 Nenhuma das alternativas. 29 Respondido em 12/06/2020 19:49:34 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 ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO >>>>>>>>>>>>>>>>>> Logo, imprimiu 30 vezes a palavra ALGORITMO 2a 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; } for loop do case while repeat Respondido em 12/06/2020 19:51:14 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 3a Questão A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é implementada pelo comando básico condicional sequencial de repetição de seleção de atribuição Respondido em 12/06/2020 19:59:28 Explicação: A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é implementada pelo comando básico de repetição 4a Questão 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. while (if cont =10){ } while (repita 10 vezes) { } String cont = ""; { cont++; } while (cont!="") while () { cout << "exibindo o número"; } int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; } Respondido em 12/06/2020 20:00:25 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. 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){ } 5a Questão Considere o trecho abaixo sabendo que num é um variável inteira. num = 11; do { if (num % 2 == 0) cout << num << "\n"; num = num -1 ; } while (num != 0); Assinale a opção correta : o trecho fornecido pára quando num for diferente de zero e são exibidos os valores 10 e 8, pelo menos. O trecho fornecido pára quando num for zero e os números exibidos são todos os pares de 10 até 0, nesta ordem. 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é 2, nesta ordem. O trecho fornecido pára quando num for diferente de zero e o único número exibido é o 10. Respondido em 12/06/2020 20:01:50 Explicação: 1a. opção está correta. Veja o teste de mesa : num num % 2 é igual a zero ? num é diferente de zero ? 11 11 % 2 é 1. Logo, é falso o teste do if. 10 10 diferente de 0 ? sim 10 % 2 é zero ? sim. Imprime o 10 9 9 é diferente de 0 ? sim 9 % 2 é zero ? Não 8 8 é diferente de zero ? sim 8 % 2 é zero ? Sim. Imprime o 8 7 7 é diferente de zero ? sim 7 % 2 é zero ? Não 6 6 % 2 é zero ? Sim. Imprime o 6 e decrementa para 5 valor de num 6 é diferente de zero ? sim E assim continua ... irá parar quando num for zero... Note que está imprimindo os pares de 10 até 2, pois quando decrementa num para zero, o teste do do...while falha. Imprimirá os números 10 8 6 4 2 , um embaixo do outro. 2a. opção é falsa. Pára quando o valor de num for zero, mas não imprime o valor 0, justamente pelo já explicado no item anterior. 3a. opção é falsa. Pára quando o valor de num for zero. Além disso, é um loop, então imprimem-se vários níumeros como mostrado na explicação da 1a. opção. 4a. opção é falsa. Como mostrado no 1o. item, vários números são impressos : os números 10 8 6 4 2 , um embaixo do outro. 5a. opção é falsa. Falso. Como mostrado no 1o. item, vários números são impressos : os números 10 8 6 4 2 , um embaixo do outro. Ocorre a parada do loop quando num for zero. 6a Questão 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; 20 30 40 35 25 Respondido em 12/06/2020 20:06:40 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. 7a Questão Sobre a estrutura com pós-teste, julgue as assertivas a seguir Verdadeiras ou Falsas: ( ) Avalia somente uma condição por vez, tendo essa que ser do tipo relacional ou matemático. ( ) Trata-se de uma estrutura de seleção capaz de restringir a execução de determinado trecho do código; ( ) É uma estrutura do tipo repetitiva, que precisa de uma condição que controle quando o trecho deve se repetir; F - V - V V - F - F F - F - V F - F - F V - F - V Respondido em 12/06/2020 20:10:19 8a 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) do (num!=0) if (num!=0) while (num==0) 1a Questão Marque a opção correta. O que é impresso na tela ? int conta, x = 1, r = 1; for (conta = 2; conta >= 0; conta--) {r = r * x + 1; x += 2; cout << "r= " << r << " x = " << x << endl; } r = 2 x = 3 r = 7 x = 5 r = 36 x = 7 r = 3 x = 2 r = 5 x = 7 r = 2 x = 3 r = 7 x = 5 r = 36 x = 7 r = 3 x = 4 r = 8 x = 6 r = 37 x = 7 Respondido em 12/06/2020 20:13:12 Explicação: int conta, x = 1, r = 1; for (conta = 2; conta >= 0; conta--) { r = r * x + 1; x += 2; cout << "r= " << r << " x = " << x << endl; } conta conta >= 0 x r 2 sim 1 1 3 2 1 sim 5 7 0 sim 7 36 -1 TELA r = 2 x = 3 r = 7 x = 5 r = 36 x = 7 2a Questão Após análise do código responda a questão: Ao ser compilado e executado, o programa irá exibir na tela: Os números ímpares entre 1 e 5 em ordem decrescente. Os números pares entre 1 e 5 (inclusive) em ordem crescente. Os valores entre 1 e 5 (inclusive) em ordem decrescente. Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente. Os valores entre 1 e 5 (inclusive)em ordem crescente. Respondido em 12/06/2020 20:13:47 Explicação: Verdadeira, visto que o programa imprimirá : O valor de i e 5 O valor de i e 3 O valor de i e 1 Portanto em ordem decrescente incluindo o 5 e o 1. Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente. Falso. Não é entre apenas, pois inclui 5 e 1. Os números ímpares entre 1 e 5 em ordem decrescente. FAlso. É em ordem decrescente e imprime os ímpares e não os pares. Os números pares entre 1 e 5 (inclusive) em ordem crescente. FAlso. Não é qualquer valor, mas apenas os ímpares de 5 a 1, incluindo 5 e 1. Os valores entre 1 e 5 (inclusive) em ordem decrescente. FAlso. Não é qualquer valor, mas apenas os ímpares em ordem decrescente de 5 a 1. Os valores entre 1 e 5 (inclusive)em ordem crescente. 3a 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? "; cin >>sexo; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M || sexo==m) { qtdeM++; } } for (int cont=1;cont>=100;cont--) { cout <<"Qual o sexo? "; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M &&| sexo==m) { qtdeM++; } } for (int cont=1;cont<=100;cont++) { cout <<"Qual o sexo? "; cin >>qtdeF; 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++; } } Respondido em 12/06/2020 20:16:18 4a Questão O que o trecho de programa em C++ abaixo imprime na tela ? int y; for (y = 5; y > 0; y--) if (y % 2 == 0) cout << y - 1 << " "; else cout << y + 1 << " "; 6 3 4 1 2 6 3 4 1 1 5 6 3 2 1 5 4 3 2 1 6 5 3 2 1 Respondido em 12/06/2020 20:18:56 Explicação: FAzer teste de mesa. A cada rodada do loop atribuir um valor a y e testar se o valor de y é par. Se for par, deverá ser impresso o valor do antecessor de y. Caso contrário, deverá ser impresso o valor do sucessor de y. 5a 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 (int i=0, i <= 200, i++) 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++) Respondido em 12/06/2020 20:19:50 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++) 6a 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; } 50 e 9 16 e 9 50 e 16 o valor de s está indefinido e o valor de num é 7 9 e 9 Respondido em 12/06/2020 20:24:20 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 7a 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;<> 63 60 55 39 48 Respondido em 12/06/2020 20:27:21 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 8a 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: "; cin >> x; while (x != 0){ i = i + 1; y = y + x; cout << "Digite um numero: "; cin >> x; } y = y / i; cout << "Numero: " << y << "\n"; system("PAUSE"); return 0; } A média dos elementos digitados A quantidade de elementos pares O maior de todos os elementos digitados A quantidade de elementos digitados O menor de todos os elementos digitados Respondido em 12/06/2020 20:28:17 Explicação: int i = 0; //inicializa a quantidade de elementos digitados diferentes de zero double x, y = 0; // y inicializa o somatorio dos valores de entrada cout << "Digite um numero: "; cin >> x; //Lê o primeiro valor while (x != 0){ //Enquanto o valor de entrada não for zero i = i + 1; //conta mais um número lido y = y + x; //acumula o valor de x em y, gerando o somatório dos números lidos e armazenados em x cout << "Digite um numero: "; cin >> x; //Lê o proóximo número } y = y / i; //Divide a soma dos números lidos não nulos por i ( i é o total de números lidos não nulos) cout << "Numero: " << y << "\n"; //Imprime a média armazenada em y Logo : O programa calcula a média dos números digitados (diferente de zero) 1a Questão Em C++, se você precisasse escrever um programa que recebesse o sexo e a altura de 25 pessoas e armazenasse nos vetores Sexo e Altura, respectivamente, e, em seguida, calculasse e exibisse a média de altura das mulheres e a média de altura dos homens,que trecho utilizaria para recebimento de valores via teclado e para as somas necessárias na obtenção da média das alturas? Atenção às variáveis utilizadas: quantF - Quantidade de pessoas do sexo feminino; somaAF - Soma das alturas do sexo feminino; quantM - Quantidade de pessoas do sexo masculino; somaAM - Soma das alturas do sexo masculino. for (ind=0;ind>=24;ind--) { cout <<"Informe o sexo: "; cin >>Sexo[ind]; cout <<"Informe a altura: "; cin >>Altura[ind]; if (Sexo[ind]==F || Sexo[ind]==f) { quantF++; somaAF=Altura[ind]; } else if (Sexo[ind]==M || Sexo[ind]==m) { quantM++; somaAM=Altura[ind]; } } for (ind=0;ind<=24;ind++) { cout <<"Informe o sexo: "; cin >>Sexo[ind]; cout <<"Informe a altura: "; cin >>Altura[ind]; if (Sexo[ind]==F || Sexo[ind]==f) { quantF++; somaAF+=Altura[ind]; } else if (Sexo[ind]==M || Sexo[ind]==m) { quantM++; somaAM+=Altura[ind]; } } for (ind=0;ind<=24;ind+=2) { cout <<"Informe o sexo: "; cin >>Sexo[ind]; cout <<"Informe a altura: "; cin >>Altura[ind]; if (Sexo[ind]==F && Sexo[ind]==f) { quantF++; somaAF+=Altura[ind]; } else if (Sexo[ind]==M && Sexo[ind]==m) { quantM++; somaAM+=Altura[ind]; } } for (ind=0;ind<=24;ind++) { cout <<"Informe o sexo: "; cin >>Sexo; cout <<"Informe a altura: "; cin >>Altura; if (Sexo[ind]==F || Sexo[ind]==f) { quantF++; somaAF+=[ind]; } else if (Sexo[ind]==M || Sexo[ind]==m) { quantM++; somaAM+=[ind]; } } for (ind=24;ind<=24;ind++) { cout <<"Informe o sexo: "; cin >>Sexo[ind]; cout <<"Informe a altura: "; cin >>Altura[ind]; if (Sexo[ind]==F || Sexo[ind]==f) { quantF+=ind; somaAF+=Altura[ind]; } else if (Sexo[ind]==M || Sexo[ind]==m) { quantM+=ind; somaAM+=Altura[ind]; } } Respondido em 12/06/2020 20:29:44 2a 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=0;i<=9) { SOMA=NUM[i]; } for (i=1;i<=10;i++) { SOMA+=NUM[i]; } for (i=0;i<=9;i++) { SOMA+=NUM[i]; } for (i=0;i=9;i++) { SOMA=NUM[i] } for (i=0;i<=9;i++) { SOMA=SOMA[i]+NUM } Respondido em 12/06/2020 20:30:29 3a 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=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; } Respondido em 12/06/2020 20:33:05 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; } 4a Questão Considere que um casal de amigos está brincando de par ou ímpar. Você precisa escrever um algoritmo que, a cada uma das 10 jogadas que farão, armazene nos vetores jogadasA e jogadasB o número escolhido pelo jogador A (que é par) e o número escolhido pelo jogador B (que é ímpar), respectivamente. Precisa informar, também a cada jogada, o jogador vencedor. O trecho que avaliaria a soma dos números escolhidos por cada amigo e decidiria quem venceu a rodada seria: total=jogadasA[ind]+jogadasB[ind] se (total%2==0) { escreva("Jogador A venceu!\n") } senao { escreva("Jogador B venceu!\n") } total=jogadasA+jogadasB se (total%2==0) { escreva("Jogador A venceu!\n") } senao { escreva("Jogador B venceu!\n") } total=[ind]+jogadasB se (total%2>=0) { escreva("Jogador A venceu!\n") } senao { escreva("Jogador B venceu!\n") } total++ se (total%2!=0) { escreva("Jogador A venceu!\n") } senao { escreva("Jogador B venceu!\n") } total=jogadasA[ind]+jogadasB[ind] escolha (total%2==0) { escreva("Jogador A venceu!\n") } outros casos { escreva("Jogador B venceu!\n") } Respondido em 12/06/2020 20:33:58 5a Questão -1 0 1 2 3 4 5 4 3 2 1 -1 0 1 2 3 4 4 3 2 1 0 1 2 3 4 5 4 3 2 1 0 -1 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9 Respondido em 12/06/2020 20:34:35 Explicação: O primeiro for preenche o vetor v[]= {0,1,2,3,4,5,6,7,8,9) O segundo for é executado de traz para frente por 4 vezes, até i=6 alterando valores do vetor. v[]= {0,1,2,3,4,5,4,3,2,1) No terceiro for, ele começa na posição 5, pois o anterior, executou até o 6 e voltou mais uma para encerrar. Logo este for vai variar de 5 até a zero, pois o valor inicial não foi declarado, ficando vazio e a cada valor da posição 5 até 0 será diminuído de uma unidade, ficando assim: v[]= {-1,0,1,2,3,4,4,3,2,1) O último for, apenas imprime o vetor completo. 6a Questão <valor[x]; </valor[x]; Todos os elementos que são maiores que cinco do vetor VALOR. Todos os elementos que são menores que cinco do vetor VALOR. Todos os elementos pares do vetor VALOR. Todos os elementos ímpares do vetor VALOR. Todos os elementos do vetor VALOR. Respondido em 12/06/2020 20:36:11 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. 7a 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]; float lista[15]; int lista[15]; float lista[16]; int LISTA[16]; Respondido em 12/06/2020 20:38:12 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]; 8a Questão Imagine que um dado é lançado 20 vezes e, a cada lançamento, a face sorteada é lançada em um vetor denominado sorteios. Considerando que você precisa escrever um algoritmo conforme a sintaxe do Portugol Studio que, ao final dos sorteios, informe quantas vezes cada face ímpar foi sorteada, qual das estruturas repetitivas a seguir voce utilizaria para contar a quantidade de sorteios nos quais cada uma das faces ímpares saiu? para (ind=0;ind<=19;ind++) { escolha (sorteios[ind,ind]) { caso 1: cont++ pare caso 3: cont++ pare caso 5: cont++ pare } } para (ind=0;ind<=19;ind++) { escolha (sorteios[ind]) { caso 1: cont1++ pare caso 3: cont3++ pare caso 5: cont5++ pare } } para (ind=0;ind<=20;ind++) { escolha(sorteios) { caso 1: cont1++ pare caso 3: cont3++ pare caso 5: cont5++ pare } } para (ind=10;ind<=20;ind++) { escolha (sorteios[ind]) { caso 1,3,5,7,9: cont1++ pare default: pare } } para (ind=0;ind<=19;ind--) { escolha (sorteios[ind]) { caso 1: cont1-- pare caso 3: cont3-- pare caso 5: cont5-- pare } } 1a 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 linhas da coluna índice 1. Somar todas as colunas da linha índice 1 Somar todas as linhas de todas as colunas. Somar todas as colunas da linha índice 0. Somar todas as linhas da coluna índice 0. Respondido em 12/06/2020 20:53:24 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. 2a 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 12/06/2020 20:54:23 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. 3a 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; } 1 5 9 1 3 5 7 9 1 2 3 2 4 6 8 1 2 3 4 5 6 7 8 9 Respondido em 12/06/2020 20:55:27 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 4a 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 pares e que sejam maiores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que sejam maiores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam menores 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á todos os 50 números. Respondido em 12/06/2020 20:55:52 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 5a Questã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 ? int edificio[8][5]; int edificio[40][5]; int edificio[1][40]; int edificio[40][1]; int edificio[5][8]; Respondido em 12/06/2020 22:24:28 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. 6a Questão 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[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++ } } } } Respondido em 12/06/2020 22:25:06 7a Questão Se você precisar escrever um programa em C++ que receba uma matriz de elementos inteiros dispostos em 3 linhas e 4 colunas e exiba a quantidade de números múltiplos de 5 armazenados na matriz vai precisar de Duas estruturas seletivas: uma controlando as linhas e variando de 1 a 5, e outra controlando as colunas e variando de 1 a 3. Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os múltiplos de 5 e variando de 0 a 5 . Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as colunas e variando de 0 a 3. Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os múltiplos de 5 e variando de 0 a 5 . Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as colunas e variando de 0 a 3. Respondido em 12/06/2020 22:26:41 8a 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[col][lin]=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[lin][col]=M1[lin][col] } } Respondido em 12/06/2020 22:27:05
Compartilhar