Buscar

APOL's Logica de programação e algoritmos.

Prévia do material em texto

Questão 1/5 - Lógica de Programação e Algoritimos
Lógica de programação pode ser definida como o uso correto das leis do pensamento, da ordem da razão e de processos de raciocínio e simbolização formais na programação
	D
	O raciocínio é algo concreto e tangível.
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
Questão 2/5 - Lógica de Programação e Algoritimos
Observe os passos abaixo e diga qual a ordem ideal para o funcionamento de um algoritmo que tenha por finalidade sacar dinheiro num banco 24 horas:
	
	D
	Ir até o banco 24 horas / Colocar o cartão / Digitar a senha / Solicitar a quantia desejada / Se o saldo for maior ou igual à quantia desejada, sacar; caso contrário, mostrar mensagem de impossibilidade de saque / Retirar o cartão / Sair do banco 24 horas.
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
Questão 3/5 - Lógica de Programação e Algoritimos
Na escrita de um algoritmo que calcule a média de três valores quaisquer, a melhor resolução escrita em descrição narrativa seria:
	C
	1-receber os três valores. 
2-calcular a média aritmética.
3-mostrar a média aritmética.
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
Questão 4/5 - Lógica de Programação e Algoritimos
Utilizando as seguintes premissas e a conclusão:
 - Todo mamífero é um animal.
 - Todo cavalo é um mamífero.
 - Logo todo cavalo é um animal.
A única sentença incorreta é:
	D
	É considerado um silogismo de acordo com a lógica de predicados.
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
Questão 5/5 - Lógica de Programação e Algoritimos
Descrição narrativa consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem natural (por exemplo, a língua portuguesa), os passos a serem seguidos para sua resolução. 
Quais são as Vantagens e Desvantagens em relação ao uso da descrição narrativa?
I- Vantagem: Língua natural, próxima do ser humano.
II - Vantagem: Linguagem Visual, que facilita a compreensão humana.
III - Desvantagem: Gera dúvidas e várias interpretações possíveis.
IV - Desvantagem : Dificuldade para transcrição em código de programa de computador.Qual a alternativa corresponde ao conjunto de Verdadeiros (V) e Falsos (V) segundo as vantagens e desvantagens?
	D
	V,F,V,V
------------------------------------------------------------------------------------
Questão 1/5 - Lógica de Programação e Algoritimos
Para o algoritmo abaixo, identifique qual a parte de código preencheria a lacuna em aberto:
	B
	se (n1>n2) e (n1>n3) e (n2>n3) entao
 	escreva (" n1>n2>n3 ", n1,">", n2,">", n3)
 fimse
 se (n1>n3) e (n1>n2) e (n3>n2) entao
 	escreva (" n1>n3>n2 ", n1,">", n3,">", n2)
 fimse
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
Questão 2/5 - Lógica de Programação e Algoritimos
Aproximando-nos da maneira pela qual o computador manipula as informações, os tipos primitivos básicos utilizados para construção de programas serão:
I - Numéricos (Inteiro, Real)
II - Caracter
III - Objetos
IV - Lógicos
Considerando as respostas anteriores, qual o conjunto de Verdadeiros (V) e Falsos (F) corresponde à resposta correta?
	A
	V,V,F,V
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
Questão 3/5 - Lógica de Programação e Algoritimos
Para o algoritmo abaixo, identifique a ordem das principais etapas da construção do algoritmo:
	B
	1-Entrada, 2-Processamento, 3-Saída
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
Questão 4/5 - Lógica de Programação e Algoritimos
Para o algoritmo abaixo, identifique qual a parte de código representaria melhor a entrada dos dados:
	B
	escreval("Digite um valor o raio : ")
 leia(raio)
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
Questão 5/5 - Lógica de Programação e Algoritimos
Quando iniciamos nosso algoritmo, precisamos definir nossas variáveis. Quais exemplos de nomes de variáveis abaixo estão corretos de acordo com as regras de definição de variáveis? 
I - 123x : inteiro
II - nome, endereco : caracter
III - peso, dolar : real
IV - resposta : logicoQuais afirmativas corresponde ao conjunto de Verdadeiros(V) e Falsos(F) para a regra de construção e definição de variáveis?
	A
	F,V,V,V
-------------------------------------------------------------------------------------------
Questão 1/5 - Lógica de Programação e Algoritimos
A estrutura de repetição é utilizada quando se sabe o número de vezes em que um trecho do algoritmo deve ser repetido.
Uma das estruturas de repetição utiliza um número definido de repetições.Qual seria a melhor estrutura para uma repetição com número definido de repetições?
	A
	PARA <variável> de ate [passo ] faca 
 <seqüência-de-comandos> 
fimpara
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Questão 2/5 - Lógica de Programação e Algoritimos
Para o algoritmo abaixo, identifique qual a parte de código preencheria a parte faltante (substitui o quadro):
algoritmo "prog1"
var
x, idade,crianca,preadole,adolescente,adulto: inteiro
inicio
// Seção de Comandos
para x de 1 ate 10 faca
 	escreva("Digite uma idade: ")
 	leia(idade)
 	se idade<=11 entao
 	crianca<-crianca+1
 	fimse
+----------------------------------------+
| |
| |
| |
| |
| |
+----------------------------------------+
 se (idade>14) e (idade<=17) entao
 	adolescente<-adolescente+1
 	fimse
 	se idade >= 18 entao
 	adulto<-adulto+1
 	fimse
fimpara
 escreval("*** Totais por faixa-etária ***")
 escreval("Número de criancas: ",crianca)
 escreval("Número de pre-adolescentes: ",preadole)
 escreval("Número de adolescentes: ",adolescente)
 escreval("Número de adultos: ",adulto)
fimalgoritmo
Questão 2/5 - Lógica de Programação e Algoritimos
Para o algoritmo abaixo, identifique qual a parte de código preencheria a parte faltante (substitui o quadro):
algoritmo "prog1"
var
x, idade,crianca,preadole,adolescente,adulto: inteiroinicio
// Seção de Comandos
para x de 1 ate 10 faca
 	escreva("Digite uma idade: ")
 	leia(idade)
 	se idade<=11 entao
 	crianca<-crianca+1
 	fimse
+----------------------------------------+
| |
| |
| |
| |
| |
+----------------------------------------+
 se (idade>14) e (idade<=17) entao
 	adolescente<-adolescente+1
 	fimse
 	se idade >= 18 entao
 	adulto<-adulto+1
 	fimse
fimpara
 escreval("*** Totais por faixa-etária ***")
 escreval("Número de criancas: ",crianca)
 escreval("Número de pre-adolescentes: ",preadole)
 escreval("Número de adolescentes: ",adolescente)
 escreval("Número de adultos: ",adulto)
fimalgoritmo
-------------------------------------------------------------------------------------------
	C
	se (idade>11) e (idade<=14) entao
 	preadole<-preadole+1
 	fimse
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Questão 3/5 - Lógica de Programação e Algoritimos
Na lógica de programação temos várias estruturas: sequência, seleção e repetição.
Numa seleção, possuímos algumas variações, como a seleção composta por exemplo.Qual seria a estrutura correta para seleção composta?
	A
	se <condição> 
 entao Comandos
 senao Comandos
fimse
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Questão 4/5 - Lógica de Programação e Algoritimos
O algoritmo a seguir resolve uma equação de segundo grau.
01 algoritmo "eqSegundoGrau"
02 // Função : Resolver uma equação de segundo grau
03 // Autor :
04 // Seção de Declarações
05 var
 06 a,x,c, delta : inteiro
 07 x1,x2 : real
08 inicio
09// Seção de Comandos
	10 escreva("Digite um valor para a:")
	11 leia(a)
	12 escreva("Digite um valor para b:")
	13 leia(b)
	14 escreva("Digite um valor para c:")
	15 leia(c)
 	16 se (a=0) entao
 	17 escreva("Impossível de realizar operação")
 	18 senao
 	19 delta<-((b*b)-4*(a*c))
 	20 se (delta>=0) entao
 	21	x1<-( (-b+ RaizQ(delta)) /2*a)
 	 22	x2<-( (-b- RaizQ(delta)) /2*a)
 	 23 	escreva("x1=",x1)
 	24	escreva("x2=",x1)
 	25 senao
 	26 escreva("Equação não tem raízes, delta<0")
 	27 fimse 	
 28 fimse
29 fimalgoritmo
Porém, há dois erros. Quais seriam os erros?
Observação: Lembrando que RaizQ é uma função pré-definida no VisuALG e está correto o seu uso.
	B
	Na linha 06 deveria ser: a,b,c, delta : inteiro
Na linha 24 deveria ser: escreva("x2=",x2)
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
Questão 5/5 - Lógica de Programação e Algoritimos
O algoritmo abaixo executa 10 vezes a lógica principal. Qual a melhor substituição para que o programa execute n vezes tal repetição?
algoritmo "prog2"
var
x, idade,crianca,preadole,adolescente,adulto: inteiro
inicio
// Seção de Comandos
para x de 1 ate 10 faca
 	escreva("Digite uma idade: ")
 	leia(idade)
 	se idade<=11 entao
 	crianca<-crianca+1
 	fimse
 se (idade>11) e (idade<=14) entao
 	preadole<-preadole+1
 	fimse
 se (idade>14) e (idade<=17) entao
 	adolescente<-adolescente+1
 	fimse
 	se idade >= 18 entao
 	adulto<-adulto+1
 	fimse
fimpara
 escreval("*** Totais por faixa-etária ***")
 escreval("Número de criancas: ",crianca)
 escreval("Número de pre-adolescentes: ",preadole)
 escreval("Número de adolescentes: ",adolescente)
 escreval("Número de adultos: ",adulto)
fimalgoritmo
-------------------------------------------------------------------------------------------
	
D
	var
x, idade,crianca,preadole,adolescente,adulto,qt: inteiro
 
inicio
// Seção de Comandos
escreval("Digite a quantidade de entradas:")
leia(qt)
para x de 1 ate qt faca
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
Questão 1/5 - Lógica de Programação e Algoritimos
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
	B
	2 2 2
3 3 3
4 4 4
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
Questão 2/5 - Lógica de Programação e Algoritimos
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
	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
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
Questão 3/5 - Lógica de Programação e Algoritimos
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
	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
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
Questão 4/5 - Lógica de Programação e Algoritimos
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
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
Questão 5/5 - Lógica de Programação e Algoritimos
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 "v", definindo a quantidade de elementos de cada um destes vetores.
-----------------------------------------------------------------------------------------------------------------
Questão 1/5 - Lógica de Programação e Algoritimos
Analise o código do algoritmo abaixo e assinale a alternativa que relaciona todas as funções pré-definidas utilizadas?
 qt_carc<-Compr(nome)
 espaco<-Pos(" ",nome)
 x<-Copia(nome,espaco+1,qt_carc)
 retorne x
-----------------------------------------------------------------------------------------------------------------
	C
	Compr, Pos, Copia
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
Questão 2/5 - Lógica de Programação e Algoritimos
O que a função definida no algoritmo abaixo faz?
algoritmo "Função"
// Seção de Declarações
var
n1,n2,resultado1:real
funcao fsx(v1,v2:real):real
var
 total:real
inicio
 total<-v1+(v2*v2)
 retorne total
fimfuncao
inicio
// Seção de Comandos
escreva("Digite um valor:")
leia(n1)
escreva("Digite o segundo valor:")
leia(n2)
resultado1<-fsx(n1,n2)
escreval("O valor da operação de ",n1," com ",n2," =",resultado1)
fimalgoritmo
-----------------------------------------------------------------------------------------------------------------
	B
	A soma do primeiro valor com o quadrado do segundo valor.
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
Questão 3/5 - Lógica de Programação e Algoritimos
Avalie o bloco de código de um algoritmo mostrado abaixo, e selecione a alternativa adequada para substituí-lo.
preco[1,1]<-1
preco [1,2]<-2
preco[1,3]<-3
preco [1,4]<-4
preco[2,1]<-23.00
preco [2,2]<-500.00
preco[2,3]<-12.00
preco [2,4]<-13.00
-----------------------------------------------------------------------------------------------------------------
	A
	para i de 1 ate 2 faca
 	para j de 1 ate 4 faca
 leia(preco[i,j])
 fimpara
fimpara
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
Questão 4/5 - Lógica de Programação e Algoritimos
Considerando o bloco de código de um algoritmo mostrado abaixo qual seria a alternativa adequada para substituí-lo?
preco[1]<-150.00
preco [2]<-250.00
preco[3]<-10.00
preco [4]<-40.00
preco[5]<-120.00
preco [6]<-500.00
preco[7]<-12.00
preco [8]<-13.00
-----------------------------------------------------------------------------------------------------------------
	B
	n<-8
 para i de 1 ate n faca
	leia(preco[i]) 
 fimpara
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
Questão 5/5 - Lógica de Programação e Algoritimos
Para o código que contém as funções abaixo, qual seria o resultado de uma entrada de dados que atribui o valor “16” para a variável valor?
r<-Raizq(valor)
potencia<-exp(r, 3)
escreval("O resultado da operação e: “, potencia)
-----------------------------------------------------------------------------------------------------------------
	D
	64
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------

Continue navegando