Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a 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 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 pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão apenas 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 gráfica (ex: fluxograma), isto é, um conjunto de instruções que representam tarefas que serão apenas interpretadas por um computador. Respondido em 05/09/2019 10:32:21 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. 2a Questão Sobre Português Estruturado, assinale a opção correta : É igual à linguagem natural ou narrativa É igual ao fluxograma O português estruturado é uma simplificação da nossa linguagem natural, na qual usamos frases simples e estruturas que possuem um significado muito bem definido. É igual a uma carta para um encarregado É igual à linguagem de programação na língua portuguesa Respondido em 05/09/2019 10:33:06 Explicação: Definição direta e objetiva dada na aula 1. 3a Questão A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é chamada de: Programa Compilador Linguagem de alto nível Linguagem de baixo nível Linguagem de Máquina Respondido em 05/09/2019 10:33:40 Explicação: Falso. É um tradutor. Compilador FAlsa. Linguagem de zeros e uns. Linguagem de Máquina VErdadeiro Programa Falso. Usada para escrever programas Linguagem de alto nível Falso. Usada para escrever programas mais próximos da máquina. Exemplo : linguagem assembly Linguagem de baixo nível 4a 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, P, G P, N, G G, P, N N, G, P G, N, P Respondido em 05/09/2019 10:35:37 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 >>> 5a Questão Assinale a opção correta: A forma mais comum de escrever um algoritmo é usar um bom software. A forma mais comum de escrever um algoritmo é em Português. A forma mais comum de escrever um algoritmo é em fluxograma. A forma mais comum de escrever um algoritmo é em Inglês. A forma mais comum de escrever um algoritmo é em portugol. Respondido em 05/09/2019 10:37:00 Explicação: Indicado na aula online no. 1 que portugol é a forma mais comum para escrever algoritmo. Não se deve usar Português, Inglês, fluxograma e nem softwares. 6a 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 Apenas pseudolinguagem Linguagem natural e pseudolinguagem Linguagem gráfica e pseudolinguagem Linguagem natural, fluxograma e pseudolinguagem Respondido em 05/09/2019 10:37:34 Explicação: Por definição e aula de introdução e formas de representação de algoritmo. 7a 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. Um programa em C++ não tem variáveis. Um programa em C++ não precisa ser compilado. Programa é um conjunto de instruções escritas em uma linguagem de programação e que dizem o que o computador deve fazer. Respondido em 05/09/2019 10:38:19 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. 8a Questão Assinale a opção que, corretamente, mostra exemplos de linguagens de programação. C++, Java, portugol português estruturado, C++, Java C++, C# e fluxograma C++, Java, C# fluxograma, português estruturado, C Respondido em 05/09/2019 10:38:56 Explicação: Exemplos dados na aula 1. 1a Questão Um menino resolveu abrir o cofrinho de economias que contém o que guardou durante um ano. São moedas de R$ 0,25, R$ 0,50 e R$ 1,00. Imaginando que você precisa escrever um programa em C++ que, a partir da quantidade de cada moeda, mostre a quantia total economizada, como seria a declaração de variáveis necessárias a este programa? bool qtde25, qtde50, qtde1, quantiaTotal; string qtde25, qtde50, qtde1, quantiaTotal; float qtde25, qtde50, qtde1, quantiaTotal; int qtde25, qtde50, qtde1, quantiaTotal; char qtde25, qtde50, qtde1, quantiaTotal; Respondidoem 22/11/2019 17:01:12 2a Questão Os comentários são recursos que podem ser utilizados pelos programadores para: Inserir textos explicativos apenas para o usuário Inserir textos explicativos apenas para o programador Inserir comandos que serão traduzidos pelo compilador Inserir comandos que serão executados pela máquina Inserir diretivas para o compilador Respondido em 22/11/2019 17:01:38 Explicação: Falso. Comentário não é comando ou permite inserir comando. Inserir comandos que serão executados pela máquina Falso. Comentário não é comando ou permite inserir comando. Inserir comandos que serão traduzidos pelo compilador Verdadeiro Inserir textos explicativos apenas para o programador Falso. O usuário não irá ler o programa. Inserir textos explicativos apenas para o usuário Falso. O compilador irá ignorar o texto explicativo dos comentários. Inserir diretivas para o compilador 3a Questão No C++, é possível declarar variáveis e constantes. Uma constante é um espaço da memória reservado a um valor que não se altera ao longo da execução de um programa. Imaginando que você precise de uma constante para armazenar o valor de PI (3,14), como seria feita sua declaração em C++? const int PI=3.14; const real PI=3.14; const float PI=3.14; const integer PI=3.14; float PI=3.14; Respondido em 22/11/2019 17:02:01 4a Questão Fornecida a sequência de respostas abaixo, assinale a opção cujos nomes das variáveis estejam todos corretos para uso. c) _HoraCerta, %Soma, Contador a) Contador, SalarioM, %Soma, _NomeAluno d) HoraCerta, Inicio, Contador10 a) Contador, Soma%Total, Salario_Novo b) $Salario, Soma, 99Total, _Hora Respondido em 22/11/2019 17:02:20 Explicação: FAlso. Não se pode usar % a) Contador, Soma%Total, Salario_Novo FAlso. Não se pode usar $ ou começar com dígito. b) $Salario, Soma, 99Total, _Hora Falso. Não se pode começar com %. c) _HoraCerta, %Soma, Contador Verdadeiro d) HoraCerta, Inicio, Contador10 Falso. Não se pode começar com %. a) Contador, SalarioM, %Soma, _NomeAluno 5a Questão Na linguagem de programação C++, a declaração de uma variável envolve não somente a definição de seu tipo como também a definição de seu identificador. Conforme as regras dessa linguagem, são identificadores de variáveis válidos: Nome@Proprio, SALBRUTO, *email*, matricula 2019 NoMePrOpRiO, SalBruto, e-mail, matricula 2019 nomePróprio, SAlBRuTO, email, matrícula2019 nomeProprio, sal_Bruto, _email, matricula2019 nome-proprio, salBRUTO, #email, matricula*2019 Respondido em 22/11/2019 17:02:55 6a Questão Uma variável é um espaço da memória principal dedicado ao armazenamento temporário de valores. No C++, elas podem ser declaradas como sendo de diferentes tipos, dentre eles booleano, integer, string e char. bool, char, int e float. real, int, char e double. character, string, real e double. long char, long bool, long int e long float. Respondido em 22/11/2019 17:03:06 7a Questão O computador não entende o conteúdo do arquivo de texto contendo o seu programa. Ele precisa ser convertido em uma linguagem que o computador entende, para poder executar o programa. Este processo é chamado de: Tradução Programação Compilação Execução Depuração Respondido em 22/11/2019 17:03:22 Explicação: A compilação é o processo de conversão dos códigos fontes em executáveis, que possibilita a execução dos programas pelo processador 8a Questão Assinale a opção correta: Sem endentação o programa não compila Para terminar um programa podemos escrever : return; Para saída de dados usamos cin com o operador << Na linguagem C++ temos que não há distinção entre maiúsculas e minúsculas. Todas as instruções de um programa em C++ devem estar entre chaves Respondido em 22/11/2019 17:03:48 Explicação: Basta considerar o que é descrito da linguagem na aula 2 1a 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. (b + 2) > (a * c) ((b = 2) == a) a == c pow(c,a) > b * c (b % a) == 0 Respondido em 22/11/2019 17:04:47 Explicação: a == c --> falso, pois a é diferente c (b + 2) > (a * c) -> falso, pois 7 > 8 é falso ((b = 2) == a) , verdade, pois a = 2 2a Questão Utilizando os operadores adequados, como pode ser reescrita a expressão abaixo? A ou B e C e não D A || B && C && !D A !! B && C && ||D A && B || C || !D A && B && C && !D A || B ! C ! &&D Respondido em 22/11/2019 17:05:20 Explicação: A || B && C && !D || = OU && = E ! = não 3a Questão Assinale a opção correta. As expressões lógicas retornam valores inteiros São operadores lógicos : &&, ||, != os operadores matemáticos não tem precedência de uso São operadores relacionais : = , > , < Os operadores matemáticos são : +, - , *, / e %. Respondido em 22/11/2019 17:05:46 Explicação: Os operadores matemáticos são : +, - , *, / e %. = VERDADE São operadores lógicos : &&, ||, != --> != não é operador lógico e sim relacional (diferente) --> FALSO São operadores relacionais : = , > , < ---> = não é operador relacional e sim comando de atribuição de valor a variável.--> FALSO As expressões lógicas retornam valores inteiros --> FALSO, retornam valores lógicos (V ou F) os operadores matemáticos não tem precedência de uso --: FALSO, há precedencia sim, o * tem preferencia sobre a soma e subtrção 4a Questão Qual das alternativas apresenta a expressão que seja capaz de avaliar se uma variável do tipo inteiro, denominada NUMERO ,é ímpar e negativa. (NUMERO>0) || (NUMERO%2==0) (NUMERO>0) && (NUMERO%2==0) (NUMERO<0) || (NUMERO%2!=0) (NUMERO<0) && (NUMERO%2!=0) (NUMERO>0) !! (NUMERO%2==0) Respondido em 22/11/2019 17:06:51 Explicação: (NUMERO<0) && (NUMERO%2!=0) pra ser negativo , tem que se menor que zero NUMERO<0 pra ser impar, o resto da divisão pode 2 não pode ser zero --> != (diferente) --> NUMERO%2!=0 5a Questão Indique qual o tercho em C++ que calcula corretamente a média das notas AV1 e AV2 de uma determinada disciplina. MEDIA = (AV1 - AV2) / 2; MEDIA = (AV1 + AV2) / 2; MEDIA = (AV1 ** AV2) / 2; MEDIA = AV1 + AV2 / 2; MEDIA = (AV1 * AV2) / 2; Respondido em 22/11/2019 17:07:17 Explicação: Conforme aula e gabarito. É importante primeiro somar as notas e depois dividir por 2. 6a 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? 3 4.66666 5 14 4 Respondido em 22/11/2019 17:08:11 Explicação: Fazendo um teste de mesa e sabendo que a divisão com / entre inteiros fornece o quociente da divisão e o operador % fornece o resto da divisão inteira, chegamos no valor x igual a 4. 7a Questão Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. &&, >= e || =, > e || +, - e * <, > e >= &&, || e ~ Respondido em 22/11/2019 17:08:36 Explicação: <, > e >= Falso. Nenhum é relacional &&, || e ~ Falso. O único relacional é o > =, > e || Falso. O único relacional é o >= &&, >= e || Falso. Nenhum relacional +,- e * 8a Questão Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a mesma ficaria? A ou B e C e nao D A ou nao B e nao C e nao D A ou B e C e D A e B ou C ou nao D A e B ou C nao D 1a 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. V - V - F F - V - F V - V - V F - F - F V - F - F Respondido em 24/10/2019 15:54:19 2a Questão Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ cout << "lendo a idade"; cin >> idade; cout < lendo idade; cin > idade exiba "lendo a idade"; lendo idade; System.out.println("lendo idade"); System.out.println("lendo idade"); cout "lendo a idade"; cin idade; Respondido em 24/10/2019 15:55:00 Explicação: Falso. Erro no cout e no cin. Os operadores são >> e <<. E ainda ?: variável não tem espaço em branco cout < lendo idade; cin > idade VErdade cout << "lendo a idade"; cin >> idade; Falso. Faltam os operadores >> e << cout "lendo a idade"; cin idade; Falso. Em C++ não é exiba e lendo. exiba "lendo a idade"; lendo idade; Falso. Não é Java. Em C++ usam-se cout para saída de dados e cin para entrada de dados System.out.println("lendo idade"); System.out.println("lendo idade"); 3a Questão Assinale a opção correta : Para entrada de dados usamos read e para saída de dados usamos write Para entrada de dados usamos cout e para saída de dados usamos cin Para entrada de dados usamos cout com << e para saída de dados usamos cin com >> Para entrada de dados usamos cin com << e para saída de dados usamos cout com >> Para entrada de dados usamos cin com >> e para saída de dados usamos cout com << Respondido em 24/10/2019 15:56:53 Explicação: Basta seguir as descrições na aula 2. 4a Questão Qual dos trechos abaixo solicita e admite corretamente a idade de um usuário? int idade; cout << "Idade: "; cin >> idade; real idade; cout << "Idade: "; cin >> idade; int idade; cout >> "Idade: "; cin << idade; int idade; cin << "Idade: " >> idade; real idade; cin << "Idade: " >> idade; Respondido em 24/10/2019 16:02:41 Explicação: Verdadeira int idade; cout << "Idade: "; cin >> idade; Falso. Uso indevido de >> e << int idade; cout >> "Idade: "; cin << idade; Falso. O tipo de dados é int e não real real idade; cout << "Idade: "; cin >> idade; Falso. Uso indevido de cin . int idade; cin << "Idade: " >> idade; Falso. Uso indevido de cin e declaração incorreta da variável idade. real idade; cin << "Idade: " >> idade; 5a Questão 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. cout << "Celsius ? "; cout << celsius; float << celsius; cin >> celsius; cin >> Celsius; Respondido em 24/10/2019 16:02:20 Explicação: Para entrada de dados temos o cin e como o nome da variável é celsius, temos que a resposta certa é : cin >> celsius; 6a 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 _______________. math - math.round iostream - setlocale iostream - ptb locale - ptb locale - setlocale Respondido em 24/10/2019 15:59:09 7a Questão Para exibir o valor da variável x do tipo inteiro em C++ deve ser utilizado o comando: cout << "Valor de x: " >> x; cout >> "Valor de x: " , x; cout >>x; cout >> "Valor de x: " >> x; cout << x; Respondido em 24/10/2019 16:01:20 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. 8a Questão A sintaxe de uma linguagem de programação converte os comandos para linguagem de máquina para que possam ser executados. define a forma como os comandos e as estruturas da linguagem devem ser utilizados. garante que a estrutura ENTRADA -> PROCESSAMENTO -> SAÍDA seja respeitada pelo programa. viabiliza a comunicação entre usuários e programas através de comandos de entrada e saída. cria a versão executável do código fonte e não está presente em algumas linguagens. 1a Questão Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando que você tenha um algoritmo no qual o salário esteja armazenado na variável SAL e o total de gastos esteja armazenado na variável GASTOS, como deve ser escrita a estrutura seletiva responsável por testar o que você deseja descobrir? se (GASTOS escreva("Você gastou mais do que deveria!") se (GASTOS<=SAL) escreva("Você gastou mais do que deveria!") se (GASTOS>=SAL) escreva("Você gastou mais do que deveria!") se (GASTOS>SAL) escreva("Você gastou mais do que deveria!") se (GASTOS==SAL) escreva("Você gastou mais do que deveria!") Respondido em 24/10/2019 16:04:46 2a 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, para. condição, repita, se, condição, para. decisão, para, condição, condição, falsa. decisão, enquanto, condição, decisão, verdadeira. decisão, se, condição, condição, verdadeira. Respondido em 24/10/2019 16:05:01 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. 3a 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 é: do { cout << "A soma de A e B é maior do que C!"; } while ((A+B)>C) switch ((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!"; } while ((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!"; } Respondido em 24/10/2019 16:05:23 4a 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ênciana 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 I está correta Somente a IV está correta A II E IV estão corretas A II E A III estão corretas Somente a II está correta Respondido em 24/10/2019 16:05:27 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 5a Questão Escolha a alternativa abaixo que completa o sentido da frase: O uso das _________________ é obrigatório quando for usada mais de uma instrução dentro da estrutura de decisão, if (o comando "se" em Portugol), logo, usar sempre não ocasionará problemas. aspas simples aspas duplas strings palavras reservadas chaves Respondido em 24/10/2019 16:05:42 Explicação: Quando se tem duas ou mais instruções temos um bloco de comandos. O uso de chaves no bloco do if ou no bloco do else é obrigatório, assim como no caso de outros comandos. Quando se tem apenas uma instrução, o uso de chaves é opcional. 6a 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) Respondido em 24/10/2019 16:06:14 Explicação: PAra diferente usamos o operador != E para maior usamos o operador > E para o e lógico usamos o operador && 7a 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 erradas. Todas as alternativas estão corretas. Apenas a alternativa i está correta. Apenas a alternativa iii está correta. Apenas a alternativa ii está correta. Respondido em 24/10/2019 16:06:15 Explicação: As estruturas de decisão realmente alteram o fluxo de um programa, uma estrutura composta é mais eficiente que duas simples, já que há menos testes e podemos usar operadores lógicos para combinar condições e reduzir o número de estruturas de decisão simples. Portanto todas as afirmativas estão corretas. 8a Questão Você deseja analisar se um número inteiro qualquer fornecido pelo usuário é par e positivo ou par e negativo. Com base na sintaxe do Portugol Studio, o trecho que realiza corretamente o teste para descobrir as características do número é: escreva("Informe um número qualquer: ") leia(num) resto=num%2 se (resto==0 e num>0) { escreva("Este número é par e positivo!") } senao se (resto!=0 e num>0) { escreva("Este número é ímpar e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num/2 se (resto==0 !! num>0) { escreva("Este número é par e positivo!") } senao se (resto!=0 !! num>0) { escreva("Este número é ímpar e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num%2 se (resto==0 e num<0) { escreva("Este número é ímpar e positivo!") } senao se (resto!=0 e num>0) { escreva("Este número é par e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num^2 se (resto==1 e num>1) { escreva("Este número é par e positivo!") } senao se (resto!=0 e num>0) { escreva("Este número é ímpar e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num%2 se (resto==0 ou num>0) { escreva("Este número é par e positivo!") } senao se (resto!=0 ou num>0) { escreva("Este número é ímpar e positivo!")} 1a 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. case 7: cout <<"sábado"; break; default: cout <<"Código inválido!"; switch 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!"; Respondido em 19/11/2019 20:26:15 2a Questão Que comando em C++ é mais indicado para ser usado em um programa que permita a escolha de uma opção do MENU ? Por exemplo : 1-Incluir, 2-Excluir, 3-Alterar e 9-Sair. while switch / case for cout / cin do/while Respondido em 19/11/2019 20:28:05 Explicação: Por definição dada em aula de comando de seleção 3a Questão Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 9 ? Assinale a opção correta. int x; cout << "Digite um numero: "; cin >> x; if (x % 2 == 0) cout << x << "é divisível por 2"; else if (x % 3 == 0 && x % 5 == 0) cout << x << " é divisível por 3 e por 5"; else cout << x << " ### " ; 9 ### Apenas 9 9 não é divisível por 2. 9 é divisível por 3 e por 5. Nada aparece, pois o trecho de programa possui erro. Respondido em 19/11/2019 20:29:32 Explicação: Como a entrada foi 9 então o teste do 1o. if falha e entramos no 1o. else. Dentro do 1o. else temos uma conjunção, ou seja, um E. Como o 1o. teste do E é verdadeiro, mas o 2o. teste é falso, não entramos no bloco do 2o. if. Entramos então, no último else . Por isso, é impresso o valor de x e ###. Como x vale 9, a saída é 9### 4a Questão No C++, a estrutura seletiva if permite que sejam avaliadas condições para que, a partir do resultado dessa avaliação, o programa decida o trecho a ser executada. Imaginando que você precisa avaliar se um número armazenado na variável num é positivo, negativo, ou nulo, que alternativa apresenta o trecho da condição seletiva necessário para este teste? if (num<0) { cout <<"Este número é positivo!";} else 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!";} if (num>0) { cout <<"Este número é positivo!";} else (num<0) { cout <<"Este número é negativo!";} else { cout <<"Este número é nulo!";} else (num>0) { cout <<"Este número é positivo!";}if (num<0) { cout <<"Este número é negativo!";} else { cout <<"Este número é nulo!";} if (num>0) { cin <<"Este número é positivo!";} else if (num<0) { cin <<"Este número é negativo!";} else { cin <<"Este número é nulo!";} Respondido em 19/11/2019 20:32:19 5a 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. Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? switch (codigo) { default 100: item="Hambúrguer"; valor= qtde * 5.50; break; } switch (codigo) { if 100: item="Hambúrguer"; valor= qtde * 5.50; break; } case (codigo) { switch 100: item="Hambúrguer"; valor= qtde * 5.50; break; } while (codigo) { case 100: item="Hambúrguer"; valor= qtde * 5.50; break; } switch (codigo) { case 100: item="Hambúrguer"; valor= qtde * 5.50; break; } Respondido em 19/11/2019 20:33:35 6a Questão Considere que o trecho de código em C++ foi executado 2 vezes, sendo que na 1ª. execução o valor de entrada foi 10 e na 2ª. execução, o valor de entrada foi 5. Ao final das duas execuções, respectivamente, o que foi impresso na tela ? cout << "Digite um valor : "; cin >> z; switch(z) { case 5 : cout << 3 * z << " "; case 10 : cout << 11 /2 * z << " "; case 20 : cout << z * z - 10 << endl; break; default : cout << "Entrada invalida. " << endl; } 15 25 15 50 90 55 1 50 90 15 25 15 55 90 15 27.5 15 15 27.5 15 55 90 Respondido em 19/11/2019 20:37:16 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. 7a 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. As afirmativas II, III e IV são verdadeiras As afirmativas I e IV são verdadeiras Somente a afirmativa I é verdadeira Somente a afirmativa II é verdadeira Somente a afirmativa III é falsa Respondido em 19/11/2019 20:42:52 Explicação: As respostas falsas são conclusivas 8a 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 for do/while break switch/case Respondido em 19/11/2019 20:43:20 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 1. Utilizando a sintaxe do Portugol Studio, que linha seria adequada para iniciar uma repetição capaz de exibir todos os números pares entre 2 e 1000? para (cont=1;cont<100;cont++) para (cont=0;cont>1000;cont+=1) para (cont=1;cont<=1000;cont+=2) para (cont=2;cont<=1000;cont++) para (cont=2;cont<=100;cont+=2) 2. Se você desejasse escrever um programa em C++ que recebesse um número qualquer e exibisse a sua tabuada, precisaria da seguinte repetição: para (cont=10;cont<=0;cont++) { escreva(num," x ",cont," = ",num*5,"\n")} para (cont=10;cont<=0;cont--) { escreva(num," x ",cont," = ",num*cont,"\n")} para (cont=0;cont<=10;cont++) { escreva(num," x ",cont," = ",num*cont,"\n")} para (cont=0;cont<=10;num++) { escreva(num," x ",cont," = ",num*num,"\n")} para (cont=0;cont<=10;cont++) { escreva(num," x ",cont," = ",cont*cont,"\n")} 3. Imagine que você precisa escrever um programa em C++ que receba o sexo de 100 pessoas (F para Feminino ou M para Masculino). Ao final da leitura dos sexos, o programa precisa exibir as seguintes informações: quantidade de mulheres, quantidade de homens, percentual de mulheres e percentual de homens. Observações: 1. O programa deve funcionar com "F" e "M" maiúsculos ou minúsculos; 2. A estrutura de repetição a ser utilizada deve ser FOR. Sabendo disso, qual seria o trecho de repetição adequado para esse programa? for (int cont=1;cont<=100;cont++) { cout <<"Qual o sexo? "; cin >>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? "; 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 >>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++; } } 4. Observe o trecho de código a seguir: Sobre ele, podemos afirmar que: I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas; II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades; III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f". As afirmativas I, II e III são verdadeiras. As afirmativas I e II são verdadeiras. Somente a afirmativa I é verdadeira. As afirmativas I e III são verdadeiras. Somente a afirmativa III é verdadeira. 5. A linguagem de programação C++ dispõe de três estruturas de repetição: do..while, while e for. Pensando na maneira como cada uma delas funciona, observe o trecho de código a seguir: Qual das alternativas a seguir, escritas com a estrutura for, equivale à estrutura while anterior? for (int cont=10; cont <= 0; cont++) { cout << "Estamos na " << cont << "a. rodada..."; } for (int cont=10; cont <= 200; cont+=2) { cout << "Estamos na " << cont << "a. rodada..."; } for (cont++; cont <= 10; int cont=0) { cout << "Estamos na " << cont << "a. rodada..."; } for (int cont=0; cont <= 10; cont+=2) { cout << "Estamos na " << cont << "a. rodada..."; } for (int cont=0; cont <=10; cont++) { cout << "Estamos na " << cont << "a. rodada..."; } 6. 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: Os comandos subordinados poderão não ser executados. Os comandos subordinados serão executados no mínimo uma vez. Independentemente da condição de teste, os comandos subordinados sempre serão executados. A condição de teste deverá ser sempre falsa antes do início da execução. A condição de teste deverá ser sempre verdadeira antes do início da execução. 7. A partir da comparação entre as estruturas while e do...while, é certo afirmar que: 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. 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. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado. Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. Explicação: Falso. No do/while primeiro se faz o que está no corpo do loop para depois testar e no while, se testa para depois fazer o queestá no corpo do loop. Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. Falso. No do/while o bloco de instruções será feito pelo menos 1 vez. No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o bloco de comandos será sempre executado, pelo menos uma vez. Verdadeiro No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o bloco de comandos controlado será sempre executado, pelo menos uma vez. Falso. No while pode não ser executado nenhuma vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo menos uma vez. Falso. No do/while as instruções serão feitas pelo menos 1 vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado 8. 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); 7 vezes 4 vezes 8 vezes 6 vezes 5 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); 1. 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=1;i<=14;i++) { if (LETRAS[i] == "A" || LETRAS[i] == "E") { QuantAE+=; } } for (i=1;i<=15;i++) { if (LETRAS[i] == "A" && LETRAS[i] == "E") { QuantAE+=1; } } for (i=0;i=14;i++) { if (LETRAS[i] == ¿A¿ !! LETRAS[i] == ¿E¿) { QuantAE+=1; } } for (i=0;i<=14;i++) { if (LETRAS[i] == "A" || LETRAS[i] == "E") { QuantAE+=1; } } for (i=0;i<=14;i++) { if (LETRAS[i] == "A" or LETRAS[i] == "E") { QuantAE=1; } } 2. Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________. unidimensional - homogênea - conjunto de valores - do mesmo tipo bidimensional - homogênea - único valor - do mesmo tipo unidimensional - heterogênea - único valor - de tipos variados bidimensional - heterogênea - conjunto de valores - do mesmo tipo unidimensional - homogênea - único valor - de tipos variados 3. 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+=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]; } } 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=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]; } } 4. Você deseja armazenar na variável SOMA a adição entre todos os elementos de um vetor com 10 número reais chamado NUM. O trecho de código que apresenta a estrutura repetitiva que permite que isso seja feito é: for (i=0;i<=9;i++) { SOMA+=NUM[i]; } for (i=0;i=9;i++) { SOMA=NUM[i] } for (i=0;i<=9) { SOMA=NUM[i]; } for (i=0;i<=9;i++) { SOMA=SOMA[i]+NUM } for (i=1;i<=10;i++) { SOMA+=NUM[i]; } 5. Imagine que um dado é lançado 20 vezes e, a cada lançamento, a face sorteada é lançada em um vetor denominado sorteios. Considerando que você precisa escrever um algoritmo conforme a sintaxe do Portugol Studio que, ao final dos sorteios, informe quantas vezes cada face ímpar foi sorteada, qual das estruturas repetitivas a seguir voce utilizaria para contar a quantidade de sorteios nos quais cada uma das faces ímpares saiu? para (ind=0;ind<=19;ind++) { escolha (sorteios[ind]) { caso 1: cont1++ pare caso 3: cont3++ pare caso 5: cont5++ pare } } para (ind=10;ind<=20;ind++) { escolha (sorteios[ind]) { caso 1,3,5,7,9: cont1++ pare default: pare } } para (ind=0;ind<=20;ind++) { escolha (sorteios) { caso 1: cont1++ pare caso 3: cont3++ pare caso 5: cont5++ pare } } para (ind=0;ind<=19;ind--) { escolha (sorteios[ind]) { caso 1: cont1-- pare caso 3: cont3-- pare caso 5: cont5-- pare } } para (ind=0;ind<=19;ind++) { escolha (sorteios[ind,ind]) { caso 1: cont++ pare caso 3: cont++ pare caso 5: cont++ pare } }6. Qual estrutura de repetição abaixo preenche corretamente um vetor de 30 posições com 0 (zero) em cada uma das posições? for(int i=1;i<30;i++){ vetor[i] = 0; } for(int i=0;i<=30;i++){ vetor[i] = 0; } for(int i=0;i<30;i++){ vetor[i] = 0; } for(int i=0;i<30;i++){ vetor[i] == 0; } for(int i=1;i<=30;i++){ vetor[i] = 0; } Explicação: for(int i=0;i<30;i++) { vetor[i] = 0; } Falso. Está acessando v[30], o que é incorreto. for(int i=0;i<=30;i++) { vetor[i] = 0; } FAlso. Está iniciando i de 1 e não de zero. for(int i=1;i<30;i++) { vetor[i] = 0; } FAlso. Está iniciando i de 1 e não de zero e está acessando v[30], o que é incorreto. for(int i=1;i<=30;i++) { vetor[i] = 0; } Falso. O erro está dentro do bloco do for. Está usando == e não a atribuição como deveria. PAra atibuir, use =. for(int i=0;i<30;i++) { vetor[i] == 0; } 7. 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? double codigos[1000], qtdade[1000], valorC[1000], valorV[1000]; double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; double codigos[999], qtdade[999], valorC[999], valorV[999]; int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; int codigos[999], qtdade[999]; float valorC[999], valorV[999]; 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 vetores de 1000 elementos. 8. Os chamados vetores e matrizes podem ser considerados como: Estruturas de dados homogêneas Comandos de seleção composta Comandos de repetição Comandos de seleção Estruturas de dados heterogêneas Explicação: Verdadeira Estruturas de dados homogêneas FAlsa. Em vetores e matrizes os dados são todos do mesmo tipo. Estruturas de dados heterogêneas Falso. Comandos de seleção são if, if/else e switch Comandos de seleção Falso. Comandos de repetição são for, while e do/while Comandos de repetição Falso. Comando if/else e não vetor ou matriz. Comandos de seleção composta 1. Imagine que você precisa escrever um algoritmo que receba uma matriz 4x4 de números inteiros, gere e exiba uma segunda matriz na qual as linhas são as colunas da matriz 1, e as colunas são as linhas da matriz 1. Qual das alternativas a seguir apresenta o código da estrutura de repetição que recebe os elementos da primeira matriz e gera a segunda? para (lin=0;lin<=3;lin++) { para (col=0;col<=3;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) M2[lin][col]=M1[lin][col] } } 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(M2[lin][col]," ") } } 2. Considerando a sintaxe do Portugol Studio, imagine um algoritmo que receba uma matriz de elementos inteiros dispostos em 3 linhas e 4 colunas. Em seguida, o algoritmo exibe a quantidade de números múltiplos de 5 armazenados na matriz. O trecho capaz de realizar a contagem dos múltiplos seria: if (matriz[lin][col]%5==0) { multiplos; } if (matriz[lin][col]%5==0) { multiplos++; } if (matriz[lin][col]/5!=0) { multiplos++; } if (matriz[col][col]%5==0) { multiplos++; } if (matriz[lin][lin]*5!=0) { multiplos++; } 3. 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. int NOTA [50][5]; int NOTAS [5][50]; float NOTA [50][5]; float NOTAS [5][50]; 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. 4. 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 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 as colunas e variando de 0 a 3. Duas estruturas seletivas: uma controlando as linhas e variando de 1 a 5, e outra controlando as colunas e variando de 1 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 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 . 5. Uma matriz é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser _____________. bidimensional - homogênea - conjunto de valores - do mesmo tipo bidimensional - heterogênea - conjunto de valores - do mesmo tipo bidimensional - heterogênea - único valor - de tipos variados unidimensional - heterogênea - único valor - de tipos variados unidimensional - homogênea - conjunto de valores - do mesmo tipo 6. 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. c) float notasAlunos[30,6]; a) float notasAlunos[30][6]; b) float notasAlunos[6][30]; d) float notasAlunos[6,30]; e) float notasAlunos[][]; Explicação: Como cada linha possui as notas de cada aluno e são 6 disciplinas ( = 6 notas) então teremosuma matriz com 30 linhas e 6 colunas. como a matriz se chama notasAlunos e as notas são valores reais teremos : float notasAlunos[30][6]; Vendo porque as outras opções não podem ser : Falso. São 30 linhas e 6 colunas. A matriz declarada neste item coloca 6 linhas e 30 colunas. float notasAlunos[6][30]; Falso. Sintaticamente incorreto. Precisa trabalhar com as linhas e colunas dentro de colchetes separados. float notasAlunos[30,6]; Falso. Erro nos valores e na sintaxe no uso dos colchetes. float notasAlunos[6,30]; Falso. Nâo colocou o total de linhas e de colunas. float notasAlunos[][]; 7. Considere as regras do Portugol Studio e imagine que você precisa escrever um algoritmo que receba uma matriz 3x2 e exiba a quantidade de elementos ímpares armazenados nas linhas pares. A estrutura de repetição capaz de realizar o recebimento dos elementos da matriz M1 e a contagem descrita é: para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se (M1[lin][col]%2==0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se (M1[lin][col]%2!=0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2==0){ se (M1[lin][col]%2!=0) { qtdeImpares-- } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1[lin][col]) se (lin%2!=0){ se (M1[lin][col]%2!=0) { qtdeImpares++ } } } } para (lin=0;lin<=2;lin++) { para (col=0;col<=1;col++) { escreva("Informe a posição [",lin+1,",",col+1,"]: ") leia(M1) se (lin%2){ se (M1%2!=0) { qtdeImpares++ } } } } 8. 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][12]; float funcionario[45][45]; char funcionario[12][12]; int salario[45], funcionario[12]; float funcionario[12],[12]; Explicação: Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para armazenar o valor dos 12 salários de 45 funcionários. Então, teremos 45 linhas, uma para cada funcionário. E para cada linha ou funcionário, teremos 12 colunas, uma coluna para o salário de um mês. Com relação a salário devemos usar o tipo de dados float e não int e nem char. Logo : float funcionario[45][12]; Falso. Erro no número de linhas, colunas e uso indevido de vírgula float funcionario[12],[12]; Falso. Erro no número de colunas. float funcionario[45][45]; Falso. Erro no número de linhas, colunas e no tipo de dados. char funcionario[12][12]; Falso. Não se tem aqui matriz bidimensional, como solicitado. int salario[45], funcionario[12]; VErdadeiro. float funcionario[45][12]; 1a Questão (Ref.:201904065295) Acerto: 1,0 / 1,0 A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser realizada é chamada de: Fluxograma Pseudocódigo Diagrama Linguagem de Programação Algoritmo Respondido em 24/10/2019 14:43:41 2a Questão (Ref.:201906563530) Acerto: 1,0 / 1,0 Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo: A simbologia empregada no recebimento de dados está equivocada e foi trocada por aquela que representa exibição de informações. Poderiam ser retirados do fluxograma os símbolos de terminação que delimitam, respectivamente, o início e o fim da solução. O fluxograma está incompleto e errado, pois não exibe mensagens antes que a leitura de dados seja realizada. No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre negativa. 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. Respondido em 24/10/2019 14:45:12 3a Questão (Ref.:201904107085) Acerto: 0,0 / 1,0 Precisamos ficar atentos a algumas exigências da linguagem C++. Leia com atenção as afirmativas abaixo e, depois, escolha a opção correta. I Devemos tomar cuidado para não declarar uma variável de nome Nota e não usar no programa nota. II Foram declaradas duas variáveis com os seguintes nomes: Idade e auto. O programa foi compilado sem problemas. III A declaração de variáveis globais é fora de todas as funções IV Existe somente o delimitador // para fazer comentários Somente as afirmativas I e III estão corretas Somente a afirmativa III está errada Somente as afirmativas II e III estão corretas Todas as afirmativas estão corretas Somente a afirmativa IV está errada Respondido em 24/10/2019 14:47:30 4a Questão (Ref.:201906412501) Acerto: 1,0 / 1,0 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. Determinação Orientação Compilação Evolução Linkedição Respondido em 24/10/2019 14:48:07 5a Questão (Ref.:201906608405) Acerto: 1,0 / 1,0 Utilizando os operadores adequados, como pode ser reescrita a expressão abaixo? A ou B e C e não D A || B && C && !D A !! B && C && ||D A || B ! C ! &&D A && B && C && !D A && B || C || !D Respondido em 24/10/2019 14:55:09 6a Questão (Ref.:201904065304) Acerto: 1,0 / 1,0 Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. &&, || e ~ &&, >= e || <, > e >= =, > e || +, - e * Respondido em 24/10/2019 14:52:38 7a Questão (Ref.:201906563495) Acerto: 1,0 / 1,0 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 - setlocale iostream - ptb math - math.round Respondido em 24/10/2019 15:59:14 8a Questão (Ref.:201906256242) Acerto: 1,0 / 1,0 Assinale a opção correta : Para entrada de dados usamos cout com << e para saída de dados usamos cin com >> Para entrada de dados usamos cin com << e para saída de dados usamos cout com >> Para entrada de dados usamos cout e para saída de dados usamos cin Para entrada de dados usamos read e para saída de dados usamos write Para entrada de dados usamos cin com >> e para saída de dados usamos cout com << Respondido em 24/10/2019 15:57:18 9a Questão (Ref.:201904104915) Acerto: 1,0 / 1,0 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 = 13, y = 4, z; if( x > y ) { z = x; x = y; y = z; } cout << z << " " << x << " " << y ; 0 4 13 13 13 4 4 13 13 13 4 13 0 13 4 Respondido em 24/10/2019 16:11:28 10a Questão (Ref.:201904099287) Acerto: 1,0 / 1,0 O programa abaixo recebeu o valor 2 como entrada. Analise o programa abaixo e assinale a o valor que será impresso. #include using namespace std; int main() { int a, b; cout<< "\n Digite um valor: "; cin>> a; if (a <= 2) b = a + 2 * 30 / 10; else b = a - 2 * 30 /10; cout<< b; system("pause"); } 12 2 0 -4 8
Compartilhar