Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é chamada de: Compilador Linguagem de baixo nível Linguagem de alto nível Programa Linguagem de Máquina 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 altonível Falso. Usada para escrever programas mais próximos da máquina. Exemplo : linguagem assembly Linguagem de baixo nível Ref.: 201510735615 2a Questão A linguagem C++ possui estruturas de decisão, as quais podem mudar a sequência de execução dos comandos. Analise o trecho de programa abaixo e assinale a alternativa que corresponda a estrutura de decisão utilizada. int main() { int num; cout<<"Digite um número: "; cin>> num; (num > 0)?cout<< num : cout<<" Número negativo "; return 0; } Operador ternário Estrutura condicional de comando simples comando switch Estrutura condicional de comando composto aninhamento de if Explicação: Como dito no gabarito. O operador ? : equivale ao comando if ... else. Ref.: 201510735590 3a Questão Segundo a forma de organizar o computador proposta por Von Neumann, a máquina possui quatro componentes. Assinale a alternativa correta: Unidade de Controle / Memória / Unidade de Armazenamento / Entrada e Saída Entrada e saída/ Unidade Aritmética e Lógica / Memória / Unidade de Controle Memória / Entrada e Saída / Unidade de Impressão / Unidade de Armazenamento Unidade de Controle / Memória / Entrada e Saída / Unidade de Impressão Memória / Entrada e Saída / Unidade Aritmética e Lógica / Unidade de Armazenamento Ref.: 201510740989 4a Questão Considere que o trecho de código em C++ foi executado 2 vezes, sendo que na 1ª. execução o valor de entrada foi 10 e na 2ª. execução, o valor de entrada foi 5. Ao final das duas execuções, respectivamente, o que foi impresso na tela ? cout << "Digite um valor : "; cin >> z; switch(z) { case 5 : cout << 3 * z << " "; case 10 : cout << 11 /2 * z << " "; case 20 : cout << z * z - 10 << endl; break; default : cout << "Entrada invalida. " << endl; } 15 25 15 50 90 50 90 15 25 15 15 27.5 15 55 90 55 90 15 27.5 15 55 1 Explicação: O aluno deverá fazer um teste de mesa ou chinês para poder escolher a resposta certa. Tal questão envolve conhecimento de switch ... case com e sem break e de operadores aritméticos, como a divisão entre inteiros ocorrida no 2o. case. Ref.: 201510701662 5a Questão Sobre o FLUXOGRAMA abaixo podemos afirmar que : 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 estruturas básicas de SEQUÊNCIA e REPETIÇÃO Apresenta na sua lógica as três estruturas básicas de programação Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃ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. Ref.: 201512836644 6a Questão Caso o valor inserido pelo usuário seja igual a 5, qual a mensagem exibida pelo código: int a; cin >> a; if (a<5) cout << "valor esperado"; else if (a>=5 && a<=10) cout << "valor ainda aceitável"; else if (a>10 && a<20) cout << "valor acima do esperado"; else if (a>=20) cout << "valor fora de faixa"; valor esperado valor acima do esperado nenhuma mensagem será exibida valor ainda aceitável valor fora de faixa Explicação: Se a variável a assume o valor 5 a única condição verdadeira é a>=5 && a<=10, portanto a saída será "valor ainda aceitável " Ref.: 201510702126 7a Questão Assinale a alternativa correta relacionada à característica de um algoritmo: Valores de entrada são recebidos através do monitor. A execução de um algoritmo é feita sequencialmente. Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. Teste de Mesa serve para receber os comandos de entrada. Para cada variável pode ser definido mais de um tipo de dado. Explicação: Verdadeira A execução de um algoritmo é feita sequencialmente. Falso. Entrada é via teclado ou via arquivo, o que aqui não é o caso. Valores de entrada são recebidos através do monitor. Falso. Apenas um tipo de dado. Para cada variável pode ser definido mais de um tipo de dado. Falso. Teste de mesa serve para fazer um passo a passo. Teste de Mesa serve para receber oscomandos de entrada. Falso. Tipo real aceita número com casas decimais ou inteiros. Tipo inteiro aceita apenas valores inteiros. Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. Ref.: 201510702340 8a 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 é divisível por 3 e por 5. 7 não é divisível por 2. Apenas 7 Nada aparece, pois o trecho de programa possui erro. 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### Ref.: 201510701875 9a Questão Com base nos conceitos de algoritmos, lógica de programação e linguagens de programação, é correto afirmar que: As linguagens de programação possibilitam a codif icação de um determinado algoritmo, de acordo com um conjunto de regras específ ico. Lógica de programação corresponde à representação gráfica de um determinado algoritmo. As linguagens de programação possuem um conjunto de regras f lexíveis para a representação dos comandos de um programa. Os três conceitos correspondem às únicas formas de representação da solução de um determinado problema. Os algoritmos correspondem, estritamente, aos conjuntos de dados e informações que são tratados em um determinado processamento. 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. Ref.: 201510701741 10a Questão Quero escrever um programa que leia o número equivalente a um dia da semana e retorne o nome equivalente considerando que 1- Domingo,2 - Segunda etc. Qual a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla? do/while cout switch/case while for Explicação: switch/case É para repetição do/while É para repetição for É para impressão na tela cout É para repetição while Ref.: 201510702018 11a Questão Algoritmo pode ser definido como a descrição dos passos para a execução de uma tarefa. Existem algumas formas distintas de representação de algoritmos, onde as principais são: Linguagem Natural, Linguagem Gráfica e Pseudocódigos. Se usarmos N para representar linguagem Natural, G para representar linguagem Gráfica e P para representar pseudocódigos, pode-se relacionar estas formas de representação de algoritmos com as seguintes afirmações: ( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se restringe apenas a algoritmos computacionais. ( ) Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da maioria das linguagens de programação. ( ) A grande ambiguidade existente nos significados de seus termos é uma restrição a representação aos algoritmos computacionais. Marque a alternativa que representa a o relacionamento existente entre as afirmações e as formas de representação de algoritmos. N, G, P P, N, G G, N, P G, P, N N, P, G Explicação: Analisando as afirmativas : ( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se restringe apenas a algoritmos computacionais. <<< Fluxograma, por exemplo, que é uma linguagem gráfica >>> ( ) Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da maioria das linguagens de programação. <<< Pseudocódigo >>> ( ) A grande ambiguidade existente nos significados de seus termos é uma restrição a representação aos algoritmos computacionais. <<< Linguagem natural >>> Ref.: 201510735567 12a Questão Qual o comando utilizado pelo C++ para implementação de algoritmos onde seja necessário que o usuário entre com um valor referente a uma opção a ser escolhida, quando é necessário consulta em uma tabela ou a um menu exibido na tela. table break switch/case cout cin Explicação: a estrutura de escolha é implementada no C++ pelo comando switch/case Ref.: 201510702148 13a Questão Sobre algoritmo, marque a opção correta. É uma forma de ensinar o computador. É uma linguagem de programação para computadores. É a solução teórica, passo a passo, de um problema. É um hardware especifico para resolver problemas. É 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 especificopara resolver problemas. Ref.: 201510702391 14a Questão Um aluno de Introdução a Programação precisa escrever um programa que leia um caracter equivalente a uma estação do ano imprima o nome equivalente considerando que P- Primavera, V - Verão, O - Outono e I - Inverno. Qual a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla? while switch/case do/while for break 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 Ref.: 201510701626 15a Questão Considerando as afirmativas a seguir em relação a representação de algoritmos: I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. Podemos afirmar que: Todas as alternativas são CORRETAS Apenas a alternativa I é CORRETA As alternativas I e III são CORRETAS As alternativas II e III são INCORRETAS Nenhuma das opções anteriores Explicação: Analisando cada afirmativa... I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; VERDADEIRO II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; FALSO III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. VERDADEIRO Conclusão : As afirmativas I e III estão corretas. 1a 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. atribuição Variável Comando Enquanto-Faça Estrutura de Seleção Comando PARA 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 Ref.: 201510701873 2a Questão Assinale a opção correta. Sobre variáveis é correto afirmar que ... nomes de variáveis sempre podem iniciar com aspa. uma variável ocupa um espaço em memória e devemos usar, normalmente, um tipo de dados ao declará-la. uma variável ocupa um espaço em memória e nunca se usa um tipo de dados ao declará-la. palavras reservadas podem ser usadas para nome de variáveis. o nome de uma variável sempre pode começar com acento. 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. Ref.: 201510702288 3a Questão Assinale a opção correta. Considerando o conceito de programa é correto afirmar que ... 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 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 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. Ref.: 201510739003 4a Questão Assinale a opção correta. Programa é um conjunto de instruções escritas sem usar, necessariamente, uma linguagem de programação. É possível usar o Inglês para se escrever programas. Programa é um algoritmo escrito em fluxograma. Programa é um conjunto de instruções escritas em uma linguagem de programação e que dizem o que o computador deve fazer. Um programa em C++ não precisa ser compilado. Um programa em C++ não tem variáveis. Explicação: A resposta está no conteúdo online da aula 2. Todos os itens errados não dão margem a dúvidas. Importante entender a diferença de programa e algoritmo, entre outras. Ref.: 201510701876 5a Questão Uma variável pode ser entendida como sendo: Um disposi�vo de entrada de dados. Um disposi�vo de memória auxiliar. Um elemento da unidade lógica de controle. Um endereço na memória principal. Um disposi�vo de saída de dados. 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. Ref.: 201510701624 6a Questão Para realizar o armazenamento de um determinado valor na memória do computador é necessária a declaração de: Comando de saída Fluxograma Comando de entrada Estrutura de decisão Variável Explicação: FAlso. Permite realizar entrada de dados. Comando de entrada FAlso.Permite realizar saída de dados. Comando de saída FAlso. Representação gráfica de um algoritmo. Fluxograma FAlso. Comando if ou if/else, por exemplo. Estrutura de decisão Verdadeiro Variável Ref.: 201510739005 7a Questão Assinale a opção correta. Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. Para programar em alto nível é preciso dominar a linguagem binária. O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. Dizemos que uma linguagem é de alto nível quando usa linguagem binária. O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. 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. Ref.: 201510701845 8a Questão Faz parte do desenvolvimento de uma algoritmo declarar as variáveis que armazenarão dados a ser manipulados pelo algoritmo. De acordo com as regras para criação dos nomes para as variáveis, assinale a alternativa que possui um exemplo de nome INCORRETO: salariofinal cad1- id nome_aluno nota2 num1 1a Questão Normalmente um programa de computador é composto de muitas linhas de código o que dificulta, por vezes, a manutenção quando ocorre algum erro lógico. Desta forma, o programador, após identificar o possível trecho da ocorrência. Para isso, o Dev C++ dispõe de um dispositivo que interrompe a execução do programa, passando para o programador o controle da execução. A linha onde o programa é interrompido fica destacada em vermelho. Qual o nome deste dispositivo? Breakpoint StopPoint ExecPoint ContinuePoint CompilePoint Explicação: Não há outra possível resposta. Ref.: 201510743417 2a Questão Uma IDE (integrated development environment ou ambiente de desenvolvimento integrado) reúne várias facilidades para o programador. Assinale a opção onde está presente o programa que possibilita acompanhar a execução do programa e verificar erros. Compilador Linkeditor Editor Corretor Depurador Explicação: A própria resposta Ref.: 201510701971 3a Questão Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ cout < lendo idade; cin > idade cout << "lendo a idade"; cin >> idade; cout "lendo a idade"; cin idade; exiba "lendo a idade"; lendo idade; System.out.println("lendo idade"); System.out.println("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"; lendoidade; 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"); Ref.: 201510701746 4a Questão Para exibir o valor da variável x do �po inteiro em C++ deve ser u�lizado o comando: cout >>x; cout >> "Valor de x: " , x; cout >> "Valor de x: " >> x; cout << "Valor de x: " >> x; cout << x; Explicação: Para impressão na tela usamos o cout com o operador << Nâo confundir com >> que é usado com cin, que é para entrada de dados. Ref.: 201510735530 5a Questão Uma IDE é um conjunto de programas úteis ao programador reunidos em um mesmo ambiente, a fim de facilitar o trabalho de desenvolvimento. Dentre suas funcionalidades temos a depuração. marque a alternativa que descreve este processo. é uma atividade que permite ao programador executar o programa.E observar o resultado final é uma atividade que permite ao programador executar o programa passo a passo. Desta forma, ele pode verificar os valores das variáveis e descobrir qual é a execução natural de um programa. é uma atividade que permite ao programador escrever o programa passo a passo. Desta forma, ele pode verificar os valores das variáveis e descobrir qual é a forma natural de um programa. é uma atividade que permite ao programador traduzir o programa. E permite a execução do mesmo. é uma atividade que permite ao programador compilar o programa. Desta forma, ele pode executar os valores das variáveis e descobrir qual é a forma natural de um programa. Explicação: A depuração é uma atividade que permite ao programador executar o programa passo a passo. Desta forma, ele pode verificar os valores das variáveis e descobrir qual é a execução natural de um programa. Ref.: 201510739011 6a Questão Asssinale a opção correta. Uma IDE é um software que tem a função de colocar e integrar, em um mesmo ambiente, vários outros programas que ajudam um programador a criar seus programas. IDE é apenas um editor de textos que nos dá a possíbildade de na linha de comando compilar nosso programa. Para executar um programa em uma IDE não temos que compilá-lo previamente. O C++ é uma IDE na qual posso compilar meus programas. IDE é apenas um editor de textos que nos dá a possíbildade de na linha de comando executar nosso programa. Qual dos fragmentos de código calcula um preço de um produto com desconto de 7,5% ? A declaração de variáveis permite reservar um espaço na memória para que possa armazenar os dados de um programa. Indique os nomes de variáveis que são válidos em C++. Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos. Qual dos trechos abaixo solicita e admite corretamente a idade de um usuário? Sabemos que existem dois comandos (cin e cout), definidos na biblioteca iostream, que não são nativamente definidos pela linguagem e servem para fazer a entrada e saída de dados. Dessa forma, assinale a alternativa que corresponde ao comando que faz a leitura do valor digitado e o armazena na variável celsius. Assinale a alternativa que apresenta APENAS operadores relacionais. Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro. Para a = 2, b = 5 e c = 4, determine qual das sentenças retornará verdadeiro em linguagem de programação C++. PRECO_DESC = PRECO * 7.5 / 100; PRECO_DESC = PRECO - PRECO * 7.5 /100; PRECO_DESC = PRECO * 0.75; PRECO_DESC = PRECO * 0.075; PRECO_DESC = PRECO * 7.5%; 2. 8situacao, numero us# , tempo mumero2Casa, idade double, int preço, medida 3. &&, >= e <= +, - e * &&, || e ! !, > e >= =, > e ? 4. real idade; cin << "Idade: " >> idade; int idade; cin << "Idade: " >> idade; int idade; cout << "Idade: "; cin >> idade; real idade; cout << "Idade: "; cin >> idade; int idade; cout >> "Idade: "; cin << idade; 5. float << celsius; cout << "Celsius ? "; cin >> celsius; cout << celsius; cin >> Celsius; 6. =, > e || <, > e >= +, - e * &&, || e ~ &&, >= e || 7. ((pontos>=10) || (pontos <=20)) ((pontos>=10) ! (pontos <=20)) ((pontos>=10) % (pontos <=20)) ((pontos>=10) # (pontos <=20)) ((pontos>=10) && (pontos <=20)) 8. (b % a) == 0 a == c pow(c,a) > b * c ((b = 2) == a) (b + 2) > (a * c) 1a 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) ou (AV2 > 4) Se (AV1 >= 4) e (AV2 >= 4) Se (AV1 >= 4) ou (AV2 >= 4) Explicação: Verdadeira Se (AV1 >= 4) ou (AV2>= 4) Falsa. Tinha que ser >= e não apenas > Se (AV1 > 4) ou (AV2 >4) FAlsa. Nâo tem que ter 4 ou mais nas duas provas, mas apenas em uma das provas. Se (AV1 >= 4) e (AV2 >= 4) FAlsa. Tinha que ser >= e no lugar do e tinha que se ou. Se (AV1 > 4) e (AV2 >4) Falsa. A 1a. alternativa é a correta. Ou seja : Se (AV1 >= 4) ou (AV2 >= 4) Nenhuma outra alternativa satisfaz Ref.: 201510701743 2a Questão Qual das sentença em C++ a seguir verifica se o valor da variável x do tipo inteiro é diferente de 7 e maior que 10? if (x != 7 || x > 10) if (x != 7 && x > 10) if (x == 7 || x <= 10) if (x == 7 && x > 10) if (x != 7 || x >= 10) Explicação: PAra diferente usamos o operador != E para maior usamos o operador > E para o e lógico usamos o operador && Ref.: 201510701865 3a Questão Quando estudamos sobre a estrutura do se ... entao...senao, sempre nos é dito que, quando tivermos duas possibilidades de respostas, devemos escolher a estrutura do se composto ao invés de usar duas estruturas do se simples. Observe as afirmativas abaixo e, depois, escolha a resposta que respalda o uso do se composto pelo que foi dito acima ao invés do se simples. I Maior clareza no código, mas não influência na eficiência do mesmo II Maior eficiência porque diminui o número de testes no código III Maior eficiência somente porque o código fica mais legível, visto que o resultado final é o mesmo IV Somente uma escolha do desenvolvedor, visto que o resultado o resultado final é o mesmo Somente a II está correta A II E A III estão corretas A II E IV estão corretas Somente a IV está correta Somente a I está correta Explicação: I Maior clareza no código, mas não influência na eficiência do mesmo . Comentário : Falso. Traz clareza e afeta a eficiência sim, pois acaba se fazendo testes desnecessários. II Maior eficiência porque diminui o número de testes no código Comentário : Correto. III Maior eficiência somente porque o código fica mais legível, visto que o resultado final é o mesmo. Comentário : Falso. Não é só legibilidade, mas é uma questão de eficiência, pois evita-se teste desnecessário. IV Somente uma escolha do desenvolvedor, visto que o resultado o resultado final é o mesmo Comentário : Falso. O desenvolvedor pode escolher sim, mas o uso adequado do condicional composto pode trazer maior eficiência para o código. Opção correta : Somente a II está correta Ref.: 201510739024 4a 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; else cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; 11 11 2 0 10 12 2 0 x= 11 y = 11 z = 2 k = 0 x = 10 y = 12 z = 0.833 k = 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 Ref.: 201510702328 5a 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 110 1 0 11 110 1 10 11 12 110 11 12 110 1 0 11 110 1 0 Explicação: Analisando ... 1a. execução : Valor de entrada é 10. Logo, num recebeu 10 na entrada. 1o. teste >>> 10 > 0 ? Sim . Então, entramos no bloco do 1o. if e fazemos num receber 11. Depois, exibimos 11 na tela. Seguindo... é exibido o valor de num + 1, ou seja, é exibido na tela o valor 12. 2o. teste >>> 11 < 0 ? Não. Então, entramos no último else que imprime o resultado de 11 * 10, que é 110 Concluindo a 1a. execução para a entrada 10 : 11 12 110 2a. execução : Valor de entrada é 0. Logo, num recebe 0 na entrada. 1o. teste >>> 0 > 0 ? Falso. Não entramos no 1o. if. SEguindo em frente temos que o valor de num+1 é exibido na tela. Ou seja, 1 é exibido na tela. 2o. teste >>> 1 < 0 ? Não. Então, entramos no último else, que imprime o valor de 1 * 10, que é 10. Concluindo a 2a. execução para a entrada 0 : 1 10 Ref.: 201510702341 6a Questão Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, sendo que na 1ª. execução o valor de entrada é 7 e na 2ª. execução o valor de entrada é 8. Para isso, considere o seguinte trecho em C++. int num; cout << "Digite um numero: "; cin >> num; if (num != 2 || num != 4 || num != 6) { num = num + 2; cout << num << " "; } if (num != 8) { num--; cout << num << " "; } else cout << num * 5 ; 9 8 10 40 9 40 9 6 10 9 8 10 40 9 8 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 Ref.: 201510702093 7a Questão O comando utilizado para representar uma estrutura de ____________ é o comando _____. Esse comando fará um teste na ____________ apresentada, determinando se a ________________ é _______________ ou não. decisão, se, condição, condição, verdadeira. decisão, enquanto, condição, decisão, verdadeira. decisão, se, condição, condição, para. condição, repita, se, condição, para. decisão, para, condição, condição, falsa. Explicação: Falsa.Estrutura de decisão não é o comando enquanto. Comando enquanto é de repetição. decisão, enquanto, condição, decisão, verdadeira. Falsa. Estrutura de decisão não é o comando para Comando para é de repetição. decisão, para, condição, condição, falsa. Verdadeiro decisão, se, condição, condição, verdadeira. Falso. Não faz sentido para ou não, no final da sentença. decisão, se, condição, condição, para. Falso. Comando repita é de repetição. condição, repita, se, condição, para. Ref.: 201510741263 8a Questão Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela. int x = 235, y = 138, z = 177, m; m = z; if( x < m) m = x; if( y < m) m = y; cout << m << " " << x << " " << y ; 138 235 138 235 235 138 177 138 235 138 138 235 177 235 138 1a Questão Um aluno de Introdução a Programação precisa escrever um programa que leia um caracter equivalente a uma estação do ano imprima o nome equivalente considerando que P- Primavera, V - Verão, O - Outono e I - Inverno. Qual a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla? while break for do/while switch/case 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 Ref.: 201510735615 2a Questão A linguagem C++ possui estruturas de decisão, as quais podem mudar a sequência de execução dos comandos. Analise o trecho de programa abaixo e assinale a alternativa que corresponda a estrutura de decisão utilizada. int main() { int num; cout<<"Digite um número: "; cin>> num; (num > 0)?cout<< num : cout<<" Número negativo "; return 0; } aninhamento de if Operador ternário Estrutura condicional de comando simples Estrutura condicional de comando composto comando switch Explicação: Como dito no gabarito. O operador ? : equivale ao comando if ... else. Ref.: 201510701741 3a Questão Quero escrever um programa que leia o número equivalente a um dia da semana e retorne o nome equivalente considerando que 1- Domingo, 2 - Segunda etc. Qual a estrutura básica em C++ que deve ser utilizada para fazer esta seleção múltipla? for switch/case while cout do/while Explicação: switch/case É para repetição do/while É para repetição for É para impressão na tela cout É para repetição while Ref.: 201510702340 4a 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. Apenas 7 Nada aparece, pois o trecho de programa possui erro. 7 ### 7 é divisível por 3 e por 5. 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### Ref.: 201510740989 5a Questão Considere que o trecho de código em C++ foi executado 2 vezes, sendo que na 1ª. execução o valor de entrada foi 10 e na 2ª. execução, o valor de entrada foi 5. Ao final das duas execuções, respectivamente, o que foi impresso na tela ? cout << "Digite um valor : "; cin >> z; switch(z) { case 5 : cout << 3 * z << " "; case 10 : cout << 11 /2 * z << " "; case 20 : cout << z * z - 10 << endl; break; default : cout << "Entrada invalida. " << endl; } 50 90 15 25 15 55 1 15 27.5 15 55 90 55 90 15 27.5 15 15 25 15 50 90 Explicação: O aluno deverá fazer um teste de mesa ou chinês para poder escolher a resposta certa. Tal questão envolve conhecimento de switch ... case com e sem break e de operadores aritméticos,como a divisão entre inteiros ocorrida no 2o. case. Ref.: 201510701903 6a Questão Analise o trecho do algoritmo abaixo e indique a alterna�va que apresenta as saídas ob�das para os valores: A=17, B=21 e C=13. SE (A > (B+C)) ENTÃO ESCREVA("+++++") SENÃO SE (B<=C) ENTÃO ESCREVA("%%%%%") SENÃO ESCREVA("^^^^^") FIM SE ESCREVA("=====") FIM SE ^^^^^ ===== %%%%% ^^^^^ ===== +++++ ===== Explicação: Analise o trecho do algoritmo abaixo e indique a alternativa que apresenta as saídas obtidas para os valores: A=17, B=21 e C=13. SE (A > (B+C)) ENTÃO //1o. teste : 17 > (34) ? FAlso. Entraremos no 1o. senão. ESCREVA("+++++") //não entra aqui SENÃO //Entra aqui devido à falha do 1o. teste SE (B<=C) ENTÃO //2o. teste : 21 <= 12 ? Falso. Então, entraremos no bloco do 2o. senão ESCREVA("%%%%%") //não entra aqui SENÃO ESCREVA("^^^^^") //SErá executada esta linha e depois seguiremos em frente. FIM SE ESCREVA("=====") //Após terminar o bloco do comando condicional, executamos esta linha FIM SE DA análise feita acima dois "escreva" são executados : ESCREVA("^^^^^") ESCREVA("=====") O que dará o seguinte resultado : ^^^^^ ===== Ref.: 201510735567 7a Questão Qual o comando utilizado pelo C++ para implementação de algoritmos onde seja necessário que o usuário entre com um valor referente a uma opção a ser escolhida, quando é necessário consulta em uma tabela ou a um menu exibido na tela. break switch/case cout cin table Explicação: a estrutura de escolha é implementada no C++ pelo comando switch/case Ref.: 201512836644 8a Questão Caso o valor inserido pelo usuário seja igual a 5, qual a mensagem exibida pelo código: int a; cin >> a; if (a<5) cout << "valor esperado"; else if (a>=5 && a<=10) cout << "valor ainda aceitável"; else if (a>10 && a<20) cout << "valor acima do esperado"; else if (a>=20) cout << "valor fora de faixa"; valor acima do esperado valor ainda aceitável nenhuma mensagem será exibida valor fora de faixa valor esperado 1a Questão Após a execução do trecho de código, abaixo, quais números serão exibidos na tela? for(int i=3; i<100; i=i+19) cout << " " << i; 3 22 41 59 79 98 3 23 42 61 80 99 3 22 41 60 79 99 3 23 40 60 79 98 3 22 41 60 79 98 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 Ref.: 201510702402 2a Questão Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) { int i; double x, y; cout << "Digite um numero: "; cin >> x; for (i=0; i<5; i++){ cout << "Digite um numero: "; cin >> y; if (y > x){ x = y; } } cout << "Numero: " << x << "\n"; system("PAUSE"); return 0; } A média dos elementos digitados O menor de todos os elementos digitados O maior de todos os elementos digitados A quantidade de elementos digitados A quantidade de elementos pares 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. Ref.: 201510702188 3a 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" ); } 12 8 10 7 15 25 19 13 7 1 12 5 10 7 13 10 5 0 13 7 0 0 0 0 0 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 Ref.: 201510702408 4a Questão Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) { int i; double x, y = 0; for (i = 0; i < 10; i++){ cout << "Digite um numero: "; cin >> x; if ((x % 2) == 0){ y = y + x; } } cout << "Numero: " << y << "\n"; system("PAUSE"); return 0; } O maior de todos os elementos digitados A média dos elementos digitados A quantidade de elementos digitados A soma dos elementos pares A soma de todos os elementos Explicação: Analisando o trecho do programa dado : int i; double x, y = 0; //inicializa y que irá acumular o somatório for (i = 0; i < 10; i++){ cout << "Digite um numero: "; cin >> x; //Lê o valor de x if ((x % 2) == 0){ //testa se x é par y = y + x; //Se x é par então acumula em y o valor de x, somando todos os valores das variáveis x que são pares } } cout << "Numero: " << y << "\n"; //Imprime y, que acumulou o somatório mencionado acima Ref.: 201510702067 5a Questão Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa correta para que um programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR na linguagem C++. for (int i=0; i =< 200; i++) for (int i=0; i < 200; i++) for (int i=0, i <= 200, i++) for ( i=0; i <= 200; i++) for (int i=0; i <= 200; i++) Explicação: Verdadeira for (int i=0; i < 200; i++) Falsa. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no teste do for. for (int i=0; i <= 200; i++) FAlsa. A variável i não foi declarada. for ( i=0; i <= 200; i++) Falsa. Não existe =< for (int i=0; i =< 200; i++) Falsa. Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. for (int i=0, i <= 200, i++) Ref.: 201510702310 6a Questão O que o trecho de programa em C++ abaixo imprime na tela ? int x; for (x = 1; x <= 5; x++) if (x % 3 == 0 && x % 5 == 0 ) cout << x + 2 << " "; else cout << x + 1 << " "; 2 3 4 5 6 1 3 5 7 9 3 5 7 9 2 4 6 8 10 2 3 4 6 Explicação: Analisemos o trecho : int x; for (x = 1; x <= 5; x++) if (x % 3 == 0 && x % 5 == 0 ) cout << x + 2 << " "; else cout << x + 1 << " "; Para cada x de 1 até 5, inclusive, faça : >>>> teste se x é divisível por 3 e por 5, analisando o resto da divisão com %. Se for divisível por ambos, imprime o valor de x + 2. Se não for por ambos, imprime o valor de x +1. Quando x for 6, não entraremos mais no loop. Vejamos passo a passo : >> para x igual a 1 : o teste do if falha. Então, imprimimos 2 >> para x igual a 2 : o teste do if falha. Então, imprimimos 3 >> para x igual a 3 : o teste do if falha. Então, imprimimos 4 >> para x igual a 4 : o teste do if falha. Então, imprimimos 5 >> para x igual a 5 : o teste do if falha. Então, imprimimos 6 >> para x igual a 6 : o teste do for falha. Logo, a resposta é 2 3 4 5 6Ref.: 201510701641 7a Questão A REPETIÇÃO é uma das estruturas básicas de programação, determine entre as atividades abaixo a que representa uma REPETIÇÃO : Para encher um copo com água, mantenha a torneira aberta enquanto o copo não esitver cheio. Calcule a média de um aluno somando as duas maiores notas e dividindo a soma por dois. Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar. No trânsito, se o sinal estiver vermelho, PARE, se não, PODE PASSAR. Se um aluno obter média abaixo de 6.0 estará REPROVADO, se não estará APROVADO. Explicação: Falso. É um condicional. No trânsito, se o sinal estiver vermelho, PARE, senão, PODE PASSAR. Verdadeiro. Tem o comando enquanto. Para encher um copo com água, mantenha a torneira aberta enquanto o copo não esitver cheio. Falso. É uma sequência Para fazer um bolo, prepare os ingredientes,misture-os bem e ponha no forno para assar. Falso. É um comando condicional ... tem se ... se não.. Se um aluno obter média abaixo de 6.0 estará REPROVADO, se não estará APROVADO. Falso. Comando sequencial. Calcule a média de um aluno somando as duasmaiores notas e dividindo a soma por dois. Ref.: 201510702174 8a Questão Marque a opção correta. Considere o trecho de programa feito em C++. O valor final de s e o valor final de num, são respectivamente: int conta, num=1, s=0; for(conta = 10; conta < = 40; conta= conta+10){ s= s+num; num= num +2; } 50 e 9 50 e 16 9 e 9 o valor de s está indefinido e o valor de num é 7 16 e 9 Explicação: Acompanhe o teste de mesa : num s conta conta <= 10 ? 1 0 10 sim 3 1 20 sim 5 4 30 sim 7 9 40 sim 9 16 50 não Logo, s vale 16 e num vale 9 1a Questão Para que a palavra "AMOR" seja escrita na tela 5 vezes, qual condição apropriada deve ser colocada no trecho de código abaixo? Marque a opção correta. x = 1; while ( _________ ) { cout<<"AMOR \n"; x = x + 2; } x <= 11 x > 10 x < 10 x <= 5 x < 5 Explicação: Analisando : x = 1; while ( _________ ) { cout<<"AMOR \n"; x = x + 2; } Note que x é um contador que é inicializado com 1 e que varia de 2 em 2. Logo, é preciso testar x < 10. Veja que entraremos no loop quando : x vale 1 x vale 3 x vale 5 x vale 7 x vale 9 E quando x for para 11, o teste do loop falhará. Então, teremos entrado 5 vezes no bloco do while. Ref.: 201510702411 2a Questão Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: int main ( ) { int i = 0; double x, y = 0; cout << "Digite um numero: "; cin >> x; while (x != 0){ i = i + 1; y = y + x; cout << "Digite um numero: "; cin >> x; } y = y / i; cout << "Numero: " << y << "\n"; system("PAUSE"); return 0; } A média dos elementos digitados O maior de todos os elementos digitados A quantidade de elementos pares O menor de todos os elementos digitados A quantidade de elementos digitados Explicação: int i = 0; //inicializa a quantidade de elementos digitados diferentes de zero double x, y = 0; // y inicializa o somatorio dos valores de entrada cout << "Digite um numero: "; cin >> x; //Lê o primeiro valor while (x != 0){ //Enquanto o valor de entrada não for zero i = i + 1; //conta mais um número lido y = y + x; //acumula o valor de x em y, gerando o somatório dos números lidos e armazenados em x cout << "Digite um numero: "; cin >> x; //Lê o proóximo número } y = y / i; //Divide a soma dos números lidos não nulos por i ( i é o total de números lidos não nulos) cout << "Numero: " << y << "\n"; //Imprime a média armazenada em y Logo : O programa calcula a média dos números digitados (diferente de zero) Ref.: 201512824974 3a Questão Assinale a opção que corresponde à condição da estrutura de repetição que faz com que o programa abaixo imprima 4 vezes a expressão Bom dia. int a = 8; while ( ____ ) { cout << "Bom dia\n"; a = a -2; } a >= 0 a == 0 a <= 0 a > 0 a < 0 Explicação: Analisando o trecho temos que : a variável a funciona como contador e começa com 8. a variável a varia de 2 em 2. Assim : quando a é 8 imprime-se Bom dia quando a é 6 imprime-se Bom dia quando a é 4 imprime-se Bom dia quando a é 2 imprime-se Bom dia quando a for zero não se pode mais imprimir Bom dia, pois já se imprimiu 4 vezes, como visto acima. Logo, a opção certa é : a > 0, pois quando a for zero, a repetição irá terminar. Ref.: 201510702200 4a 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: do/for for while do/while for/while Explicação: O comando do...while faz para depois testar. Então, o bloco a ser repetido será executado pelo menos uma vez antes de testarmos a condição. Os comando for ou while, temos que testar antes de fazer. Ref.: 201510702291 5a Questão Assinale a alternativa correta em relação a quantidade de vezes que a palavra "PAZ" será impressa, no trecho de código abaixo: x = 50; do{ y = 8; do{ cout<<"PAZ \n"; y++; } while ( y <10); x--; }while ( x > 48); 6 vezes 8 vezes 4 vezes 5 vezes 7 vezes Explicação: Analisando passo a passo o trecho dado : x = 50; do{ y = 8; do{ cout<<"PAZ \n"; y++; } while ( y <10); x--; } while ( x > 48); x y 50 8 49 9 48 (48 > 48 ? ) Falso 10 ... 10 < 10 ? FALSO 8 9 10 ... 10 < 10 ? Falso PAZ PAZ PAZ PAZ Ref.: 201510702007 6a Questão A partir da comparação entre as estruturas while e do...while, é certo afirmar que: Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o bloco de comandos controlado será sempre executado, pelo menos uma vez. No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o bloco de comandos será sempre executado, pelo menos uma vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo menos uma vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado. Explicação: Falso. No do/while primeiro se faz o que está no corpo do loop para depois testar e no while, se testa para depois fazer o queestá no corpo do loop. Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. Falso. No do/while o bloco de instruções será feito pelo menos 1 vez. No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o bloco de comandos será sempre executado, pelo menos uma vez. Verdadeiro No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o bloco de comandos controlado será sempre executado, pelo menos uma vez. Falso. No while pode não ser executado nenhuma vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo menos uma vez. Falso. No do/while as instruções serão feitas pelo menos 1 vez. Dependendo da condição de teste, em ambos oscasos o bloco de comandos controlado poderá não ser executado Ref.: 201510702140 7a Questão O que está sendo executado pelo programa C++ a seguir? int main() { int CONT, SOMA; CONT = 0; SOMA = 0; while (CONT < 50) { SOMA = SOMA + CONT; CONT = CONT + 2; } } Soma os 50 números pares digitados. Soma todos os números pares de 0 a 50 Soma todos os números de 0 a 49 Soma todos os números ímpares de 0 a 49 Soma todos os números pares de 0 a 48 Explicação: Analisando o trecho em C++ : int main() { int CONT, SOMA; CONT = 0; SOMA = 0; while (CONT < 50) { SOMA = SOMA + CONT; CONT = CONT + 2; } } CONT SOMA CONT < 50 0 0 0 < 50 ? SIM 2 0 2 < 50 ? SIM 4 2 ... ... 50 .... 50 < 50 ? FALSO O trecho soma os valores de CONT até 48, sendo que tal variável varia de 2 em 2. Ou seja, a variável SOMA acumula os valores de CONT de 0 ATÉ 48, somando os valores pares neste intervalo. Note que o teste do loop pára quando CONT assume o valor 50. 1a Questão Analise as afirmativas abaixo sobre funções e assinale a resposta correta I Uma função poderá ser criada dentro de outra função. II Uma função que não seja a função main() poderá chamar outra função. III Uma variável local poderá ser acessada por outra função. IV Uma função poderá retornar dois valores Todas estão erradas. Todas estão corretas. I e II estão corretas II e III estão corretas Só a II está correta. Explicação: Analisando cada afirmativa : I Uma função poderá ser criada dentro de outra função. FALSO II Uma função que não seja a função main() poderá chamar outra função. VERDADEIRO III Uma variável local poderá ser acessada por outra função. FALSO. A VARIÁVEL LOCAL SÓ PODE SER MANIPULADA DENTRO DA FUNÇÃO EM QUE FOR DECLARADA. IV Uma função poderá retornar dois valores. FALSO. OU A FUNÇÃO NADA RETORNA OU ELA RETORNA APENAS UM VALOR. Ref.: 201510735645 2a Questão Uma Função, em C++, quando criada pode prever a utilização de parâmetros. Assinale a alternativa abaixo que representa o nome dos parâmetros que são passados na chamada da função. parâmetros especiais. argumentos. parâmetros formais. parâmetros. argumentos especiais. Explicação: Resposta objetiva, imediata, se seguido conceito abordado na aula online. Ref.: 201510735646 3a Questão O escopo de uma variável é o bloco de código onde a variável é válida. Analise as afirma�vas abaixo e assinale a alterna�va correta: I) As variáveis que são definidas dentro de uma função são chamadas de variáveis locais. II) Os parâmetros formais de uma função valem somente dentro da função. III) Uma variável que foi definida dentro de uma função não é acessível em outras funções, mesmo se os nomes forem exatamente iguais. Somente II e III corretas. Somente I e III corretas. Somente I correta. Todas estão corretas. Somente I e II corretas. Ref.: 201510784865 4a Questão No cabeçalho de uma função que não retornam valor utilizamos "void" logo no começo. Já em uma função que retorna valor, no lugar da palavra "void": temos que usar somente os comandos "cin" e "cout" no corpo da função temos que indicar o tipo do retorno, além de usar o comando "return" dentro da função temos que acrescentar ";" no final do cabeçalho de declaração da função temos que retirar os nomes dos parâmetros, deixando apenas os seu tipos, no cabeçalho da função não devemos colocar nada, já que não possível que uma função não retorne valor Ref.: 201510741179 5a Questão Assinale a afirmativa incorreta. Quando a função nada retorna, colocamos a palavra void antes do nome da função. As variáveis que estão fora do escopo de qualquer função são ditas globais. Algumas funções não precisam ter um tipo. As variáveis que estão no escopo de qualquer função são ditas locais. O comando return permite retornar um valor pela função. Explicação: A aula 9 fornece o conceitos necessários para identificar os itens corretos e o item incorreto. Ref.: 201510784867 6a Questão Analise as quatro sentenças abaixo sobre escopo das variáveis e, em seguida, assinale a alternativa correta: I. Trata-se do bloco de código onde a variável é válida; II. As variáveis que são definidas dentro de uma função são chamadas de variáveis globais; III. Os parâmetros formais de uma função valem dentro e também fora da função; IV. As variáveis são válidas nos blocos em que foram definidas. Apenas as sentenças I, II e IV estão corretas Apenas as sentenças I e II estão corretas Apenas as sentenças I e IV estão corretas Todas as sentenças estão corretas Apenas a sentença I está correta Ref.: 201510754953 7a Questão Uma função deve obrigatoriamente conter um tipificador, ou seja, deve retornar um valor ao término de sua execução. No entanto, para sua execução ser eficiente, é necessário enviar dados do bloco principal, que chama a função, para o interior da função. O espaço reservado para transportar esses dados de um lado para o outro é chamado de: Vetor global. Variável global. Variável local. Vetor local. Parâmetros. Explicação: Conforme definição encontrada na aula 9 (conteúdo online). Note que não pode ser : >> variável global : fora de qualquer função e enxergada do ponto de declaração em diante >> variável local : enxergada e manipulável dentro da função em que é declarada. >> vetor global : seria um vetor declarado globalmente. >> vetor local : seria um vetor declarado localmente. Ref.: 201510741454 8a Questão Assinale a opção correta, considerando a função calculaIMC definida abaixo : float calculaIMC(float peso, float altura) { return peso/(altura * altura); } A função calculaIMC não compila A função calculaIMC não tem parâmetros e retorna um valor do tipo float. A função calculaIMC está errada, pois deveria ler o peso e a altura, usando cin >> peso >> altura; A função calculaIMC deveria ser do tipo void e não float. A função calculaIMC tem 2 parâmetros e retorna um valor do tipo float. Explicação: O aluno deve saber identificar o tipo da função e os parâmetros. 1a Questão Um lojista gostaria de desenvolver um programa para armazenar os códigos(valores inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a quantidade(valores inteiros) de todos os mil produtos. Pensou em declarar algumas matrizes unidimensionais para tornar isso possível. Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima? int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; double codigos[1000], qtdade[1000], valorC[1000], valorV[1000]; int codigos[999], qtdade[999]; float valorC[999], valorV[999]; double codigos[999], qtdade[999], valorC[999], valorV[999]; double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; Explicação: Analisando o enunciado, temos que : >> será criado um vetor para 1000 valores do tipo int para armazenar os códigos >> será criado um vetor para 1000 valores do tipo float ou double para armazenar os valores de compra e outro vetor para 1000 valores do tipo float ou double para armazenar os valores de venda >> será criado um vetor para 1000 valores do tipo int para armazenar as quantidades Então, a opção que segue a explicação acima é int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; Nenhuma opção que crie vetores com capacidade para 999 elementos servirá, pois são 1000 elementos. Não confundir com os índices que irão de 0 até 999 para vetoresde 1000 elementos. Ref.: 201510702253 2a Questão Análise de código abaixo e selecione entre as alternativas, o que será impresso, após a execução. int a = 3, b = 2; int v[] = { 6, 7, 8, 9}; a = (v[2] - v[0]) + a; int d = a * v[b]; std::cout << d << " " << v[1] << a + 2; 40 75 24 75 21 67 35 67 40 77 Explicação: int a = 3, b = 2; int v[] = { 6, 7, 8, 9}; a = (v[2] - v[0]) + a; int d = a * v[b]; std::cout << d << " " << v[1] << a + 2; Analisando passo a passo : a b v d 3 2 {6,7,8,9} a recebe 8 - 6 + 3, que dá 5 5 * v[2], ou seja, 5 * 8 = 40 Na tela será impresso : 40 7 7 pois, d vale 40 v[1] vale 7 a vale 5 e somado com 2 dá 7 Ref.: 201510702172 3a Questão Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena, em cada uma de suas linhas, a quantidade estocada de produtos no último quadrimestre (4 meses). Sabendo-se que a declaração de uma matriz em C/C++ se dá da forma: < tipo de dado> nome [nºde linhas][nºde colunas]; Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá: Somar todas as colunas da linha índice 1 Somar todas as linhas de todas as colunas. Somar todas as colunas da linha índice 0. Somar todas as linhas da coluna índice 1. Somar todas as linhas da coluna índice 0. 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. Ref.: 201510702037 4a Questão Em um programa, deseja-se armazenar as 3 notas , a média e a maior nota de cada um dos 50 alunos de uma turma, em uma matriz NOTA. Entendendo-se que todos os dados de um mesmo aluno ficarão armazenados em uma mesma linha, assinale a alternativa que indica a declaração correta na matriz descrita. float NOTAS [5][50]; int NOTAS [5][50]; float NOTA [50][5]; int NOTA [50][5]; long int NOTA [50][5]; Explicação: Existem 50 alunos. Os dados de cada aluno devem ser armazenados em uma linha e são 5 dados por aluno. Então teremos uma matriz com 50 linhas e 5 colunas. Portanto, a opção marcada no gabarito é a certa. Ref.: 201510702321 5a Questão Uma professora possui uma turma de 40 alunos e precisa declarar uma matriz bidimensional, na linguagem C++, para armazenar as notas de AV1, AV2 e AV3 da turma. Considere que ela necessita dos dados organizados na matriz, de modo que cada linha deverá representar um aluno. Assinale a alterna�va que apresenta a declaração desta matriz. int notas[40][40]; char notas[40][3]; float notas[40,3]; float notas[40][3]; char notas[3][40]; Explicação: Se cada linha deve representar um aluno e são 40 alunos então a matriz a ser declarada terá 40 linhas. Como é preciso armazenar as 3 notas de cada aluno então, a matriz possuirá 3 colunas. Se é preciso armazenar notas então o tipo de dados deve ser float. Analisando as opções. Falso. Errado o número de colunas e o tipo de dados. int notas[40][40]; Falso. Seriam 40 linhas, 3 colunas e o tipo float. tipo char para nota não serve. char notas[3] [40]; Falso. Não se separa o total de linhas do total de colunas com vírgula. float notas[40,3]; Verdadeira float notas[40] [3]; FAlso. Erro no uso do tipo char. char notas[40][3]; Ref.: 201510702173 6a Questão Sabendo-se que a sintaxe do C e do C++ estabelece que a declaração de vetores bidimensionais deve se dar da seguinte forma: < tipo do dado > nome_da_matriz [nº de linhas][nº de colunas]; Na codificação de um programa, na linguagem C++, é necessário a declaração de uma matriz bidimensional para armazenar as notas de 6 disciplinas de uma turma com 30 alunos. Tomando-se como base que o algoritmo considera que os dados estarão organizados na matriz de modo que cada linha represente as notas de um único aluno, marque a alternativa que apresenta de forma correta a declaração desta matriz, chamada notasAlunos. 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. floatnotasAlunos[6,30]; Falso. Nâo colocou o total de linhas e de colunas. floatnotasAlunos[][]; Ref.: 201510702024 7a Questão Sendo a matriz M bidimensional igual a: 1 2 3 4 5 -5 3 0 Dimensionadas da seguinte maneira: int m[2][4]; Determine quais são os seguintes elementos: · m[0][3] · m[0][0] · m[1][1] · m[1][2] -5 - 1 - 5 - 4 5 - 1 - 3 - 0 4 - 5 - -5 - 0 4 - 1 - -5 - 3 0 - 1 - 3 - 5 Explicação: Considerando a matriz dada : 1 2 3 4 5 -5 3 0 temos que na 1a. linha (linha 0) temos 4 colunas, a saber : m[0][0] que é 1, m[0][1] que é 2, m[0][2] que é 3 e m[0][3] que é 4 Na 2a. linha (linha 1) temos 4 colunas, a saber : m[1][0] que é 5, m[1][1] que é -5, m[1][2] que é 3 e m[1][3] que é 0 Logo, respondendo ao pedido temos : m[0][3] é 4 · m[0][0] é 1 · m[1][1] é -5 · m[1][2] é 3 Ref.: 201510702297 8a 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];
Compartilhar