Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Questão Assinale a opção correta. Um programa é um algoritmo codificado em uma linguagem de programação. Um programa é um algoritmo codificado em linguagem natural. Programa e fluxograma são sinônimos. Um programa é um algoritmo codificado em uma pseudolinguagem. Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a linguagem de programação. Respondido em 28/04/2021 22:30:34 Explicação: Um programa é um algoritmo codificado em uma linguagem de programação. Verdadeira Falsa. Programa é código escrito em alguma linguagem de programação. Fluxograma é uma representação gráfica de algoritmo. Programa e fluxograma são sinônimos. Falso. Programa é um algoritmo codificado ou escrito em alguma linguagem de programação. Um programa é um algoritmo codificado em linguagem natural. Falso. Programa é um algoritmo codificado ou escrito em alguma linguagem de programação. Um programa é um algoritmo codificado em uma pseudolinguagem. Falso. É fundamental o uso da lógica de programação além de se conhecer a linguagem de programação. Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a linguagem de programação. 2 Questão A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser realizada é chamada de: Diagrama Algoritmo Pseudocódigo Fluxograma Linguagem de Programação Respondido em 28/04/2021 22:30: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 3 Questão Sobre fluxograma, assina a opção correta. É uma forma de se representar o uso de hardware no programa. É uma representação gráfica de algoritmos que dá margem à dupla interpretação ou ambiguidades. É usado na escrita de pseudolinguagens, como o Portugol. É uma forma de se escrever programas em qualquer linguagem de programação. É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidade . Respondido em 28/04/2021 22:30:59 Explicação: É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidades, como ensinado na aula 1 online. 4 Questão Fluxograma é um "diagrama esquemático que apresenta uma sequência de operações, tal como para um programa de computador ou processo industrial" (in Dicionário Priberam da Língua Portuguesa [em linha], 2008-2013, http://www.priberam.pt/dlpo/fluxograma [consultado em 13-08-2014]. Abaixo temos um fluxograma de notas (N1 e N2) obtidas pelo aluno João. Selecione a opção que apresenta os itens de entrada do fluxograma. Reprovado N1 e N2 Fim Média Aprovado Respondido em 28/04/2021 22:31:52 Explicação: Logo após o início do algoritmo aparecem N1 e N2 no símbolo que representa entrada de dados. 5 Questão Com base nos conceitos de algoritmos, lógica de programação e linguagens de programação, é correto afirmar que: As linguagens de programação possuem um conjunto de regras flexíveis para a representação dos comandos de um programa. Os três conceitos correspondem às únicas formas de representação da solução de um determinado problema. Lógica de programação corresponde à representação gráfica de um determinado algoritmo. Os algoritmos correspondem, estritamente, aos conjuntos de dados e informações que são tratados em um determinado processamento. As linguagens de programação possibilitam a codificação de um determinado algoritmo, de acordo com um conjunto de regras específico. Respondido em 28/04/2021 22:32:05 Explicação: 1ª. opção : Falso. As representações de algoritmos são linguagem natural, fluxograma e pseudocódigo. 2ª. opção . Falso. Fluxograma corresponde à representação gráfica de algoritmos. 3ª. opção. Verdadeira. De acordo com o ensinado na aula 1. 4ª. opção. Falso. Em algoritmos se vê também os comandos, além dos dados. 5ª. opção. Falso. As regras não são flexíveis. Temos que seguir corretamente a sintaxe das linguagens na criação de programas. 6 Questão Assinale a alternativa correta relacionada à característica de um algoritmo: Valores de entrada são recebidos através do monitor. Teste de Mesa serve para receber os comandos de entrada. A execução de um algoritmo é feita sequencialmente. Para cada variável pode ser definido mais de um tipo de dado. Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. Respondido em 28/04/2021 22:32:29 Explicação: Verdadeira A execução de um algoritmo é feita sequencialmente. Falso. Entrada é via teclado ou via arquivo, o que aqui não é o caso. Valores de entrada são recebidos através do monitor. Falso. Apenas um tipo de dado. Para cada variável pode ser definido mais de um tipo de dado. Falso. Teste de mesa serve para fazer um passo a passo. Teste de Mesa serve para receber os comandos de entrada. Falso. Tipo real aceita número com casas decimais ou inteiros. Tipo inteiro aceita apenas valores inteiros. Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. 7 Questão Algoritmo pode ser definido como a descrição dos passos para a execução de uma tarefa. Existem algumas formas distintas de representação de algoritmos, onde as principais são: Linguagem Natural, Linguagem Gráfica e Pseudocódigos. Se usarmos N para representar linguagem Natural, G para representar linguagem Gráfica e P para representar pseudocódigos, pode-se relacionar estas formas de representação de algoritmos com as seguintes afirmações: ( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se restringe apenas a algoritmos computacionais. ( ) Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da maioria das linguagens de programação. ( ) A grande ambiguidade existente nos significados de seus termos é uma restrição a representação aos algoritmos computacionais. Marque a alternativa que representa a o relacionamento existente entre as afirmações e as formas de representação de algoritmos. N, P, G P, N, G G, P, N G, N, P N, G, P Respondido em 28/04/2021 22:32:42 Explicação: Analisando as afirmativas : ( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se restringe apenas a algoritmos computacionais. <<< Fluxograma, por exemplo, que é uma linguagem gráfica >>> ( ) Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da maioria das linguagens de programação. <<< Pseudocódigo >>> ( ) A grande ambiguidade existente nos significados de seus termos é uma restrição a representação aos algoritmos computacionais. <<< Linguagem natural >>> 8 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 II e III são INCORRETAS Apenas a alternativa I é CORRETA Todas as alternativas são CORRETAS Apenas as alternativas I e II são CORRETAS Apenas as alternativas I e III são CORRETAS Respondido em 28/04/2021 22:33:04 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. A2 1 Questão Uma variável pode ser entendida como sendo: Um dispositivo de entrada de dados. Um elemento da unidade lógica de controle. Um dispositivo de memória auxiliar. Um dispositivo de saída de dados. Um endereço na memória principal. Respondido em 28/04/2021 22:33:46 Explicação: Analisando cada item : Falso. Variável ocupa espaço em memória e tem um endereço. Um dispositivo de entrada de dados é o teclado. Um dispositivo de entrada de dados. Falso. Variável ocupa espaço em memória e tem um endereço. Um dispositivo de memória auxiliar. Verdadeiro. Um endereço na memória principal. Falso. Variável ocupa espaço em memória e tem um endereço. Um dispositivo de saída de dados é o monitor. Um dispositivo de saída de dados. Falso. Variável ocupa espaço em memória e tem um endereço. Um elemento da unidade lógica de controle. 2 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." int float real char bool Respondido em 28/04/2021 22:34:13 Explicação: Conforme gabarito e aula de tipos primitivos de dados 3 Questão Assinale a opção que apresenta somente nomes válidos para variáveis em C++. CONTA, TOTAL1, 1DATA Conta, Total, 5data Conta, Total1, DIA-MÊS-ANO 1conta, 2total, 3data CONTA, TOTAL1, data Respondido em 28/04/2021 22:34:54 Explicação: Falsa. Não se pode começar nome de variável com dígito. CONTA, TOTAL1, 1DATA Falsa. Não se pode começar nome de variável com dígito. Conta, Total, 5data Verdadeiro CONTA, TOTAL1, data Falsa. Não se pode pôr acento ou usar hífen em nome de variável. Conta, Total1, DIA-MÊS-ANO Falsa. Não se pode começar nome de variável com dígito. 1conta, 2total, 3data 4 Questão Assinale a opção correta : Se precisamos de armazenar 1 caracter usamos o tipo char na declaração da variável O tipo int serve para variáveis inteiras ou reais, de pouca precisão Não se pode usar o underscore ou sublinhado em nome de variável, mas apenas letras e dígitos. Quando declaramos variáveis do mesmo tipo usamos o ponto e vírgula para separá-las. Para declarar uma variável podemos usar o tipo da variável ou não. Respondido em 28/04/2021 22:35:16 Explicação: De acordo com as descrições e características apresentadas na aula sobre variáveis. 5 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 Estrutura de Seleção atribuição Comando PARA Comando Enquanto-Faça Respondido em 28/04/2021 22:35:42 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 6 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++? const real PI=3.14; const int PI=3.14; const integer PI=3.14; float PI=3.14; const float PI=3.14; Respondido em 28/04/2021 22:36:08 7 Questão Um restaurante self-service vende comida por peso e cobra R$ 34,90 por quilo consumido. Sabendo que o preço a ser pago pelo cliente é calculado a partir do peso de seu prato multiplicado pelo valor do quilo, o trecho de declaração de variáveis em C++ que seria necessário em um programa capaz de informar ao cliente o valor a pagar é: float quilo = 34.90; float prato = 0; float valor_pagar = 0; char quilo = 34.90; char prato = 0; char valor_pagar = 0; bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0; real quilo = 34.90; real prato = 0; real valor_pagar = 0; int quilo = 34.90; int prato = 0; int valor_pagar = 0; Respondido em 28/04/2021 22:36:26 8 Questão Os comentários são recursos que podem ser utilizados pelos programadores para: Inserir diretivas para o compilador Inserir textos explicativos apenas para o usuário Inserir comandos que serão executados pela máquina Inserir textos explicativos apenas para o programador Inserir comandos que serão traduzidos pelo compilador Respondido em 28/04/2021 22:36:45 Explicação: Falso. Comentário não é comando ou permite inserir comando. Inserir comandos que serão executados pela máquina Falso. Comentário não é comando ou permite inserir comando. Inserir comandos que serão traduzidos pelo compilador Verdadeiro Inserir textos explicativos apenas para o programador Falso. O usuário não irá ler o programa. Inserir textos explicativos apenas para o usuário Falso. O compilador irá ignorar o texto explicativo dos comentários. Inserir diretivas para o compilador A3 1 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 nao D A ou B e C e D A ou B e C e nao D A e B ou C ou nao D A ou nao B e nao C e nao D Respondido em 28/04/2021 22:37:10 2 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 - V - V - F V - V - V - V F - F - V - F V - F - F - F F - V - V - F Respondido em 28/04/2021 22:37:18 3 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 28/04/2021 22:37:34 Explicação: Conforme aula e gabarito. É importante primeiro somar as notas e depois dividir por 2. 4 Questão Assinale a opção correta. As expressões lógicas retornam valores inteiros São operadores lógicos : &&, ||, != os operadores matemáticos não tem precedência de uso São operadores relacionais : = , > , < Os operadores matemáticos são : +, - , *, / e %. Respondido em 28/04/2021 22:37:57 Explicação: Os operadoresmatemáticos são : +, - , *, / e %. = VERDADE São operadores lógicos : &&, ||, != --> != não é operador lógico e sim relacional (diferente) --> FALSO São operadores relacionais : = , > , < ---> = não é operador relacional e sim comando de atribuição de valor a variável.--> FALSO As expressões lógicas retornam valores inteiros --> FALSO, retornam valores lógicos (V ou F) os operadores matemáticos não tem precedência de uso --: FALSO, há precedencia sim, o * tem preferencia sobre a soma e subtrção 5 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 V, V, F, F, V, V, F, F F, F, F, F, F, V, V, V V, F, V, F, V, F, V, F F, V, F, V, V, F, V, F Respondido em 28/04/2021 22:38:00 6 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 28/04/2021 22:38:21 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. 7 Questão Sendo X = 1, Y = 2 e Z = 5, assinale a alternativa correta, dentre as relacionadas abaixo, que corresponde aos questionamentos realizados em relação à expressão: X * X + Y > Z. Questionamentos: - Esta expressão é VERDADEIRA ou FALSA? - O valor do termo X * X + Y é igual a qual valor ? A expressão é FALSA, e o valor de X * X + Y = 6. A expressão é VERDADEIRA, e o valor de X * X + Y = 3. A expressão é FALSA, e o valor de X * X + Y = 4. A expressão é VERDADEIRA, e o valor de X * X + Y = 5. A expressão é FALSA, e o valor de X * X + Y = 3. Respondido em 28/04/2021 22:39:26 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. 8 Questão Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos. &&, >= e <= &&, || e ! +, - e * =, > e ? !, > e >= Respondido em 28/04/2021 22:39:55 Explicação: Falso. O único operador lógico é o ! !, > e >= Verdadeiro. &&, || e ! Falso. Nâo há operador lógico neste item. =, > e ? Falso. O único operador lógico é o && &&, >= e <= Falso. Nâo há operador lógico neste item. +, - e * A4 1 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 - F - F F - F - F V - V - V F - V - F V - V - F Respondido em 28/04/2021 22:40:33 2 Questão No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso que sejam utilizadas a biblioteca _______________ e a função _______________. locale - ptb iostream - ptb math - math.round locale - setlocale iostream - setlocale Respondido em 28/04/2021 22:44:00 3 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: ") leia(tempF) tempC=(tempF-32)/1.8 real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) 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) Respondido em 28/04/2021 22:44:10 4 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$ 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." "Você consegue abastecer 51.28 litros de combustível." "Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." Respondido em 28/04/2021 22:44:20 5 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") leia("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 28/04/2021 22:44:53 6 Questão Assinale a opção correta : Para entrada de dados usamos cin com >> e para saída de dados usamos cout com << Para entrada de dados usamos cout e para saída de dados usamos cin 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 >> Para entrada de dados usamos cin com << e para saída de dados usamos cout com >> Respondido em 28/04/2021 22:46:32 Explicação: Basta seguir as descrições na aula 2.7 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); float nota1..nota3, media; int nota1, nota2, nota3, media; real nota1, nota2, nota3; nota1, nota2, nota3 : float float nota1, nota2, nota3, media; Respondido em 28/04/2021 22:46:46 Explicação: as 4 variáveis precisam ser float, para conterem valores com casas decimais 8 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 idade; cin > idade cout << "lendo a idade"; cin >> idade; cout "lendo a idade"; cin idade; System.out.println("lendo idade"); System.out.println("lendo idade"); Respondido em 28/04/2021 22:46:54 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"); A5 1 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!"; } 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!"; } 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) Respondido em 28/04/2021 22:47:16 2 Questão Analise o programa abaixo e selecione a alternativa que contenha a condição correta para que o número 27 seja mostrado na tela. #include using namespace std; int main() { int N1, N2; N1= 27; N2= 54; if ( ______________ ) { cout<< N2; } else { cout<< N1; } return 0; } N1 < N2 && N1 < 50 N2 > N1 || N1 > 50 N1 > N2 || N2 < 50 N1 < N2 && N1 > 20 N2 == N1 || N2 > 20 Respondido em 28/04/2021 22:47:38 3 Questão Quando estudamos sobre a estrutura do se ... entao...senao, sempre nos é dito que, quando tivermos duas possibilidades de respostas, devemos escolher a estrutura do se composto ao invés de usar duas estruturas do se simples. Observe as afirmativas abaixo e, depois, escolha a resposta que respalda o uso do se composto pelo que foi dito acima ao invés do se simples. I Maior clareza no código, mas não influência na eficiência do mesmo II Maior eficiência porque diminui o número de testes no código III Maior eficiência somente porque o código fica mais legível, visto que o resultado final é o mesmo IV Somente uma escolha do desenvolvedor, visto que o resultado o resultado final é o mesmo A II E A III estão corretas Somente a I está correta Somente a II está correta A II E IV estão corretas Somente a IV está correta Respondido em 28/04/2021 22:48:10 Explicação: I Maior clareza no código, mas não influência na eficiência do mesmo . Comentário : Falso. Traz clareza e afeta a eficiência sim, pois acaba se fazendo testes desnecessários. II Maior eficiência porque diminui o número de testes no código Comentário : Correto. III Maior eficiência somente porque o código fica mais legível, visto que o resultado final é o mesmo. Comentário : Falso. Não é só legibilidade, mas é uma questão de eficiência, pois evita-se teste desnecessário. IV Somente uma escolha do desenvolvedor, visto que o resultado o resultado final é o mesmo Comentário : Falso. O desenvolvedor pode escolher sim, mas o uso adequado do condicional composto pode trazer maior eficiência para o código. Opção correta : Somente a II está correta 4 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, 6 e 16 1, 6 e 7 1, 7 e 7 0, 6 e 7 1, 7, 17 Respondido em 28/04/2021 22:48:35 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 5 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: Matricial Repetição Recursiva Decisão Vetorial Respondido em 28/04/2021 22:48:53 Explicação: A opção que determina a estrutura de controle citada é a Decisão 6 Questão Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando que você tenha um algoritmo no qual o salário esteja armazenado na variável SAL e o total de gastos esteja armazenado na variável GASTOS, como deve ser escrita a estrutura seletiva responsável por testar o que você deseja descobrir? se (GASTOS<=SAL) escreva("Você gastou mais do que deveria!") se (GASTOS>SAL) escreva("Você gastou mais do que deveria!") se (GASTOS==SAL) escreva("Você gastou mais do que deveria!") se (GASTOS escreva("Você gastou mais do que deveria!") se (GASTOS>=SAL) escreva("Você gastou mais do que deveria!") Respondido em 28/04/2021 22:49:00 7 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 ; 177 235 138 138 235 138 235 235 138 177 138 235 138 138 235 Respondido em 28/04/2021 22:49:14 Explicação: A variável m ficará com o menor valor 8 Questão Tendo em mente os conceitos dos comandos básicos de decisão do C++, analise o trecho de programa abaixo e assinale a alternativa que corresponda a saída na tela: -1 2 11 22 5 A6 1 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) { 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"; } 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"; } Respondido em 28/04/2021 22:50:30 2 Questão Considerere um trecho de um programa em C++. Qual a variável que será alterada e para qual valor ela mudará ? int a = 2, b = 4, x = 12, y = 11, z = 3; float t = 0; if (x < y+z) if (y != z*4 - 2) t = y/z; else a = y % z; else b = z + y/x; A variável b ficará 1 A variável t ficará 3 A variável a ficará 1 Nenhuma variável será alterada. A variável b ficará 3 Respondido em 28/04/2021 22:50:41 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. 3 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. As afirmativas I e IV são verdadeiras As afirmativas II, III e IV são verdadeiras Somente a afirmativa I é verdadeira Somente a afirmativa III é falsa Somente a afirmativa II é verdadeira Respondido em 28/04/2021 22:50:53 Explicação: As respostas falsas são conclusivas 4 Questão A linguagem C++ possui estruturas de decisão, as quais podem mudar a sequência de execução dos comandos. Analise o trecho de programa abaixo e assinale a alternativa que corresponda a estrutura de decisão utilizada. int main() { int num; cout<<"Digite um número: "; cin>> num; (num > 0)?cout<< num : cout<<" Número negativo "; return 0; } Operador ternário comando switch aninhamento de if Estrutura condicional de comando simples Estrutura condicional de comando composto Respondido em 28/04/2021 22:51:12 Explicação: Como dito no gabarito. O operador ? : equivale ao comando if ... else. 5 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 - switch, B - case, C - break, D - default A - escolha, B - caso, C - pare, D - outros casos A - caso, B - escolha, C - pare, D - outros casos A - se, B - caso, C - pare, D - default A - case, B - switch, C - default, D - break Respondido em 28/04/2021 22:51:19 6 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 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!") } 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 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 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!") } Respondido em 28/04/2021 22:51:24 7 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 se 102: item="Milkshake" valor=qtde*7 pare escolha 102: item="Milkshake" valor=qtde*7 pare para (item==102) { item="Milkshake" valor=qtde*7 } Respondido em 28/04/2021 22:51:28 8 Questão Quero escrever um programa que leia o número equivalente a um dia da semana e retorne o nome equivalente considerando que 1- Domingo, 2 - Segunda etc. Qual a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla? while cout switch/case for do/while Respondido em 28/04/2021 22:51:47 Explicação: switch/case É para repetição do/while É para repetição for É para impressão na tela cout É para repetição while A7 1 Questão Assinale a alternativa correta em relação a quantidade de vezes que a palavra "PAZ" será impressa, no trecho de código abaixo: x = 50; do{ y = 8; do{ cout<<"PAZ \n"; y++; } while ( y <10); x--; }while ( x > 48); 8 vezes 6 vezes 4 vezes 5 vezes 7 vezes Respondido em 28/04/2021 22:52:32 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 2 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 é: for (num<=0) do (num!=0) while (num!=0) if (num!=0) while (num==0) Respondido em 28/04/2021 22:52:37 3 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 zero e os números exibidos são todos os pares de 10 até 0, nesta ordem. O trecho fornecido pára quando num for diferente de zero e o único número exibido é o 10. O trecho fornecido pára quando num for zero e os números exibidos são todos os pares de 10 até 2, nesta ordem. o trecho fornecido pára quando num for diferente de zero e são exibidos os valores 10 e 8, pelo menos. O trecho entra em loop. Respondido em 28/04/2021 22:52:43 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. 4 Questão A fim de possibilitar a implementação de algoritmos estudamos algumas estruturas básicas, como estrutura de desvio de fluxo, estrutura de repetição etc. Entre as estrutura de repetição há uma na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição. Esta estrutura é implementada em C++ pelo comando básico: while for/while do/while do/for for Respondido em 28/04/2021 22:52:52 Explicação: O comando do...while faz para depois testar. Então, o bloco a ser repetido será executado pelo menos uma vez antes de testarmos a condição. Os comando for ou while, temos que testar antes de fazer. 5 Questão Considerando a seguinte sequencia de instruções, marque a alternativa que indica o comando correspondente para preenchimento da lacuna. ... cin>>matricula; ______________ (matricula<99) { cin>>matricula; } loop while for do case repeat Respondido em 28/04/2021 22:53:01 Explicação: Falso. Nâo tem repeat em C++. repeat Falso. Não se encaixa a sintaxe do comando for. for Verdadeiro while Falso. Não existe comando do... case. do case Falso. Nâo existe comando loop. loop 6 Questão Imagine que você precisa escrever um programa em C++ que receba uma sequência de números e, para cada número informado, diga se ele é par ou ímpar. Essa sequência se encerra quando o usuário digitar 0 e você precisa utilizar uma estrutura repetitiva com pré-teste. Qual dos trechos a seguir atenderia essa solicitação? for (num!=0) { switch (num%2==0) { cout <<"Este número é par.\n"; } switch { cout <<"Este número é ímpar.\n"; } cout <<"Informe um número qualquer: "; cin >>num; } while (num!=0) { if (num%2==0) { cin <<"Este número é par.\n"; } else { cin <<"Este número é ímpar.\n"; } cin <<"Informe um número qualquer: "; cout >>num; } while (num!=0) { if (num%2==0) { cout <<"Este número é par.\n"; } else { cout <<"Este número é ímpar.\n"; } cout <<"Informe um número qualquer: "; cin >>num; } do { if (num%2==0) { cout <<"Este número é par.\n"; } else { cout <<"Este número é ímpar.\n"; } cout <<"Informe um número qualquer: "; cin >>num; } while (num!=0) for (num==0; num!=0; num--) { if (num%2==0) { cout <<"Este número é par.\n"; } else { cout <<"Este número é ímpar.\n"; } cout <<"Informe um número qualquer: "; cin >>num; } Respondido em 28/04/2021 22:53:05 7 Questão Na execução do comando while o teste da condição que controla a execução, ou não, dos comandos subordinados, é feito, sempre, antes de cada iteração. Desta forma, é correto afirmar que: A condição de teste deverá ser sempre falsa antes do início da execução. A condição de teste deverá ser sempre verdadeira antes do início da execução. Os comandos subordinados serão executados no mínimo uma vez. Independentemente da condição de teste, os comandos subordinados sempre serão executados. Os comandos subordinados poderão não ser executados. Respondido em 28/04/2021 22:53:09 Explicação: No comando enquanto primeiro se testa a condição para depois se executar o corpo da repetição. Se a condição for falsa nada dentro do corpo da repetição será executado. 8 Questão 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 sequencial de repetiçãode atribuição Respondido em 28/04/2021 22:53:20 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 A8 1 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 ( i=0; i <= 200; i++) for (int i=0; i =< 200; i++) for (int i=0; i <= 200; i++) Respondido em 28/04/2021 22:53:43 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++) 2 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 (inclusive) em ordem decrescente. Os números pares entre 1 e 5 (inclusive) em ordem crescente. 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. Respondido em 28/04/2021 22:53:52 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. 3 Questão Qual dos comandos abaixo está escrito de forma errada? for (X=10 ; X > 0 ; X--) for (X < 10 ; X=0 ; X++) for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2) for (X=0 ; X < 10 ; X++) for (X=0 , Y=4 ; X < 10 ; X++ , Y--) Respondido em 28/04/2021 22:54:01 Explicação: Está correto. Temos a inicialização, o teste e a parte do incremento for (X=0 ; X < 10 ; X++) Está correto. Temos duas inicializações separadas por vírgula e incremento e decremento separados por vírgula. E ainda o teste corretamente. for (X=0 , Y=4 ; X < 10 ; X++ , Y--) Está correto. Temos a inicialização, o teste e a parte dodecremento. for (X=10 ; X > 0 ; X--) Está correto. Temos duas inicializações separadas por vírgula e incremento e decremento separados por vírgula. E ainda o teste corretamente. for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2) A sintaxe desta opção está incorreta e portanto, deve ser marcada. O teste lógico e a inicialização estão trocados de lugar. for (X < 10 ; X=0 ; X++) 4 Questão Marque a opção correta. Considere o trecho de programa feito em C++. O valor final de s e o valor final de num, são respectivamente: int conta, num=1, s=0; for(conta = 10; conta < = 40; conta= conta+10){ s= s+num; num= num +2; } 9 e 9 16 e 9 50 e 16 o valor de s está indefinido e o valor de num é 7 50 e 9 Respondido em 28/04/2021 22:54:14 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 5 Questão Observe o trecho de código a seguir: Sobre ele, podemos afirmar que: I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas; II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades; III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f". As afirmativas I, II e III são verdadeiras. As afirmativas I e III são verdadeiras. Somente a afirmativa III é verdadeira. Somente a afirmativa I é verdadeira. As afirmativas I e II são verdadeiras. Respondido em 28/04/2021 22:54:21 6 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 23 42 61 80 99 3 23 40 60 79 98 3 22 41 60 79 99 3 22 41 59 79 98 Respondido em 28/04/2021 22:54:30 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 7 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 quantidade de elementos pares A quantidade de elementos digitados A média dos elementos digitados O menor de todos os elementos digitados O maior de todos os elementos digitados Respondido em 28/04/2021 22:54:34 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) 8 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 << " "; 5 4 3 2 1 6 5 3 2 1 5 6 3 2 1 6 3 4 1 1 6 3 4 1 2 Respondido em 28/04/2021 22:54:38 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. A9 1 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çãoda 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+=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=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]; } } 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=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]; } } Respondido em 28/04/2021 22:54:55 2 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[16]; float lista[15]; int LISTA[16]; int lista[15]; Respondido em 28/04/2021 22:55:28 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]; 3 Questão Um médico precisa armazenar o peso, a altura e o IMC de seus 1000 pacientes. Contratou um programador que disse que o programa teria algumas matrizes unidimensionais para o armazenamento. Assinale a opção abaixo que representa a declaração das referidas matrizes pelo programador, conforme as informações acima: float peso[1000] ; altura[1000] ; imc[1000]; char peso[999], altura[999], imc [999]; float peso[1000], altura[1000], imc [1000]; float peso[1001], altura[1001], imc [1001]; char peso[1000], altura [1000], imc[1000]; Respondido em 28/04/2021 22:55:36 Explicação: Para reunir os pesos de 1000 pacientes teremos um vetor para 1000 elementos do tipo float Para reunir as alturas de 1000 pacientes teremos um vetor para 1000 elementos do tipo float Para reunir os imcs de 1000 pacientes teremos um vetor para 1000 elementos do tipo float Logo, a resposta certa é float peso[1000], altura[1000], imc [1000]; 4 Questão -1 0 1 2 3 4 4 3 2 1 -1 0 1 2 3 4 5 4 3 2 1 -1 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 Respondido em 28/04/2021 22:55:46 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. 5 Questão Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________. unidimensional - heterogênea - único valor - de tipos variados bidimensional - homogênea - único valor - do mesmo tipo unidimensional - homogênea - único valor - de tipos variados bidimensional - heterogênea - conjunto de valores - do mesmo tipo unidimensional - homogênea - conjunto de valores - do mesmo tipo Respondido em 28/04/2021 22:55:51 6 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 I , II e III estão corretas A declaração I está errada e a declaração II está correta As declarações III e IV estão erradas As declarações I , II e IV estão corretas Somente as declarações I e II estão corretas Respondido em 28/04/2021 22:56:01 Explicação: A afirmativa III está incorreta porque cada caracter deve estar entre aspas simples e não duplas. 7 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]) { 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,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 } } Respondido em 28/04/2021 22:56:05 8 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=SOMA[i]+NUM } for (i=0;i=9;i++) { SOMA=NUM[i] } for (i=0;i<=9;i++) { SOMA+=NUM[i]; } for (i=0;i<=9) { SOMA=NUM[i]; } for (i=1;i<=10;i++) { SOMA+=NUM[i]; } A10 1 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) se (lin%2){ se (M1%2!=0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se (M1[lin][col]%2==0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se(M1[lin][col]%2!=0) { qtdeImpares-- } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se (M1[lin][col]%2!=0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2!=0){ se (M1[lin][col]%2!=0) { qtdeImpares++ } } } } Respondido em 28/04/2021 22:56:40 2 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 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 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 28/04/2021 22:56:51 3 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. b) float notasAlunos[6][30]; a) float notasAlunos[30][6]; d) float notasAlunos[6,30]; c) float notasAlunos[30,6]; e) float notasAlunos[][]; Respondido em 28/04/2021 22:56:54 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]; 4 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á 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. 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á 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. Respondido em 28/04/2021 22:57:04 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 5 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 28/04/2021 22:57:19 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. 6 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 colunas da linha índice 0. Somar todas as linhas da coluna índice 0. Somar todas as linhas de todas as colunas. Somar todas as colunas da linha índice 1 Somar todas as linhas da coluna índice 1. Respondido em 28/04/2021 22:57:25 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. 7 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 2 3 4 5 6 7 8 9 2 4 6 8 1 2 3 1 3 5 7 9 Respondido em 28/04/2021 22:57:33 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 8 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 todasas colunas da linha índice 1 Somar todas as colunas da linha índice 0. Somar todas as linhas da coluna índice 0. Somar todas as linhas da coluna índice 1. Somar todas as linhas de todas as colunas. Respondido em 28/04/2021 22:57:48 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.
Compartilhar