Baixe o app para aproveitar ainda mais
Prévia do material em texto
Elaboração profª. Ivre Marjorie - 05/11/2012 Página 1 Disciplina: Algoritmos e Lógica de Programação Curso: Professor(a): Aluno: RA: Atividade: Revisão Algoritmos – Prova Colegiada Data Entrega: QUESTÃO 1: Suponha que a e b sejam variáveis inteiras, e os dados que as mesmas armazenarão serão fornecidos por um usuário. if (a>=b) { cout<<a; b = a; } if (b>=a) { cout<<b; a = b; } Com base nestas informações, analise as afirmativas abaixo sobre o trecho de código apresentado: I - Quando o valor de (a) for maior que o valor de (b), o valor de (a) assim como o valor de (b) serão exibidos na tela com saída do programa. II – Quando o valor de (a) e o valor de (b) forem iguais, o valor de (a) assim como o valor de (b) serão exibidos na tela como saída do programa. III – Quando o valor de (b) for maior que o valor de (a) os valores de (b) e (a) serão exibidos na tela. É correto afirmar que: A) As afirmativas I e II são verdadeiras. B) As afirmativas I, II e III são falsas. C) A afirmativa III é verdadeira D) As afirmativas I, II e III são verdadeiras QUESTÃO 2: O pseudocódigo abaixo verifica se a variável do tipo inteiro n1 é múltiplo da variável do tipo inteiro n2, para isto, deve-se realizar a divisão da variável n1 pela variável n2 e verificar se o resto da divisão é igual a zero. O operador (mod) corresponde ao operador (%) das linguagens C/C++ e o operador (div) equivale ao operador (/). Algoritmo Declare n1, n2 numerico; Leia n1; Leia n2; Se (n1 mod n2 = 0) então Escreva n1, “ é múltiplo de “, n2; Senão Escreva n1, “ não é múltiplo de “, n2; Fim se; Fim. Elaboração profª. Ivre Marjorie - 05/11/2012 Página 2 Qual fluxograma representa, de modo mais preciso, o pseudocódigo acima? a) b) c) d) QUESTÃO 3: Considere o algoritmo abaixo, apresentado em pseudocódigo a esquerda e implementado em C/C++, a direita. Algoritmo C/C++ ALGORITMO DECLARE tot, soma, cont NUMERICO; tot 12; soma 0; cont 0; ENQUANTO (cont < tot) FAÇA cont cont + 1; soma soma + cont; ESCREVA cont; FIM ENQUANTO; ESCREVA soma; FIM ALGORITMO int main() { int tot, soma, cont; tot = 12; soma = 0; cont = 0; while(cont < tot) { cont++; soma += cont; cout << cont; } cout << soma; return 0; } Ao final da execução do código, a variável soma terá qual valor? A) 12 B) 55 C) 66 D) 78 Elaboração profª. Ivre Marjorie - 05/11/2012 Página 3 QUESTÃO 4: Analise o código fonte abaixo: int main() { int cont; float a=0, b, val; for(cont=0; cont<10; cont=cont+1) { cout<<"\n Digite um valor"; cin>>val; a = a + val; } b = a /10; cout<<"\n "<<b; return 0; } Qual o comportamento do programa? A) O programa exibe a soma de 10 números fornecidos pelo usuário. B) O programa exibe uma sequência de 0 a 9. C) O programa exibe a média aritmética simples de 10 números fornecidos pelo usuário. D) O programa exibe os 10 primeiros múltiplos de 2. QUESTÃO 5: Considere o código fonte abaixo: int main() { int n, x = 0; cout<<"\n Digite um valor"; cin>>n; while(x < n) { cout<<"\n "<<x+1; x = x + 2; x = x - 1; } } Qual o comportamento do programa? a) O programa exibe a soma de 10 números fornecidos pelo usuário. b) O programa executa a estrutura de repetição infinitamente. c) O programa exibe a média aritmética de 10 números fornecidos pelo usuário. d) O programa exibe uma sequência de 1 até “n”, onde “n” é um dado fornecido pelo usuário. Elaboração profª. Ivre Marjorie - 05/11/2012 Página 4 QUESTÃO 6: O cálculo do fatorial de um número representado por N! é dado pela sequência de multiplicações de números naturais. Sendo assim, F = 1 * 2 * 3 * ... * N, onde, N é informado pelo usuário. Este algoritmo pode ser representado por qual fluxograma abaixo: a) b) c) d) Elaboração profª. Ivre Marjorie - 05/11/2012 Página 5 QUESTÃO 7: Considere o código fonte abaixo: int main() { int cont; int val = 5; for(cont=1; cont<10; cont=cont+1) { cout<<"\n "<<val; val = val + 5; if(val == 25 || val == 30) { cont = cont - 1; } } return 0; } Qual o comportamento do programa? A) O programa exibe os 5 primeiros números pares. B) O programa exibe uma sequência de 0 a 9. C) O programa exibe os 10 primeiros múltiplos de 5. D) O programa exibe os 11 primeiros múltiplos de 5. QUESTÃO 8: Analise o código abaixo e responda: Os três pontos (“...”) que aparecem nas linhas 18 e 20 podem ser substituídos por: A) Par B) primo C) ímpar D) maior do que 2 Elaboração profª. Ivre Marjorie - 05/11/2012 Página 6 QUESTÃO 9: Considere o algoritmo abaixo: ALGORITMO DECLARE i, k, sinal, N, F, S NUMÉRICO ESCREVA ‘Entre com um inteiro positivo’ LEIA N S ← 0 sinal ← 1 PARA k←1 até N FAÇA INÍCIO F←1 PARA i←1 até k FAÇA F ← F * i S ← S + sinal * F sinal ← (-1)*sinal FIM ESCREVA S FIM_ALGORITMO Considere que o usuário forneça o valor 4 (quatro) para a variável N. Qual é o valor impresso para a variável S? A) -1 B) -19 C) 5 D) 101 QUESTÃO 10: Considere o fluxograma abaixo e assuma que as entradas a, b e c lidas sejam, respectivamente, 12, 5 e 9. Início a, b, c a > b a a/2 b > c si m não sim não b b+2 a,b,c Fim Elaboração profª. Ivre Marjorie - 05/11/2012 Página 7 Assinale a alternativa que apresenta, para o algoritmo apresentado no fluxograma, a soma dos valores resultantes de a, b e c, ao final da execução do algoritmo. A) 17 B) 19 C) 21 D) 26 QUESTÃO 11: O fluxograma abaixo pretende gerar uma matriz identidade 5x5. Considere que o primeiro índice de linha possui o valor 0 e o primeiro índice de coluna possui valor 0. Além disso, sabe-se que a matriz identidade possui todos os elementos da diagonal principal iguais a 1(um), e os demais elementos possuem valor 0 (zero). Pode-se observar no fluxograma apresentado que três trechos foram retirados e precisam ser completados. Quais seriam os trechos indicados para i, ii e iii, respectivamente. a) i == j identidade[i][i] = 1 identidade [i][j] = 0 b) i == 0 && j==0 identidade[i][j] = 1 identidade [i][j] = 0 c) i == 0 && j==0 || i == 1 && j == 1 || i == 2 && j== 2 || i == 3 && j == 3 || i == 4 && j == 4 ii. identidade[i][j] = 0 iii. identidade [i][j] = 1 d) i != j identidade[i][j] = 1 identidade [i][j] = 0 Elaboração profª. Ivre Marjorie - 05/11/2012 Página 8 QUESTÃO 12: Analise o código fonte abaixo: int main() { int vet[10], x = 0, n=5; while(x < n) { vet[x] = x*2; x = x + 2; x = x - 1; } for(int i=0; i<n; i++) { cout<<"\n "<<vet[i]; } } Qual a saída do programa na tela para um usuário: A) O programa exibe os 5 primeirosnúmeros pares. B) O programa executa a estrutura de repetição infinitamente. C) O programa exibe uma sequência de 0 ate 5. D) O programa exibe uma sequência de 2 ate 10. QUESTÃO 13: Analise o algoritmo abaixo, e considere que o primeiro elemento do vetor está no índice 0. Além disso, os valores iniciais do vetor foram atribuídos a todos os elementos na própria declaração, assim como é feito em C/C++. ALGORITMO DECLARE vet[10] ← {3, -1, -2, -2, 8, 8, 7, 6, 7, -4}, i, a, b, pa, pb NUMÉRICO a ← vet[0] b ← a pa ← 0 pb ← pa PARA i ← 2 até 10 FAÇA INÍCIO SE (vet[i] < a) INÍCIO a ← vet[i] pa ← i FIM SENÃO SE (vet[i] >= b) INÍCIO b ← vet[i] pb ← i FIM FIM ESCREVA a, b, pa, pb FIM_ALGORITMO Qual é a saída CORRETA para o algoritmo? A) -4, 8, 9, 5 B) 3, -4, 1, 10 C) 8, 7, 6, 7 D) -2, 8, 3, 6 Elaboração profª. Ivre Marjorie - 05/11/2012 Página 9 QUESTÃO 14: Considere o código fonte abaixo: int main() { int mat[3][3], l, c; for(l=0; l<3; l++) { for(c=0; c<3; c++) { mat[l][c] = l*c; } } for(l=0; l<3; l++) { cout<<"\n"; for(c=0; c<3; c++) { cout<<" "<<mat[l][c]; } } } Qual é a matriz resultante do programa apresentado? a) b) c) d) 0 0 0 1 0 0 0 0 0 2 0 0 0 1 2 0 1 2 0 2 2 0 1 2 0 2 4 0 2 4 0 2 4 0 2 4 QUESTÃO 15: Considerando o operador = como de atribuição e o operador == como de igualdade, analisando o código abaixo é correto afirmar: Algoritmo declare x,d numérico; x = 1032 d = 5 se ( x == 1032 ) d = 1 senão se( x == 1032 ) d = 2 fim_se fim_algoritmo A) O valor final da variável d será 2. B) Este código possui erro e não é possível a sua execução. C) A variável d nunca terá o valor 2. D) Ao final a variável d terá o valor 5. Elaboração profª. Ivre Marjorie - 05/11/2012 Página 10 QUESTÃO 16: Analise o fluxograma abaixo e indique qual o seu comportamento (considere o operador = como de atribuição): A) O Algoritmo carrega 10 números e realiza a soma destes números a cada iteração. B) O Algoritmo carrega números, realiza a soma em cada iteração, em uma repetição interminável. C) O Algoritmo carrega 11 números e realiza a soma destes números a cada iteração. D) O Algoritmo carrega 10 números e realiza a soma dos números que sejam iguais a k. Início Fim i = 0 j < 10 j = 0 “Informe o número: “ numero j = j - 1 i = i + 1 k = k + numero k Sim Não
Compartilhar