Baixe o app para aproveitar ainda mais
Prévia do material em texto
INTRODUÇÃO A PROGRAMAÇÃO. 1 - Correlacione os conceitos com suas definições: 1 Algoritmo: c) Solução passo a passo para um problema que inclui regras a serem seguidas. 2 Raciocínio lógico: d) Processo de estruturação do pensamento que permite que se chegue a uma conclusão ou se resolva um problema. 3 Pensamento computacional: b) Processo que orienta a solução de um problema de forma que um computador possa executá-la. 4 Pilares do pensamento computacional: a) Decomposição, reconhecimento de padrões, abstração e algoritmo. a) 4 - Os pilares do pensamento computacional representam as etapas pelas quais devemos passar antes que cheguemos à solução de um problema. Todos os pilares são igualmente relevantes e não devem ser menosprezados. b) 3 - O pensamento computacional nos ajuda a formular soluções que possam ser executadas por um computador. Essas soluções devem ser estruturadas e nada do que seja necessário ser feito pode ser omitido ou o computador não se comportará como se espera. c) 1 - Os algoritmos representam soluções para problemas que podem ser do cotidiano ou especificamente computacionais. d) 2 - O raciocínio lógico ajuda na organização do pensamento de forma que se possa identificar a melhor solução para um problema. Mas o que são algoritmos? Os algoritmos são séries de procedimentos definidos passo a passo que visam a solução de um problema. Algoritmos são independentes de linguagens de programação e, por isso, um algoritmo pode ser convertido em qualquer linguagem de programação. Fluxogramas Os fluxogramas são a representação gráfica dos algoritmos. Pseudocódigo O pseudocódigo não é uma linguagem de programação e, por isso, não precisa seguir uma sintaxe específica. Ele é uma maneira simples de descrever um conjunto de instruções que deverão ser executadas pelo computador. O pseudocódigo é escrito na língua nativa de quem o utiliza – no nosso caso, o português – e sua intenção é garantir que qualquer pessoa compreenda o que está descrito. Em computação, o termo sintaxe faz referência às regras que especificam de que maneira devem ser utilizadas as instruções e declarações de uma linguagem de programação. Fluxogramas: Os fluxogramas representam graficamente a solução de um problema com base em um conjunto específico de símbolos. Algoritmos: Os algoritmos são como os fluxogramas, mas, ao invés de terem a forma gráfica, são totalmente textuais. Portugol: O portugol é a linguagem adotada na criação de algoritmos que nos permite definir as soluções usando nossa língua materna, ou seja, o português. 1. 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, II e III. I e III I e II. II e III. 2. Sobre o FLUXOGRAMA abaixo podemos afirmar que : Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO Apresenta na sua lógica a estrutura básica DECISÃO Apresenta na sua lógica a estrutura básica REPETIÇÃO Apresenta na sua lógica as três estruturas básicas de programação Explicação: Justificativas das opções : >> Apresenta na sua lógica as três estruturas básicas de programação . Falso. Não apresenta repetição >> Apresenta na sua lógica a estrutura básica REPETIÇÃO Falso. Apresenta apenas entrada de dados, saída de dados, atribuição, condicional composto. >> Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO Falso. Não apresenta repetição. >> Apresenta na sua lógica a estrutura básica DECISÃO. Verdadeiro. Veja o uso do losango. >> Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO Falso. Não apresenta repetição. 3. Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo: O fluxograma é responsável por calcular a idade de um indivíduo a partir de seu ano de nascimento e do ano em que estamos. Poderiam ser retirados do fluxograma os símbolos de terminação que delimitam, respectivamente, o início e o fim da solução. A simbologia empregada no recebimento de dados está equivocada e foi trocada por aquela que representa exibição de informações. O fluxograma está incompleto e errado, pois não exibe mensagens antes que a leitura de dados seja realizada. No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre negativa. 4. Assinale a opção que, corretamente, mostra exemplos de linguagens de programação. português estruturado, C++, Java C++, C# e fluxograma C++, Java, portugol C++, Java, C# fluxograma, português estruturado, C Explicação: Exemplos dados na aula 1. 5. 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 + (percAumento/100) novoSal <- salAtual + (salAtual*percAumento/100) novoSal <- salAtual + (salAtual*100) novoSal <- salAtual + (salAtual*percAumento) 6. Sobre Português Estruturado, assinale a opção correta : É igual a uma carta para um encarregado É igual ao fluxograma 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 à linguagem natural ou narrativa É igual à linguagem de programação na língua portuguesa Explicação: Definição direta e objetiva dada na aula 1. 7. Sobre algoritmo, marque a opção correta. É uma linguagem de programação para computadores. É um hardware especifico para resolver problemas. É uma etapa posterior à programação da solução de um problema. É uma forma de ensinar o computador. É a solução teórica, passo a passo, 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. 8. Assinale a opção que mostra as formas possíveis e mais adequadas de se representar um algoritmo : Linguagem gráfica e pseudolinguagem Linguagem natural e linguagem gráfica Linguagem natural, fluxograma e pseudolinguagem Apenas pseudolinguagem Linguagem natural e pseudolinguagem Explicação: Por definição e aula de introdução e formas de representação de algoritmo. Exercício 2 1. Assinale a opção correta: Para terminar um programa em C++ devemos usar retorne 0; São palavras reservadas no C++ : int, real, inteiro, floatOs programas em C++ possuem palavras reservadas tais como main e int. Não são palavras reservadas em C++ : for, while e do Os programas em C++ não possuem palavras reservadas. Explicação: Explicação dada na aula sobre programa em C++ e palavras reservadas em C++ 2. Assinale a opção correta. Sobre variáveis é correto afirmar que ... uma variável ocupa um espaço em memória e nunca se usa um tipo de dados ao declará-la. o nome de uma variável sempre pode começar com acento. uma variável ocupa um espaço em memória e devemos usar, normalmente, um tipo de dados ao declará-la. palavras reservadas podem ser usadas para nome de variáveis. nomes de variáveis sempre podem iniciar com aspa. Explicação: 1ª. opção : Verdadeiro. De acordo com definição da aula e exemplos vistos nas aulas 2 e 3 e demais aulas. 2ª. opção : Falso. Vide aulas 2, 3 e outras. Palavras reservadas serão de comandos, tipos de dados e não podem ser usadas para nomear variáveis. 3ª. opção : Falso. Nomes de variáveis começam com letra ou _ (sublinhado) 4ª. opção : Falso. Nomes de variáveis começam com letra ou _ (sublinhado) 5ª. opção. Falso. A partir da aula 2 se vê que variáveis terão um tipo de dados. 3. Os comentários são recursos que podem ser utilizados pelos programadores para: Inserir textos explicativos apenas para o usuário Inserir textos explicativos apenas para o programador Inserir diretivas para o compilador Inserir comandos que serão traduzidos pelo compilador Inserir comandos que serão executados pela máquina Explicação: Falso. Comentário não é comando ou permite inserir comando. Inserir comandos que serão executados pela máquina Falso. Comentário não é comando ou permite inserir comando. Inserir comandos que serão traduzidos pelo compilador Verdadeiro Inserir textos explicativos apenas para o programador Falso. O usuário não irá ler o programa. Inserir textos explicativos apenas para o usuário Falso. O compilador irá ignorar o texto explicativo dos comentários. Inserir diretivas para o compilador 4. Assinale a opção que apresenta somente nomes válidos para variáveis em C++. 1conta, 2total, 3data Conta, Total, 5data CONTA, TOTAL1, data CONTA, TOTAL1, 1DATA 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 5. Selecione, entre as alternativas, a opção correta, tendo em vista a frase: Necessita de espaço na memória e define o tipo de dado a ser armazenado. Variável Comando PARA atribuição Estrutura de Seleção Comando Enquanto-Faça Explicação: Necessita de espaço na memória e define o tipo de dado a ser armazenado. Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de repetição. Comando PARA Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de repetição. Comando Enquanto-Faça Verdadeiro Variável Falso. É uma operação ou comando. atribuição Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de seleção, como if ou if/else, por exemplo. Estrutura de Seleção 6. As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas: palavras código palavras reservadas palavras próprias palavras especiais palavras únicas Explicação: Não tem outra possibilidade com margem à dúvida. Por definição, é palavra reservada. 7. Assinale a opção correta. Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. Dizemos que uma linguagem é de alto nível quando usa linguagem binária. O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. Para programar em alto nível é preciso dominar a linguagem binária. Explicação: Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. Falso. Linguagem binária é com zeros e uns, o que é baixo nível. Dizemos que uma linguagem é de alto nível quando usa linguagem binária. Falso. C++ é uma linguagem de programação de alto nível e usa palavras em Inglês. O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. Falso. Não se tem que dominar a linguagem binária em hipótese alguma. Para programar em alto nível é preciso dominar a linguagem binária. FAlso. O C++ é uma linguagem de alto nível na qual o uso de variáveis é necessário para armazenarmos dados. O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. 8. 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." float int char bool real Explicação: Conforme gabarito e aula de tipos primitivos de dados Exercício 3 1. Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a mesma ficaria? A ou B e C e nao D A ou nao B e nao C e nao D A e B ou C nao D A e B ou C ou nao D A ou B e C e D 2. 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; Explicação: Conforme aula e gabarito. É importante primeiro somar as notas e depois dividir por 2. 3. 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, F, F, V, V, F, F V, V, V, V, V, F, F, F V, F, V, F, V, F, V, F F, F, F, F, F, V, V, V 4. Analise o trecho de código abaixo e 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.66666 14 3 4 5 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. 5. 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 F - V - V - F F - F - V - F V - V - V - V V - F - F - F 6. Assinalea 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 * 7. 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 8. 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) 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 Exercício 4. 1. Assinale a opção correta : Para entrada de dados usamos cin com << e para saída de dados usamos cout com >> Para entrada de dados usamos cout e para saída de dados usamos cin Para entrada de dados usamos cin com >> e para saída de dados usamos cout com << Para entrada de dados usamos read e para saída de dados usamos write Para entrada de dados usamos cout com << e para saída de dados usamos cin com >> Explicação: Basta seguir as descrições na aula 2. 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 _______________. locale - ptb iostream - ptb locale - setlocale math - math.round iostream - setlocale 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) 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) 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: ") 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$ 200.00 você consegue abastecer 51.287645 litros de combustível." "Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." "Você consegue abastecer 51.28 litros de combustível." "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." 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") leia("Você tem ou fará " / idade/ " anos") escreva("Você tem ou fará " /idade/ " anos") leia("Você tem ou fará ", idade, " anos") 6. Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ cout << "lendo a idade"; cin >> idade; cout < lendo idade; cin > idade System.out.println("lendo idade"); System.out.println("lendo idade"); cout "lendo a idade"; cin idade; exiba "lendo a idade"; lendo 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"); 7. 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; ( ) uuzir um outro programa em linguagem de máquina; ( ) Executar o programa sem necessidade de conversão alguma. V - V - F V - F - F F - V - F F - F - F V - V - V 8. 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); int nota1, nota2, nota3, media; float nota1, nota2, nota3, media; float nota1..nota3, media; real nota1, nota2, nota3; nota1, nota2, nota3 : float Explicação: as 4 variáveis precisam ser float, para conterem valores com casas decimais Exercício 5. 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: 5 11 -1 2 22 2. Sobre a estrutura seletiva "se", pode-se afirmar que ela ( ) permite que novas estruturas seletivas sejam definidas dentro dela; ( ) restringe a execução de um trecho do código à veracidade, ou não, de uma ou mais condições; ( ) não permite o teste de condições que combinem, na mesma expressão, operadores de tipos distintos; V - V - F V - V - V V - F - V F - F - F F - V - F 3. Em linguagem de programação, existe uma estrutura que é empregada em situações em que é preciso tomar uma decisão a respeito de determinado resultado que será obtido em duas situações diversas.Marque a opção que determina a estrutura de controle citada: Recursiva Matricial Decisão Repetição Vetorial Explicação: A opção que determina a estrutura de controle citada é a Decisão 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 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!") 5. 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!";} if (resto=0) {cout <<"Este número é par!";} if {cout <<"Este número é ímpar!";} switch (resto==0) {cout <<"Este número é par!";} case {cout <<"Este número é ímpar!";} 6. 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) { 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 (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!";} 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 ; 8 10 40 9 8 10 9 9 8 10 40 9 40 9 6 10 9 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. 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; } 0, 6 e 7 1, 6 e 7 1, 6 e 16 1, 7 e 7 1, 7, 17 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 Exercício 6: 1. 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 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### 2. 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 simples Operador ternário aninhamento de if comando switch Estrutura condicional de comando composto Explicação: Como dito no gabarito. O operador ? : equivale ao comando if ... else. 3. 11 10 50 10 2 11 50 10 2 11 10 50 10 10 50 10 2 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 4. 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 cout for switch/case while Explicação: switch/case É para repetição do/while É para repetição for É para impressão na tela cout É para repetição while 5. Um aluno de Introdução a Programação precisa escrever um programa que leia um caracter equivalente a uma estação do anoimprima 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? break switch/case while do/while for 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. 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; Nenhuma variável será alterada. A variável a ficará 1 A variável b ficará 1 A variável b ficará 3 A variável t ficará 3 Explicação: int a = 2, b = 4, x = 12, y = 11, z = 3; float t = 0; if (x < y+z) if (y != z*4 - 2) t = y/z; else a = y % z; else b = z + y/x; Analisando o trecho acima. 1o. if : 12 < 14 ? Sim. Entrar no 1o. if. 2o. if : 11 != 3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if. Então, é preciso fazermos t receber y/z, ou seja, t receber 11/3, que dá 3. 7. Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome do dia semana a partir de seu código numérico equivalente, armazenado na variável codigo. Confira a codificação: 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Veja o trecho da estrutura de seleção que poderia ser utilizado na solução: _____A_____ (codigo) { _____B_____ 1: escreva("domingo") ____C______ _____B_____ 2: escreva("segunda-feira") ____C______ _____B_____ 3: escreva("terça-feira") ____C______ _____B_____ 4: escreva("quarta-feira") _____C_____ _____B_____ 5: escreva("quinta-feira") _____C_____ _____B_____ 6: escreva("sexta-feira") _____C_____ _____B_____ 7: escreva("sábado") __________ _____D_____: escreva("Código inválido!") } As instruções que completam adequadamente as lacunas são: A - escolha, B - caso, C - pare, D - outros casos A - case, B - switch, C - default, D - break A - switch, B - case, C - break, D - default A - caso, B - escolha, C - pare, D - outros casos A - se, B - caso, C - pare, D - default 8. Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: *** Cardápio *** 100 - Hambúrguer - R$5,50 101 - Cachorro-quente - R$4,50 102 - Milkshake - R$7,00 103 - Pizza brotinho - R$8,00 104 - Cheeseburguer - R$8,50 Informe o código do seu pedido: Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? switch (codigo) { case 100: item="Hambúrguer"; valor= qtde * 5.50; break; } while (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; } switch (codigo) { if 100: item="Hambúrguer"; valor= qtde * 5.50; break; } Exercício 7: 1a Questão Acerto: 1,0 / 1,0 Sobre Português Estruturado, assinale a opção correta : É igual a uma carta para um encarregado É igual à linguagem de programação na língua portuguesa 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 à linguagem natural ou narrativa É igual ao fluxograma Respondido em 06/06/2021 16:49:47 Explicação: Definição direta e objetiva dada na aula 1. 2a Questão Acerto: 1,0 / 1,0 Fornecida a sequência de respostas abaixo, assinale a opção cujos nomes das variáveis estejam todos corretos para uso. a) Contador, SalarioM, %Soma, _NomeAluno d) HoraCerta, Inicio, Contador10 c) _HoraCerta, %Soma, Contador b) $Salario, Soma, 99Total, _Hora a) Contador, Soma%Total, Salario_Novo Respondido em 06/06/2021 16:51:56 Explicação: FAlso. Não se pode usar % a) Contador, Soma%Total, Salario_Novo FAlso. Não se pode usar $ ou começar com dígito. b) $Salario, Soma, 99Total, _Hora Falso. Não se pode começar com %. c) _HoraCerta, %Soma, Contador Verdadeiro d) HoraCerta, Inicio, Contador10 Falso. Não se pode começar com %. a) Contador, SalarioM, %Soma, _NomeAluno 3a Questão Acerto: 1,0 / 1,0 Assinale a alternativa que apresenta APENAS operadores relacionais. &&, || e ~ <, > e >= &&, >= e || =, > e || +, - e * Respondido em 06/06/2021 16:53:23 Explicação: <, > e >= && e || são operadores lógicos na linguagem C++ ~ é operador na lógica matemática para negação &&, || e ~ = é atribuição > relacional || ou lógico =, > e || O único relacional é >= . Os outros dois são operadores lógicos. &&, >= e || Operadores matemáticos +, - e * 4a Questão Acerto: 1,0 / 1,0 A sintaxe de uma linguagem de programação viabiliza a comunicação entre usuários e programas através de comandos de entrada e saída. garante que a estrutura ENTRADA -> PROCESSAMENTO -> SAÍDA seja respeitada pelo programa. converte os comandos para linguagem de máquina para que possam ser executados. define a forma como os comandos e as estruturas da linguagem devem ser utilizados. cria a versão executável do código fonte e não está presente em algumas linguagens. Respondido em 06/06/2021 16:54:39 5a Questão Acerto: 1,0 / 1,0 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==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 !! num>0) { escreva("Este número é par e positivo!") } senao se (resto!=0 !! 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==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 e num<0) { escreva("Este número é ímpar e positivo!") } senao se (resto!=0 e num>0) { escreva("Este número é par e positivo!")}Respondido em 06/06/2021 17:07:14 6a Questão Acerto: 1,0 / 1,0 Que comando em C++ é mais indicado para ser usado em um programa que permita a escolha de uma opção do MENU ? Por exemplo : 1-Incluir, 2-Excluir, 3-Alterar e 9-Sair. for switch / case do/while cout / cin while Respondido em 06/06/2021 17:07:41 Explicação: Por definição dada em aula de comando de seleção 7a Questão Acerto: 1,0 / 1,0 Comando de repetição é utilizado quando se deseja repetir determinados comandos. Marque a opção que representa o uso do comando while para implementar a estrutura de um contador corretamente. int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; } while () { cout << "exibindo o número"; } String cont = ""; { cont++; } while (cont!="") while (if cont =10){ } while (repita 10 vezes) { } Respondido em 06/06/2021 17:08:14 Explicação: A estrutura geral do while quando se usa contador no teste do loop é a seguinte : while ( < condição... teste lógico ... com o contador > ) { < comandos> alteração do contador } Analisando ... Falsa. Faltou a condição ou teste lógico ou variável que pode ser true ou false. while () { cout << "exibindo o número"; } Verdadeira. Pode se r encaixada na explicação no início. int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; } FAlsa. Não tem String em C++. Existe string, mas não String. Sintaxe incorreta no uso do while. String cont = ""; { cont++; } while (cont!="") Falsa. Sintaxe incorreta. Uso de repita sem sentido. while (repita 10 vezes) { } Falsa. Uso incorreto do if na parte relativa à condição do while. while (if cont =10){ } 8a Questão Acerto: 1,0 / 1,0 Marque a opção correta. Considere o trecho de programa feito abaixo em C++. O que é impresso na tela ? int conta, num = 1, prod = 1; for (conta = 4; conta > 0; conta--) { prod = prod *num; num++; } cout << "Prod = " << prod << " num = " << num << endl; Prod não pode ser calculado e num assumirá o valor final 5. Prod = 6 num = 5 Prod = 24 num = 5 Prod = 1 num = 2 Prod = 2 num = 3 Prod = 6 num = 4 Prod = 24 num = 5 Prod = 6 num = 4 Respondido em 06/06/2021 17:09:42 Explicação: Analisando o trecho e fazendo em seguida um teste de mesa : int conta, num = 1, prod = 1; for (conta = 4; conta > 0; conta--) { prod = prod *num; num++; } cout << "Prod = " << prod << " num = " << num << endl; TESTE de mesa : conta conta > 0 num prod 4 4 > 0 ? sim 1 1 3 3 > 0 ? sim 2 1 2 2 > 0 ? sim 3 2 1 1 > 0 ? sim 4 6 0 0 > 0 ? FAlso 5 24 Terminando o for, será impresso : Prod = 24 num = 5 9a Questão Acerto: 1,0 / 1,0 Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________. unidimensional - heterogênea - único valor - de tipos variados unidimensional - homogênea - único valor - de tipos variados bidimensional - homogênea - único valor - do mesmo tipo bidimensional - heterogênea - conjunto de valores - do mesmo tipo unidimensional - homogênea - conjunto de valores - do mesmo tipo Respondido em 06/06/2021 17:14:51 10a Questão Acerto: 1,0 / 1,0 Considere que você tem uma matriz 3x3 chamada MAT e precisa exibir os elementos de sua diagonal principal. O trecho de código do Portugol Studio que pode fazer isso é: para (i=1;i<=3;i++) { escreva MAT[i,1] } para (i=0;i<=3;i++) { escreva MAT[1,i] } para (i=1;i<=3;i++) { escreva MAT[i,i] } para (i=0;i<=2;i++) { escreva MAT[i]; } para (i=0;i<=2;i++) { escreva MAT[i,i] }
Compartilhar