Buscar

APOL 4 - Lógica de Programação e Algoritmos (PDF - Nota 100)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

APOL 4 – Lógica de Programação e Algoritmos 
Nota 100 
 
Questão 1/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 
 
 
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, 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 4/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 5/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 6/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 7/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 <-0escreval("***** 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 8/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 9/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] 
 fimpara 
 
 escreval(“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 10/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

Outros materiais