Prévia do material em texto
APOL 1
JOSÉLIO ROQUE DIAS BATISTA - RU: 1371473 Nota: 100 PROTOCOLO: 2016053113714738DA05B
Disciplina(s):
Lógica de Programação e Algoritmos
Data de início: 31/05/2016 10:27
Prazo máximo entrega: -
Data de entrega: 04/06/2016 17:37
Questão 1/10
Um algoritmo fixa um padrão de comportamento a ser seguido ou uma norma de execução a ser trilhada, com vistas a
alcançar, como resultado final, a solução de um problema, garantindo que sempre que executado, sob as mesmas
condições, produza o mesmo resultado. É incorreta a definição de algoritmo abaixo:
A Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido. Forbellone, 1999.
B Algoritmo é uma sequência finita de instruções ou operações cuja execução, em tempo finito, resolve
um problema computacional, qualquer que seja sua instância. Salvetti, 1999.
C Algoritmo é uma sequência de características padronizadas para realização de uma tarefa. Ascencio,
1999.
D Algoritmos são regras formais para obtenção de um resultado ou da solução de um problema,
englobando fórmulas de expressões aritméticas. Manzano, 1997.
Questão 2/10
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. Existem vantagens e desvantagens,
com as relacionadas nas opções a seguir, exceto:
A Vantagem: não é necessário aprender nenhum conceito novo.
B Vantagem: utiliza língua natural, a qual é bem conhecida.
Você acertou!
“Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa.”
Ascencio, 1999
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:
A 1-receber os três valores. 2 – calcular a média aritmética. 3-se a média for maior que 7 dizer que o
aluno está aprovado. 4-mostrar a média.
B 1-receber os três valores. 2 – calcular a soma aritmética. 3-mostrar a soma aritmética. 4-mostrar a média.
C 1-receber os três valores. 2-calcular a média aritmética. 3-mostrar a média aritmética.
D 1-receber os três valores. 2 – somar os três valores. 3-mostrar a média aritmética.
Questão 4/10
Visto que a forma mais complexa do pensamento é o raciocínio, a lógica estuda a correção do raciocínio. É correto
afirmar que:
A A lógica tem em vista a ordem da razão, portanto, isso dá a entender que a nossa razão pode
funcionar desordenadamente.
B A lógica tem em vista a utilização da razão que já funciona ordenadamente, portanto a lógica estuda e
ensina apenas a utilização natural da ordem de nossos pensamentos.
C A lógica não pode ser considerada como arte do pensar pois é exata demais.
Você acertou!
Slides das Aulas 01 e 02 e exemplos apresentados.
Você acertou!
C Desvantagem: Dificuldade para transcrição do algoritmo para programa.
D Desvantagem: só é possível escrevê-la em Língua Portuguesa.
Você acertou!
Slides das Aulas 01 e 02, e exemplos.
D A forma mais complexa do pensamento não é o raciocínio, portanto a lógica não corrige o raciocínio.
Questão 5/10
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:
A Ir até o banco 24 horas / Digitar a senha / Solicitar a quantia desejada / Colocar o cartão / 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.
B Ir até o banco 24 horas / Colocar o cartão / Digitar a senha / Se o saldo for maior ou igual à quantia
desejada, sacar; caso contrário, mostrar mensagem de impossibilidade de saque / Solicitar a quantia
desejada / Retirar o cartão / Sair do banco 24 horas.
C Ir até o banco 24 horas / Sair do 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.
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 6/10
Você acertou!
Aula 01:
Alguns algoritmos do cotidiano:
Algoritmo 1 – Somar três números
Passo 1: receber os três números
Passo 2: somar os três números
Passo 3: Mostrar o resultado obtido
Algoritmo 2 – Sacar dinheiro no banco 24 horas
Passo 1: ir até o banco 24 horas
Passo 2: colocar o cartão
Passo 3: digitar a senha
Passo 4: solicitar a quantia desejada
Passo 5: se o saldo for maior ou igual à quantia desejada, sacar; caso contrário, mostrar mensagem de
impossibilidade de saque
Passo 6: Retirar o cartão
Passo 7: sair do banco 24 horas
Faça um algoritmo que recebe dois números quaisquer, faça a multiplicação de ambos e depois mostre o resultado.
Qual o passo, nas opções apresentadas a seguir, que não faz parte da resolução do algoritmo?
A Declare n1,n2, m numérico
Escreva “Digite os dois números”
B Leia n1, n2
C Se n1 = n2 escreva “Impossível realizar a operação”.
D m=n1*n2
Questão 7/10
Um algoritmo pode ser escrito ou desenhado de várias formas. Entre estas formas, com suas definições, estão as
seguintes:
A Descrição Narrativa: escrita em linguagem natural. / Fluxograma: desenho através de símbolos gráficos
predefinidos de passos a serem seguidos para resolução e / Pseudocódigo ou Portugol: escrita em
linguagem natural porém com regras predefinidas e passos a serem seguidos para sua resolução.
B Descrição Narrativa: escrita em língua portuguesa. / Fluxograma: desenho através de símbolos gráficos
predefinidos de passos a serem seguidos para resolução e / Pseudocódigo ou Portugol: escrita em
linguagem natural com regras predefinidas e passos a serem seguidos para sua resolução.
C Descrição Narrativa: escrita em língua portuguesa ou inglesa. / Fluxograma: desenho através de símbolos
gráficos predefinidos de passos a serem seguidos para resolução e / Pseudocódigo ou Portugol: escrita em
linguagem natural com regras predefinidas e passos a serem seguidos para sua resolução.
D
Você acertou!
Slides da Aula 02 - Exemplos.
Você acertou!
Aula 02:
Há várias formas de se representar a lógica de programação, no entanto, verificaremos os três tipos mais
conhecidos. Uma das formas de organizarmos nossas ideias logicamente é colocá-las num formato ou sintaxe
correspondente ao tipo de algoritmo. Os três tipos mais utilizados de algoritmos são: descrição narrativa, fluxograma
e pseudocódigo ou portugol.
Descrição Narrativa: escrita em língua natural. / Fluxograma: desenho através de símbolos gráficos
predefinidos de passos a serem seguidos para resolução e / Pseudocódigo ou Portugol: escrita em
linguagem artificial com regras predefinidas e passos a serem seguidos para sua resolução.
Questão 8/10
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 é:
A É considerado um silogismo de acordo com a lógica proposicional.
B Tais argumentos compostos por duas premissas e uma conclusão estabelecem uma relação válida ou não.
C Esta situação é um dos objetivos da lógica, que estuda técnicas para formalização, dedução e análise
para verificação davalidade de argumentos.
D É considerado um silogismo de acordo com a lógica de predicados.
Questão 9/10
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 de computadores. É incorreto afirmar, ao se falar de
lógica e lógica de programação, que:
Você acertou!
Aula 01:
Observe os exemplos abaixo:
Todo mamífero é um animal.
Todo cavalo é um mamífero.
Portanto, todo cavalo é um animal.
Kaiton é país do planeta Stix.
Todos os Xinpins são de Kaiton.
Logo, todos os Xinpins são Stixianos.
Esses exemplos são considerados silogismos de acordo com a lógica proposicional. No estudo da lógica
proposicional, tais argumentos compostos por duas premissas e uma conclusão, estabelecem uma relação que pode
ser válida ou não. Ou melhor, verdadeira ou falsa. E tal situação é um dos objetivos da lógica, que estuda técnicas
para formalização, dedução e análise para verificação da validade de argumentos.
A Um dos principais objetivos é a racionalidade e o desenvolvimento de técnicas que cooperam na
produção de soluções logicamente válidas e coerentes.
B O mesmo raciocínio pode ser expresso em qualquer idioma existente, mas continuaria representando
o mesmo raciocínio através de outra convenção.
C Uma vez a lógica estruturada, poderíamos representá-la em qualquer linguagem de programação.
Questão 10/10
A lógica muitas vezes é relacionada à racionalidade e à coerência e frequentemente a associamos apenas à
matemática.
Porém, sua aplicabilidade possui mais relação com outras áreas que possamos imaginar. É correto afirmar que:
A A lógica, como filosofia, procura estabelecer sempre do mesmo jeito.
B Uma das formas de usarmos a lógica é no procedimento de correção do nosso modo de pensar para
a construção de algoritmos de programação.
C A lógica não pode ser considerada como arte do pensar pois é exata demais.
D A forma mais complexa do pensamento não é o raciocínio, portanto a lógica não corrige o raciocínio.
D O raciocínio é algo concreto e tangível.
Você acertou!
Aula 01:
"O raciocínio é algo abstrato e intangível , porém seres humanos têm a capacidade de expressá-lo através da
palavra falada ou escrita, baseando-se num determinado idioma que segue regras e padrões gramaticais."
Você acertou!
APOL 2
JOSÉLIO ROQUE DIAS BATISTA - RU: 1371473 Nota: 100 PROTOCOLO: 201606071371473928B1B
Disciplina(s):
Lógica de Programação e Algoritmos
Data de início: 07/06/2016 11:05
Prazo máximo entrega: -
Data de entrega: 07/06/2016 14:10
Questão 1/10
Cada tipo de dado deve ser declarado no início do algoritmo. O exemplo abaixo está correto segundo as regras de
definição de variáveis:
A Inteiro: x y
Caracter: nome
Real: peso, dolar
Lógico: resposta
B Inteiro: x10
Caracter: nome, datas
Real: peso, moeda dolar
Lógico: resposta1
C Inteiro: x1
Caracter: nome, data%
Real: peso, dolar
Lógico: resposta1
D Inteiro: x
Caracter: nome, data
Real: peso, dolar Lógico:
resposta
Questão 2/10
Uma estrutura de controle do tipo condicional pode ter as seguintes composições:
A Condicional simples e encadeada.
Você acertou!
Para o algoritmo abaixo, identifique qual a parte de código preencheria a lacuna em aberto:
B Condicional composta e encadeada.
C Condicional simples e condicional composta.
D Condicional simples, condicional composta e condicional encadeada.
Você acertou!
Slides e Vídeo-Aula 03.
A
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
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
C 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
D 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 4/10
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:
A Sequência, condicional e repetição.
B Sequência, seleção e repetição.
C Inteiro, caracter, real e lógico.
Você acertou!
Slides e Vídeoaula 03
Para o algoritmo abaixo, identifique nas alternativas a parte de código que, inserida na linha faltante, efetuaria o cálculo
correto:
Algoritmo expoente algoritmo
"expon"
// Função : Calcular um numero elevado a outro //
Autor : Profa. Maristela.
// Data : 12/03/2015 //
Seção de Declarações
var
result, base, expo: real
inicio
// Seção de Comandos
escreval("Digite um valor para a base : ")
leia(base)
escreval("Digite um valor para o expoente : ")
leia(expo)
____________________________
escreval("")
escreva(base, " elevado a ",expo, " vale ", result)
fimalgoritmo
A result<-base***expo
D Inteiro, lógico, real e numérico.
Você acertou!
Slide 05 da Aula 03.
B result<-^base*expo
C result<-base^expo
Para o algoritmo abaixo, identifique a ordem das principais etapas da construção do algoritmo:
A 1-Entrada, 2-Saída, 3-Processamento
B 1-Entrada, 2-Processamento, 3-Saída
Você acertou!
Slides e Vídeo-Aula 03.
D result<-base*(expo)^2
Você acertou!
Slides e vídeoaula 03.
C 1-Declaração de variáveis, 2-Entrada e Processamento, 3-Saída
D 1-Declaração de variáveis e Entrada, 2-Processamento, 3-Saída
Questão 7/10
Para manipulação de dados dentro de nossos algoritmos utilizamos:
A Variáveis, que são alteradas constantemente no decorrer do tempo de execução dos algoritmos, e
constantes, que não sofrem variação no decorrer do tempo de execução do algoritmo.
B Variáveis que são alteradas constantemente no decorrer do tempo, bem como constantes que
também sofrem variações.
C Variáveis, constantes, estruturas de controle e declaração de variáveis.
D Variáveis inteiras, numéricas e caracter que não alteram durante todo o tempo de execução.
Questão 8/10
Para o algoritmo abaixo, identifique qual a parte de código representaria melhor a entrada dos dados:
Você acertou!
escreval("Digite um valor o raio : ")
leia(raio) escreval(“Digite o
valor de Pi:”)
leia(Pi)
B escreval("Digite um valor o raio : ")
leia(raio)
C escreval("Digite um valor o raio : ")
leia(raio) escreval(“Digite o
valor de Pi:”)
D leia(raio)
Questão 9/10
Para o algoritmo abaixo, identifique o melhor enunciado para o problema:
Você acertou!
Slides e videoaula 03
A
A Faça um programa que receba um número positivo e maior que zero, calcule mostre:
O número recebido ao quadrado;
O número recebido ao cubo;
O dobro do número.
B Faça um programa que receba um número qualquer, calcule mostre:
O número recebido ao quadrado;
O número recebidoao cubo; O
dobro do número.
C Faça um programa que receba um número positivo e maior que zero, calcule
mostre: O número recebido ao quadrado; O dobro do número.
O número recebido ao cubo;
D Faça um programa que receba um número qualquer, calcule
mostre: O número recebido ao cubo; O dobro do número.
O número recebido ao quadrado;
Questão 10/10
Para o algoritmo abaixo, identifique o melhor enunciado para o problema:
Você acertou!
Slides e videoaula 03
A Faça um programa que receba a data de nascimento de uma pessoa e a data atual, calcule e mostre:
Quantos anos a pessoa terá em 2020.
A idade da pessoa;
B Faça um programa que receba o ano de nascimento de uma pessoa e idade da pessoa, calcule e mostre:
O ano atual;
Quantos anos a pessoa terá em 2021.
C Faça um programa que receba o ano de nascimento de uma pessoa e o ano atual, calcule mostre:
A idade da pessoa;
Quantos anos a pessoa terá em 2020.
D Faça um programa que receba o ano de nascimento de uma pessoa e o ano atual, confira se o
ano atual é maior que o ano de nascimento, calcule e mostre: A idade da pessoa;
Quantos anos a pessoa terá em 2020.
Você acertou!
Slides e videoaula 03.
APOL 3
JOSÉLIO ROQUE DIAS BATISTA - RU: 1371473 Nota: 100 PROTOCOLO: 20160614137147394BC34
Disciplina(s):
Lógica de Programação e Algoritmos
Data de início: 14/06/2016 10:27
Prazo máximo entrega: -
Data de entrega: 14/06/2016 13:29
Questão 1/10
Para o algoritmo abaixo, qual a melhor substituição para que o programa execute n vezes a 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
A 1. var
x, idade,crianca,preadole,adolescente,adulto: inteiro
inicio
// Seção de Comandos
escreval("Digite a quantidade de entradas:")
leia(qt) para x de 1 ate qt faca
B 1. 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
C 1. var
x, idade,crianca,preadole,adolescente,adulto,qt: inteiro
inicio
// Seção de Comandos escreval("Digite a
quantidade de entradas:") para x de 1 ate qt
faca
D 1. 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 2/10
Para um vetor v1 de tamanho 50, qual seria a melhor lógica para identificação do menor e do maior elemento?
A para i de 1 ate 10 faca
se (v1[i]>maior) entao
maior<-v1[i]
fimse
se (v1[i]<menor) entao
menor<-v1[i]
fimse
fimpara
B maior<-v1[1]
menor<-v1[1]
para i de 1 ate 10 faca
se (v1[i]>maior) entao
maior<-v1[i]
fimse
fimpara
Você acertou!
C maior<-v1[1]
menor<-v1[1]
para i de 1 ate 50 faca
se (v1[i]>maior) entao
maior<-v1[i]
fimse
se (v1[i]<menor) entao
menor<-v1[i]
fimse
fimpara
D maior<-v1[1]
menor<-v1[1]
se (v1[i]>maior) entao
maior<-v1[i]
fimse
se (v1[i]<menor) entao
menor<-v1[i]
fimse
Questão 3/10
Para um vetor v1 de tamanho 50, qual seria a lógica mais adequada para mostrar o valor dos elementos na tela?
A para i de 1 ate 50 faca
leia("v",i,": ",v1[i])
fimpara
Você acertou!
B para i de 1 ate 50 faca
leia (v1)
fimpara
C para i de 1 ate n faca
escreval("v",i,": ",v1)
fimpara
D para i de 1 ate 50 faca
escreval(v1[i])
fimpara
Questão 4/10
Para a parte de programa abaixo, com m=3 e n=3, qual seria a saída?
leia(m,n)
para i de 1 ate m faca
para j de 1 ate n faca
se(i=j) entao
matriz[i,j]<-1
senao
matriz[i,j]<-0
fimse
fimpara fimpara
A 1 0 0
0 1 0
0 0 1
B 1 0 0
1 0 0
1 0 0
Você acertou!
Você acertou!
C 1 1 1
1 0 0
1 0 0
D 1 1 1
0 0 0
0 0 0
Questão 5/10
Para o algoritmo abaixo, qual a melhor substituição para que o programa utilize o comando enquanto-faca no lugar do
para-faca?
algoritmo "prog3" 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
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
A enquanto x < qt faca
.
.
.
x<-x+1 fimenquanto
B
enquanto x < qt faca
.
.
.
qt<-qt+1 fimenquanto
C
enquanto x < qt faca
.
.
.
x<-x+1 fimepara
D
enquanto x = qt faca
.
.
.
x<-x+1 fimenquanto
Questão 6/10
Para o algoritmo abaixo, como colocar a exibição das totalizações (substituir o quadro)?
Você acertou!
algoritmo "prog4" var
x, idade,qt,fem_maior, fem_menor,masc_maior, masc_menor: inteiro sexo:caracter
inicio
// Seção de Comandos escreval("Digite a
quantidade de entradas:") leia(qt) enquanto x
< qt faca
escreva("Digite uma idade: ")
leia(idade)
escreva("Digite o sexo (f/m): ")
leia(sexo)
se (idade<18) e (sexo="f") entao
fem_menor<-fem_menor+1
fimse
se (idade<18) e (sexo="m") entao
masc_menor<-masc_menor+1
fimse
se (idade>=18) e (sexo="f") entao
fem_maior<-fem_maior+1
fimse
se (idade>=18) e (sexo="m") entao
masc_maior<-masc_maior+1
fimse
x<-x+1
fimenquanto
+----------------------------------------+
| |
| |
| |
|| |
|
+----------------------------------------+
fimalgoritmo
A escreval("*** Totais por faixa-etária e sexo ***")
escreval("Número de meninas: ",femmenor)
escreval("Número de mulheres: ",femmaior)
escreval("Número de meninos: ",mascmenor)
escreval("Número de homens: ",mascmaior)
B escreval("*** Totais por faixa-etária e sexo ***")
escreval("Número de meninas: ",fem_menor)
escreval("Número de mulheres: ",fem_maior)
escreval("Número de meninos: ",masc_menor)
escreval("Número de homens: ",masc_maior)
C
escreval("*** Totais por faixa-etária e sexo ***") escreval("Número
de meninas: ",fem_menor)
escreval("Número de mulheres: ",fem_maior)
escreval("Número de mulheres: ",fem_menor)
escreval("Número de meninos: ",masc_menor)
D
escreval("*** Totais por faixa-etária e sexo ***")
escreval("Totais: ",fem_menor,fem_maior,masc_menor,masc_maior)0
Questão 7/10
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
Você acertou!
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
A se (idade>12) e (idade<=14) entao
preadole<-preadole+1
fimse
B se (idade>=11) e (idade<=14) entao
preadole<-preadole+1
fimse
C se (idade>11) e (idade<=14) entao
preadole<-preadole+1
fimse
Você acertou!
Slides e material das Aulas 03 e 04.
D se (idade>11) e (idade<14) entao
preadole<-preadole+1
fimse
Questão 8/10
Para um vetor v1 de tamanho 10, qual seria a lógica mais adequada para fazer a entrada, via teclado, de cada
elemento?
A para i de 1 ate 10 faca
escreval("Digite um numero qualquer:")
leia(v1[1])
fimpara
B para i de 1 ate 10 faca
escreval("Digite um numero qualquer:")
leia(v1[i])
fimpara
C para i de 1 ate 10 faca
escreval("Digite um numero qualquer:")
leia(v1[10])
fimpara
D para i de 1 ate 10 faca
escreval("Digite um numero qualquer:")
leia(v1)
fimpara
Questão 9/10
Para o algoritmo abaixo, como calcular os percentuais de cada idade-sexo (substituir o quadro)?
algoritmo "prog4" var x, idade,qt,fem_maior, fem_menor,masc_maior,
masc_menor: inteiro sexo:caracter
inicio
// Seção de Comandos
escreval("Digite a quantidade de entradas:")
leia(qt) enquanto x < qt faca
escreva("Digite uma idade: ")
Você acertou!
leia(idade)
escreva("Digite o sexo (f/m): ")
leia(sexo)
se (idade<18) e (sexo="f") entao
fem_menor<-fem_menor+1
fimse
se (idade<18) e (sexo="m") entao
masc_menor<-masc_menor+1
fimse
se (idade>=18) e (sexo="f") entao
fem_maior<-fem_maior+1
fimse
se (idade>=18) e (sexo="m") entao
masc_maior<-masc_maior+1
fimse
x<-x+1
fimenquanto
escreval("*** Totais por faixa-etária e sexo ***")
escreval("Número de meninas: ",fem_menor)
escreval("Número de mulheres: ",fem_maior)
escreval("Número de meninos: ",masc_menor)
escreval("Número de homens: ",masc_maior)
+----------------------------------------+
| |
| |
| |
|
| |
|
+----------------------------------------+
fimalgoritmo
A escreval("% de meninas: ",fem_menor*10/qt," %")
escreval("% de mulheres: ",fem_maior*10/qt," %")
escreval("% de meninos: ",masc_menor*10/qt," %")
escreval("% de homens: ",masc_maior*10/qt," %")
B escreval("% de meninas: ",fem_menor/qt," %")
escreval("% de mulheres: ",fem_maior/qt," %")
escreval("% de meninos: ",masc_menor/qt," %")
escreval("% de homens: ",masc_maior/qt," %")
C escreval("% de meninas: ",fem_menor*100/x-qt," %")
escreval("% de mulheres: ",fem_maior*100/ x-qt," %")
escreval("% de meninos: ",masc_menor*100/ x-qt," %")
escreval("% de homens: ",masc_maior*100/ x-qt," %")
D escreval("% de meninas: ",fem_menor*100/qt," %")
escreval("% de mulheres: ",fem_maior*100/qt," %")
escreval("% de meninos: ",masc_menor*100/qt," %")
escreval("% de homens: ",masc_maior*100/qt," %")
Questão 10/10
Para a parte de programa abaixo, com m=3 e n=3, qual seria a saída?
leia(m,n) para i de 1
ate m faca para j de
1 ate n faca
se(j=1) entao
matriz[i,j]<-1
senao
matriz[i,j]<-0
fimse
fimpara fimpara
Você acertou!
A 1 0 0
1 1 0
0 1 1
B 1 0 0
1 0 0
1 0 0
C 1 1 1
1 0 0
1 0 0
D 1 1 1
0 0 0
0 0 0
Você acertou!
APOL 4
JOSÉLIO ROQUE DIAS BATISTA - RU: 1371473 Nota: 100 PROTOCOLO: 201606211371473983139
Disciplina(s):
Lógica de Programação e Algoritmos
Data de início: 21/06/2016 09:05
Prazo máximo entrega: -
Data de entrega: 21/06/2016 11:00
Questão 1/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 2/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
Você acertou!
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 3/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
Você acertou!
Conforme apresentado no material e videoaulas .
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
Você acertou!
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 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".
Questão 5/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
Você acertou!
D As variáveis k e j são utilizadas como contéudos dos vetores "vp" - valores positivos e "vn" - valores
negativos.
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 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
Você acertou!
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) entaok<-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
Você acertou!
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 <-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 8/10
Para o algoritmo abaixo, qual deveria ser a saída para uma matriz 2X2?
Você acertou!
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
2 3
2 3
B 2 1
2 1
C 2 0
2 0
D 4 2
4 2
Você acertou!
A
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
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
Você acertou!
2
3
4
5
100
3
1
2
3
4
5
100
100
100
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
Você acertou!
D var
i,n: inteiro
valor:real
v: vetor [1..50] de real
APOL 5
JOSÉLIO ROQUE DIAS BATISTA - RU: 1371473 Nota: 100 PROTOCOLO: 2016070413714739F432F
Disciplina(s):
Lógica de Programação e Algoritmos
Data de início: 04/07/2016 09:11
Prazo máximo entrega: -
Data de entrega: 04/07/2016 10:13
Questão 1/10
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
A A soma dos quadrados dos valores.
B A soma do primeiro valor com o quadrado do segundo valor.
C A soma do quadrado do primeiro valor pelo segundo valor.
D O quadrado das somas dos valores.
Questão 2/10
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)
A 4
B 12
C 48
D 64
Questão 3/10
Procedimentos e funções tem a mesma finalidade?
A Não. Função obrigatoriamente retorna um valor, já um procedimento não retorna um valor, apenas
executa uma ação.
B Sim. Possuem a mesma finalidade e ambos retornam um valor.
Você acertou!
Conteúdo abordado nas aulas 7, 8, 9 e 10.
Você acertou!
Conteúdo abordado nas aulas 9 e 10.
Você acertou!
Conteúdo abordado nas aulas 09 e 10.
C Não, pois a Função executa uma única ação e procedimento executa uma ação e retorna um valor.
D Sim, Funções e procedimentos são apenas sub-rotinas.
Questão 4/10
No algoritmo abaixo quantas linhas com asteriscos serão mostradas na tela?
algoritmo "Procedimento" var
x:caracter
procedimento linha var
inicio
escreval("******************************************************")
escreval("")
fimprocedimento
inicio
// Seção de Comandos
escreval("***** Titulo *****") escreval("")
linha leia(x)
linha
escreval(x)
linha linha
fimalgoritmo
A Duas
B QuatroC Três
D Nenhuma
Questão 5/10
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
A n<-8
para i de 1 ate n faca
leia(preco(i))
fimpara
B n<-8
para i de 1 ate n faca
leia(preco[i])
fimpara
C para i de 1 ate n faca
leia(preco(k)) fimpara
D
para i de 1 ate n faca
leia(preco) fimpara
Questão 6/10
Para que o programa abaixo faça a média ponderada, quais seriam as linhas de código mais adequadas para
substituírem a parte pontilhada?
Você acertou!
Você acertou!
Assunto das aulas 7, 8, 9 e 10
algoritmo "Função" //
Seção de Declarações var
n1,n2,n3,n4,x:real
funcao fsx(v1,v2,v3,v4:real):real var
total:real
..........................
..........................
..........................
fimfuncao
inicio
// Seção de Comandos
escreva("Digite o primeiro valor:") leia(n1)
escreva("Digite o segundo valor:") leia(n2)
escreva("Digite o peso do primeiro valor:")
leia(n3)
escreva("Digite o peso do segundo valor:") leia(n4)
x<-fsx(n1,n2,n3,n4)
escreval("O valor da operação de ",n1," com ",n2," =",x)
fimalgoritmo
A
inicio total<-((v1*v3)+(v2*v4))/(v3+v4)
retorne total
B inicio
total<-((n1*n3)+(n2*n4))/(n1+n2) retorne
resultado
C inicio
total<-((n1*n3)+(n2*n4))/(n3*n4) retorne
total
D inicio
total<-((n1*n3)+(n2*n4))/10 retorne
resultado
Questão 7/10
Para que o programa abaixo faça a divisão de dois valores, sendo o primeiro pelo segundo, quais seriam as linhas de
código mais adequadas a substituirem as linhas pontilhadas?
algoritmo "Função" //
Seção de Declarações var
n1,n2,x:real
funcao fsx(v1,v2:real):real var
total:real
............................................
............................................
............................................
fimfuncao
inicio
// Seção de Comandos
Você acertou!
Conteúdo abordado nas aulas 7, 8, 9 e 10.
escreva("Digite um valor:")
leia(n1) escreva("Digite o segundo
valor:") leia(n2)
x<-fsx(n1,n2)
escreval("O valor da operação de ",n1," com ",n2," =",x)
fimalgoritmo
A inicio
total<-v1/v2 retorne
total
B inicio
total<-v1/2 retorne
resultado
C inicio
total<-v2/v1
retorne total
D inicio
total<-v2/2 retorne
resultado
Questão 8/10
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
Você acertou!
Conteúdo abordado nas aulas 7, 8, 9 e 10.
A Compr, Pos
B Pos, Copia
C Compr, Pos, Copia
Para o código que contém as funções abaixo, qual seria o resultado de uma entrada de dados que atribui o valor
“Joaquim Nabuco” para a variável completo?
qt_carc<-Compr(completo)
espaco<-Pos(" ",completo) //note que é necessário um espaço em branco entre as aspas
sobrenome1<-Copia(completo,espaco+1,qt_carc)
retorne sobrenome1
A Joaquim
B Nabuco
C 1Nabuco
D Nabuco, Joaquim
Questão 10/10
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
Você acertou!
Conteúdo abordado nas aulas 7, 8 9 e 10
D Nome, Compr, Pos, Copia
Você acertou!
Conteúdo abordado nas aulas 9 e 10
A para i de 1 ate 2 faca
para j de 1 ate 4 faca
leia(preco[i,j])
fimpara fimpara
B para i de 2 ate 1 faca
para j de 4 ate 1 faca
leia(preco(i,j))
fimpara fimpara
C para i de 1 ate 2 faca
para j de 1 ate 4 faca
leia(preco[j,i])
fimpara fimpara
D para i de 1 ate 2 faca
para j de 1 ate 4 faca
leia(preco[i])
fimpara fimpara
Você acertou!
Conteúdo abordado nas aulas 7, 8, 9 e 10