Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Questão Sobre algoritmo, marque a opção correta. É um hardware especifico para resolver problemas. É uma etapa posterior à programação da solução de um problema. É uma linguagem de programação para computadores. É uma forma de ensinar o computador. É a solução teórica, passo a passo, de um problema. 2 Questão Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo: No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre negativa. O fluxograma está incompleto e errado, pois não exibe mensagens antes que a leitura de dados seja realizada. 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. 3 Questão Analise as afirmativas a seguir em relação a representação de algoritmos: I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. Podemos afirmar que: Apenas a alternativa I é CORRETA Todas as alternativas são CORRETAS Apenas as alternativas II e III são INCORRETAS Apenas as alternativas I e III são CORRETAS Apenas as alternativas I e II são CORRETAS 4 Questão Assinale a opção correta. Considerando o conceito de programa é correto afirmar que ... 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 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 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. 5 Questão Assinale a opção que mostra as formas possíveis e mais adequadas de se representar um algoritmo : Linguagem natural e linguagem gráfica Linguagem natural, fluxograma e pseudolinguagem Linguagem gráfica e pseudolinguagem Apenas pseudolinguagem Linguagem natural e pseudolinguagem 6 Questão Assinale a opção correta. Um programa é um algoritmo codificado em linguagem natural. Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a linguagem de programação. Um programa é um algoritmo codificado em uma pseudolinguagem. Programa e fluxograma são sinônimos. Um programa é um algoritmo codificado em uma linguagem de programação. 7 Questão Fluxograma é um "diagrama esquemático que apresenta uma sequência de operações, tal como para um programa de computador ou processo industrial" (in Dicionário Priberam da Língua Portuguesa [em linha], 2008-2013, http://www.priberam.pt/dlpo/fluxograma [consultado em 13-08-2014]. Abaixo temos um fluxograma de notas (N1 e N2) obtidas pelo aluno João. Selecione a opção que apresenta os itens de entrada do fluxograma. Média Aprovado Reprovado Fim N1 e N2 8 Questão A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser realizada é chamada de: Algoritmo Fluxograma Pseudocódigo Linguagem de Programação Diagrama 1 Questão Assinale a opção correta. Dizemos que uma linguagem é de alto nível quando usa linguagem binária. Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. Para programar em alto nível é preciso dominar a linguagem binária. O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. 2 Questão Selecione, entre as alternativas, a opção correta, tendo em vista a frase: Necessita de espaço na memória e define o tipo de dado a ser armazenado. Comando PARA atribuição Estrutura de Seleção Variável Comando Enquanto-Faça 3 Questão Assinale a opção correta. O que quer dizer main ? programa estruturado, de português estruturado principal portugol algoritmo 4 Questão Assinale a opção correta. Declarando e atribuindo um valor à uma variável booleana em C++ : bool x = "true"; Declarando e atribuindo um valor à uma variável booleana em C++ : boolean x = true ; As variáveis do tipo bool podem ser true ou false. Uma possível declaração de uma variável inteira em C++ : x int; Uma possível declaração de uma variável booleana em C++ : boolean x; 5 Questão Assinale a opção que apresenta somente nomes válidos para variáveis em C++. CONTA, TOTAL1, 1DATA Conta, Total, 5data Conta, Total1, DIA-MÊS-ANO CONTA, TOTAL1, data 1conta, 2total, 3data 6 Questão Quanto à linguagem de programação, marque a opção que determina o processo que efetua integralmente a tradução de um programa fonte para o código de máquina, podendo assim ser executado diretamente. Linkedição Determinação Compilação Orientação Evolução 7 Questão Uma variável pode ser entendida como sendo: Um dispositivo de entrada de dados. Um dispositivo de saída de dados. Um dispositivo de memória auxiliar. Um elemento da unidade lógica de controle. Um endereço na memória principal. 8 Questão 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 e IV são verdadeiras. I e II são verdadeiras. I, II e III são verdadeiras. II, III e IV são verdadeiras. II e III são verdadeiras. 1 Questão Assinale a alternativa que apresenta APENAS operadores relacionais. <, > e >= &&, >= e || +, - e * &&, || e ~ =, > e || 2 Questão Considerando os seguintes conteúdos para as variáveis: a = 2, b = 5 e c = 4 Determine qual das sentenças retornará verdadeiro. pow(c,a) > b * c (b + 2) > (a * c) ((b = 2) == a) a == c (b % a) == 0 3 Questão Qual das alternativas apresenta a expressão que seja capaz de avaliar se uma variável do tipo inteiro, denominada NUMERO ,é ímpar e negativa. (NUMERO>0) || (NUMERO%2==0) (NUMERO>0) !! (NUMERO%2==0) (NUMERO>0)&& (NUMERO%2==0) (NUMERO<0) && (NUMERO%2!=0) (NUMERO<0) || (NUMERO%2!=0) 4 Questão Utilizando os operadores adequados, como pode ser reescrita a expressão abaixo? A ou B e C e não D A !! B && C && ||D A && B || C || !D A && B && C && !D A || B && C && !D A || B ! C ! &&D 5 Questão 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 5 14 4.66666 3 6 Questão Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos. +, - e * =, > e ? &&, >= e <= !, > e >= &&, || e ! 7 Questão Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a mesma ficaria? A e B ou C nao D A ou B e C e nao D A e B ou C ou nao D A ou nao B e nao C e nao D A ou B e C e D 8 Questão Assinale a opção correta. São operadores relacionais : = , > , < As expressões lógicas retornam valores inteiros os operadores matemáticos não tem precedência de uso Os operadores matemáticos são : +, - , *, / e %. São operadores lógicos : &&, ||, != 1 Questão Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ exiba "lendo a idade"; lendo idade; cout "lendo 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; 2 Questão Marque a opção correta para a declaração das variáveis conforme o trecho de código abaixo, que calcula a média de 3 notas de 1 aluno: printf (" nota 1 = "); scanf("%f", nota1); printf (" nota 2 = "); scanf("%f", nota2); printf (" nota 3 = "); scanf("%f", nota3); media=(nota1+nota2+nota3)/3; printf ("media= %f",media); float nota1..nota3, media; real nota1, nota2, nota3; nota1, nota2, nota3 : float float nota1, nota2, nota3, media; int nota1, nota2, nota3, media; 3 Questão No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso que sejam utilizadas a biblioteca _______________ e a função _______________. locale - setlocale locale - ptb iostream - ptb iostream - setlocale math - math.round 4 Questão Assinale a opção correta : Para entrada de dados usamos cin com << e para saída de dados usamos cout com >> Para entrada de dados usamos read e para saída de dados usamos write Para entrada de dados usamos cout com << e para saída de dados usamos cin com >> Para entrada de dados usamos 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 << 5 Questão Observe o algoritmo a seguir: 1 programa 2 { 3 inclua biblioteca Matematica --> mat 4 funcao inicio() 5 { 6 real qtdeDin, valComb, qtdeLitros 7 escreva("Quanto custa o litro do combustível? R$ ") 8 leia(valComb) 9 escreva("Quantos reais você tem? R$ ") 10 leia(qtdeDin) 11 qtdeLitros=qtdeDin/valComb 12 escreva("Com R$ ", qtdeDin, " você consegue abastecer ", mat.arredondar(qtdeLitros,2)," litros de combustível.") 13 } 14 } Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual mensagem seria exibida pelo computador na linha 12? "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." "Você consegue abastecer 51.28 litros de combustível com R$ 200.00." "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." 6 Questão Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das interrogações a seguir? programa { funcao inicio( ) { ???????? } } real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) 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: ") 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 escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) 7 Questão C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro ou Falso conforme o que é dito sobre as funções do compilador: ( ) Verificar erros de sintaxe no programa; ( ) Produzir um outro programa em linguagem de máquina; ( ) Executar o programa sem necessidade de conversão alguma. F - V - F V - V - V V - V - F V - F - F F - F - F 8 Questão Utilizando as regras do Portugol Studio, imagine que você precisa escrever um algoritmo que receba o ano atual e o ano de nascimento de um usuário, calcule e exiba a sua idade através da mensagem "Você tem ou fará XX anos", onde XX é a idade calculada. Qual das alternativas a seguir mostra a instrução correta a ser utilizada na exibição da idade? escreva("Você tem ou fará ", idade, " anos") escreva("Você tem ou fará " /idade/ " anos") leia("Você tem ou fará ", idade, " anos") escreva("Você tem ou fará " * idade * " anos") leia("Você tem ou fará " / idade/ " anos") 1 Questão Analise o programa abaixo e selecione a alternativa que contenha a condição correta para que o número 27 seja mostrado na tela. #include using namespace std; int main() { int N1, N2; N1= 27; N2= 54; if ( ______________ ) { cout<< N2; } else { cout<< N1; } return 0; } N2 > N1 || N1 > 50 N1 < N2 && N1 > 20 N1 < N2 && N1 < 50 N1 > N2 || N2 < 50 N2 == N1 || N2 > 20 2 Questão Examine as afirmativas a seguir e marque a alternativa correta. I- A estrutura de decisão pode alterar ou desviar o fluxo natural de execução de um algoritmo. II- O uso de uma estrutura de decisão composta pode ser mais eficiente que o uso de duas estruturas de decisão simples, pois reduz o número de testes. III- Muitas vezes é possível combinar a condição de duas estruturas de decisão simples em apenas uma utilizando operadores lógicos. Todas as alternativas estão corretas. Apenas a alternativa i está correta. Apenas a alternativa ii está correta. Apenas a alternativa iii está correta. Todas as alternativas estão erradas. 3 Questão Em linguagem de programação, existe uma estrutura que é empregada em situações em que é preciso tomar uma decisão a respeito de determinado resultado que será obtido em duas situações diversas. Marque a opção que determina a estrutura de controle citada: Repetição Recursiva Decisão Matricial Vetorial 4 Questão 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 << "\n"; 10 12 0.833 1.2 x= 10 y = 12 z = 0 k = 2 10 12 0 2 Nada é impresso na tela, pois k é zero. x = 10 y = 12 z = 0.833 k = 1.2 5 Questão Considere um programa em C++ que leia os valores A, B, C e informe se a soma dos dois primeiros termos é maior do que o terceiro. A estrutura seletiva adequada para esse teste é: switch ((A+B)>C) { cout << "A soma de A e B é maior do que C!"; } if ((A+B)>C) { cout << "A soma de A e B é maior do que C!"; } do { cout << "A soma de A e B é maior do que C!"; } while ((A+B)>C) while ((A+B)>C) { cout << "A soma de A e B é maior do que C!"; } for ((A+B)>C) { cout << "A soma de A e B é maior do que C!"; } 6 Questão Para satisfazer a regra de que para fazer AV3 o aluno deve ter nota maior ou igual a 4 em pelo menos uma das outras duas Avaliacoes, qual seria a sentença correta Se (AV1 >= 4) e (AV2 >= 4) Nenhuma outra alternativa satisfaz Se (AV1 > 4) e (AV2 > 4) Se (AV1 >= 4) ou (AV2 >= 4) Se (AV1 > 4) ou (AV2 > 4) 7 Questão Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, sendo que na 1ª. execução o valor de entrada é 10 e na 2ª. execução o valor de entrada é 0. Para isso, considere o seguinte trecho em C++. int num; cout << "Digite um numero: "; cin >> num; if (num > 0) { num++; cout << num << " "; } cout << num + 1 << " "; if (num < 0) { num--; cout << num << " "; } else cout << num * 10 ; 11 12 110 11 110 1 10 11 110 1 0 11 110 1 0 11 12 110 1 0 8 Questão No C++, a estrutura seletiva if permite que sejam avaliadas condições para que, a partir do resultado dessa avaliação, o programa decida o trecho a ser executada. Imaginando que você precisa avaliar se um número armazenado na variável num é positivo, negativo, ou nulo, que alternativa apresenta o trecho da condição seletiva necessário para este teste? else (num>0) { cout <<"Este número é positivo!";} 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) { cin <<"Este número é positivo!";} else if (num<0) { cin <<"Este número é negativo!";} else { cin <<"Este número é nulo!";} if (num<0) { cout <<"Este número é positivo!";} else if (num>0) { cout <<"Este número é negativo!";} else { cout <<"Este número é nulo!";} if (num>0) { cout <<"Este número é positivo!";} else if (num<0) { cout <<"Este número é negativo!";} else { cout <<"Este número é nulo!";} 1 Questão Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome do dia semana a partir de seu código numérico equivalente, armazenado na variável codigo. Confira a codificação: 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Veja o trecho da estrutura de seleção que poderia ser utilizado na solução: _____A_____ (codigo) { _____B_____ 1: escreva("domingo") ____C______ _____B_____ 2: escreva("segunda-feira") ____C______ _____B_____ 3: escreva("terça-feira") ____C______ _____B_____ 4: escreva("quarta-feira") _____C_____ _____B_____ 5: escreva("quinta-feira") _____C_____ _____B_____ 6: escreva("sexta-feira") _____C_____ _____B_____ 7: escreva("sábado") __________ _____D_____: escreva("Código inválido!") } As instruções que completam adequadamente as lacunas são: A - case, B - switch, C - default, D - break A - escolha, B - caso, C - pare, D - outros casos A - se, B - caso, C - pare, D - default A - switch, B - case, C - break, D - default A - caso, B - escolha, C - pare, D - outros casos 2 Questão Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 7 ? Assinale a opção correta. int num; cout << "Digite um numero: "; cin >> num; if (num % 2 == 0) cout << num << "é divisível por 2"; else if (num % 3 == 0 && num % 5 == 0) cout << num << " é divisível por 3 e por 5"; else cout << num << " ### " ; 7 não é divisível por 2. Nada aparece, pois o trecho de programa possui erro. 7 ### 7 é divisível por 3 e por 5. Apenas 7 3 Questão Às vezes me perguntam se existe alguma razão para existirem tantas formas de decisão nas linguagens de programação. Eu sempre digo: Claro que sim! Analise as afirmativas abaixo e escolha a opção certa. I Se tivermos que fazer um teste e só executar um bloco, que pode ter uma instrução ou mais instruções, o if simples deverá ser escolhido. II Se tivermos duas possibilidades de respostas, não poderemos usar dois if(s) simples, onde o teste de um é o complementa o do outro, porque poderão sair duas respostas. III Se tivermos três possibilidades de respostas, podemos usar um if simples e um if composto que não teremos problemas com as respostas. IV Quando temos 10 possibilidades de respostas, poderemos usar 10 if(s) simples, embora usar ifs encadeados seria mais eficiente. Somente a afirmativa I é verdadeira As afirmativas II, III e IV são verdadeiras Somente a afirmativa II é verdadeira As afirmativas I e IV são verdadeiras Somente a afirmativa III é falsa 4 Questão Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: *** Cardápio *** 100 - Hambúrguer - R$5,50 101 - Cachorro-quente - R$4,50 102 - Milkshake - R$7,00 103 - Pizza brotinho - R$8,00 104 - Cheeseburguer - R$8,50 Informe o código do seu pedido: ------------------------------------------------------------------- Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. Considerando a sintaxe do Portugol Studio, um algoritmo que possa resolver o problema da lanchonete, utilizando a estrutura ESCOLHA, no trecho referente à compra de um milkshake seria: enquanto (102) item="Milkshake" valor=qtde*7 se 102: item="Milkshake" valor=qtde*7 pare para (item==102) { item="Milkshake" valor=qtde*7 } escolha 102: item="Milkshake" valor=qtde*7 pare caso 102: item="Milkshake" valor=qtde*7 pare 5 Questão Uma estrutura seletiva permite que se restrinja a execução de um trecho do programa à veracidade, ou não, de uma condição. Sabendo disso, imagine que você está com as medidas dos três lados de um triângulo armazenados nas variáveis L1, L2 e L3. Utilizando a sintaxe do Portugol Studio, como seria o trecho da estrutura seletiva que avalie se este triângulo é isóscele, escaleno ou equilátero? Veja as definições para os diferentes tipos de triângulo: Escaleno: Dois lados quaisquer com a mesma medida; Equilátero: Três lados com a mesma medida; Isósceles: Três lados com medidas diferentes. (lado1==lado2 e lado2==lado3) { escreva("Este é um triângulo equilátero!") } se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) { escreva("Este é um triângulo escaleno!") } se { escreva("Este é um triângulo isósceles!") } se (lado1=lado2 e lado2=lado3) { escreva("Este é um triângulo 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!") } se (lado1==lado2 e lado2==lado3) { escreva("Este é um triângulo equilátero!") } senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) { escreva("Este é um triângulo escaleno!") } senao { escreva("Este é um triângulo isósceles!") } se (lado1==lado2 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!") } 6 Questão Considerere um trecho de um programa em C++. Qual a variável que será alterada e para qual valor ela mudará ? int a = 2, b = 4, x = 12, y = 11, z = 3; float t = 0; if (x < y+z) if (y != z*4 - 2) t = y/z; else a = y % z; else b = z + y/x; A variável b ficará 1 A variável t ficará 3 A variável a ficará 1 A variável b ficará 3 Nenhuma variável será alterada. 7 Questão 11 10 50 10 2 11 50 10 2 11 50 10 11 10 50 10 10 50 10 2 8 Questão 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. switch 7: cout <<"sábado"; break; default: cout <<"Código inválido!"; case 7: cout <<"sábado"; break; default: cout <<"Código inválido!"; 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!"; 1 Questão Considere o trecho abaixo sabendo que num é um variável inteira. num = 11; do { if (num % 2 == 0) cout << num << "\n"; num = num -1 ; } while (num != 0); Assinale a opção correta : O trecho fornecido pára quando num for diferente de zero e o único número exibido é o 10. O trecho fornecido pára quando num for zero e os números exibidos são todos os pares de 10 até 0, nesta ordem. O trecho entra em loop. o trecho fornecido pára quando num for diferente de zero e são exibidos os valores 10 e 8, pelo menos. O trecho fornecido pára quando num for zero e os números exibidos são todos os pares de 10 até 2, nesta ordem. 2 Questão Imagine que você precisa escrever um programa em C++ que receba uma sequência de números e, para cada número informado, diga se ele é par ou ímpar. Essa sequência se encerra quando o usuário digitar 0 e você precisa utilizar uma estrutura repetitiva com pré-teste. Qual dos trechos a seguir atenderia essa solicitação? for (num==0; num!=0; num--) { if (num%2==0) { cout <<"Este número é par.\n"; } else { cout <<"Este número é ímpar.\n"; } cout <<"Informe um número qualquer: "; cin >>num; } while (num!=0) { if (num%2==0) { cin <<"Este número é par.\n"; } else { cin <<"Este número é ímpar.\n"; } cin <<"Informe um número qualquer: "; cout >>num; } for (num!=0) { switch (num%2==0) { cout <<"Este número é par.\n"; } switch { cout <<"Este número é ímpar.\n"; } cout <<"Informe um número qualquer: "; cin >>num; } do { if (num%2==0) { cout <<"Este número é par.\n"; } else { cout <<"Este número é ímpar.\n"; } cout <<"Informe um número qualquer: "; cin >>num; } while (num!=0) while (num!=0) { if (num%2==0) { cout <<"Este número é par.\n"; } else { cout <<"Este número é ímpar.\n"; } cout <<"Informe um número qualquer: "; cin >>num; } 3 Questão Assinale a alternativa correta em relação a quantidade de vezes que a palavra "ALGORITMO" será impressa, no trecho de código abaixo: cont = 0; while( cont < 30 ) { cout << "ALGORITMO" << endl; cont = cont + 1; } 29 31 30 Nenhuma das alternativas. 15 4 Questão 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; 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; } 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; 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; } 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; } 5 Questão 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 - V - V V - F - F F - F - F F - F - V 6 Questão 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. while (if cont =10){ } while (repita 10 vezes) { } int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; } while () { cout << "exibindo o número"; } String cont = ""; { cont++; } while (cont!="") 7 Questão Na execução do comando while o teste da condição que controla a execução, ou não, dos comandos subordinados, é feito, sempre, antes de cada iteração. Desta forma, é correto afirmar que: Independentemente da condição de teste, os comandos subordinados sempre serão executados. Os comandossubordinados poderão não ser executados. Os comandos subordinados serão executados no mínimo uma vez. A condição de teste deverá ser sempre falsa antes do início da execução. A condição de teste deverá ser sempre verdadeira antes do início da execução. 8 Questão A fim de possibilitar a implementação de algoritmos estudamos algumas estruturas básicas, como estrutura de desvio de fluxo, estrutura de repetição etc. Entre as estrutura de repetição há uma na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição. Esta estrutura é implementada em C++ pelo comando básico: for do/while do/for while for/while 1 Questão Marque a opção correta. Considere o trecho de programa feito abaixo em C++. O valor final de soma e o valor final de num, são respectivamente int contador, num = 1, soma = 0; for (contador = 1; contador <= 20; contador += 5) { soma = soma + num; num = num + 3; } 22 e 13 12 e 10 22 e 10 22 e 20 o valor de soma está indefinido e o valor de num é 10 2 Questão Observe o trecho de código a seguir: Sobre ele, podemos afirmar que: I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas; II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades; III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f". Somente a afirmativa I é verdadeira. As afirmativas I e III são verdadeiras. As afirmativas I, II e III são verdadeiras. Somente a afirmativa III é verdadeira. As afirmativas I e II são verdadeiras. 3 Questão Imagine que você precisa escrever um programa em C++ que receba o sexo de 100 pessoas (F para Feminino ou M para Masculino). Ao final da leitura dos sexos, o programa precisa exibir as seguintes informações: quantidade de mulheres, quantidade de homens, percentual de mulheres e percentual de homens. Observações: 1. O programa deve funcionar com "F" e "M" maiúsculos ou minúsculos; 2. A estrutura de repetição a ser utilizada deve ser FOR. Sabendo disso, qual seria o trecho de repetição adequado para esse programa? for (int cont=1;cont>=100;cont--) { cout <<"Qual o sexo? "; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M &&| sexo==m) { qtdeM++; } } for (int cont=1;cont<=100;cont++) { cin <<"Qual o sexo? "; cout >>qtdeF; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M || sexo==m) { qtdeM++; } } for (int cont=1;cont>=100;cont--) { cout <<"Qual o sexo? "; cin >>sexo; if (sexo==F && sexo==f) { qtdeF++; } else if (sexo==M || sexo==m) { qtdeM++; } } for (int cont=1;cont<=100;cont++) { cout <<"Qual o sexo? "; cin >>qtdeF; if (sexo==F && sexo==f) { qtdeF--; } else if (sexo==M || sexo==m) { qtdeM--; } } 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++; } } 4 Questão 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 3 2 1 5 6 3 2 1 6 5 2 3 1 6 5 2 3 2 5 4 3 2 1 5 Questão Considere a estrutura for ( ; ; ), e assinale a afirmação correta: Tem a sintaxe incorreta. Não é executada pois não tem incremento. Não é executada, pois não tem condição de teste. É um laço infinito. Não é executada, pois não tem variável. 6 Questão As estruturas de repetição permitem executar mais de uma vez um mesmo trecho de código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas condições, mas com a opção de repetir o mesmo bloco quantas vezes forem necessárias. As estruturas de repetição são úteis, por exemplo, para repetir uma série de operações semelhantes que são executadas para todos os elementos de uma lista ou de uma tabela de dados, ou simplesmente para repetir um mesmo processamento até que uma certa condição seja satisfeita. Sejam as seguintes afirmativas: I - Toda estrutura de repetição apresenta um teste no início e um na saída. II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de decisão, onde não haja testes ou condições. III - Toda estrutura de repetição apresenta um critério de parada. IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas iterações. Marque a alternativa que representa apenas as afirmativas CORRETAS: III I II, III e IV I e III I e IV 7 Questão Qual dos comandos abaixo está escrito de forma errada? for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2) for (X=0 ; X < 10 ; X++) for (X=10 ; X > 0 ; X--) for (X < 10 ; X=0 ; X++) for (X=0 , Y=4 ; X < 10 ; X++ , Y--) 8 Questão 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 25 19 13 7 1 12 8 10 7 15 0 0 0 0 0 12 5 10 7 13 1 Questão Em C++, se você precisasse escrever um programa que recebesse o sexo e a altura de 25 pessoas e armazenasse nos vetores Sexo e Altura, respectivamente, e, em seguida, calculasse e exibisse a média de altura das mulheres e a média de altura dos homens, que trecho utilizaria para recebimento de valores via teclado e para as somas necessárias na obtenção da média das alturas? Atenção às variáveis utilizadas: quantF - Quantidade de pessoas do sexo feminino; somaAF - Soma das alturas do sexo feminino; quantM - Quantidade de pessoas do sexo masculino; somaAM - Soma das alturas do sexo masculino. for (ind=0;ind<=24;ind++) { cout <<"Informe o sexo: "; cin >>Sexo[ind]; cout <<"Informe a altura: "; cin >>Altura[ind]; if (Sexo[ind]==F || Sexo[ind]==f) { quantF++; somaAF+=Altura[ind]; } else if (Sexo[ind]==M || Sexo[ind]==m) { quantM++; somaAM+=Altura[ind]; } } for (ind=0;ind<=24;ind++) { cout <<"Informe o sexo: "; cin >>Sexo; cout <<"Informe a altura: "; cin >>Altura; if (Sexo[ind]==F || Sexo[ind]==f) { quantF++; somaAF+=[ind]; } else if (Sexo[ind]==M || Sexo[ind]==m) { quantM++; somaAM+=[ind]; } } for (ind=0;ind>=24;ind--) { cout <<"Informe o sexo: "; cin >>Sexo[ind]; cout <<"Informe a altura: "; cin >>Altura[ind]; if (Sexo[ind]==F || Sexo[ind]==f) { quantF++; somaAF=Altura[ind]; } else if (Sexo[ind]==M || Sexo[ind]==m) { quantM++; somaAM=Altura[ind]; } } for (ind=24;ind<=24;ind++) { cout <<"Informe o sexo: "; cin >>Sexo[ind]; cout <<"Informe a altura: "; cin >>Altura[ind]; if (Sexo[ind]==F || Sexo[ind]==f) { quantF+=ind; somaAF+=Altura[ind]; } else if (Sexo[ind]==M || Sexo[ind]==m) { quantM+=ind; somaAM+=Altura[ind]; } } for (ind=0;ind<=24;ind+=2) { cout <<"Informe o sexo: "; cin >>Sexo[ind]; cout <<"Informe a altura: "; cin >>Altura[ind]; if (Sexo[ind]==F && Sexo[ind]==f) { quantF++; somaAF+=Altura[ind]; } else if (Sexo[ind]==M && Sexo[ind]==m) { quantM++; somaAM+=Altura[ind]; } } 2 Questão 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" or LETRAS[i] == "E") { QuantAE=1; } } for (i=1;i<=14;i++) { if (LETRAS[i] == "A" || LETRAS[i] == "E") { QuantAE+=; } } 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" || LETRAS[i] == "E") { QuantAE+=1; } } for (i=1;i<=15;i++) { if (LETRAS[i] == "A" && LETRAS[i] == "E") { QuantAE+=1; } } 3 Questão Qual estrutura de repetição abaixo preenche corretamente um vetor de 30 posições com 0 (zero) em cada uma das posições? for(int i=0;i<=30;i++){ vetor[i] = 0; } for(int i=1;i<30;i++){ vetor[i] = 0; } for(int i=1;i<=30;i++){ vetor[i] = 0; } for(int i=0;i<30;i++){ vetor[i] == 0; } for(int i=0;i<30;i++){ vetor[i] = 0; } 4 Questão Observe as declarações abaixo e assinale a opção correta. I int idades[]={5,16,27,19}; II float CR[3]={6.1, 8.9, 9.3}; III char letras[]={"A", "E", "I", "O", "U"}; IV char letras[]={"ALGORITMOS"}; A declaração I está errada e a declaração II está correta As declarações III e IV estão erradas Somente as declarações I e II estão corretas As declarações I , II e IV estão corretas As declarações I , II e III estão corretas 5 Questão <valor[x]; </valor[x]; Todos os elementos pares do vetor VALOR. Todos os elementos que são maiores que cinco do vetor VALOR. Todos os elementos do vetor VALOR. Todos os elementos ímpares do vetor VALOR. Todos os elementos que são menores que cinco do vetor VALOR. 6 Questão 0 1 2 3 4 5 4 3 2 1 0 -1 0 1 2 3 4 4 3 2 1 -1 0 1 2 3 4 5 6 7 8 -1 0 1 2 3 4 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 7 Questão Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________. bidimensional - homogênea - único valor - do mesmo tipo bidimensional - heterogênea - conjunto de valores - do mesmo tipo unidimensional - homogênea - único valor - de tipos variados unidimensional - heterogênea - único valor - de tipos variados unidimensional - homogênea - conjunto de valores - do mesmo tipo 8 Questão 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=jogadasA[ind]+jogadasB[ind] escolha (total%2==0) { escreva("Jogador A venceu!\n") } outros casos { escreva("Jogador B venceu!\n") } total=jogadasA+jogadasB 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++ se (total%2!=0) { escreva("Jogador A venceu!\n") } senao { 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") } 1 Questão Se você precisar escrever um programa em C++ que receba uma matriz de elementos inteiros dispostos em 3 linhas e 4 colunas e exiba a quantidade de números múltiplos de 5 armazenados na matriz vai precisar de Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as colunas e variando de 0 a 3. Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as colunas e variando de 0 a 3. Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os múltiplos de 5 e variando de 0 a 5 . Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os múltiplos de 5 e variando de 0 a 5 . Duas estruturas seletivas: uma controlando as linhas e variando de 1 a 5, e outra controlando as colunas e variando de 1 a 3. 2 Questão Considere os seguintes valores de entrada: 1, 2, 3, 4, 5, 6, 7, 8 e 9 e ainda, o programa abaixo. Marque a resposta que mostra o que será exibido na tela. #include < iostream > using namespace std; int main() { int lin, col, mat[3][3]; for (lin=0; lin<3; lin++) for(col=0; col<3; col++) { cout<< "\nEntre com o elemento da matriz:"; cin>> mat[lin][col]; } for (lin=0; lin<3; lin++) cout << mat[lin][lin]<<"\n"; system("pause"); return 0; } 1 2 3 4 5 6 7 8 9 1 5 9 1 3 5 7 9 2 4 6 8 1 2 3 3 Questão Considere as regras do Portugol Studio e imagine que você precisa escrever um algoritmo que receba uma matriz 3x2 e exiba a quantidade de elementos ímpares armazenados nas linhas pares. A estrutura de repetição capaz de realizar o recebimento dos elementos da matriz M1 e a contagem descrita é: para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1) se (lin%2){ se (M1%2!=0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se (M1[lin][col]%2!=0) { qtdeImpares-- } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se (M1[lin][col]%2!=0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se (M1[lin][col]%2==0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2!=0){ se (M1[lin][col]%2!=0) { qtdeImpares++ } } } } 4 Questã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. Qual das opções abaixo o estudante deverá declarar? float funcionario[45][45]; float funcionario[12],[12]; float funcionario[45][12]; char funcionario[12][12]; int salario[45], funcionario[12]; 5 Questão Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena, em cada uma de suas linhas, a quantidade estocada de produtos no último quadrimestre (4 meses). Sabendo-se que a declaração de uma matriz em C/C++ se dá da forma: < tipo de dado> nome [nºde linhas][nºde colunas]; Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá: Somar todas as linhas de todas as colunas. Somar todas as linhas da coluna índice 0. Somar todas as colunas da linha índice 0. Somar todas as linhas da coluna índice 1. Somar todas as colunas da linha índice 1 6 Questão Imagine que você precisa escrever um algoritmo que receba uma matriz 4x4 de números inteiros, gere e exiba uma segunda matriz na qual as linhas são as colunas da matriz 1, e as colunas são as linhas da matriz 1. Qual das alternativas a seguir apresenta o código da estrutura de repetição que recebe os elementos da primeira matriz e gera a segunda? para (lin=0;lin<=3;lin++) { para (col=0;col<=3;col++) { escreva(M2[lin][col]," ") } } enquanto (lin=0;lin<=3;lin++) { enquanto (col=0;col<=3;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) M2[col][lin]=M1[lin][col] } } para (lin=0;lin<=3;lin++) { 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] }} 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] } } 7 Questão 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[40][5]; int edificio[5][8]; int edificio[8][5]; int edificio[1][40]; int edificio[40][1]; 8 Questão Analise o código em C++ mostrado abaixo e assinale a alternativa que descreve corretamente a sua execução: #include < iostream > using namespace std; int main() { int p, num[50]; for (p = 0; p <= 49; p++) { cout << "Digite um valor : "; cin >> num[p]; } for (p = 0; p <= 49; p++) { if (num[p] % 2 == 0 && num[p] > 30) cout << num[p] << "\t"; } system("pause"); return 0; } O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam maiores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam maiores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que sejam maiores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam menores que 30. O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números.
Compartilhar