Baixe o app para aproveitar ainda mais
Prévia do material em texto
1. 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 switch / case while cout / cin do/while Explicação: Por definição dada em aula de comando de seleção 2. 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!") } 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!") } 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!") } (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!") } 3. Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: *** Cardápio *** 100 - Hambúrguer - R$5,50 101 - Cachorro-quente - R$4,50 102 - Milkshake - R$7,00 103 - Pizza brotinho - R$8,00 104 - Cheeseburguer - R$8,50 Informe o código do seu pedido: Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? switch (codigo) { case 100: item="Hambúrguer"; valor= qtde * 5.50; break; } case (codigo) { switch 100: item="Hambúrguer"; valor= qtde * 5.50; break; } while (codigo) { case 100: item="Hambúrguer"; valor= qtde * 5.50; break; } switch (codigo) { default 100: item="Hambúrguer"; valor= qtde * 5.50; break; } switch (codigo) { if 100: item="Hambúrguer"; valor= qtde * 5.50; break; } 4. Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 7 ? Assinale a opção correta. int num; cout << "Digite um numero: "; cin >> num; if (num % 2 == 0) cout << num << "é divisível por 2"; else if (num % 3 == 0 && num % 5 == 0) cout << num << " é divisível por 3 e por 5"; else cout << num << " ### " ; 7 é divisível por 3 e por 5. Apenas 7 7 não é divisível por 2. Nada aparece, pois o trecho de programa possui erro. 7 ### Explicação: Analisando o trecho em C++ e considerando a entrada 7 temos : num recebeu 7 na entrada. 1o. teste : 7 % 2 é zero ? Falso. Então, entramos no else do 1o. if e testamos a condição do 2o. if 2o. teste : 7 % 3 é zero ? Falso. Nem adianta testar a outra condição deste if, pois existe o &&. DAí, entramos no else do 2o. if, imprimindo na tela 7### Logo, a resposta correta é 7### 5. Considere que o trecho de código em C++ foi executado 2 vezes, sendo que na 1ª. execução o valor de entrada foi 10 e na 2ª. execução, o valor de entrada foi 5. Ao final das duas execuções, respectivamente, o que foi impresso na tela ? cout << "Digite um valor : "; cin >> z; switch(z) { case 5 : cout << 3 * z << " "; case 10 : cout << 11 /2 * z << " "; case 20 : cout << z * z - 10 << endl; break; default : cout << "Entrada invalida. " << endl; } 50 90 15 25 15 15 27.5 15 55 90 15 25 15 50 90 55 1 55 90 15 27.5 15 Explicação: O aluno deverá fazer um teste de mesa ou chinês para poder escolher a resposta certa. Tal questão envolve conhecimento de switch ... case com e sem break e de operadores aritméticos, como a divisão entre inteiros ocorrida no 2o. case. 6. 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? while for switch/case do/while break 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 7. Considerere um trecho de um programa em C++. Qual a variável que será alterada e para qual valor ela mudará ? int a = 2, b = 4, x = 12, y = 11, z = 3; float t = 0; if (x < y+z) if (y != z*4 - 2) t = y/z; else a = y % z; else b = z + y/x; A variável b ficará 1 Nenhuma variável será alterada. A variável a ficará 1 A variável b ficará 3 A variável t ficará 3 Explicação: int a = 2, b = 4, x = 12, y = 11, z = 3; float t = 0; if (x < y+z) if (y != z*4 - 2) t = y/z; else a = y % z; else b = z + y/x; Analisando o trecho acima. 1o. if : 12 < 14 ? Sim. Entrar no 1o. if. 2o. if : 11 != 3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if. Então, é preciso fazermos t receber y/z, ou seja, t receber 11/3, que dá 3. 8. 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; } aninhamento de if comando switch Estrutura condicional de comando simples Estrutura condicional de comando composto Operador ternário Explicação: Como dito no gabarito. O operador ? : equivale ao comando if ... else.
Compartilhar