Baixe o app para aproveitar ainda mais
Prévia do material em texto
ALGORITMOS 1a aula Lupa 1 Questão Considerando as afirmativas a seguir em relação a representação de algoritmos: I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. Podemos afirmar que: As alternativas I e III são CORRETAS Todas as alternativas são CORRETAS As alternativas II e III são INCORRETAS Apenas a alternativa I é CORRETA Nenhuma das opções anteriores Respondido em 08/10/2020 23:07:25 Explicação: Analisando cada afirmativa... I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; VERDADEIRO II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; FALSO III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. VERDADEIRO Conclusão : As afirmativas I e III estão corretas. 2 Questão A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser realizada é chamada de: Fluxograma Diagrama Linguagem de Programação Pseudocódigo Algoritmo Respondido em 08/10/2020 23:05:08 Explicação: Falso. Não usa representação gráfica Pseudocódigo Falso. Algoritmo não é representação de algoritmo Algoritmo javascript:diminui(); javascript:aumenta(); FAlso. Linguagem de programação é usada para escrever programa. Linguagem de Programação Fluxograma FAlso. Que diagrama ? Diagrama 3 Questão Assinale a opção correta. Considerando o conceito de programa é correto afirmar que ... Um programa é um algoritmo escrito em linguagem natural, mas sem ambiguidades. Ou seja, é um conjunto de comandos que representam tarefas que serão compreendidas por um computador. Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão apenas executadas por um computador. Um programa é um algoritmo codificado em uma linguagem de gráfica (ex: fluxograma), isto é, um conjunto de instruções que representam tarefas que serão apenas interpretadas por um computador. Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. Um programa é um algoritmo codificado em uma linguagem de programação, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. Respondido em 08/10/2020 23:08:09 Explicação: Um programa é um algoritmo codificado em uma linguagem de programação, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. Falso. Para escrever programa usamos linguagem de programação e não pseudolinguagem. Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. Falso. Para escrever programa usamos linguagem de programação e não pseudolinguagem. Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão apenas executadas por um computador. Falso. Para escrever programa usamos linguagem de programação e não linguagem gráfica. Um programa é um algoritmo codificado em uma linguagem de gráfica (ex: fluxograma), isto é, um conjunto de instruções que representam tarefas que serão apenas interpretadas por um computador. Para escrever programa usamos linguagem de programação e não linguagem natural. Um programa é um algoritmo escrito em linguagem natural, mas sem ambiguidades. Ou seja, é um conjunto de comandos que representam tarefas que serão compreendidas por um computador. 4 Questão Com base nos conceitos de algoritmos, lógica de programação e linguagens de programação, é correto afirmar que: Os três conceitos correspondem às únicas formas de representação da solução de um determinado problema. As linguagens de programação possuem um conjunto de regras flexíveis para a representação dos comandos de um programa. Os algoritmos correspondem, estritamente, aos conjuntos de dados e informações que são tratados em um determinado processamento. As linguagens de programação possibilitam a codificação de um determinado algoritmo, de acordo com um conjunto de regras específico. Lógica de programação corresponde à representação gráfica de um determinado algoritmo. Respondido em 08/10/2020 23:05:48 Explicação: 1ª. opção : Falso. As representações de algoritmos são linguagem natural, fluxograma e pseudocódigo. 2ª. opção . Falso. Fluxograma corresponde à representação gráfica de algoritmos. 3ª. opção. Verdadeira. De acordo com o ensinado na aula 1. 4ª. opção. Falso. Em algoritmos se vê também os comandos, além dos dados. 5ª. opção. Falso. As regras não são flexíveis. Temos que seguir corretamente a sintaxe das linguagens na criação de programas. 5 Questão Imagine que você vai receber um aumento e deseja descobrir qual será seu novo salário a partir de seu salário atual e do percentual de aumento a ser concedido por sua empresa. É preciso somar o salário atual ao percentual de aumento, que deve ser calculado multiplicando-se esse percentual pelo salário atual e dividindo-se por 100. Que fórmula realiza esse cálculo? novoSal <- salAtual + (percAumento/100) novoSal <- salAtual + (salAtual*percAumento) novoSal <- salAtual + (salAtual*100) novoSal <- salAtual + (salAtual*percAumento/100) novoSal <- (salAtual*percAumento/100) Respondido em 08/10/2020 23:05:55 6 Questão Observe as assertivas a seguir acerca dos fluxogramas: I. Os mesmos são a representação gráfica dos algoritmos. II. Para desenhá-los, é preciso adotar uma simbologia padrão pré-determinada. III. Existem programas que permitem que os mesmos sejam desenhados no computador. Assinale a seguir a alternativa que indica as afirmações corretas: Todas são falsas. I e II. II e III. I e III I, II e III. Respondido em 08/10/2020 23:08:31 7 Questão Assinale a opção que, corretamente, mostra exemplos de linguagens de programação. fluxograma, português estruturado, C português estruturado, C++, Java C++, C# e fluxograma C++, Java, portugol C++, Java, C# Respondido em 08/10/2020 23:08:35 Explicação: Exemplos dados na aula 1. 8 Questão Sobre fluxograma, assina a opção correta. É uma forma de se representar o uso de hardware no programa. É uma forma de se escrever programas em qualquer linguagem de programação. É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidade . É uma representação gráfica de algoritmos que dá margem à dupla interpretação ou ambiguidades. É usado na escrita de pseudolinguagens, como o Portugol. Respondido em 08/10/2020 23:08:43 Explicação: É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidades, como ensinado na aula 1 online. ALGORITMOS 2a aula Lupa 1 Questão Em C++ existemquatro tipos básicos, isto é , tipos básicos de dados que podem ser utilizados. Qual é o tipo definido da seguinte maneira: "Qualquer número real, negativo, nulo ou positivo." char real javascript:diminui(); javascript:aumenta(); int float bool Respondido em 08/10/2020 23:09:04 Explicação: Conforme gabarito e aula de tipos primitivos de dados 2 Questão Um menino resolveu abrir o cofrinho de economias que contém o que guardou durante um ano. São moedas de R$ 0,25, R$ 0,50 e R$ 1,00. Imaginando que você precisa escrever um programa em C++ que, a partir da quantidade de cada moeda, mostre a quantia total economizada, como seria a declaração de variáveis necessárias a este programa? bool qtde25, qtde50, qtde1, quantiaTotal; char qtde25, qtde50, qtde1, quantiaTotal; string qtde25, qtde50, qtde1, quantiaTotal; float qtde25, qtde50, qtde1, quantiaTotal; int qtde25, qtde50, qtde1, quantiaTotal; Respondido em 08/10/2020 23:06:40 3 Questão Um restaurante self-service vende comida por peso e cobra R$ 34,90 por quilo consumido. Sabendo que o preço a ser pago pelo cliente é calculado a partir do peso de seu prato multiplicado pelo valor do quilo, o trecho de declaração de variáveis em C++ que seria necessário em um programa capaz de informar ao cliente o valor a pagar é: float quilo = 34.90; float prato = 0; float valor_pagar = 0; char quilo = 34.90; char prato = 0; char valor_pagar = 0; bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0; int quilo = 34.90; int prato = 0; int valor_pagar = 0; real quilo = 34.90; real prato = 0; real valor_pagar = 0; Respondido em 08/10/2020 23:09:18 4 Questão Assinale a opção correta: Para terminar um programa em C++ devemos usar retorne 0; Não são palavras reservadas em C++ : for, while e do Os programas em C++ possuem palavras reservadas tais como main e int. Os programas em C++ não possuem palavras reservadas. São palavras reservadas no C++ : int, real, inteiro, float Respondido em 08/10/2020 23:09:35 Explicação: Explicação dada na aula sobre programa em C++ e palavras reservadas em C++ 5 Questão Considerando a linguagem C++, assinale a opção correta : Se declararmos uma variável inteira nota, podemos escrever NOTA, Nota, ou qualquer outra variação, pois é a mesma coisa. Alguns programas em C++ começam com float main e outros com int main Se quisermos declarar uma variável que possa armazenar valores reais, com casas decimais, devemos usar o tipo real na declaração da variável. Nem toda variável precisa ser declarada. A linguagem C++ diferencia maiúsculas de minúsculas Respondido em 08/10/2020 23:09:45 Explicação: BAsta seguir as descrições e características da linguagem C++ na aula sobre variáveis 6 Questão Faz parte do desenvolvimento de uma algoritmo declarar as variáveis que armazenarão dados a ser manipulados pelo algoritmo. De acordo com as regras para criação dos nomes para as variáveis, assinale a alternativa que possui um exemplo de nome INCORRETO: nota2 num1 cad1- id salariofinal nome_aluno Respondido em 08/10/2020 23:09:53 Explicação: Falso, pois é nome possível ter letras e underscore nome_aluno Falso, pois é nome possível ter letra e dígito. num1 Verdadeiro, pois não se pode usar hífen em nome de variável. cad1- id Falso, pois é nome possível ter letras. salariofinal Falso, pois é nome possível ter letra e dígito. nota2 7 Questão Assinale a opção que apresenta somente nomes válidos para variáveis em C++. CONTA, TOTAL1, 1DATA 1conta, 2total, 3data CONTA, TOTAL1, data Conta, Total, 5data Conta, Total1, DIA-MÊS-ANO Respondido em 08/10/2020 23:09:59 Explicação: Falsa. Não se pode começar nome de variável com dígito. CONTA, TOTAL1, 1DATA Falsa. Não se pode começar nome de variável com dígito. Conta, Total, 5data Verdadeiro CONTA, TOTAL1, data Falsa. Não se pode pôr acento ou usar hífen em nome de variável. Conta, Total1, DIA-MÊS-ANO Falsa. Não se pode começar nome de variável com dígito. 1conta, 2total, 3data 8 Questão As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas: palavras código palavras próprias palavras únicas palavras reservadas palavras especiais Respondido em 08/10/2020 23:10:10 Explicação: Não tem outra possibilidade com margem à dúvida. Por definição, é palavra reservada. ALGORITMOS 3a aula Lupa 1 Questão javascript:diminui(); javascript:aumenta(); Indique qual o tercho em C++ que calcula corretamente a média das notas AV1 e AV2 de uma determinada disciplina. MEDIA = AV1 + AV2 / 2; MEDIA = (AV1 * AV2) / 2; MEDIA = (AV1 + AV2) / 2; MEDIA = (AV1 - AV2) / 2; MEDIA = (AV1 ** AV2) / 2; Respondido em 08/10/2020 23:11:17 Explicação: Conforme aula e gabarito. É importante primeiro somar as notas e depois dividir por 2. 2 Questão Assinale a opção correta. São operadores relacionais : = , > , < os operadores matemáticos não tem precedência de uso São operadores lógicos : &&, ||, != Os operadores matemáticos são : +, - , *, / e %. As expressões lógicas retornam valores inteiros Respondido em 08/10/2020 23:09:11 Explicação: Os operadores matemáticos são : +, - , *, / e %. = VERDADE São operadores lógicos : &&, ||, != --> != não é operador lógico e sim relacional (diferente) --> FALSO São operadores relacionais : = , > , < ---> = não é operador relacional e sim comando de atribuição de valor a variável.-- > FALSO As expressões lógicas retornam valores inteiros --> FALSO, retornam valores lógicos (V ou F) os operadores matemáticos não tem precedência de uso --: FALSO, há precedencia sim, o * tem preferencia sobre a soma e subtrção 3 Questão Indique qual alternativa calcula corretamente a média aritmética das notas AV1 e AV2 de uma determinada disciplina MEDIA = (AV1 + AV2) / 2; MEDIA = AV1 + AV2 / 2; MEDIA = (AV1 - AV2) / 2; MEDIA = (AV1 ** AV2) / 2; MEDIA = (AV1 * AV2) / 2; Respondido em 08/10/2020 23:12:22 Explicação: MEDIA = (AV1 + AV2) / 2; - OK 4 Questão Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro. ((pontos>=10) % (pontos <=20)) ((pontos>=10) ! (pontos <=20)) ((pontos>=10) # (pontos <=20)) ((pontos>=10) && (pontos <=20)) ((pontos>=10) || (pontos <=20)) Respondido em 08/10/2020 23:12:42 Explicação: Pelo tabela verdade do operador e ( && em C++), as duas condições devem ser verdadeiras para toda a expressão ser verdadeira. Se for o ou (símbolo ||), basta uma condição se verdadeira para toda a expressão ser verdadeira. % é para cálculo de resto. # não tem efeito O operador ! é unário e inverte o valor lógico. Ou seja, se a expressão for verdadeira : ! expressão é falsa. 5 Questão Utilizando os operadores adequados, como pode ser reescrita a expressão abaixo? A ou B e C e não D A && B || C || !D A || B && C && !D A !! B && C && ||D A || B ! C ! &&D A && B && C && !D Respondido em 08/10/2020 23:13:52 Explicação: A || B && C && !D || = OU && = E ! = não 6 Questão Analise o trecho de código abaixoe depois marque a opção correta para o que se pede: int x, y,a , b; float z; a = 14; b = 3; x = a / b; y = a % b; z = y / x; Qual seria o valor de x? 4 3 5 4.66666 14 Respondido em 08/10/2020 23:17:43 Explicação: Fazendo um teste de mesa e sabendo que a divisão com / entre inteiros fornece o quociente da divisão e o operador % fornece o resto da divisão inteira, chegamos no valor x igual a 4. 7 Questão Considerando os seguintes conteúdos para as variáveis: a = 2, b = 5 e c = 4 Determine qual das sentenças retornará verdadeiro. a == c (b + 2) > (a * c) pow(c,a) > b * c (b % a) == 0 ((b = 2) == a) Respondido em 08/10/2020 23:18:32 Explicação: a == c --> falso, pois a é diferente c (b + 2) > (a * c) -> falso, pois 7 > 8 é falso ((b = 2) == a) , verdade, pois a = 2 8 Questão Qual das alternativas apresenta a expressão que seja capaz de avaliar se uma variável do tipo inteiro, denominada NUMERO ,é ímpar e negativa. (NUMERO>0) || (NUMERO%2==0) (NUMERO>0) && (NUMERO%2==0) (NUMERO<0) && (NUMERO%2!=0) (NUMERO>0) !! (NUMERO%2==0) (NUMERO<0) || (NUMERO%2!=0) Respondido em 08/10/2020 23:16:39 Explicação: (NUMERO<0) && (NUMERO%2!=0) pra ser negativo , tem que se menor que zero NUMERO<0 pra ser impar, o resto da divisão pode 2 não pode ser zero --> != (diferente) --> NUMERO%2!=0 ALGORITMOS 4a aula Lupa 1 Questão Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ cout < lendo idade; cin > idade exiba "lendo a idade"; lendo idade; cout "lendo a idade"; cin idade; cout << "lendo a idade"; cin >> idade; System.out.println("lendo idade"); System.out.println("lendo idade"); Respondido em 08/10/2020 23:17:06 Explicação: Falso. Erro no cout e no cin. Os operadores são >> e <<. E ainda ?: variável não tem espaço em branco cout < lendo idade; cin > idade VErdade cout << "lendo a idade"; cin >> idade; Falso. Faltam os operadores >> e << cout "lendo a idade"; cin idade; Falso. Em C++ não é exiba e lendo. exiba "lendo a idade"; lendo idade; Falso. Não é Java. Em C++ usam-se cout para saída de dados e cin para entrada de dados System.out.println("lendo idade"); System.out.println("lendo idade"); 2 Questão Marque a opção correta para a declaração das variáveis conforme o trecho de código abaixo, que calcula a média de 3 notas de 1 aluno: printf (" nota 1 = "); scanf("%f", nota1); printf (" nota 2 = "); scanf("%f", nota2); javascript:diminui(); javascript:aumenta(); printf (" nota 3 = "); scanf("%f", nota3); media=(nota1+nota2+nota3)/3; printf ("media= %f",media); float nota1, nota2, nota3, media; real nota1, nota2, nota3; nota1, nota2, nota3 : float float nota1..nota3, media; int nota1, nota2, nota3, media; Respondido em 08/10/2020 23:17:10 Explicação: as 4 variáveis precisam ser float, para conterem valores com casas decimais 3 Questão No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso que sejam utilizadas a biblioteca _______________ e a função _______________. locale - ptb math - math.round iostream - setlocale iostream - ptb locale - setlocale Respondido em 08/10/2020 23:17:17 4 Questão Assinale a opção correta : Para entrada de dados usamos cout e para saída de dados usamos cin Para entrada de dados usamos cout com << e para saída de dados usamos cin com >> Para entrada de dados usamos cin com << e para saída de dados usamos cout com >> Para entrada de dados usamos read e para saída de dados usamos write Para entrada de dados usamos cin com >> e para saída de dados usamos cout com << Respondido em 08/10/2020 23:17:21 Explicação: Basta seguir as descrições na aula 2. 5 Questão Observe o algoritmo a seguir: 1 programa 2 { 3 inclua biblioteca Matematica --> mat 4 funcao inicio() 5 { 6 real qtdeDin, valComb, qtdeLitros 7 escreva("Quanto custa o litro do combustível? R$ ") 8 leia(valComb) 9 escreva("Quantos reais você tem? R$ ") 10 leia(qtdeDin) 11 qtdeLitros=qtdeDin/valComb 12 escreva("Com R$ ", qtdeDin, " você consegue abastecer ", mat.arredondar(qtdeLitros,2)," litros de combustível.") 13 } 14 } Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual mensagem seria exibida pelo computador na linha 12? "Você consegue abastecer 51.28 litros de combustível." "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." "Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." "Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." "Você consegue abastecer 51.28 litros de combustível com R$ 200.00." Respondido em 08/10/2020 23:18:31 6 Questão Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das interrogações a seguir? programa { funcao inicio( ) { ???????? } } real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) Respondido em 08/10/2020 23:17:31 7 Questão C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro ou Falso conforme o que é dito sobre as funções do compilador: ( ) Verificar erros de sintaxe no programa; ( ) Produzir um outro programa em linguagem de máquina; ( ) Executar o programa sem necessidade de conversão alguma. F - V - F V - F - F F - F - F V - V - F V - V - V Respondido em 08/10/2020 23:17:39 8 Questão Utilizando as regras do Portugol Studio, imagine que você precisa escrever um algoritmo que receba o ano atual e o ano de nascimento de um usuário, calcule e exiba a sua idade através da mensagem "Você tem ou fará XX anos", onde XX é a idade calculada. Qual das alternativas a seguir mostra a instrução correta a ser utilizada na exibição da idade? escreva("Você tem ou fará " /idade/ " anos") escreva("Você tem ou fará ", idade, " anos") leia("Você tem ou fará " / idade/ " anos") leia("Você tem ou fará ", idade, " anos") escreva("Você tem ou fará " * idade * " anos") ALGORITMOS 5a aula Lupa 1 Questão Analise o programa abaixo e selecione a alternativa que contenha a condição correta para que o número 27 seja mostrado na tela. #include using namespace std; int main() { int N1, N2; N1= 27; N2= 54; if ( ______________ ) { cout<< N2; } else { cout<< N1; } return 0; }N1 < N2 && N1 < 50 N1 < N2 && N1 > 20 N2 > N1 || N1 > 50 N2 == N1 || N2 > 20 N1 > N2 || N2 < 50 Respondido em 08/10/2020 23:19:11 2 Questão No C++, a estrutura seletiva if permite que sejam avaliadas condições para que, a partir do resultado dessa avaliação, o programa decida o trecho a ser executada. Imaginando que você precisa avaliar se um número armazenado na variável num é positivo, negativo, ou nulo, que alternativa apresenta o trecho da condição seletiva necessário para este teste? if (num>0) { cout <<"Este número é positivo!";} else (num<0) { cout <<"Este número é negativo!";} else javascript:diminui(); javascript:aumenta(); { cout <<"Este número é nulo!";} if (num>0) { cin <<"Este número é positivo!";} else if (num<0) { cin <<"Este número é negativo!";} else { cin <<"Este número é nulo!";} if (num>0) { cout <<"Este número é positivo!";} else if (num<0) { cout <<"Este número é negativo!";} else { cout <<"Este número é nulo!";} if (num<0) { cout <<"Este número é positivo!";} else if (num>0) { cout <<"Este número é negativo!";} else { cout <<"Este número é nulo!";} else (num>0) { cout <<"Este número é positivo!";} if (num<0) { cout <<"Este número é negativo!";} else { cout <<"Este número é nulo!";} Respondido em 08/10/2020 23:19:17 3 Questão Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando que você tenha um algoritmo no qual o salário esteja armazenado na variável SAL e o total de gastos esteja armazenado na variável GASTOS, como deve ser escrita a estrutura seletiva responsável por testar o que você deseja descobrir? se (GASTOS>=SAL) escreva("Você gastou mais do que deveria!") se (GASTOS<=SAL) escreva("Você gastou mais do que deveria!") se (GASTOS==SAL) escreva("Você gastou mais do que deveria!") se (GASTOS escreva("Você gastou mais do que deveria!") se (GASTOS>SAL) escreva("Você gastou mais do que deveria!") Respondido em 08/10/2020 23:19:24 4 Questão Considere um programa em C++ que recebe um número inteiro qualquer e informe se ele é par ou ímpar. a estrutura seletiva adequada para teste do número é: if (resto==0) {cout <<"Este número é par!";} else {cout <<"Este número é ímpar!";} if (resto==0) then {cout <<"Este número é par!";} elseif not {cout <<"Este número é ímpar!";} if (resto!=0) {cout <<"Este número é par!";} else {cout <<"Este número é ímpar!";} switch (resto==0) {cout <<"Este número é par!";} case {cout <<"Este número é ímpar!";} if (resto=0) {cout <<"Este número é par!";} if {cout <<"Este número é ímpar!";} Respondido em 08/10/2020 23:19:28 5 Questão O programa abaixo recebeu o valor 2 como entrada. Analise o programa abaixo e assinale a o valor que será impresso. #include using namespace std; int main() { int a, b; cout<< "\n Digite um valor: "; cin>> a; if (a <= 2) b = a + 2 * 30 / 10; else b = a - 2 * 30 /10; cout<< b; system("pause"); } 0 2 -4 12 8 Respondido em 08/10/2020 23:19:37 6 Questão Considere o trecho de programa em C++ e assinale a opção que mostra o que é impresso na tela. int x, y, z; x = 10; y = 6; z = x/y; cout << z << " "; if (z > 0) z = x % y; cout << z << " "; 4 1 4 4 Ocorrerá erro, pois o trecho não compila. 1 4 1 1 Respondido em 08/10/2020 23:19:43 Explicação: Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 7 Questão Analise o código abaixo e marque as saídas corretas: #include < iostream > using namespace std; int main () { int x, i; x = 1; cout << x; i = 6; x = x + i; cout << x; if ( x <= 7) { cout << x; x = x + 10; } else { cout << x; } retun 0; } 1, 7, 17 1, 6 e 16 0, 6 e 7 1, 7 e 7 1, 6 e 7 Respondido em 08/10/2020 23:19:55 Explicação: int x, i; x = 1; cout << x; i = 6; x = x + i; cout << x; if ( x <= 7) { cout << x; x = x + 10; } else { cout << x; } Fazendo um teste de mesa, temos : x = 1 e depois é impresso o valor 1 i recebe 6 e então, x recebe 1+6, que dá 7. Então, 7 é impresso. Chegamos na condição do if e testamos se 7 <= 7. É verdade ? Sim. Então, 7 é impresso e depois, x recebe 7 + 10, que dá 17. Ou seja, foi impresso 1 7 7 8 Questão Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, sendo que na 1ª. execução o valor de entrada é 7 e na 2ª. execução o valor de entrada é 8. Para isso, considere o seguinte trecho em C++. int num; cout << "Digite um numero: "; cin >> num; if (num != 2 || num != 4 || num != 6) { num = num + 2; cout << num << " "; } if (num != 8) { num--; cout << num << " "; } else cout << num * 5 ; 9 6 10 9 9 8 10 9 9 8 10 40 9 40 8 10 40 Respondido em 08/10/2020 23:20:06 Explicação: Analisando o trecho de programa em C++ ... 1a. execução : num recebe 7. Daí, testamos o 1o. if. Note que usamos o || lógico. A condição é verdadeira e entramos no bloco do 1o. if. Então, num recebe 9 e é impresso o valor 9 na tela. Seguimos para o próximo if e testamos sua condição. É verdade que 9 != 8 ? Sim. Entramos no bloco do 2o. if e então decrementamos 9 para 8 e imprimimos o valor 8. Concluindo esta 1a. execução : Foram impressos 9 8 2a. execução : num recebe 8. Daí, testamos o 1o. if. Note que usamos o || lógico. A condição é verdadeira e entramos no bloco do 1o. if. Então, num recebe 10 e é impresso o valor 10. Seguimos para o próximo if e testamos sua condição. É verdade que 10 != 8 ? Sim. Entramos no bloco do 2o. if e então decrementamos 10 para 9, imprimindo o valor 9. Concluindo esta 2a. execução : Foram impressos 10 9 ALGORITMOS 6a aula Lupa 1 Questão 11 10 50 10 11 10 50 10 2 11 50 10 11 50 10 2 10 50 10 2 Respondido em 08/10/2020 23:20:40 Explicação: 1ª. Execução : valor de a é 1 Entrar no case 1, depois no case 3 e em seguida, no case 5. Então será impresso 11 10 2ª. Execução : valor de a é 5 Entrar no case 5 e imprimir 50 3ª. Execução : valor de a é 20 javascript:diminui(); javascript:aumenta(); Entrar no case 20 e depois no case 30. Então, será impresso 10 2 Concluindo : Valores impressos : 11 10 50 10 2 2 Questão A linguagem C++ possui estruturas de decisão, as quais podem mudar a sequência de execução dos comandos. Analise o trecho de programa abaixo e assinale a alternativa que corresponda a estrutura de decisão utilizada. int main() { int num; cout<<"Digite um número: "; cin>> num; (num > 0)?cout<< num : cout<<" Número negativo "; return 0; } Operador ternário Estrutura condicional de comando simples aninhamento de if Estrutura condicional de comando composto comando switch Respondido em 08/10/2020 23:20:49 Explicação: Como dito no gabarito. O operador ? : equivale ao comando if ... else. 3 Questão Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveisconforme se vê a seguir: *** Cardápio *** 100 - Hambúrguer - R$5,50 101 - Cachorro-quente - R$4,50 102 - Milkshake - R$7,00 103 - Pizza brotinho - R$8,00 104 - Cheeseburguer - R$8,50 Informe o código do seu pedido: Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? switch (codigo) { if 100: item="Hambúrguer"; valor= qtde * 5.50; break; } while (codigo) { case 100: item="Hambúrguer"; valor= qtde * 5.50; break; } switch (codigo) { case 100: item="Hambúrguer"; valor= qtde * 5.50; break; } switch (codigo) { default 100: item="Hambúrguer"; valor= qtde * 5.50; break; } case (codigo) { switch 100: item="Hambúrguer"; valor= qtde * 5.50; break; } Respondido em 08/10/2020 23:20:55 4 Questão Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 9 ? Assinale a opção correta. int x; cout << "Digite um numero: "; cin >> x; if (x % 2 == 0) cout << x << "é divisível por 2"; else if (x % 3 == 0 && x % 5 == 0) cout << x << " é divisível por 3 e por 5"; else cout << x << " ### " ; 9 não é divisível por 2. 9 ### Nada aparece, pois o trecho de programa possui erro. 9 é divisível por 3 e por 5. Apenas 9 Respondido em 08/10/2020 23:21:18 Explicação: Como a entrada foi 9 então o teste do 1o. if falha e entramos no 1o. else. Dentro do 1o. else temos uma conjunção, ou seja, um E. Como o 1o. teste do E é verdadeiro, mas o 2o. teste é falso, não entramos no bloco do 2o. if. Entramos então, no último else . Por isso, é impresso o valor de x e ###. Como x vale 9, a saída é 9### 5 Questão Um aluno de Introdução a Programação precisa escrever um programa que leia um caracter equivalente a uma estação do ano imprima o nome equivalente considerando que P- Primavera, V - Verão, O - Outono e I - Inverno. Qual a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla? for while break do/while switch/case Respondido em 08/10/2020 23:24:29 Explicação: Falso. Comando de repetição do/while Falso. Comando de repetição. for Verdadeiro. switch/case Falso. Comando de repetição. while Falso. Comando de interrupção. break 6 Questão Considere que o trecho de código em C++ foi executado 2 vezes, sendo que na 1ª. execução o valor de entrada foi 10 e na 2ª. execução, o valor de entrada foi 5. Ao final das duas execuções, respectivamente, o que foi impresso na tela ? cout << "Digite um valor : "; cin >> z; switch(z) { case 5 : cout << 3 * z << " "; case 10 : cout << 11 /2 * z << " "; case 20 : cout << z * z - 10 << endl; break; default : cout << "Entrada invalida. " << endl; } 15 25 15 50 90 55 90 15 27.5 15 55 1 15 27.5 15 55 90 50 90 15 25 15 Respondido em 08/10/2020 23:22:12 Explicação: O aluno deverá fazer um teste de mesa ou chinês para poder escolher a resposta certa. Tal questão envolve conhecimento de switch ... case com e sem break e de operadores aritméticos, como a divisão entre inteiros ocorrida no 2o. case. 7 Questão Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 7 ? Assinale a opção correta. int num; cout << "Digite um numero: "; cin >> num; if (num % 2 == 0) cout << num << "é divisível por 2"; else if (num % 3 == 0 && num % 5 == 0) cout << num << " é divisível por 3 e por 5"; else cout << num << " ### " ; 7 ### Nada aparece, pois o trecho de programa possui erro. 7 não é divisível por 2. 7 é divisível por 3 e por 5. Apenas 7 Respondido em 08/10/2020 23:22:20 Explicação: Analisando o trecho em C++ e considerando a entrada 7 temos : num recebeu 7 na entrada. 1o. teste : 7 % 2 é zero ? Falso. Então, entramos no else do 1o. if e testamos a condição do 2o. if 2o. teste : 7 % 3 é zero ? Falso. Nem adianta testar a outra condição deste if, pois existe o &&. DAí, entramos no else do 2o. if, imprimindo na tela 7### Logo, a resposta correta é 7### 8 Questão Considerere um trecho de um programa em C++. Qual a variável que será alterada e para qual valor ela mudará ? int a = 2, b = 4, x = 12, y = 11, z = 3; float t = 0; if (x < y+z) if (y != z*4 - 2) t = y/z; else a = y % z; else b = z + y/x; A variável a ficará 1 A variável b ficará 1 A variável b ficará 3 A variável t ficará 3 Nenhuma variável será alterada. Respondido em 08/10/2020 23:22:29 Explicação: int a = 2, b = 4, x = 12, y = 11, z = 3; float t = 0; if (x < y+z) if (y != z*4 - 2) t = y/z; else a = y % z; else b = z + y/x; Analisando o trecho acima. 1o. if : 12 < 14 ? Sim. Entrar no 1o. if. 2o. if : 11 != 3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if. Então, é preciso fazermos t receber y/z, ou seja, t receber 11/3, que dá 3. ALGORITMOS 7a aula Lupa 1 Questão Considere que uma refeição saudável envolve o consumo máximo de 550 calorias. Sabendo disso, você deseja escrever um programa que, a partir da quantidade de calorias consumidas em uma refeição, informe se você ultrapassou esse valor ou permaneceu dentro do limite. Para fazer o cálculo do consumo total, você precisará que seja digitado o valor calórico de cada elemento. Como não se sabe exatamente quantos alimentos diferentes foram consumidos, considere que será digitado 0 quando não houver mais consumo a ser informado. Ao final do programa, é necessário exibir o consumo total de calorias e informar se foi ultrapassado o valor sugerido por refeição, se o usuário permaneceu dentro do limite ou se consumiu exatamente a quantidade de calorias sugerida. Qual das alternativas a seguir apresenta a estrutura repetitiva adequada para este problema? for (calAlimento!=0) { cont++; totCalorias+=calAlimento; cout<< "Informe as calorias do alimento " << cont <<": "; cin>> calAlimento; } do (calAlimento!=0) { cont++; totCalorias+=calAlimento; cout<< "Informe as calorias do alimento " << cont <<": "; cin>> calAlimento; } while (calAlimento!=0) { cont++; totCalorias+=calAlimento; javascript:diminui(); javascript:aumenta(); cin<< "Informe as calorias do alimento " << cont <<": "; cout>> calAlimento; } while (calAlimento!=0) { cont++; totCalorias+=calAlimento; cout<< "Informe as calorias do alimento " << cont <<": "; cin>> calAlimento; } while (cont!=0) { cont++; totCalorias+=0; cout<< "Informe as calorias do alimento " << cont <<": "; cin>> calAlimento; } Respondido em 08/10/2020 23:22:51 2 Questão Assinale a opção que corresponde à condição da estrutura de repetição que faz com que o programa abaixo imprima 4 vezes a expressão Bom dia. int a = 8; while ( ____ ) { cout << "Bom dia\n"; a = a -2;} a > 0 a >= 0 a <= 0 a == 0 a < 0 Respondido em 08/10/2020 23:22:57 Explicação: Analisando o trecho temos que : a variável a funciona como contador e começa com 8. a variável a varia de 2 em 2. Assim : o quando a é 8 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 8-2 = 6) o quando a é 6 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 6-2 = 4) o quando a é 4 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 4-2 = 2) o quando a é 2 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 2-2 = 4) porém como já imprimiu 4 vezes ele para. o quando a for zero não se pode mais imprimir Bom dia, pois já se imprimiu 4 vezes, como visto acima. Logo, a opção certa é : a > 0, pois quando a for zero (a=0), a repetição irá terminar. Lembrando que a não pode ser 0 pois já terá impresso 4 vezes bom dia. 3 Questão A fim de possibilitar a implementação de algoritmos estudamos algumas estruturas básicas, como estrutura de desvio de fluxo, estrutura de repetição etc. Entre as estrutura de repetição há uma na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição. Esta estrutura é implementada em C++ pelo comando básico: for do/while do/for for/while while Respondido em 08/10/2020 23:23:07 Explicação: O comando do...while faz para depois testar. Então, o bloco a ser repetido será executado pelo menos uma vez antes de testarmos a condição. Os comando for ou while, temos que testar antes de fazer. 4 Questão A partir da comparação entre as estruturas while e do...while, é certo afirmar que: No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o bloco de comandos controlado será sempre executado, pelo menos uma vez. Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o bloco de comandos será sempre executado, pelo menos uma vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo menos uma vez. Respondido em 08/10/2020 23:23:15 Explicação: Falso. No do/while primeiro se faz o que está no corpo do loop para depois testar e no while, se testa para depois fazer o queestá no corpo do loop. Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. Falso. No do/while o bloco de instruções será feito pelo menos 1 vez. No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o bloco de comandos será sempre executado, pelo menos uma vez. Verdadeiro No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o bloco de comandos controlado será sempre executado, pelo menos uma vez. Falso. No while pode não ser executado nenhuma vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo menos uma vez. Falso. No do/while as instruções serão feitas pelo menos 1 vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado 5 Questão Considerando a seguinte sequencia de instruções, marque a alternativa que indica o comando correspondente para preenchimento da lacuna. ... cin>>matricula; ______________ (matricula<99) { cin>>matricula; } while for repeat do case loop Respondido em 08/10/2020 23:23:21 Explicação: Falso. Nâo tem repeat em C++. repeat Falso. Não se encaixa a sintaxe do comando for. for Verdadeiro while Falso. Não existe comando do... case. do case Falso. Nâo existe comando loop. loop 6 Questão Considere o seguinte problema: Uma turma precisa escolher seu representante. Sabendo que existem apenas dois candidatos, identificados pelas letras A e B, receba o número do aluno e o candidato por ele escolhido e contabilize os votos de cada um. A leitura de votos será finalizada quando o número do aluno informado for 0. A linha inicial da estrutura repetitiva com pré-teste capaz de controlar o recebimento dos votos é: while (num!=0) for (num<=0) while (num==0) if (num!=0) do (num!=0) Respondido em 08/10/2020 23:23:30 7 Questão Na execução do comando while o teste da condição que controla a execução, ou não, dos comandos subordinados, é feito, sempre, antes de cada iteração. Desta forma, é correto afirmar que: A condição de teste deverá ser sempre verdadeira antes do início da execução. Os comandos subordinados serão executados no mínimo uma vez. Os comandos subordinados poderão não ser executados. Independentemente da condição de teste, os comandos subordinados sempre serão executados. A condição de teste deverá ser sempre falsa antes do início da execução. Respondido em 08/10/2020 23:23:38 Explicação: No comando enquanto primeiro se testa a condição para depois se executar o corpo da repetição. Se a condição for falsa nada dentro do corpo da repetição será executado. 8 Questão Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) { int i = 0; double x, y = 0; cout << "Digite um numero diferente de zero : "; cin >> x; while (x != 0){ i = i + 1; y = y + x; cout << "Digite um numero diferente de zero: "; cin >> x; } y = y / i; cout << "Numero: " << i << "\n"; return 0; } A quantidade de elementos pares A média dos elementos digitados A quantidade de elementos digitados diferentes de zero. O menor de todos os elementos digitados O maior de todos os elementos digitados Respondido em 08/10/2020 23:23:49 Explicação: A condição para entrar no loop e contar é x ser diferente de zero. O que será exibido ao final do programa é a quantidade i calculada. Note que o primeiro valor de x digitado é testado, então entra-se no loop e logo depois, este valor é contado através do uso de i que é incrementado. Claro que x é manipulado, tendo seu valor somado com o valor de y, mas ao final do programa a quantidade i é impressa. Se o valor zero for digitado, ele não será contado. ALGORITMOS 8a aula Lupa 1 Questão Imagine que você precisa criar um laço capaz de receber o nome e as notas bimestrais de um teste e uma prova de trinta alunos. Para cada um deles, é preciso calcular e mostrar a média do bimestre e informar se o aluno está na média (nota mínima 7) ou abaixo dela. Considerando que o código será escrito em C++, qual das opções a seguir apresenta as linhas de código do laço? do (cont=1;cont<=30;cont++) { cout <<"Informe as notas do aluno "; cout <<"Teste: "; cin >>Teste; cout <<"Prova: "; cin >>Prova; Media = (Teste+Prova)/2; cout <<"A média do aluno é " << Media; if (Media>=7) { cout <<"Você está na média!"; } else { cout <<"Você está abaixo da média!"; } } while (cont=1;cont<=30;cont++) { cout <<"Informe as notas do aluno "; cout <<"Teste: "; cin >>Teste; cout <<"Prova: "; cin >>Prova; Media = (Teste+Prova)/2; cout <<"A média do aluno é " << Media; if (Media>=7) { cout <<"Você está na média!"; } else { cout <<"Você está abaixo da média!"; } } javascript:diminui(); javascript:aumenta(); for (cont=1;cont<=30;cont+=2) { cout <<"Informeas notas do aluno "; cin <<"Teste: "; cout >>Teste; cin <<"Prova: "; cout >>Prova; Media = (Teste+Prova)/2; cout <<"A média do aluno é " << Media; if (Media>=7) { cin <<"Você está na média!"; } else { cin <<"Você está abaixo da média!"; } } for (cont=1;cont<=30;cont++) { cout <<"Informe as notas do aluno "; cout <<"Teste: "; cin >>Teste; cout <<"Prova: "; cin >>Prova; Media = (Teste+Prova)/2; cout <<"A média do aluno é " << Media; if (Media>=7) { cout <<"Você está na média!"; } else { cout <<"Você está abaixo da média!"; } } for (cont=30;cont<=0;cont++) { cout <<"Informe as notas do aluno "; cout <<"Teste: "; cin >>Teste; cout <<"Prova: "; cin >>Prova; Media = (Teste+Prova)/2; cout <<"A média do aluno é " << Media; if (Media<7) { cout <<"Você está na média!"; } else { cout <<"Você está abaixo da média!"; } } Respondido em 08/10/2020 23:24:13 2 Questão Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) { int i; double x, y = 0; for (i = 0; i < 10; i++){ cout << "Digite um numero: "; cin >> x; if ((x % 2) == 1){ y = y + x; } } cout << "Numero: " << y << "\n"; system("PAUSE"); return 0; } A soma de todos os elementos A soma dos elementos ímpares O maior de todos os elementos digitados A quantidade de elementos digitados A média dos elementos digitados Respondido em 08/10/2020 23:24:46 Explicação: Comentando o programa : double x, y = 0; //inicializa o somatório for (i = 0; i < 10; i++){ cout << "Digite um numero: "; cin >> x; //lê número e armazena em x if ((x % 2) == 1){ //testa se x é ímpar. Se for então faz a acumulação em y, ou seja, gera um somatório com o valor de cada x y = y + x; } } cout << "Numero: " << y << "\n"; //imprime y que acumulou a soma dos valores armazenados em x, ou seja, os valores ímpares 3 Questão Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa correta para que um programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR na linguagem C++. for ( i=0; i <= 200; i++) for (int i=0, i <= 200, i++) for (int i=0; i < 200; i++) for (int i=0; i =< 200; i++) for (int i=0; i <= 200; i++) Respondido em 08/10/2020 23:25:40 Explicação: Verdadeira for (int i=0; i < 200; i++) Falsa. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no teste do for. for (int i=0; i <= 200; i++) FAlsa. A variável i não foi declarada. for ( i=0; i <= 200; i++) Falsa. Não existe =< for (int i=0; i =< 200; i++) Falsa. Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. for (int i=0, i <= 200, i++) 4 Questão Após a execução do trecho de código, abaixo, quais números serão exibidos na tela? for(int i=3; i<100; i=i+19) cout << " " << i; 3 23 42 61 80 99 3 22 41 60 79 99 3 22 41 60 79 98 3 23 40 60 79 98 3 22 41 59 79 98 Respondido em 08/10/2020 23:29:48 Explicação: Considerando o trecho for(int i = 3; i<100; i = i+19) cout << " " << i; fazendo passo a passo : i i < 100 ? 3 3 < 100 ? Sim 3+ 19 é 22 22 < 100 ? Sim 22+ 19 é 41 41 < 100 ? Sim 41 + 19 é 60 60 < 100 ? sim 60 + 19 é 79 79 < 100 ? sim 79 + 19 é 98 98 < 100 ? sim 98 + 19 é 117 117 < 100 ? falsa. Então não entra no loop TELA 3 22 41 60 79 98 5 Questão Analise o trecho do código abaixo, e indique a saída obtida se for lido o valor 5 para n: cin>>n; total=0; for (i=15; i>n; i-=2) { total+=i; } cout < < total;<total;< p=""> </total;<> 55 63 48 39 60 Respondido em 08/10/2020 23:32:29 Explicação: Considerando o trecho e n sendo 5 : cin>>n; total=0; for (i=15; i>n; i-=2) { total+=i; } cout < < total; temos o teste de mesa : n total i 5 0 15 0 + 15 que é 15 13 15 + 13 que é 28 11 28 + 11 que é 39 9 39 + 9 que é 48 7 48 + 7 que é 55 5 ( 5 > 5 dá falso) Logo, total é 55 6 Questão Marque a opção correta. Considere o trecho de programa feito em C++. O valor final de s e o valor final de num, são respectivamente: int conta, num=1, s=0; for(conta = 10; conta < = 40; conta= conta+10){ s= s+num; num= num +2; } 9 e 9 16 e 9 50 e 16 50 e 9 o valor de s está indefinido e o valor de num é 7 Respondido em 08/10/2020 23:32:40 Explicação: Acompanhe o teste de mesa : num s conta conta <= 10 ? 1 0 10 sim 3 1 20 sim 5 4 30 sim 7 9 40 sim 9 16 50 não Logo, s vale 16 e num vale 9 7 Questão Imagine que você precisa escrever um programa em C++ que receba o sexo de 100 pessoas (F para Feminino ou M para Masculino). Ao final da leitura dos sexos, o programa precisa exibir as seguintes informações: quantidade de mulheres, quantidade de homens, percentual de mulheres e percentual de homens. Observações: 1. O programa deve funcionar com "F" e "M" maiúsculos ou minúsculos; 2. A estrutura de repetição a ser utilizada deve ser FOR. Sabendo disso, qual seria o trecho de repetição adequado para esse programa? for (int cont=1;cont<=100;cont++) { cout <<"Qual o sexo? "; cin >>sexo; if (sexo==F || sexo==f) { qtdeF++; } else if (sexo==M || sexo==m) { qtdeM++; } } for (int cont=1;cont>=100;cont--) { cout <<"Qual o sexo? "; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M &&| sexo==m) { qtdeM++; } } for (int cont=1;cont<=100;cont++) { cin <<"Qual o sexo? "; cout >>qtdeF; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M || sexo==m) { qtdeM++; } } for (int cont=1;cont>=100;cont--) { cout <<"Qual o sexo? "; cin >>sexo; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M || sexo==m) { qtdeM++; } } for (int cont=1;cont<=100;cont++) { cout <<"Qual o sexo? "; cin >>qtdeF; if (sexo==F && sexo==f) { qtdeF--; } else if (sexo==M || sexo==m) { qtdeM--; } } Respondido em 08/10/2020 23:30:21 8 Questão Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) { int i; double x, y; cout << "Digite um numero: "; cin >> x; for (i=0; i<5; i++){ cout << "Digite um numero: "; cin >> y; if (y > x){ x = y; } } cout << "Numero: " << x << "\n"; system("PAUSE"); return 0; } A quantidade de elementos pares A quantidade de elementos digitados O maior de todos os elementos digitados O menor de todos os elementos digitados A média dos elementos digitados Respondido em 08/10/2020 23:30:30 Explicação: Ao final do programa o valor de x será impresso e vemos que a cada rodada do loop (while), o valor de entrada armazenado em y é comparado com x. Se y for maior que x, guardamos em x o maior valor. ALGORITMOS 9a aula Lupa 1 Questão -1 0 1 2 3 4 5 4 3 2 1 0 1 2 3 4 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 -1 0 1 2 3 4 4 3 2 1 -1 0 1 2 3 4 5 6 7 8 Respondido em 08/10/2020 23:31:50 Explicação: O primeiro for preenche o vetor v[]= {0,1,2,3,4,5,6,7,8,9) javascript:diminui(); javascript:aumenta(); O segundo for é executado de traz para frente por 4 vezes, atéi=6 alterando valores do vetor. v[]= {0,1,2,3,4,5,4,3,2,1) No terceiro for, ele começa na posição 5, pois o anterior, executou até o 6 e voltou mais uma para encerrar. Logo este for vai variar de 5 até a zero, pois o valor inicial não foi declarado, ficando vazio e a cada valor da posição 5 até 0 será diminuído de uma unidade, ficando assim: v[]= {-1,0,1,2,3,4,4,3,2,1) O último for, apenas imprime o vetor completo. 2 Questão Os chamados vetores e matrizes podem ser considerados como: Comandos de seleção composta Comandos de seleção Comandos de repetição Estruturas de dados heterogêneas Estruturas de dados homogêneas Respondido em 08/10/2020 23:31:57 Explicação: Verdadeira Estruturas de dados homogêneas FAlsa. Em vetores e matrizes os dados são todos do mesmo tipo. Estruturas de dados heterogêneas Falso. Comandos de seleção são if, if/else e switch Comandos de seleção Falso. Comandos de repetição são for, while e do/while Comandos de repetição Falso. Comando if/else e não vetor ou matriz. Comandos de seleção composta 3 Questão Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________. bidimensional - homogênea - único valor - do mesmo tipo unidimensional - heterogênea - único valor - de tipos variados unidimensional - homogênea - único valor - de tipos variados bidimensional - heterogênea - conjunto de valores - do mesmo tipo unidimensional - homogênea - conjunto de valores - do mesmo tipo Respondido em 08/10/2020 23:32:02 4 Questão Analise o código abaixo e assinale o item que corresponde aos valores finais do vetor v. int a = 2; int v[] = {2, 3, 1}; v[0] = v[a]; v[1] = v[0] + v[0]; v[2] = v[0] + v[1]; 3, 2, 1 1, 2, 3 1, 3, 2 2, 1, 3 2, 3, 1 Respondido em 08/10/2020 23:34:45 Explicação: Comentando linha a linha, a resposta será encontrada. int a = 2; int v[ ] = {2, 3, 1}; v[0] = v[a]; //v[0] recebe v[2], que é 1 v[1] = v[0] + v[0]; // v[1] recebe 1 + 1, que dá 2 v[2] = v[0] + v[1]; //v[2] recebe o valor 1+2, que dá 3 5 Questão Qual estrutura de repetição abaixo preenche corretamente um vetor de 30 posições com 0 (zero) em cada uma das posições? for(int i=1;i<=30;i++){ vetor[i] = 0; } for(int i=0;i<30;i++){ vetor[i] == 0; } for(int i=0;i<30;i++){ vetor[i] = 0; } for(int i=0;i<=30;i++){ vetor[i] = 0; } for(int i=1;i<30;i++){ vetor[i] = 0; } Respondido em 08/10/2020 23:34:51 Explicação: for(int i=0;i<30;i++) { vetor[i] = 0; } Falso. Está acessando v[30], o que é incorreto. for(int i=0;i<=30;i++) { vetor[i] = 0; } FAlso. Está iniciando i de 1 e não de zero. for(int i=1;i<30;i++) { vetor[i] = 0; } FAlso. Está iniciando i de 1 e não de zero e está acessando v[30], o que é incorreto. for(int i=1;i<=30;i++) { vetor[i] = 0; } Falso. O erro está dentro do bloco do for. Está usando == e não a atribuição como deveria. PAra atibuir, use =. for(int i=0;i<30;i++) { vetor[i] == 0; } 6 Questão <valor[x]; </valor[x]; Todos os elementos que são menores que cinco do vetor VALOR. Todos os elementos do vetor VALOR. Todos os elementos pares do vetor VALOR. Todos os elementos que são maiores que cinco do vetor VALOR. Todos os elementos ímpares do vetor VALOR. Respondido em 08/10/2020 23:35:02 Explicação: Analisando o trecho dado em C++, temos o seguinte : x é índice do vetor VALOR e é inicializado com zero. x irá de zero até 10, mas só entrará no loop até valer 9. PAra cada x de 0 até 9 entraremos no loop e testaremos se o elemento de VALOR de índice x é maior que 5. Se for, tal elemento será impresso na tela. Se não for, nada faremos. Olhando para o vetor VALOR temos que serão impressos os valores de 6 até 10. Analisando cada opção : Falso. Serão impressos valores ímpares também. Todos os elementos pares do vetor VALOR. Falso. Serão impressos valores pares também. Todos os elementos ímpares do vetor VALOR. Falso. Serão impressos valores maiores que 5. Todos os elementos que são menores que cinco do vetor VALOR. Todos os elementos que são maiores que cinco do vetor VALOR. Falso. Serão impressos apenas os valores 6, 7, 8, 9 e 10 Todos os elementos do vetor VALOR. 7 Questão Você deseja armazenar na variável SOMA a adição entre todos os elementos de um vetor com 10 número reais chamado NUM. O trecho de código que apresenta a estrutura repetitiva que permite que isso seja feito é: for (i=1;i<=10;i++) { SOMA+=NUM[i]; } for (i=0;i<=9;i++) { SOMA+=NUM[i]; } for (i=0;i=9;i++) { SOMA=NUM[i] } for (i=0;i<=9;i++) { SOMA=SOMA[i]+NUM } for (i=0;i<=9) { SOMA=NUM[i]; } Respondido em 08/10/2020 23:35:11 8 Questão Suponha que em um programa em C/C++ se deseje armazenar 15 valores decimais em um vetor LISTA. Assinale a declaração correta: float lista[15]; int LISTA[16]; float lista[16]; int lista[15]; float LISTA[15]; Respondido em 08/10/2020 23:32:53 Explicação: Verdadeira float LISTA[15]; Falso. É 15 e não 16. Além disso, deve-se usar float ou double e não int. int LISTA[16]; Falso. É 15 e não 16. float lista[16]; FAlso. Deve-se usar float ou double e não int. int lista[15]; Falso. O nome do vetor dado no enunciado é LISTA e não lista. float lista[15]; ALGORITMOS 10a aula Lupa 1 Questão Sabendo-se que a sintaxe do C e do C++ estabelece que a declaração de vetores bidimensionais deve se dar da seguinte forma: < tipo do dado > nome_da_matriz [nº de linhas][nº de colunas]; Na codificação de um programa, na linguagem C++, é necessário a declaração de uma matriz bidimensional para armazenar as notas de 6 disciplinas de uma turma com 30 alunos. Tomando-se como base que o algoritmo considera que os dados estarão organizados na matriz de modo que cada linha represente as notas de um único aluno, marque a alternativa que apresenta de forma correta a declaração desta matriz, chamada notasAlunos. b) float notasAlunos[6][30]; c) float notasAlunos[30,6]; a) float notasAlunos[30][6]; d) float notasAlunos[6,30]; e) float notasAlunos[][]; Respondido em 08/10/2020 23:33:52 Explicação: Como cada linha possui as notas de cada aluno e são 6 disciplinas ( = 6 notas) então teremos uma matriz com 30 linhas e 6 colunas. como a matriz se chama notasAlunos e as notas são valores reais teremos : float notasAlunos[30][6]; Vendo porque as outras opções não podem ser : Falso. São 30 linhas e 6 colunas. A matriz declarada neste item coloca 6 linhas e 30 colunas. float notasAlunos[6][30]; Falso. Sintaticamente incorreto. Precisa trabalhar com as linhas e colunas dentro de colchetes separados. float notasAlunos[30,6]; Falso. Erro nos valores e na sintaxe no uso dos colchetes. float notasAlunos[6,30]; Falso. Nâo colocou o total de linhas e de colunas. float notasAlunos[][]; 2 Questão javascript:diminui(); javascript:aumenta(); Considere as regras do Portugol Studio e imagine que você precisa escrever um algoritmo que receba uma matriz 3x2 e exiba a quantidade de elementos ímpares armazenados nas linhas pares. A estrutura de repetição capaz de realizar o recebimento dos elementos da matriz M1 e a contagem descrita é: para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col])se (lin%2==0){ se (M1[lin][col]%2!=0) { qtdeImpares-- } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se (M1[lin][col]%2!=0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1) se (lin%2){ se (M1%2!=0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se (M1[lin][col]%2==0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2!=0){ se (M1[lin][col]%2!=0) { qtdeImpares++ } } } } Respondido em 08/10/2020 23:33:58 3 Questão Observe a matriz: A R E S E U Q E O T S I Qual será o resultado obtido após ser executado o trecho do algoritmo a seguir: for (i = 0; i < 4; i ++) for ( j = 0; j < 2; j++) { aux = mat[i][j]; mat[i][j] = mat[i][3-j]; mat[[i][3 - j] = aux; } S E R A Q U E E I S T O S E R A Q U E E I S T O S E R A Q U E E I S T O S E R A Q U E E I S T O S E R A Q U E E I S T O Respondido em 08/10/2020 23:36:40 Explicação: Conforme gabarito e aula de matrizes, consciente que o índice da linha começa de zero e o da coluna também. O papel da variavel aux é permitir a troca dos valores da matriz. 4 Questão Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena, em cada uma de suas linhas, a quantidade estocada de produtos no último quadrimestre (4 meses). Sabendo-se que a declaração de uma matriz em C/C++ se dá da forma: < tipo de dado> nome [nºde linhas][nºde colunas]; Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá: Somar todas as colunas da linha índice 1 Somar todas as linhas da coluna índice 1. Somar todas as colunas da linha índice 0. Somar todas as linhas da coluna índice 0. Somar todas as linhas de todas as colunas. Respondido em 08/10/2020 23:36:51 Explicação: Como a 1a. coluna (coluna 0) é relativa ao 1o. mês, então é preciso somar todas as linhas da coluna 0. Analisando as opções : Verdadeira Somar todas as linhas da coluna índice 0. Falso. Tem que somar todas as linhas da coluna 0 Somar todas as colunas da linha índice 0. Falso. O 1o. mês é relativo à 1a. coluna, que tem índice zero. Somar todas as linhas da coluna índice 1. Falso. Tem que somar todas as linhas, cuja coluna tem índice 0. Somar todas as colunas da linha índice 1 FAlso. Se quer apenas o 1o. mês, que está na 1a. coluna. Somar todas as linhas de todas as colunas. 5 Questão Imagine que você precisa escrever um algoritmo que receba uma matriz 4x4 de números inteiros, gere e exiba uma segunda matriz na qual as linhas são as colunas da matriz 1, e as colunas são as linhas da matriz 1. Qual das alternativas a seguir apresenta o código da estrutura de repetição que recebe os elementos da primeira matriz e gera a segunda? para (lin=0;lin<=3;lin++) { para (col=0;col<=3;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) M2[lin][col]=M1[lin][col] } } para (lin=0;lin<=3;lin++) { para (col=0;col<=3;col++) { escreva(M2[lin][col]," ") } } enquanto (lin=0;lin<=3;lin++) { enquanto (col=0;col<=3;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) M2[col][lin]=M1[lin][col] } } para (lin=0;lin<=3;lin++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][lin]) M2[lin][lin]=M1[lin][lin] } para (lin=0;lin<=3;lin++) { para (col=0;col<=3;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) M2[col][lin]=M1[lin][col] } } Respondido em 08/10/2020 23:37:11 6 Questão Na codificação de um programa, na linguagem C++, é necessário a declaração de uma matriz bidimensional para armazenar as notas de 6 disciplinas de uma turma com 30 alunos. Tomando-se como base que o algoritmo considera que os dados estarão organizados na matriz de modo que cada linha represente as notas de um único aluno, marque a alternativa que apresenta de forma correta a declaração desta matriz, chamada notasAlunos. a) float notasAlunos[30][6]; b) float notasAlunos[6][30]; d) float notasAlunos[6,30]; c) float notasAlunos[30,6]; e) float notasAlunos[][]; Respondido em 08/10/2020 23:35:04 Explicação: A especificação de uma matriz segue a sintaxe: tipo [qtd linhas][qtd colunas]; Como são 30 alunos, cada um terá uma linha e para as 6 notas, cada uma terá uma coluna. Temos então: float notasAlunos[30][6]; 7 Questão Analise o código em C++ mostrado abaixo e assinale a alternativa que descreve corretamente a sua execução: #include < iostream > using namespace std; int main() { int p, num[50]; for (p = 0; p <= 49; p++) { cout << "Digite um valor : "; cin >> num[p]; } for (p = 0; p <= 49; p++) { if (num[p] % 2 == 0 && num[p] > 30) cout << num[p] << "\t"; } system("pause"); return 0; } O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que sejam maiores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam maiores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam maiores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam menores que 30. Respondido em 08/10/2020 23:35:16 Explicação: Analisando o programa temos que : O 1o. for lê valores inteiros e os armazena em um vetor com capacidade para 30 elementos. Depois, no 2o. for, testa cada elemento do vetor e verifica se é par e se é maior que 30. Apenas satisfazendo as 2 condições é que o elemento de v será impresso. Analisando cada opção : O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números. é falso. Nâo imprime todos os números O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam maiores que 30. é falso. Tem que ser par e maior que 30 para ser impresso. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que sejam maiores que 30. é falso. Imprime os pares maiores que 30 e não os ímpares. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam menores que 30. é falso. Tem que ser par e maior que 30 para ser impresso. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam maiores que 30. Verdadeira 8 Questão Considere os seguintes valores de entrada: 1, 2, 3, 4, 5, 6, 7, 8 e 9 e ainda, o programa abaixo. Marque a resposta que mostra o que será exibido na tela. #include < iostream > using namespace std; int main() { int lin, col, mat[3][3]; for (lin=0; lin<3; lin++) for(col=0; col<3; col++) {cout<< "\nEntre com o elemento da matriz:"; cin>> mat[lin][col]; } for (lin=0; lin<3; lin++) cout << mat[lin][lin]<<"\n"; system("pause"); return 0; } 2 4 6 8 1 5 9 1 2 3 1 2 3 4 5 6 7 8 9 1 3 5 7 9 Respondido em 08/10/2020 23:38:06 Explicação: Considerando a entrada 1, 2, 3, 4, 5, 6, 7, 8 e 9 e o trecho do programa abaixo, veja o comentado ao fim de cada trecho. int lin, col, mat[3][3]; for (lin=0; lin<3; lin++) for(col=0; col<3; col++) { cout<< "\nEntre com o elemento da matriz:"; cin>> mat[lin][col]; } O trecho acima montará a matriz com 3 linhas e 3 colunas, a saber : 1 2 3 4 5 6 7 8 9 Já o trecho a seguir : for (lin=0; lin<3; lin++) cout << mat[lin][lin]<<"\n"; imprimirá os elementos da matriz em que a linha e a coluna são iguais. Ou seja, imprimirá os elementos da diagonal principal, que estão destacados em amarelo. 1 2 3 4 5 6 7 8 9 Impressos : 1 5 9
Compartilhar