Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a 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 + (salAtual*percAumento/100) novoSal <- salAtual + (percAumento/100) novoSal <- (salAtual*percAumento/100) novoSal <- salAtual + (salAtual*100) novoSal <- salAtual + (salAtual*percAumento) Respondido em 29/03/2020 15:06:59 Explicação: Atenção à operação de multplicação, realizada com o uso do operado *. 2a Questão O resultado do pensamento computacional pode ser denominado algoritmo. Um algoritmo pode ser definido como um processo de solução de problemas implementado, obrigatoriamente, em Portugol. a representação gráfica de um conjunto de procedimentos necessários à solução de um problema. uma série de procedimentos descritos passo a passo visando a solução de um problema. uma solução textual redigida com base em uma sintaxe rígida e com vocabulário controlado. uma sequência de comandos escritos em uma linguagem de programação. Respondido em 29/03/2020 15:09:40 Explicação: O pensamento computacional produz a solução estruturada para um problema. Essa solução é chamada de algoritmo e não está escrita em nenhuma linguagem de programação ou código linguístico controlado. É possível criar algoritmos para problemas variados, que não necessariamente serão resolvidos com o auxílio de um computador, como o problema de ter de trocar um pneu do carro quando o mesmo fura. 3a Questão Em Informática, os algoritmos costumam ser escritos em Portugol. Sobre o mesmo, podemos afirmar que: I. É uma linguagem intermediária entre a linguagem natural e a linguagem de programação; II. Costuma adotar o inglês como língua padrão para redação dos algoritmos computacionais; III. Adota algumas regras para fins de padronização e garantia de compreensão dos algoritmos; IV. Pode ser executado diretamente pelo computador, sem auxílio de nenhum software específico. São verdadeiras as assertivas: I e II III e IV I, II e III I e III I, II, III e IV Respondido em 29/03/2020 15:11:01 Explicação: O Portugol é uma linguagem intermediária entre a linguagem natural e a linguagem de programação. Para fins de padronização e garantia de compreensão dos algoritmos, o Portugol adota algumas regras; dentre elas, um vocabulário controlado na lingua natual de quem escreve o algoritmo (no nosso caso, o português). Algoritmos escritos em Portugol podem ter sua execução testada em um computador somente através de programas como o Portugol Studio e o VisuAlg. 4a Questão Observe as assertivas a seguir acerca dos fluxogramas: I. Os mesmos são a representação gráfica dos algoritmos. II. Para desenhá-los, é preciso adotar uma simbologia padrão pré-determinada. III. Existem programas que permitem que os mesmos sejam desenhados no computador. Assinale a seguir a alternativa que indica as afirmações corretas: I e II. I, II e III. I e III Todas são falsas. II e III. Respondido em 29/03/2020 15:11:50 Explicação: Os fluxogramas são a representação gráfica dos algoritmos. Para desenhá-los, existe um conjunto de regras a ser seguido e é necessário utilizar uma simbologia específica. Embora existam gabaritos (réguas) que nos ajudam a desenhar os fluxogramas no papel, atualmente existem diversos programas que nos permitem fazê-lo no computador. 5a 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 29/03/2020 15:13:11 Explicação: O fluxograma recebe o ano atual e o ano de nascimento do usuário, calcula e exibe sua idade. 6a Questão Você está nos Estados Unidos e precisa converter o preço de um produto em dólares para o equivalente em reais, pois deseja verificar se vale a pena comprar esse produto no exterior. Para criar um algoritmo que resolva esse problema, é preciso receber o valor do produto em dólares, calcular e exibir o seu preço equivalente em reais. Também será preciso pedir que o usuário informe a cotação do dólar no momento da conversão. Sabendo disso, que instrução deve ser usada para receber os valores via teclado e armazená-los em variáveis? Escreva Saída Leia Processamento Atribuição Respondido em 29/03/2020 15:13:58 Explicação: A instrução leia é responsável por armazenar em uma variável o valor informado via teclado. 1a Questão Sobre a linguagem de programação C++, é correto afirmar que a mesma: I. Não permite a criação de variáveis do tipo lógico; II. É case sentive, ou seja, faz distinção entre letras maiúsculas e minúsculas; III. Permite que os identificadores de variáveis iniciem pelo caractere sublinhado ("_"); IV. É fracamente tipada; o que permite que uma variável seja declarada sem que seu tipo seja definido. I e II são verdadeiras. II e III são verdadeiras. I e IV são verdadeiras. I, II e III são verdadeiras. II, III e IV são verdadeiras. Respondido em 30/03/2020 11:44:18 Explicação: A linguagem de programação C++ - oferece a possibilidade de criação de variáveis e constantes do tipo lógico, definido como bool; - faz distinção entre letras maiúsculas e minúsculas; portanto, TELEFONE é diferente de telefone; - permite que o primeiro caractere de identificadores de variáveis seja o sublinhado ("_"); - é fortemente tipada, ou seja, o tipo de dado a ser armazenado na variável deve ser explicitamente definido., 2a Questão Na linguagem de programação C++, a declaração de uma variável envolve não somente a definição de seu tipo como também a definição de seu identificador. Conforme as regras dessa linguagem, são identificadores de variáveis válidos: nomeProprio, sal_Bruto, _email, matricula2019 Nome@Proprio, SALBRUTO, *email*, matricula 2019 NoMePrOpRiO, SalBruto, e-mail, matricula 2019 nomePróprio, SAlBRuTO, email, matrícula2019 nome-proprio, salBRUTO, #email, matricula*2019 Respondido em 30/03/2020 11:46:54 Explicação: No C++, as regras para criação de identificadores de variáveis são as seguintes: Os identificadores podem começar com uma letra ou com o caractere "_"; Após o primeiro caractere, o identificador pode ser comporto por letras e números; Caracteres especiais e espaços em branco não podem ser utilizados. 3a 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? string qtde25, qtde50, qtde1, quantiaTotal; float qtde25, qtde50, qtde1, quantiaTotal; bool qtde25, qtde50, qtde1, quantiaTotal; int qtde25, qtde50, qtde1, quantiaTotal; char qtde25, qtde50, qtde1, quantiaTotal;Respondido em 30/03/2020 11:49:52 Explicação: As variáveis precisam ser capazes de armazenar valores do tipo real, portanto, precisam ser declaradas como float. 4a Questão Uma variável é um espaço da memória principal dedicado ao armazenamento temporário de valores. No C++, elas podem ser declaradas como sendo de diferentes tipos, dentre eles booleano, integer, string e char. bool, char, int e float. long char, long bool, long int e long float. real, int, char e double. character, string, real e double. Respondido em 30/03/2020 11:50:41 Explicação: No C++, os tipos disponíveis para declaração de variáveis são int, long int, float, double, char e bool. 5a Questão No C++, é possível declarar variáveis e constantes. Uma constante é um espaço da memória reservado a um valor que não se altera ao longo da execução de um programa. Imaginando que você precise de uma constante para armazenar o valor de PI (3,14), como seria feita sua declaração em C++? float PI=3.14; const float PI=3.14; const int PI=3.14; const real PI=3.14; const integer PI=3.14; Respondido em 30/03/2020 11:52:17 Explicação: No C++, a declaração de constantes se inicia com a palavra reservada const, seguida do tipo da constante, seu identificador e seu valor. 6a 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; real quilo = 34.90; real prato = 0; real valor_pagar = 0; int quilo = 34.90; int prato = 0; int valor_pagar = 0; bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0; char quilo = 34.90; char prato = 0; char valor_pagar = 0; Respondido em 30/03/2020 11:52:56 Explicação: É necessário que as variáveis sejam do tipo float, pois armazenarão valores do tipo real. 1a Questão Utilizando a sintaxe do C++, como pode ser reescrita a expressão 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 30/03/2020 16:21:04 Explicação: No C++, os operadores lógicos são && (e), || (ou), ! (não); 2a 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, é: F, F, F, F, F, V, V, V V, V, V, V, V, F, F, F V, V, F, F, V, V, F, F F, V, F, V, V, F, V, F V, F, V, F, V, F, V, F Respondido em 30/03/2020 16:22:52 Explicação: A expressão tem 3 variáveis, o que faz com que sejam possíveis 8 combinações diferentes de V e F para as variáveis. A partir daí, resolve-se a expressão respeitando-se a prioridade dos operadores lógicos: NÃO, E, OU. 3a Questão Observe a tabela da verdade para a expressão A && B || B || A. A B A && B A && B || B A && B || B || A V V V V V F F F F V F V F F F F Os valores que completam correta e sequencialmente a coluna A && B || B || A, de cima para baixo, são: V - F - F - F V - V - V - F V - V - V - V F - F - V - F F - V - V - F Respondido em 30/03/2020 16:23:49 Explicação: A expressão tem 2 variáveis, o que faz com que sejam possíveis 4 combinações diferentes de V e F para as variáveis. A partir daí, resolve-se a expressão respeitando-se a prioridade dos operadores lógicos: NÃO, E, OU. Analisando os valores para preenchimento da coluna solicitada, precisamos lembrar que se trata de uma avaliação lógica com o operador OU, que resulta em VERDADEIRO sempre que um dos valores da expressão for desse tipo. 4a Questão Observe as afirmativas a seguir a respeito das tabelas da verdade: I. A tabela avalia expressões relacionais e numéricas e é preenchida com valores do tipo lógico. II. É possível haver combinações repetidas de valores no preenchimento inicial das linhas com valores das variáveis. III. A quantidade de variáveis na expressão avaliada determina a quantidade de resultados possíveis para a expressão. Sobre elas, sabemos que: As afirmativas I e II são verdadeiras. Todas as afirmativas são falsas. A afirmativa I é verdadeira. A afirmativa II é verdadeira. As afirmativas II e III são verdadeiras. Respondido em 30/03/2020 16:26:23 Explicação: - A tabela da verdade avalia expressões lógicas. - No preenchimento das colunas das variáveis da expressão, não há repetição de combinações. - A quantidade de resultados possíveis para expressão é determinada pela potência de base 2 elevada à quantidade de variáveis da expressão. 5a Questão Utilizando a sintaxe do C++, qual das expressões a seguir é 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 30/03/2020 16:27:45 Explicação: Trata-se de uma expressão mista, que utiliza operadores relacionais (maior, diferente), lógicos (&&) e matemáticos (%). 6a Questão Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a mesma ficaria? A e B ou C ou nao D A ou nao B e nao C e nao D A ou B e C e D A e B ou C nao D A ou B e C e nao D Respondido em 30/03/2020 16:28:13 Explicação: A equivalência entre os operadores lógicos é: ! → nao && → e || → ou 1a 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 cin com << e para saída de dados usamos cout 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 cout com << e para saída de dados usamos cin com >> Respondido em 15/04/2020 13:54:42 Explicação: Basta seguir as descrições na aula 2. 2a 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 - setlocale locale - setlocale iostream - ptb locale - ptb Respondido em 15/04/2020 13:55:52 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? escreva("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") leia("Você tem ou fará " / idade/ " anos") Respondido em 15/04/2020 14:01:31 4a 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$ ") 10leia(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$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." "Você consegue abastecer 51.28 litros de combustível com R$ 200.00." "Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." Respondido em 15/04/2020 14:02:52 5a 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) 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) 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) escreva("Temperatura em graus Celsius: ", tempC) 1a Questão Considere o trecho de programa em C++. O que é impresso na tela ? int x = 10, y = 3, z, k; y = x + y - 1; z = x/y; k = y % x; if (k == 0) cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k; else cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; x = 10 y = 12 z = 0 k = 0 x = 10 y = 12 z = 0.833 k = 0 11 11 2 0 x= 11 y = 11 z = 2 k = 0 10 12 2 0 Respondido em 15/04/2020 18:11:18 Explicação: É preciso fazer um teste de mesa ou chinês e encontrar a resposta correta, como indicado. Para isso, o conteúdo sobre comando condicional, atualmente, na aula 5, é suficiente, junto com declaração de variáveis de aula anterior. x recebe 10 e depois y recebe 3 e depois y recebe 10+3-1, que dá 12 z recebe 10/12, que dá 0 k recebe 2 TEste do if é falso. Então, entra-se no else e é impresso : 11 11 2 0 2a 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 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!") Respondido em 15/04/2020 18:12:40 3a 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 10 11 110 1 0 11 12 110 1 0 11 12 110 11 110 1 0 Respondido em 15/04/2020 18:14:41 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 4a Questão Examine as afirmativas a seguir e marque a alternativa correta. I- A estrutura de decisão pode alterar ou desviar o fluxo natural de execução de um algoritmo. II- O uso de uma estrutura de decisão composta pode ser mais eficiente que o uso de duas estruturas de decisão simples, pois reduz o número de testes. III- Muitas vezes é possível combinar a condição de duas estruturas de decisão simples em apenas uma utilizando operadores lógicos. Todas as alternativas estão corretas. Apenas a alternativa ii está correta. Apenas a alternativa i está correta. Todas as alternativas estão erradas. Apenas a alternativa iii está correta. Respondido em 15/04/2020 18:24:41 Explicação: As estruturas de decisão realmente alteram o fluxo de um programa, uma estrutura composta é mais eficiente que duas simples, já que há menos testes e podemos usar operadores lógicos para combinar condições e reduzir o número de estruturas de decisão simples. Portanto todas as afirmativas estão corretas. 5a Questão Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela. int x = 235, y = 138, z = 177, m; m = z; if( x < m) m = x; if( y < m) m = y; cout << m << " " << x << " " << y ; 138 138 235 235 235 138 177 138 235 177 235 138 138 235 138 Respondido em 15/04/2020 18:17:59 Explicação: A variável m ficará com o menor valor 6a Questão Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, sendo que na 1ª. execução o valor de entrada é 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 8 10 40 9 8 10 40 9 40 Respondido em 15/04/2020 18:20:00 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 é verdadeirae 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 7a 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 = 13, y = 4, z; if( x > y ) { z = x; x = y; y = z; } cout << z << " " << x << " " << y ; 0 4 13 13 13 4 13 4 13 0 13 4 4 13 13 Respondido em 15/04/2020 18:21:50 Explicação: Fazendo um teste de mesa através de comentários no trecho dado : int x = 13, y = 4, z; // x recebe 13 e y recebe 4 if( x > y ) //testa se 13 é maior que 4 ... É verdade. Então, entra no bloco do if { z = x; // z recebe x, que vale 13. Ou seja, z recebe 13 x = y; // x recebe y, que é 4. Ou seja, x recebe 4 y = z; // y recebe z, que vale 13. Ou seja, y recebe 13 } cout << z << " " << x << " " << y ; //SErá impresso : 13 4 13 8a 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 1 4 Ocorrerá erro, pois o trecho não compila. 1 1 Respondido em 15/04/2020 18:20:51 Explicação: Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 1a Questão Quero escrever um programa que leia o número equivalente a um dia da semana e retorne o nome equivalente considerando que 1- Domingo, 2 - Segunda etc. Qual a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla? for cout while do/while switch/case Respondido em 04/05/2020 19:57:16 Explicação: switch/case É para repetição do/while É para repetição for É para impressão na tela cout É para repetição while 2a 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; } comando switch aninhamento de if Operador ternário Estrutura condicional de comando simples Estrutura condicional de comando composto Respondido em 04/05/2020 19:58:37 Explicação: Como dito no gabarito. O operador ? : equivale ao comando if ... else. 3a 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 é divisível por 3 e por 5. Apenas 9 9 não é divisível por 2. 9 ### Nada aparece, pois o trecho de programa possui erro. Respondido em 04/05/2020 20:01:42 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### 4a 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íveis conforme se vê a seguir: *** Cardápio *** 100 - Hambúrguer - R$5,50 101 - Cachorro-quente - R$4,50 102 - Milkshake - R$7,00 103 - Pizza brotinho - R$8,00 104 - Cheeseburguer - R$8,50 Informe o código do seu pedido: ------------------------------------------------------------------- Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. Considerando a sintaxe do Portugol Studio, um algoritmo que possa resolver o problema da lanchonete, utilizando a estrutura ESCOLHA, no trecho referente à compra de um milkshake seria: caso 102: item="Milkshake" valor=qtde*7 pare enquanto (102) item="Milkshake" valor=qtde*7 para (item==102) { item="Milkshake" valor=qtde*7 } escolha 102: item="Milkshake" valor=qtde*7 pare se 102: item="Milkshake" valor=qtde*7 pare Respondido em 04/05/2020 20:04:11 5a 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 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!") } 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!") } 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 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!") } (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!") } Respondido em 04/05/2020 20:06:33 6a 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íveis conforme se vê a seguir: *** Cardápio *** 100 - Hambúrguer - R$5,50 101 - Cachorro-quente - R$4,50 102 - Milkshake - R$7,00 103 - Pizza brotinho - R$8,00 104 - Cheeseburguer - R$8,50 Informe o código do seu pedido: Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? switch (codigo) { if 100: item="Hambúrguer"; valor= qtde * 5.50; break; } switch (codigo) { default 100: item="Hambúrguer"; valor= qtde * 5.50; break;} switch (codigo) { case 100: item="Hambúrguer"; valor= qtde * 5.50; break; } while (codigo) { case 100: item="Hambúrguer"; valor= qtde * 5.50; break; } case (codigo) { switch 100: item="Hambúrguer"; valor= qtde * 5.50; break; } Respondido em 04/05/2020 20:07:32 7a Questão Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome do dia semana a partir de seu código numérico equivalente, armazenado na variável codigo. Confira a codificação: 1 - domingo, 2 - segunda-feira, 3 - terça- feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Veja o trecho da estrutura de seleção que poderia ser utilizado na solução: _____A_____ (codigo) { _____B_____ 1: escreva("domingo") ____C______ _____B_____ 2: escreva("segunda-feira") ____C______ _____B_____ 3: escreva("terça-feira") ____C______ _____B_____ 4: escreva("quarta-feira") _____C_____ _____B_____ 5: escreva("quinta-feira") _____C_____ _____B_____ 6: escreva("sexta-feira") _____C_____ _____B_____ 7: escreva("sábado") __________ _____D_____: escreva("Código inválido!") } As instruções que completam adequadamente as lacunas são: A - escolha, B - caso, C - pare, D - outros casos A - switch, B - case, C - break, D - default A - se, B - caso, C - pare, D - default A - case, B - switch, C - default, D - break A - caso, B - escolha, C - pare, D - outros casos Respondido em 04/05/2020 20:10:45 8a Questão Que comando em C++ é mais indicado para ser usado em um programa que permita a escolha de uma opção do MENU ? Por exemplo : 1-Incluir, 2-Excluir, 3-Alterar e 9-Sair. for while cout / cin switch / case do/while Respondido em 04/05/2020 20:08:27 Explicação: Por definição dada em aula de comando de seleção 1a 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; V - F - V F - F - F V - F - F F - F - V F - V - V Respondido em 14/05/2020 20:28:34 2a 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 é: if (num!=0) while (num==0) do (num!=0) for (num<=0) while (num!=0) Respondido em 14/05/2020 20:29:40 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 de seleção sequencial de atribuição condicional de repetição Respondido em 14/05/2020 20:36:38 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 Assinale a alternativa correta em relação a quantidade de vezes que a palavra "ALGORITMO" será impressa, no trecho de código abaixo: cont = 0; while( cont < 30 ) { cout << "ALGORITMO" << endl; cont = cont + 1; } 30 15 29 31 Nenhuma das alternativas. Respondido em 14/05/2020 20:37:06 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 5a 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; 30 40 25 20 35 Respondido em 14/05/2020 20:35:06 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. 6a Questão Em relação às técnicas de programação e construção de algoritmos, assinale a alternativa que apresente corretamente duas características da estrutura de controle repetir ... até que. O teste de controle é realizado no início da estrutura / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro. O teste de controle é realizado no fim da estrutura / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro. As instruções no loop são executadas pelo menos uma vez / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro. A execução permanece no loop enquanto o resultado do teste for verdadeiro / a saída da estrutura de repetição ocorre quando o resultado do teste é falso. A execução permanece no loop enquanto o resultado do teste for falso / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro. Respondido em 14/05/2020 20:33:16 Explicação: A execução permanece no loop enquanto o resultado do teste for verdadeiro / a saída da estrutura de repetição ocorre quando o resultado do teste é falso. 7a 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 loop do case for repeat Respondido em 14/05/2020 20:31:18 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 8a 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. String cont = ""; { cont++; } while (cont!="") int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; }while () { cout << "exibindo o número"; } while (if cont =10){ } while (repita 10 vezes) { } Respondido em 14/05/2020 20:30:22 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){ } 1a Questão Para que a palavra "AMOR" seja escrita na tela 5 vezes, qual condição apropriada deve ser colocada no trecho de código abaixo? Marque a opção correta. x = 1; while ( _________ ) { cout<<"AMOR \n"; x = x + 2; } x <= 11 x < 5 x <= 5 x < 10 x > 10 Respondido em 17/05/2020 17:51:43 Explicação: Analisando : x = 1; while ( _________ ) { cout<<"AMOR \n"; x = x + 2; } Note que x é um contador que é inicializado com 1 e que varia de 2 em 2. Logo, é preciso testar x < 10. Veja que entraremos no loop quando : x vale 1 x vale 3 x vale 5 x vale 7 x vale 9 E quando x for para 11, o teste do loop falhará. Então, teremos entrado 5 vezes no bloco do while. 2a Questão Em relação às técnicas de programação e construção de algoritmos, assinale a alternativa que apresente corretamente duas características da estrutura de controle repetir ... até que. O teste de controle é realizado no início da estrutura / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro. A execução permanece no loop enquanto o resultado do teste for falso / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro. O teste de controle é realizado no fim da estrutura / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro. As instruções no loop são executadas pelo menos uma vez / a saída da estrutura de repetição ocorre quando o resultado do teste é verdadeiro. A execução permanece no loop enquanto o resultado do teste for verdadeiro / a saída da estrutura de repetição ocorre quando o resultado do teste é falso. Respondido em 17/05/2020 17:52:49 Explicação: A execução permanece no loop enquanto o resultado do teste for verdadeiro / a saída da estrutura de repetição ocorre quando o resultado do teste é falso. 3a Questão Qual a estrutura de repetição mais indicada para os casos em que é necessário que o bloco de código a ser repetido seja sempre repetido pelo menos uma vez? while{} do{ }while repeat until for{} while do Respondido em 17/05/2020 17:53:44 Explicação: O comando do... while deixa fazer para depois testar. Logo, é feita apenas 1 vez. No caso do comando while ou for, é possível não entrarmos no bloco do loop nenhuma vez. 4a 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; } O maior de todos os elementos digitados O menor de todos os elementos digitados A média dos elementos digitados A quantidade de elementos digitados diferentes de zero. A quantidade de elementos pares Respondido em 17/05/2020 17:55:18 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. 5a 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 de seleção de repetição de atribuição sequencial Respondido em 17/05/2020 18:03:06 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 6a Questão A linguagem de programação C++ dispõe de três estruturas de repetição: do..while, while e for. Pensando na maneira como cada uma delas funciona, observe o trecho de código a seguir: Qual das alternativas a seguir, escritas com a estrutura for, equivale à estrutura while anterior? for (int cont=10; cont <= 200; cont+=2) { cout << "Estamos na " << cont << "a. rodada..."; } for (int cont=0; cont <= 10; cont++) { cout << "Estamos na " << cont << "a. rodada..."; } for (cont++; cont <= 10; int cont=0) { cout << "Estamos na " << cont << "a. rodada..."; } for (int cont=0; cont <= 10; cont+=2) { cout << "Estamos na " << cont << "a. rodada..."; } for (int cont=10; cont <= 0; cont++) { cout << "Estamos na " << cont << "a. rodada..."; } Respondido em 17/05/2020 18:02:06 7a 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? while (cont!=0) { cont++; totCalorias+=0; cout<< "Informe as calorias do alimento " << cont <<": "; cin>> calAlimento; } while (calAlimento!=0) { cont++; totCalorias+=calAlimento; cin<< "Informe as calorias do alimento " << cont <<": "; cout>> calAlimento; } 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; cout<< "Informe as calorias do alimento " << cont <<": "; cin>> calAlimento; } Respondido em 17/05/2020 17:59:00 8a Questão Assinale a alternativa correta em relação a quantidade de vezes que a palavra "PAZ" será impressa, no trecho de código abaixo: x = 50; do{ y = 8; do{ cout<<"PAZ \n"; y++; } while ( y <10); x--; }while ( x > 48); 7 vezes 5 vezes 4 vezes 8 vezes 6 vezes Respondidoem 17/05/2020 17:56:21 Explicação: Analisando passo a passo o trecho dado : x = 50; do{ y = 8; do{ cout<<"PAZ \n"; y++; } while ( y <10); x--; } while ( x > 48); x y 50 8 49 9 48 (48 > 48 ? ) Falso 10 ... 10 < 10 ? FALSO 8 9 10 ... 10 < 10 ? Falso PAZ PAZ PAZ PAZ 1a 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 22 41 60 79 98 3 22 41 59 79 98 3 23 42 61 80 99 3 23 40 60 79 98 3 22 41 60 79 99 Respondido em 18/05/2020 15:34:08 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 2a Questão 50 e 16 9 e 9 o valor de s está indefinido e o valor de num é 7 50 e 9 16 e 9 Respondido em 18/05/2020 15:38:41 Explicação: conta num s conta <= 40 ? 10 1 0 sim 20 3 0 + 1 , que dá 1 sim 30 5 1 + 3, que dá 4 sim 40 7 4 + 5, que é 9 sim 50 9 9 + 7, que é 16 Falso ! Valor final de s é 16 e o valor final de num é 9 3a Questão Marque a opção correta. Considere o trecho de programa feito abaixo em C++. O que é impresso na tela ? int conta, num = 1, prod = 1; for (conta = 4; conta > 0; conta--) { prod = prod *num; num++; } cout << "Prod = " << prod << " num = " << num << endl; Prod = 24 num = 5 Prod não pode ser calculado e num assumirá o valor final 5. Prod = 6 num = 5 Prod = 6 num = 4 Prod = 1 num = 2 Prod = 2 num = 3 Prod = 6 num = 4 Prod = 24 num = 5 Respondido em 18/05/2020 15:39:07 Explicação: Analisando o trecho e fazendo em seguida um teste de mesa : int conta, num = 1, prod = 1; for (conta = 4; conta > 0; conta--) { prod = prod *num; num++; } cout << "Prod = " << prod << " num = " << num << endl; TESTE de mesa : conta conta > 0 num prod 4 4 > 0 ? sim 1 1 3 3 > 0 ? sim 2 1 2 2 > 0 ? sim 3 2 1 1 > 0 ? sim 4 6 0 0 > 0 ? FAlso 5 24 Terminando o for, será impresso : Prod = 24 num = 5 4a 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 valores entre 1 e 5 (inclusive)em ordem crescente. Os números ímpares entre 1 e 5 em ordem decrescente. Os valores entre 1 e 5 (inclusive) em ordem decrescente. Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente. Os números pares entre 1 e 5 (inclusive) em ordem crescente. Respondido em 18/05/2020 15:45:56 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. 5a 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 1 6 3 4 1 2 6 5 3 2 1 5 4 3 2 1 5 6 3 2 1 Respondido em 18/05/2020 15:49:47 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. 6a 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; } O maior de todos os elementos digitados O menor de todos os elementos digitados A média dos elementos digitados A quantidade de elementos digitados A quantidade de elementos pares Respondido em 18/05/2020 15:51:33 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) 7a 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 (int i=0; i =< 200; i++) for (int i=0, i <= 200, i++) for ( i=0; i <= 200; i++) for (int i=0; i <= 200; i++) Respondido em 18/05/2020 15:52:53 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++) 8a Questão Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? for (i = num; i > 0; i++) for ( i = 0; i == num; i++) while (num != 0) while (num == 0) enquanto (num > 0) Respondido em 18/05/2020 15:53:24 Explicação: verdadeira while (num != 0) FAlsa. Diferente é !=. Nesta opção está "enquanto num é igual a zero." while (num == 0) FAlsa. Nesta opção está "enquanto num for maior que zero" enquanto (num > 0) Falsa. Teste incorreto no for. == é para teste de igualdade. for ( i = 0; i == num; i++) FAlsa. Não inicializa ou testa corretamente. for (i = num; i > 0; i++) 1a Questão 0 1 2 3 4 5 4 3 2 1 0 -1 0 1 2 3 4 5 6 7 8 -1 0 1 2 3 4 4 3 2 1 -1 0 1 2 3 4 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 Respondido em 18/05/2020 15:28:20 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 terceirofor, 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. 2a Questão Observe as declarações abaixo e assinale a opção correta. I int idades[]={5,16,27,19}; II float CR[3]={6.1, 8.9, 9.3}; III char letras[]={"A", "E", "I", "O", "U"}; IV char letras[]={"ALGORITMOS"}; As declarações III e IV estão erradas As declarações I , II e IV estão corretas As declarações I , II e III estão corretas Somente as declarações I e II estão corretas A declaração I está errada e a declaração II está correta Respondido em 18/05/2020 15:16:22 Explicação: A afirmativa III está incorreta porque cada caracter deve estar entre aspas simples e não duplas. 3a 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] escolha (total%2==0) { escreva("Jogador A venceu!\n") } outros casos { escreva("Jogador B venceu!\n") } total=jogadasA+jogadasB se (total%2==0) { escreva("Jogador A venceu!\n") } senao { escreva("Jogador B venceu!\n") } total=jogadasA[ind]+jogadasB[ind] se (total%2==0) { escreva("Jogador A venceu!\n") } senao { escreva("Jogador B venceu!\n") } total++ 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") } Respondido em 18/05/2020 15:19:48 4a 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: int lista[15]; int LISTA[16]; float lista[16]; float LISTA[15]; float lista[15]; Respondido em 18/05/2020 15:14:10 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]; 5a Questão Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________. bidimensional - heterogênea - conjunto de valores - do mesmo tipo unidimensional - heterogênea - único valor - de tipos variados unidimensional - homogênea - único valor - de tipos variados bidimensional - homogênea - único valor - do mesmo tipo unidimensional - homogênea - conjunto de valores - do mesmo tipo Respondido em 18/05/2020 15:12:57 6a Questão Os chamados vetores e matrizes podem ser considerados como: Comandos de repetição Comandos de seleção composta Comandos de seleção Estruturas de dados homogêneas Estruturas de dados heterogêneas Respondido em 18/05/2020 15:09:33 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 7a 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;i++) { 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) { SOMA=NUM[i]; } for (i=0;i<=9;i++) { SOMA=SOMA[i]+NUM } Respondido em 18/05/2020 15:11:46 8a 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=1;i<=30;i++){ vetor[i] = 0; } for(int i=0;i<30;i++){ vetor[i] = 0; } Respondido em 18/05/2020 15:03:13 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; } 1a 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 18/05/2020 20:24:44 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. 2a 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. c) float notasAlunos[30,6]; e) float notasAlunos[][]; a) float notasAlunos[30][6]; b) float notasAlunos[6][30]; d) float notasAlunos[6,30]; Respondido em 18/05/2020 20:26:11 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]; 3a Questão Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena a quantidade estocada de 3 produtos no último quadrimestre (4 meses). Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá: Somar todas as linhas da coluna índice 0. Somar todas as colunas da linha índice 0. Somar todas as linhas da coluna índice 1. Somar todas as colunas da linha índice 1 Somar todas as linhas de todas as colunas. Respondido em 18/05/2020 20:32:20 Explicação: Em cada linha se tem os preços de um produto. Em cada coluna de uma linha se tem o preço em cada mês do produto. Daí, a resposta ser a indicada no gabarito. 4a Questão Sabendo-se que a sintaxe do C e do C++ estabelece que a declaração devetores 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]; e) float notasAlunos[][]; a) float notasAlunos[30][6]; c) float notasAlunos[30,6]; d) float notasAlunos[6,30]; Respondido em 18/05/2020 20:37:04 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[][]; 5a 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 2 3 1 2 3 4 5 6 7 8 9 1 3 5 7 9 2 4 6 8 1 5 9 Respondido em 18/05/2020 20:24:16 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 6a 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 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 repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as colunas e variando de 0 a 3. Duas estruturas seletivas: uma controlando as linhas e variando de 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 . Respondido em 18/05/2020 20:22:12 7a 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("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) M2[lin][col]=M1[lin][col] } } enquanto (lin=0;lin<=3;lin++) { enquanto (col=0;col<=3;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) M2[col][lin]=M1[lin][col] } } para (lin=0;lin<=3;lin++) { 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(M2[lin][col]," ") } } Respondido em 18/05/2020 20:39:19 8a 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[1][40]; int edificio[5][8]; int edificio[40][1]; int edificio[40][5]; int edificio[8][5]; Respondido em 18/05/2020 20:17:29 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.
Compartilhar