Baixe o app para aproveitar ainda mais
Prévia do material em texto
Teste de Conhecimento avalie sua aprendizagem INTRODUÇÃO A PROGRAMAÇÃO Lupa Calc. CCT0825_A1_202103168787_V1 Aluno: CARLOS EDUARDO PERROTTA MARTELLO Matr.: 202103168787 Disc.: INTRODUÇÃO A PROGR. 2021.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Assinale a opção que mostra as formas possíveis e mais adequadas de se representar um algoritmo : Linguagem natural e pseudolinguagem Apenas pseudolinguagem Linguagem natural, fluxograma e pseudolinguagem Linguagem gráfica e pseudolinguagem Linguagem natural e linguagem gráfica Explicação: Por definição e aula de introdução e formas de representação de algoritmo. 2. A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é chamada de: Linguagem de baixo nível Linguagem de Máquina Programa Linguagem de alto nível Compilador Explicação: Falso. É um tradutor. Compilador FAlsa. Linguagem de zeros e uns. Linguagem de Máquina VErdadeiro Programa Falso. Usada para escrever programas Linguagem de alto nível Falso. Usada para escrever programas mais próximos da máquina. Exemplo : linguagem assembly Linguagem de baixo nível 3. Sobre Português Estruturado, assinale a opção correta : O português estruturado é uma simplificação da nossa linguagem natural, na qual usamos frases simples e estruturas que possuem um significado muito bem definido. É igual ao fluxograma É igual à linguagem de programação na língua portuguesa É igual a uma carta para um encarregado É igual à linguagem natural ou narrativa Explicação: Definição direta e objetiva dada na aula 1. 4. Sobre algoritmo, marque a opção correta. É um hardware especifico para resolver problemas. É uma forma de ensinar o computador. É uma linguagem de programação para computadores. É a solução teórica, passo a passo, de um problema. É uma etapa posterior à programação da solução de um problema. Explicação: Falso. Algoritmo não é linguagem de programação. Exemplo de linguagem de programção : C++ É uma linguagem de programação para computadores. Falso. Algoritmo é um conjunto de passos sem ambiguidade que vão traduzir a solução de um problema. O algoritmo poderá virar um programa, que poderá ou não "ensinar" o computador. É uma forma de ensinar o computador. Verdadeiro É a solução teórica, passo a passo, de um problema. Falso. É uma etapa anterior à programação, ou seja, à criação de programa. É uma etapa posterior à programação da solução de um problema. Falso. Algoritmo pode virar um programa. E programa é software e não hardware. É um hardware especifico para resolver problemas. 5. 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. N1 e N2 Reprovado Fim Aprovado Média Explicação: Logo após o início do algoritmo aparecem N1 e N2 no símbolo que representa entrada de dados. 6. 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 interpretadas e executadas por um computador. Um programa é um algoritmo codificado em uma linguagem de programação, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. Um programa é um algoritmo codificado em uma linguagem de gráfica (ex: fluxograma), isto é, um conjunto de instruções que representam tarefas que serão apenas interpretadas por um computador. Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão apenas executadas por um computador. 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. 7. Sobre fluxograma, assina a opção correta. É usado na escrita de pseudolinguagens, como o Portugol. É uma representação gráfica de algoritmos que dá margem à dupla interpretação ou ambiguidades. É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidade . É uma forma de se representar o uso de hardware no programa. É uma forma de se escrever programas em qualquer linguagem de programação. Explicação: É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidades, como ensinado na aula 1 online. 8. Com base nos conceitos de algoritmos, lógica de programação e linguagens de programação, é correto afirmar que: Os algoritmos correspondem, estritamente, aos conjuntos de dados e informações que são tratados em um determinado processamento. As linguagens de programação possuem um conjunto de regras flexíveis para a representação dos comandos de um programa. 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. Os três conceitos correspondem às únicas formas de representação da solução de um determinado problema. 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. Não Respondida Não Gravada Gravada Exercício inciado em 04/11/2021 14:16:31. Teste de Conhecimento avalie sua aprendizagem INTRODUÇÃO A PROGRAMAÇÃO Lupa Calc. CCT0825_A2_202103168787_V1 Aluno: CARLOS EDUARDO PERROTTA MARTELLO Matr.: 202103168787 Disc.: INTRODUÇÃO A PROGR. 2021.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Uma variável pode ser entendida como sendo: Um endereço na memória principal. Um dispositivo de entrada de dados. Um elemento da unidade lógica de controle. Um dispositivo de saída de dados. Um dispositivo de memória auxiliar. 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. Assinale a opção que apresenta somente nomes válidos para variáveis em C++. CONTA, TOTAL1, data CONTA, TOTAL1, 1DATA 1conta, 2total, 3data Conta, Total, 5data Conta, Total1, DIA-MÊS-ANO 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 3. As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas: palavras únicas palavras próprias palavras reservadas palavras código palavras especiais Explicação: Não tem outra possibilidade com margem à dúvida. Por definição, é palavra reservada. 4. Assinale a opção correta: Um programa escrito em C++ que executa no Linux não vai executar no Windows. Não se pode escrever programa em C++ que execute no Mac. É o linker que traduz o todo programa feito em C++. Programas em C++ são interpretados e não compilados Os programas em C++ precisam ser traduzidos para uma linguagem que o computador entenda. Explicação: Basta seguir a definição de programa dada na aula de conceitos introdutórios. 5. Sobre a linguagem de programação C++, é correto afirmar que a mesma: I. Não permite a criação de variáveis do tipo lógico; II. É case sentive, ou seja, faz distinção entre letras maiúsculas e minúsculas; III. Permite que os identificadores de variáveis iniciem pelo caractere sublinhado ("_"); IV. É fracamente tipada; o que permite que uma variável seja declarada sem que seu tipo seja definido. I, II e III são verdadeiras. I e IV são verdadeiras. II e III são verdadeiras. I e II são verdadeiras. II, III e IV são verdadeiras. 6. 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 é: real quilo = 34.90; real prato = 0; real valor_pagar = 0; bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0; float quilo = 34.90; float prato = 0; float valor_pagar = 0; char quilo = 34.90; char prato = 0; char valor_pagar = 0; int quilo = 34.90; int prato = 0; int valor_pagar = 0; 7. 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." real bool char float int Explicação: Conforme gabarito e aula de tipos primitivos de dados 8. No C++, é possível declarar variáveis e constantes. Uma constante é um espaço da memória reservado a um valor que não se altera ao longo da execução de um programa. Imaginando que você precise de uma constante para armazenar o valor de PI (3,14), como seria feita sua declaração em C++? float PI=3.14; const int PI=3.14; const float PI=3.14; const integer PI=3.14; const real PI=3.14; Não Respondida Não Gravada Gravada Exercício inciado em 04/11/2021 14:27:32. Teste de Conhecimento avalie sua aprendizagem INTRODUÇÃO A PROGRAMAÇÃO Lupa Calc. CCT0825_A3_202103168787_V1 Aluno: CARLOS EDUARDO PERROTTA MARTELLO Matr.: 202103168787 Disc.: INTRODUÇÃO A PROGR. 2021.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. 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 V - F - F - F F - V - V - F F - F - V - F 2. Monte a tabela da verdade para a expressão A || B && C && !A. A B C !A B && C B && C && !A A || B && C && !A V V V F V F V V F F F F V F V F F F V F F F F F F V V V V V F V F V F F F F V V F F F F F V F F A sequência de valores que preenche a última coluna, de cima para baixo, é: F, V, F, V, V, F, V, F V, V, V, V, V, F, F, F F, F, F, F, F, V, V, V V, F, V, F, V, F, V, F V, V, F, F, V, V, F, F 3. 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 deX * X + Y = 5. A expressão é FALSA, e o valor de X * X + Y = 3. 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. 4. Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos. =, > e ? &&, || e ! +, - e * !, > e >= &&, >= e <= 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 * 5. Considerando os seguintes conteúdos para as variáveis: a = 2, b = 5 e c = 4 Determine qual das sentenças retornará verdadeiro. pow(c,a) > b * c ((b = 2) == a) (b % a) == 0 a == c (b + 2) > (a * c) 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 6. 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; Explicação: MEDIA = (AV1 + AV2) / 2; - OK 7. Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. &&, || e ~ &&, >= e || =, > e || <, > e >= +, - e * Explicação: <, > e >= Falso. Nenhum é relacional &&, || e ~ Falso. O único relacional é o > =, > e || Falso. O único relacional é o >= &&, >= e || Falso. Nenhum relacional +, - e * 8. 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 Explicação: A || B && C && !D || = OU && = E ! = não Não Respondida Não Gravada Gravada Exercício inciado em 04/11/2021 14:36:17. Teste de Conhecimento avalie sua aprendizagem INTRODUÇÃO A PROGRAMAÇÃO Lupa Calc. CCT0825_A4_202103168787_V1 Aluno: CARLOS EDUARDO PERROTTA MARTELLO Matr.: 202103168787 Disc.: INTRODUÇÃO A PROGR. 2021.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. 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 - F - F F - V - F V - V - V V - F - F V - V - F 2. 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 _______________. iostream - setlocale locale - ptb locale - setlocale math - math.round iostream - ptb Dúvidas catalogadas relacionadas com esta questão Explicar como chegou ao resultado da questão 3, do ... Operadores Lógicos C++ Dúvida na questão 5 TIPOS PRIMITIVOS DE DADOS Tipos primitivos de dados DECLARAÇÃO E INICIALIZAÇÃO DE VARIÁVEIS LENDO E ESCREVENDO EM C++ OPERADORES ARITMÉTICOS, RELACIONAIS E LÓGICOS Professora , estou com uma dúvida, na aula de N° 4 ... Professora, eu tenho dúvida quando os testes envol ... Divisão entre números inteiros com resultado decim ... Pós-incremento e pré-incremento FUNÇÕES DO C++ : UMA NOÇÃO Uso de funções? Funções matemáticas. 3. Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das interrogações a seguir? programa { funcao inicio( ) { ???????? } } real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 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) escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) 4. 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." "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." "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." "Você consegue abastecer 51.28 litros de combustível." 5. 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") escreva("Você tem ou fará " /idade/ " anos") leia("Você tem ou fará " / idade/ " anos") leia("Você tem ou fará ", idade, " anos") 6. 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 cin com >> e para saída de dados usamos cout com << Para entrada de dados usamos read e para saídade dados usamos write 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 >> Explicação: Basta seguir as descrições na aula 2. 7. 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); real nota1, nota2, nota3; int nota1, nota2, nota3, media; float nota1..nota3, media; float nota1, nota2, nota3, media; nota1, nota2, nota3 : float Explicação: as 4 variáveis precisam ser float, para conterem valores com casas decimais 8. Laços de repetição são usados para que uma determinada sequência de comandos seja repetida um determinado número de vezes, sem a necessidade de reescrever tais comandos inúmeras vezes. Marque a alternativa que apresenta corretamente a representação de um laço de repetição codificado em C++. System.out.println("lendo idade"); System.out.println("lendo idade"); cout < lendo idade; cin > idade exiba "lendo a idade"; lendo idade; cout "lendo a idade"; cin idade; cout << "lendo a idade"; cin >> idade; 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"); Não Respondida Não Gravada Gravada Exercício inciado em 04/11/2021 14:43:18. Teste de Conhecimento avalie sua aprendizagem INTRODUÇÃO A PROGRAMAÇÃO Lupa Calc. CCT0825_A5_202103168787_V1 Aluno: CARLOS EDUARDO PERROTTA MARTELLO Matr.: 202103168787 Disc.: INTRODUÇÃO A PROGR. 2021.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. 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: 11 22 2 5 -1 2. 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 8 12 2 -4 3. Considere o trecho de programa em C++. O que é impresso na tela ? int x = 10, y = 3, z, k; y = x + y - 1; z = x/y; k = y % x; if (k == 0) cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k; else cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; x= 11 y = 11 z = 2 k = 0 11 11 2 0 x = 10 y = 12 z = 0.833 k = 0 10 12 2 0 x = 10 y = 12 z = 0 k = 0 Explicação: É preciso fazer um teste de mesa ou chinês e encontrar a resposta correta, como indicado. Para isso, o conteúdo sobre comando condicional, atualmente, na aula 5, é suficiente, junto com declaração de variáveis de aula anterior. x recebe 10 e depois y recebe 3 e depois y recebe 10+3-1, que dá 12 z recebe 10/12, que dá 0 k recebe 2 TEste do if é falso. Então, entra-se no else e é impresso : 11 11 2 0 4. 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!") 5. 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 > 20 N2 > N1 || N1 > 50 N2 == N1 || N2 > 20 N1 < N2 && N1 < 50 N1 > N2 || N2 < 50 6. 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 << " "; 1 1 1 4 4 1 Ocorrerá erro, pois o trecho não compila. 4 4 Explicação: Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 7. Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, sendo que na 1ª. execução o valor de entrada é 7 e na 2ª. execução o valor de entrada é 8. Para isso, considere o seguinte trecho em C++. int num; cout << "Digite um numero: "; cin >> num; if (num != 2 || num != 4 || num != 6) { num = num + 2; cout << num << " "; } if (num != 8) { num--; cout << num << " "; } else cout << num * 5 ; 9 8 10 9 9 40 9 8 10 40 9 6 10 9 8 10 40 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 8. Você deseja analisar se um número inteiro qualquer fornecido pelo usuário é par e positivo ou par e negativo. Com base na sintaxe do Portugol Studio, o trecho que realiza corretamente o teste para descobrir as características do número é: escreva("Informe um número qualquer: ") leia(num) resto=num^2 se (resto==1 e num>1) { escreva("Este número é par e positivo!") } senao se (resto!=0 e num>0) { escreva("Este número é ímpar e positivo!")}escreva("Informe um número qualquer: ") leia(num) resto=num%2 se (resto==0 ou num>0) { escreva("Este número é par e positivo!") } senao se (resto!=0 ou num>0) { escreva("Este número é ímpar e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num%2 se (resto==0 e num>0) { escreva("Este número é par e positivo!") } senao se (resto!=0 e num>0) { escreva("Este número é ímpar e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num%2 se (resto==0 e num<0) { escreva("Este número é ímpar e positivo!") } senao se (resto!=0 e num>0) { escreva("Este número é par e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num/2 se (resto==0 !! num>0) { escreva("Este número é par e positivo!") } senao se (resto!=0 !! num>0) { escreva("Este número é ímpar e positivo!")} Não Respondida Não Gravada Gravada Exercício inciado em 04/11/2021 14:49:50. Teste de Conhecimento avalie sua aprendizagem INTRODUÇÃO A PROGRAMAÇÃO Lupa Calc. CCT0825_A6_202103168787_V1 Aluno: CARLOS EDUARDO PERROTTA MARTELLO Matr.: 202103168787 Disc.: INTRODUÇÃO A PROGR. 2021.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. 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: escolha 102: item="Milkshake" valor=qtde*7 pare caso 102: item="Milkshake" valor=qtde*7 pare enquanto (102) item="Milkshake" valor=qtde*7 para (item==102) { item="Milkshake" valor=qtde*7 } se 102: item="Milkshake" valor=qtde*7 pare 2. 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? do/while switch/case while for cout Explicação: switch/case É para repetição do/while É para repetição for É para impressão na tela cout É para repetição while 3. Imagine que você precisa escrever um programa em C++ que exiba o nome do dia semana a partir de seu código numérico equivalente, conforme se vê a seguir. 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Se fosse utilizada a estrutura SWITCH e os testes fossem escritos na ordem em que os dias estão listados, os casos finais dessa estrutura, considerando que você deseja apresentar uma mensagem de erro caso o usuário informe um código equivocado, seriam. case 7: cout <<"sábado"; break; case not: cout <<"Código inválido!"; default 7: cout <<"sábado"; break; default: cout <<"Código inválido!"; default 7: cout <<"sábado"; break; switch: cout <<"Código inválido!"; case 7: cout <<"sábado"; break; default: cout <<"Código inválido!"; switch 7: cout <<"sábado"; break; default: cout <<"Código inválido!"; 4. Que comando em C++ é mais indicado para ser usado em um programa que permita a escolha de uma opção do MENU ? Por exemplo : 1-Incluir, 2-Excluir, 3-Alterar e 9-Sair. while cout / cin for do/while switch / case Explicação: Por definição dada em aula de comando de seleção 5. 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 - se, B - caso, C - pare, D - default A - caso, B - escolha, C - pare, D - outros casos A - escolha, B - caso, C - pare, D - outros casos A - switch, B - case, C - break, D - default A - case, B - switch, C - default, D - break 6. 11 10 50 10 2 10 50 10 2 11 50 10 2 11 10 50 10 11 50 10 Explicação: 1ª. Execução : valor de a é 1 Entrar no case 1, depois no case 3 e em seguida, no case 5. Então será impresso 11 10 2ª. Execução : valor de a é 5 Entrar no case 5 e imprimir 50 3ª. Execução : valor de a é 20 Entrar no case 20 e depois no case 30. Então, será impresso 10 2 Concluindo : Valores impressos : 11 10 50 10 2 7. 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; } Estrutura condicional de comando composto aninhamento de if comando switch Operador ternário Estrutura condicional de comando simples Explicação: Como dito no gabarito. O operador ? : equivale ao comando if ... else. 8. 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 { escreva("Este é um triângulo escaleno!") } senao (lado1=lado2 ou lado2=lado3 ou lado3=lado1) {escreva("Este é um triângulo isósceles!") } se (lado1==lado2 e lado2==lado3) { escreva("Este é um triângulo escaleno!") } senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) { escreva("Este é um triângulo isósceles!") } senao { escreva("Este é um triângulo equilátero!") } (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 ou lado2==lado3) { escreva("Este é um triângulo equilátero!") } senao se (lado1==lado2 e lado2==lado3 e lado3==lado1) { escreva("Este é um triângulo escaleno!") } senao { escreva("Este é um triângulo isósceles!") } se (lado1==lado2 e lado2==lado3) { escreva("Este é um triângulo equilátero!") } senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) { escreva("Este é um triângulo escaleno!") } senao { escreva("Este é um triângulo isósceles!") } Não Respondida Não Gravada Gravada Exercício inciado em 04/11/2021 15:01:31. Teste de Conhecimento avalie sua aprendizagem INTRODUÇÃO A PROGRAMAÇÃO Lupa Calc. CCT0825_A7_202103168787_V1 Aluno: CARLOS EDUARDO PERROTTA MARTELLO Matr.: 202103168787 Disc.: INTRODUÇÃO A PROGR. 2021.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Sobre a estrutura com pós-teste, julgue as assertivas a seguir Verdadeiras ou Falsas: ( ) Avalia somente uma condição por vez, tendo essa que ser do tipo relacional ou matemático. ( ) Trata-se de uma estrutura de seleção capaz de restringir a execução de determinado trecho do código; ( ) É uma estrutura do tipo repetitiva, que precisa de uma condição que controle quando o trecho deve se repetir; V - F - V F - F - V V - F - F F - V - V F - F - F 2. O trecho de código a seguir utiliza uma estrutura de repetição do tipo for . Marque a alternativa que apresenta de forma correta o mesmo trecho utilizando a estrutura de repetição while. Seja: for( int i=3; i<100; i+=2) cout << i ; int i; while (i<100) { cout << i; i=3; i=i+2; } int i; i=3; while (i<100) { cout << i; i=i+2; } int i; i=3; while(i<100) cout << i; i=i+2; int i; i=3; while(i<100) { i=i+2; cout << i; } int i; while (i<100) { i=3; cout << i; i=i+2; } Explicação: A estrutura dos dois comandos é a seguinte : inicialização, teste lógico, incremento/decremento e o trecho da repetição. conforme aula e gabarito. 3. Uma turma precisa escolher seu representante. Sabendo que existem apenas dois candidatos, identificados pelas letras A e B, imagine que você precisa escrever um programa em C++ que 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. Contabilize também os votos nulos, que são aqueles diferentes de A ou B. Ao final, é preciso exibir o candidato vencedor, os votos para o candidato A, os votos para o candidato B e os votos nulos. Qual das alternativas a seguir apresenta o trecho de código adequado à solução desse problema? cout<< "Digite o número do aluno: "; cin>> num; for (num!=0) { cout<< "Digite a letra de seu candidato: "; cin>> voto; if (voto == A) { contA++; } else if (voto == B) { contB++; } else { contN++; } cout<< "Digite o número do aluno: "; cin>> num; } cout<< "Digite o número do aluno: "; cin>> num; while (num!=0) { cout<< "Digite a letra de seu candidato: "; cin>> voto; if (voto == A) { contA++; } else if (voto == B) { contB++; } else { contN++; } cout<< "Digite o número do aluno: "; cin>> num; } cin<< "Digite o número do aluno: "; cout>> num; do while (num!=0) { cin<< "Digite a letra de seu candidato: "; cout>> voto; if (voto == A) { contA++; } else if (voto == B) { contB++; } else { contN++; } cin<< "Digite o número do aluno: "; cout>> num; } cout<< "Digite o número do aluno: "; cin>> num; do (num!=0) { cout<< "Digite a letra de seu candidato: "; cin>> voto; if (voto == A) { contA++; } else if (voto == B) { contB++; } else { contN++; } cout<< "Digite o número do aluno: "; cin>> num; } cout<< "Digite o número do aluno: "; cin>> num; while (num!=0) { cout<< "Digite a letra de seu candidato: "; cin>> voto; case (voto == A) { contA++; } case (voto == B) { contB++; } case { contN++; } cout<< "Digite o número do aluno: "; cin>> num; } 4. Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) { int i = 0; double x, y = 0; cout << "Digite um numero diferente de zero : "; cin >> x; while (x != 0){ i = i + 1; y = y + x; cout << "Digite um numero diferente de zero: "; cin >> x; } y = y / i; cout << "Numero: " << i << "\n"; return 0; } O menor de todos os elementos digitados A média dos elementos digitados O maior de todos os elementos digitados A quantidade de elementos pares A quantidade de elementos digitados diferentes de zero. 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. 5. Utilizando a sintaxe do Portugol Studio, que comando seria adequado para iniciar uma repetição capaz de exibir todos os números pares entre 2 e 1000? para (cont=2;cont<=1000;cont++) para (cont=0;cont>1000;cont+=1) para (cont=1;cont<=1000;cont+=2) para (cont=2;cont<=1000;cont+=2) para (cont=1;cont<100;cont++) 6. Qual a estrutura de repetição mais indicada para os casos em que é necessário que o bloco de código a ser repetido seja sempre repetido pelo menos uma vez? while{} while do repeat until for{} do{ }while Explicação: O comando do... while deixa fazer para depois testar. Logo, é feita apenas 1 vez. No caso do comando while ou for, é possível não entrarmos no bloco do loop nenhuma vez. 7. Considere o seguinte problema: Uma turma precisa escolher seu representante. Sabendo que existem apenas dois candidatos, identificados pelas letras A e B, receba o número do aluno e o candidato por ele escolhido e contabilize os votos de cada um. A leitura de votos será finalizada quando o número do aluno informado for 0. A linha inicial da estrutura repetitiva com pré-teste capaz de controlar o recebimento dos votos é: if (num!=0) do (num!=0) while (num!=0) for (num<=0) while (num==0) 8. Imagine que , com base na sintaxe do Portugol Studio, você precisa escrever um algoritmo que receba uma sequência denúmeros e, para cada número informado, diga se ele é par ou ímpar. A sequência se encerra quando o usuário digitar 0. Considerando que é necessário utilizar uma estrutura repetitiva com pré-teste, qual das alternativas a seguir ajuda a resolver o problema proposto? enquanto (num>0) { se (num%2!=0) { escreva("Este número é par!\n") } senao { escreva("Este número é ímpar!\n") } escreva("Informe um número qualquer: ") leia(num) } faca { se (num%2==0) { escreva("Este número é par!\n") } senao { escreva("Este número é ímpar!\n") } escreva("Informe um número qualquer: ") leia(num) } enquanto (num!=0) enquanto (num==0) { se (num/2==0) { escreva("Este número é par!\n") } senao { escreva("Este número é ímpar!\n") } escreva("Informe um número qualquer: ") leia(num) } faca { se (num%2!=0) { escreva("Este número é par!\n") } senao { escreva("Este número é ímpar!\n") } escreva("Informe um número qualquer: ") leia(num) } enquanto (num>0) enquanto (num!=0) { se (num%2==0) { escreva("Este número é par!\n") } senao { escreva("Este número é ímpar!\n") } escreva("Informe um número qualquer: ") leia(num) } Não Respondida Não Gravada Gravada Exercício inciado em 04/11/2021 15:11:46. Teste de Conhecimento avalie sua aprendizagem INTRODUÇÃO A PROGRAMAÇÃO Lupa Calc. CCT0825_A8_202103168787_V1 Aluno: CARLOS EDUARDO PERROTTA MARTELLO Matr.: 202103168787 Disc.: INTRODUÇÃO A PROGR. 2021.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. 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. 2. 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? for (cont=1;cont<=30;cont+=2) { cout <<"Informe as 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!"; } } 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!"; } } 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!"; } } 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!"; } } 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!"; } } 3. O que o trecho de programa em C++ abaixo imprime na tela ? int x; for (x = 5; x > 0; x--) if (x % 3 == 0) cout << x - 1 << " "; else cout << x + 1 << " "; 6 5 2 3 2 6 5 2 3 1 5 4 3 2 1 5 6 3 2 1 6 5 3 2 1 Explicação: int x; for (x = 5; x > 0; x--) if (x % 3 == 0) cout << x - 1 << " "; else cout << x + 1 << " "; Analisando o trecho dado e fazendo teste de mesa : x x > 0 ? (x % 3 == 0) ? 5 5 > 0 ? sim 5 % 3 é zero ? Não. Imprime 6 4 4 > 0 ? sim 4 % 3 é zero ? não. Imprime 5 3 3 > 0 ? Sim 3 % 3 é zero ? sim. Imprime 2 2 2 > 0 ? sim 2 % 3 é zero ? não. Imprime 3 1 1 > 0 ? sim 1 % 3 é zero ? não. Imprime 2 0 0 > 0 ? não TELA 6 5 2 3 2 4. 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; } O maior de todos os elementos digitados A média dos elementos digitados A quantidade de elementos pares O menor de todos os elementos digitados A quantidade de elementos digitados 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. 5. 50 e 9 9 e 9 16 e 9 50 e 16 o valor de s está indefinido e o valor de num é 7 Explicação: conta num s conta <= 40 ? 10 1 0 sim 20 3 0 + 1 , que dá 1 sim 30 5 1 + 3, que dá 4 sim 40 7 4 + 5, que é 9 sim 50 9 9 + 7, que é 16 Falso ! Valor final de s é 16 e o valor final de num é 9 6. 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 40 60 79 98 3 22 41 59 79 98 3 22 41 60 79 98 3 23 42 61 80 99 3 22 41 60 79 99 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. 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++) { 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++) { 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 >>qtdeF; if (sexo==F && sexo==f) { qtdeF--; } else if (sexo==M || sexo==m) { qtdeM--; } } 8. O que será impresso, após a execução do código, a seguir? #include < iostream > using namespace std; int main() { for(int i=25;i>0;i=i-6) cout << i << " "; system( "pause" ); } 10 5 0 13 7 12 5 10 7 13 12 8 10 7 15 0 0 0 0 0 25 19 13 7 1 Explicação: Analisando o trecho do programa : for(int i = 25 ;i>0 ;i=i-6) cout << i << " "; Façamos um teste de mesa : i i > 0 ? 25 sim 19 sim 13 sim 7 sim 1 sim -5 não TELA : 25 19 13 7 1 Não Respondida Não Gravada Gravada Exercício inciado em 04/11/2021 15:18:01. Teste de Conhecimento avalie sua aprendizagem INTRODUÇÃO A PROGRAMAÇÃO Lupa Calc. CCT0825_A9_202103168787_V1 Aluno: CARLOS EDUARDO PERROTTA MARTELLO Matr.: 202103168787 Disc.: INTRODUÇÃO A PROGR. 2021.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Considere que um casal de amigos está brincando de par ou ímpar. Você precisa escrever um algoritmo que, a cada uma das 10 jogadas que farão, armazene nos vetores jogadasA e jogadasB o número escolhido pelo jogador A (que é par) e o número escolhido pelo jogador B (que é ímpar), respectivamente. Precisa informar, também a cada jogada, o jogador vencedor. O trecho que avaliaria a soma dos números escolhidos por cada amigo e decidiria quem venceu a rodada seria: total++ se (total%2!=0) { escreva("Jogador A venceu!\n") } senao { escreva("Jogador B venceu!\n") } total=jogadasA[ind]+jogadasB[ind] escolha (total%2==0) { escreva("Jogador A venceu!\n") } outros casos { escreva("Jogador B venceu!\n") } total=jogadasA[ind]+jogadasB[ind] se (total%2==0) { escreva("Jogador A venceu!\n") } senao { escreva("Jogador B venceu!\n") } total=[ind]+jogadasB se (total%2>=0) { escreva("Jogador A venceu!\n") } senao { escreva("Jogador B venceu!\n") } total=jogadasA+jogadasB se (total%2==0) { escreva("Jogador A venceu!\n") } senao { escreva("Jogador B venceu!\n") } 2. Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________. unidimensional - homogênea - único valor - de tipos variados bidimensional - homogênea - único valor - do mesmo tipo unidimensional - heterogênea - único valor - de tipos variados unidimensional - homogênea - conjunto de valores - do mesmo tipo bidimensional - heterogênea - conjunto de valores - do mesmo tipo 3. 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[15]; int LISTA[16]; float lista[16]; float LISTA[15]; 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]; 4. 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) { SOMA=NUM[i]; } for (i=0;i=9;i++) { SOMA=NUM[i] } for (i=1;i<=10;i++) { SOMA+=NUM[i]; } 5. 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]; 1, 2, 3 2, 3, 1 1, 3, 2 2, 1, 3 3, 2, 1 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 6. Os chamados vetores e matrizes podem ser considerados como: Comandos de seleção Estruturas de dados homogêneas Comandos de repetição Comandos de seleção composta Estruturas de dados heterogêneas 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 7. <valor[x]; </valor[x]; Todos os elementos ímpares 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 que são menores que cinco do vetor VALOR. Todos os elementos do vetor VALOR. 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. 8. Você está escrevendo um programa no qual utiliza um vetor de 15 elementos do tipo caractere denominado LETRAS e precisa contar quantas posições do vetor armazenam a letra "A" ou a letra "E" e guardar o total na variável QuantAE. O trecho de código capaz de realizar essa contagem é: for (i=0;i<=14;i++) { if (LETRAS[i] == "A" || LETRAS[i] == "E") { QuantAE+=1; } } for (i=1;i<=14;i++) { if (LETRAS[i] == "A" || LETRAS[i] == "E") { QuantAE+=; }} for (i=1;i<=15;i++) { if (LETRAS[i] == "A" && LETRAS[i] == "E") { QuantAE+=1; } } for (i=0;i=14;i++) { if (LETRAS[i] == ¿A¿ !! LETRAS[i] == ¿E¿) { QuantAE+=1; } } for (i=0;i<=14;i++) { if (LETRAS[i] == "A" or LETRAS[i] == "E") { QuantAE=1; } } Não Respondida Não Gravada Gravada Exercício inciado em 04/11/2021 15:30:35. Teste de Conhecimento avalie sua aprendizagem INTRODUÇÃO A PROGRAMAÇÃO Lupa Calc. CCT0825_A10_202103168787_V1 Aluno: CARLOS EDUARDO PERROTTA MARTELLO Matr.: 202103168787 Disc.: INTRODUÇÃO A PROGR. 2021.3 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 1. Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para armazenar o valor dos 12 salários de 45 funcionários. Qual das opções abaixo o estudante deverá declarar? float funcionario[45][45]; float funcionario[45][12]; float funcionario[12],[12]; int salario[45], funcionario[12]; char funcionario[12][12]; Explicação: Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para armazenar o valor dos 12 salários de 45 funcionários. Então, teremos 45 linhas, uma para cada funcionário. E para cada linha ou funcionário, teremos 12 colunas, uma coluna para o salário de um mês. Com relação a salário devemos usar o tipo de dados float e não int e nem char. Logo : float funcionario[45][12]; Falso. Erro no número de linhas, colunas e uso indevido de vírgula float funcionario[12],[12]; Falso. Erro no número de colunas. float funcionario[45][45]; Falso. Erro no número de linhas, colunas e no tipo de dados. char funcionario[12][12]; Falso. Não se tem aqui matriz bidimensional, como solicitado. int salario[45], funcionario[12]; VErdadeiro. float funcionario[45][12]; 2. 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. a) float notasAlunos[30][6]; c) float notasAlunos[30,6]; d) float notasAlunos[6,30]; e) float notasAlunos[][]; b) float notasAlunos[6][30]; 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[][]; 3. 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++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][lin]) M2[lin][lin]=M1[lin][lin] } para (lin=0;lin<=3;lin++) { para (col=0;col<=3;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) M2[lin][col]=M1[lin][col] } } para (lin=0;lin<=3;lin++) { para (col=0;col<=3;col++) { escreva(M2[lin][col]," ") } } para (lin=0;lin<=3;lin++) { para (col=0;col<=3;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) M2[col][lin]=M1[lin][col] } } enquanto (lin=0;lin<=3;lin++) { enquanto (col=0;col<=3;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) M2[col][lin]=M1[lin][col] } } 4. Analise a seguinte afirmação: "Um edifício tem 8 andares, cada andar tem 5 apartamentos." Como poderíamos escrever uma declaração de matriz na linguagem C++, seguindo a afirmação acima, sabendo que os dados seriam do tipo int ? int edificio[8][5]; int edificio[40][1]; int edificio[1][40]; int edificio[40][5]; int edificio[5][8]; Explicação: Analisando ... "Um edifício tem 8 andares, cada andar tem 5 apartamentos." Cada andar pode ser visto como uma linha da matriz. E em cada linha ou andar, podemos ter 5 apartamentos ou 5 colunas. Dessa forma temos : int edificio[8][5]; porque no 1o. par de parênteses temos o total de linhas e no 2o. par de colchetes temos o total de colunas Veja que em todas as opções temos a variável de nome edificio. 5. Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena, em cada uma de suas linhas, a quantidade estocada de produtos no último quadrimestre (4 meses). Sabendo-se que a declaração de uma matriz em C/C++ se dá da forma: < tipo de dado> nome [nºde linhas][nºde colunas]; Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá: Somar todas as linhas de todas as colunas. Somar todas as linhas da coluna índice 0. Somar todas as linhas da coluna índice 1. Somar todas as colunas da linha índice 0. Somar todas as colunas da linha índice 1 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. 6. 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 Explicação: Conforme gabarito e aula de matrizes, consciente que o índice da linha começa de zero e o da colunatambém. O papel da variavel aux é permitir a troca dos valores da matriz. 7. Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena a quantidade estocada de 3 produtos no último quadrimestre (4 meses). Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá: Somar todas as linhas da coluna índice 0. Somar todas as colunas da linha índice 0. Somar todas as linhas de todas as colunas. Somar todas as linhas da coluna índice 1. Somar todas as colunas da linha índice 1 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. 8. 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á 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 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. 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 Não Respondida Não Gravada Gravada Exercício inciado em 04/11/2021 15:38:25.
Compartilhar