Buscar

APOL 04 Lógica de Programação e Algorítimos NOTA 100

Prévia do material em texto

APOL 4 
 
 
 
Questão 1/10 
Para o algoritmo abaixo, qual deveria ser a saída para uma matriz 5X5? 
algoritmo "matriz" 
var 
 matriz:vetor[1..10,1..10] de inteiro 
i,j,m,n:inteiro 
inicio 
escreval("***** Entrada de Dados *****") escreval("") escreva("Digite o numero de 
linhas e o numero de colunas para matriz:") leia(m,n) para i de 1 ate m faca para j 
de 1 ate n faca escreva("Digite um valor para linha:",i," coluna:",j,":") 
 matriz[i,j]<-j+i 
 fimpara fimpara 
limpatela 
escreval("***** Resultados da matriz *****") 
para i de 1 ate m faca para j de 1 ate n faca 
escreva(matriz[i,j]) fimpara 
 escreval("") 
fimpara 
fimalgoritmo 
 A 2 3 4 5 6 
4 5 6 7 8 
5 6 7 8 9 
6 7 8 9 10 
7 8 9 10 11 
 B 2 3 4 5 6 
3 4 5 6 7 
4 5 6 7 8 
5 6 7 8 9 
6 7 8 9 10 
 
 C 1 3 4 5 6 
2 5 6 7 8 
3 6 7 8 9 
4 7 8 9 10 
5 8 9 10 11 
 D 1 2 3 4 5 
2 4 5 6 7 
3 5 6 7 8 
4 6 7 8 9 
5 7 8 9 10 
 
Questão 2/10 
Para o algoritmo abaixo, qual deveria ser o resultado exibido para uma matriz 3X3? 
algoritmo "matriz" 
var 
 matriz:vetor[1..10,1..10] de inteiro 
i,j,m,n:inteiro 
inicio 
escreval("***** Entrada de Dados *****") escreval("") escreva("Digite o numero de 
linhas e o numero de colunas para matriz:") leia(m,n) para i de 1 ate m faca para j 
de 1 ate n faca escreva("Digite um valor para linha:",i," coluna:",j,":") 
 matriz[i,j]<-i+1 
 fimpara fimpara 
limpatela 
escreval("***** Resultados da matriz *****") 
para i de 1 ate m faca para j de 1 ate n faca 
escreva(matriz[i,j]) fimpara 
 escreval("") 
fimpara 
 
 
fimalgoritmo 
 A 1 1 1 
2 2 2 
3 3 3 
 B 2 2 2 
3 3 3 
4 4 4 
 
 C 2 2 2 
2 2 2 
3 3 3 
 D 1 1 1 
3 3 3 
5 5 5 
 
Questão 3/10 
Para o algoritmo abaixo, quais as saídas que representam a execução correta? 
algoritmo "vetores" var 
i,n,posicao : inteiro 
valor:real v: vetor [1..50] 
de real aux: real inicio 
//seção de comandos escreval("Digite o número de elementos 
do vetor:") 
 leia(n) para i de 1 ate n faca 
escreval("Digite um numero qualquer:") 
 leia(v[i]) 
 fimpara escreval("Digite um valor qualquer para inserir no vetor:") 
leia(valor) 
 escreval("Digite a posição do vetor") 
leia(posicao) para i de n ate 2 passo -1 faca 
se (i>=posicao) entao 
 v[i+1]<-v[i] fimse 
se (posicao=i) entao 
 v[i]<-valor 
fimse 
 fimpara para i de 1 ate n+1 faca escreval(v[i]) fimpara fimalgoritmo 
 
 A 5 
1 
2 
3 
4 
5 
100 
3 
1 
2 
100 
3 
3 
4 
5 
 
 B 5 
1 
2 
3 
4 
5 
100 
3 
1 
2 
100 
3 
4 
5 
 
 C 5 
1 
2 
3 
4 
5 
100 
3 
1 
2 
3 
100 
4 
5 
 D 5 
1 
2 
3 
4 
5 
100 
3 
1 
2 
3 
4 
5 
100 
100 
100 
 
Questão 4/10 
Para o algoritmo abaixo, qual é o código mais adequado a incluir para calcular a quantidade de números ímpares? 
algoritmo "matriz_par" var 
 m:vetor[1..3,1..3] de inteiro resto, 
qtpar,i,j:inteiro 
inicio 
qtpar <-0 
escreval("***** Entrada de Dados *****") escreval("") para i de 1 
ate 3 faca para j de 1 ate 3 faca escreva("Digite um valor para 
linha:",i," coluna:",j,":") 
 leia(m[i,j]) 
 resto<-m[i,j] mod 2 
se(resto=0) entao 
qtpar<-qtpar+1 fimse 
 fimpara fimpara 
limpatela escreval("***** Resultados da matriz *****") para i de 1 ate 3 
faca para j de 1 ate 3 faca resto<-m[i,j] mod 2 
se(resto=0) entao escreval("Linha:",i," Coluna:",j," 
Numero=",m[i,j]) fimse 
 fimpara fimpara escreval("Quantidade de numeros pares: 
", qtpar) 
fimalgoritmo 
 A resto<-m[i,j] mod 2 se(resto<>0) entao qtimpar<-qtimpar+1 
fimse 
 
 B resto<-m[i,j] mod 2 se(resto<>0) entao qtimpar<-qtimpar+m[i,j] 
fimse 
 C resto<-m[i,j] mod 2 se(resto=~0) entao qtimpar<-qtimpar+1 fimse 
 
 D resto<-m[i,j] mod 2 se(resto=0) entao qtimpar<-qtimpar+1 fimse 
 
Questão 5/10 
Para o algoritmo abaixo, explique a necessidade de se utilizar as variáveis k e j: 
algoritmo "vetores" var 
 i,j,k,n : inteiro v: vetor 
[1..50] de real vp: vetor 
[1..50] de real vn: vetor 
[1..50] de real aux: real 
inicio 
//seção de comandos escreval("Digite o número de 
elementos do vetor:") 
 leia(n) para i de 1 ate n faca 
escreval("Digite um numero qualquer:") 
 leia(v[i]) 
 fimpara 
 limpatela 
 k<-0 
j<-0 
 para i de 1 ate n faca 
se (v[i]>0) entao k<-
k+1 vp[k]<-v[i] 
 senao 
 j<-j+1 
vn[j]<-v[i] fimse 
 fimpara 
 escreval("Positivos:") 
para i de 1 ate k faca 
escreval(vp[i]) fimpara 
 escreval("Negativos:") 
para i de 1 ate j faca 
escreval(vn[i]) fimpara 
Fimalgoritmo 
 A As variáveis k e j são utilizadas para que os vetores "vp" e "vn" tenham suas posições preenchidas, respectivamente, com os valores positivos e negativos do vetor "n", definindo a quantidade de elementos de cada um destes vetores. 
 
 B As variáveis k e j são utilizadas para acumular a soma dos valores positivos e negativos do vetor "n". 
 C As variáveis k e j são utilizadas para separar os valores dos números positivos e negativos do vetor "n". 
 D As variáveis k e j são utilizadas como contéudos dos vetores "vp" - valores positivos e "vn" - valores negativos. 
 
Questão 6/10 
Para o algoritmo abaixo, qual deveria ser a saída para uma matriz 2X3? 
algoritmo "matriz" 
var 
 matriz:vetor[1..10,1..10] de inteiro 
i,j,m,n:inteiro 
inicio 
escreval("***** Entrada de Dados *****") escreval("") escreva("Digite o numero de 
linhas e o numero de colunas para matriz:") leia(m,n) para i de 1 ate m faca para j 
de 1 ate n faca escreva("Digite um valor para linha:",i," coluna:",j,":") 
 matriz[i,j]<-j+1 
 fimpara fimpara 
limpatela 
escreval("***** Resultados da matriz *****") 
para i de 1 ate m faca para j de 1 ate n faca 
escreva(matriz[i,j]) fimpara 
 escreval("") 
fimpara 
fimalgoritmo 
 A 2 1 3 
2 1 3 
 B 1 2 3 
1 2 3 
 
 C 2 3 4 2 3 4 
 
 D 2 2 2 
2 2 2 
 
Questão 7/10 
Para o algoritmo abaixo, qual melhor código a ser inserido antes do final do algoritmo para SOMAR os números positivos e os 
números negativos e apresentar as respectivas somas? algoritmo "vetores" var 
 i,j,k,n : inteiro v: vetor 
[1..50] de real vp: vetor 
[1..50] de real vn: vetor 
[1..50] de real aux: real 
inicio 
//seção de comandos 
 escreval("Digite o número de elementos do vetor:") 
 leia(n) para i de 1 ate n faca 
escreval("Digite um numero qualquer:") 
 leia(v[i]) 
 fimpara 
limpatela 
k<-0 j<-0 
 para i de 1 ate n faca 
se (v[i]>0) entao k<-
k+1 vp[k]<-v[i] 
 senao 
 j<-j+1 vn[j]<-v[i] 
fimse fimpara 
escreval("Positivos:") 
para i de 1 ate j faca 
escreval(vp[i]) fimpara 
 escreval("Negativos:") 
para i de 1 ate k faca 
escreval(vn[i]) fimpara 
Fimalgoritmo 
 
 A positivos<-0 negativos<-0 escreval("Positivos:") para i 
de 1 ate j faca 
escreval(vp[i]) positivos<-
positivos+1 fimpara 
 escreval("Negativos:") para i 
de 1 ate k faca escreval(vn[i]) 
 negativos<-negativos+1 fimpara 
 escreval(“Total de Positivos:”,positivos) escreval(“Total de Negativos:,negativos) 
 B positivos<-0 negativos<-0 escreval("Positivos:") para i de 1 
ate j faca escreval(vp[i]) 
positivos<-positivos+vp[i] 
fimpara 
 escreval("Negativos:") para i 
de 1 ate k faca escreval(vn[i]) 
 negativos<-negativos+vn[i] fimparaescreval(“Soma Positivos:”,positivos) escreval(“Soma 
Negativos:",negativos) 
 
 C positivos<-0 negativos<-0 escreval("Positivos:") para i 
de 1 ate j faca 
escreval(vp[i]) fimpara 
 escreval("Negativos:") 
para i de 1 ate k faca 
escreval(vn[i]) fimpara 
 escreval(“Total de Positivos:”,positivos) escreval(“Total de Negativos:,negativos) 
 D 
escreval("Positivos:") para i de 1 
ate j faca escreval(vp[j]) 
positivos<-positivos+vp[i] 
fimpara 
 escreval("Negativos:") para i de 
1 ate k faca escreval(vn[k]) 
negativos<-negativos+vn[i] 
fimpara 
 escreval(“Total de Positivos:”,positivos) escreval(“Total de Negativos:,negativos) 
 
Questão 8/10 
Para o algoritmo abaixo, qual deveria ser a saída para uma matriz 2X2? 
algoritmo "matriz" 
var 
 matriz:vetor[1..10,1..10] de inteiro 
i,j,m,n:inteiro 
inicio 
escreval("***** Entrada de Dados *****") escreval("") escreva("Digite o numero de 
linhas e o numero de colunas para matriz:") leia(m,n) para i de 1 ate m faca 
 para j de 1 ate n faca escreva("Digite um valor para linha:",i," 
coluna:",j,":") 
 matriz[i,j]<-j+1 
 fimpara fimpara 
limpatela 
escreval("***** Resultados da matriz *****") 
para i de 1 ate m faca para j de 1 ate n faca 
escreva(matriz[i,j]) fimpara 
 escreval("") 
fimpara 
fimalgoritmo 
 A 2 3 
2 3 
 
 B 2 1 
2 1 
 C 2 0 
2 0 
 D 4 2 
4 2 
 
Questão 9/10 
Para o algoritmo abaixo, identifique qual a parte de código preencheria a lacuna em aberto. O algoritmo faz a distribuição dos números em outros dois vetores, um vetor só com o zero e os números positivos e outro só com números negativos: 
algoritmo "vetores" var 
 i,j,k,n : inteiro v: vetor 
[1..50] de real vp: vetor 
[1..50] de real vn: vetor 
[1..50] de real 
 aux: real 
inicio 
//seção de comandos escreval("Digite o número de elementos 
do vetor:") leia(n) para i de 1 ate n faca 
escreval("Digite um numero qualquer:") 
 leia(v[i]) 
 
 fimpara 
limpatela 
+-------------------------------------------------------------------------------------------------------------------------------+ 
+-------------------------------------------------------------------------------------------------------------------------------
+ escreval("Positivos:") para i de 1 ate k faca escreval(vp[i]) fimpara 
 escreval("Negativos:") 
para i de 1 ate j faca 
escreval(vn[i]) fimpara 
fimalgoritmo 
 A para i de 1 ate n faca 
se (v[i]>1) entao 
k<-k+1 vp[k]<-v[i] 
 senao 
 j<-j+1 
vn[j]<-v[i] 
 fimse 
fimpara 
 B k<-0 j<-0 
 para i de 1 ate n faca 
se (v[i]>=0) entao 
k<-k+1 vp[k]<-v[i] 
 senao 
 j<-j+1 
vn[j]<-v[i] fimse 
 fimpara 
 
 C 
para i de 1 ate n faca 
se (v[i]>0) entao 
k<-k+1 vp[i]<-v[i] 
 senao 
 j<-j+1 
vn[i]<-v[i] fimse 
fimpara 
 D 
1. k<-0 
j<-0 para i de 1 ate n 
faca se (v[i]>0) entao 
vp[k]<-v[i] 
 senao 
 vn[j]<-v[i] 
fimse 
 fimpara 
 
Questão 10/10 
Para o algoritmo abaixo, qual a melhor declaração de variáveis? 
algoritmo "vetores" 
inicio 
//seção de comandos 
 escreval("Digite o número de elementos do vetor:") 
 leia(n) para i de 1 ate n faca 
escreval("Digite um numero qualquer:") 
 leia(v[i]) 
 fimpara 
 escreval("Digite um valor qualquer para inserir no vetor:") 
 leia(valor) 
 escreval("Digite a posição do vetor") 
leia(posicao) 
 para i de n ate 2 passo -1 faca se 
(i>=posicao) entao 
 v[i+1]<-v[i] fimse 
se (posicao=i) entao 
 v[i]<-valor 
fimse fimpara 
 para i de 1 ate n+1 faca escreval(v[i]) fimpara fimalgoritmo 
 A var i,n,posicao : inteiro 
valor:real v: vetor [1..50] 
de real 
 
 B 
var i,posicao : inteiro valor:real v: vetor [1..50] de real 
 C 
var i,n,posicao : inteiro v: vetor [1..50] de real 
 D 
var 
 i,n: inteiro valor:real v: vetor [1..50] de real

Continue navegando