quarta-feira, 22 de junho de 2016

Apol4 de Lógica de Programação e Algoritmos


 Apol4 de Lógica de Programação e Algoritmos


Gabarito: 1 A, 2 B, 3 B, 4 A, 5 B, 6 A, 7 A, 8 C, 9 B, 10 B

PAULO LEONARDO CASTILHO PIRES - RU: 1344478
PROTOCOLO: 20160620134447898228A
Disciplina(s):
Lógica de Programação e Algoritmos
Data de início:
20/06/2016 23:23
Prazo máximo entrega:
0:00:10
Questão 1/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 2/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 3/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 4/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 5/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 6/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 7/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 8/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 9/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 10/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


Nenhum comentário:

Postar um comentário