Buscar

Resumo das provas, apols, e aulas de Lógica de Programação e Algoritmos (nota 95 na prova)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

LÓGICA DE PROGRAMAÇÃO E ALGORITMOS
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.
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. A lógica, como filosofia, procura saber por que pensamos assim e não de outro jeito. Como arte ou técnica, ela pode nos auxiliar no uso correto das leis do pensamento.
Poderíamos dizer também que a lógica é a arte de bem pensar, que é a ciência das formas do pensamento. Visto que a forma mais complexa do pensamento é o raciocínio, a lógica estuda a correção do raciocínio.
Um algoritmo tem como principal objetivo definir uma sequência de passos que visam a resolução de um problema.
* 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.
- Vantagem: não é necessário aprender nenhum conceito novo, pois uma língua natural, neste ponto, já é bem conhecida.
- Desvantagem: a língua natural abre espaço para várias interpretações, o que posteriormente dificultará a transcrição desse algoritmo para programa.
Algoritmo em descrição narrativa:
Passo 1 – Receber dois números que serão multiplicados
Passo 2 – Multiplicar os números
Passo 3 - Mostrar o resultado obtido na multiplicação
* Fluxograma consiste em analisar o enunciado do problema e escrever, utilizando símbolos gráficos predefinidos, os passos a serem seguidos para sua resolução.
- Vantagem: o entendimento de elementos gráficos é mais simples que o entendimento de textos.
- Desvantagem: é necessário aprender a simbologia dos fluxogramas e, além disso, o algoritmo resultante não apresenta muitos detalhes, dificultando sua transcrição para uma linguagem de programação.
Algoritmo em Fluxograma
Desenhos
 *Pseudocódigo ou Portugol consistem em analisar o enunciado do problema e escrever, por meio de regras predefinidas, os passos a serem seguidos para sua resolução.
- Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando conhecer as palavras reservadas da linguagem que será utilizada.
- Desvantagem: é necessário aprender as regras de escrita do pseudocódigo.
Algoritmo em Portugol
Linguagem de programacao
Hoje vamos iniciar nossa prática na construção de algoritmos através do portugol. Para tal, será necessário compreendermos alguns conceitos importantes de algoritmos escrito em portugol, como:
*Tipos Primitivos
*Expressoes Aritimeticas
*Operadores Relacionais
Entrada -> Dados de Entrada do Algoritimo
Processamento ->Procedimentos utilizados para chegar no resultado final
Saida -> Dados já processados
Estruturas de programação sequencial e condicional.
Estruturas de controle do fluxo de execução
- Estrutura sequencial
- Estrutura condicional (seleção)
Um algoritmo funciona por meio de estruturas básicas de controle do fluxo de execução. São elas: sequência, seleção (condicional) e repetição (interação). 
Estrutura Sequencial
A estrutura sequencial é definida pelo conjunto de ações primitivas executadas em sequência linear de cima para baixo e da esquerda para direita.
Estrutura Condicional (Seleção)
Uma estrutura de seleção permite a escolha de um grupo de ações (bloco) a ser executado quando determinadas condições, representadas por expressões lógicas ou relacionais, são ou não satisfeitas.
Seleção simples
Quando precisamos testar uma condição antes de executar uma ação, usamos uma seleção simples, que pode ser descrita da seguinte forma:
 Se <condição>
 Então
 Comandos
 Fimse
Seleção Composta
Situações alternativas dependem que dependam de uma mesma condição requerem uma seleção composta. Seguem a seguinte estrutura:
Se <condição>
Então
 Comandos
Senão
 Comandos
Fimse
Seleção Encadeada
A seleção encadeada é um agrupamento de várias seleções. Segue a seguinte estrutura:
Se <condição>
Então
 Comandos
Senão
 Se <condição>
 Então
 Comandos
 Senao
 Se <condição>
 Então
 Comandos
 Fimse
 Fimse
Fimse
Os tópicos abordados serão:
Estrutura condicional (Seleção)
Estrutura de repetição
IMPORTANTE
Relembrando, uma estrutura de seleção permite a escolha de um grupo de ações (bloco) a ser executado quando determinadas condições, representadas por expressões lógicas ou relacionais, são ou não satisfeitas.
As condicionais podem ser do tipo simples, composta e encadeada. 
Estrutura de Repetição – Parte II
A estrutura de repetição é utilizada quando se sabe o número de vezes em que um trecho do algoritmo deve ser repetido. É o tipo de estrutura que facilita quando precisamos que um bloco de comandos seja feita 10, 100, 1.000, 10.000 ou mais vezes!
ESTRUTURA PARA
para < variável> de < valor-inicial> ate < valor-limite> [passo < incremento>] faca
< sequência-de-comandos>
fimpara
As condicionais podem ser do tipo simples, composta e encadeada. 
Há três estruturas de controle básicas em programação e construção de algoritmos que devemos conhecer:
Sequencial
Condicional
Repetição
-------
Prova
Questão 1/10
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 2/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 3/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
--------------- PROVAS ----------------
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 é 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 3/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
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
Questão 4/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.
 Resp: “Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a 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 5/10
Uma estrutura de controle do tipo condicional pode ter as seguintes composições:
A Condicional simples e encadeada.
B Condicional composta e encadeada.
C Condicional simples e condicional composta.
--> D Condicional simples, condicional composta e condicional encadeada.
 Resp: Slides e Vídeo-Aula 03.
Questão 6/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.
C Desvantagem: Dificuldade para transcrição do algoritmo para programa.
--> D Desvantagem: só é possível escrevê-la em Língua Portuguesa.
Questão 7/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 8/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
C 1 1 1
 1 0 0
 1 0 0
D 1 1 1
 0 0 0
 0 0 0
Questão 9/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 10/10
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
B result<-^base*expo
--> C result<-base^expo
D result<-base*(expo)^2
--------------- APOL -----------------------
Um algoritmo
pode ser escrito ou desenhado de várias formas. De acordo com tal premissa, identifique quais afirmativas estão corretas.
I-Descrição Narrativa: é uma forma de escrevermos um algoritmo em linguagem natural.
II-Fluxograma: é uma forma de desenharmos um algoritmo através de símbolos gráficos predefinidos de passos.
III-Diagrama de Fluxo de Dados: é uma forma de desenharmos um algoritmo através do fluxo de processos.
IV-Pseudocódigo: é uma forma de escrita em linguagem natural com algumas regras predefinidas de passos a serem seguidos para a resolução.
Qual o conjunto de Verdadeiros(V) e Falsos(F) corresponde à resposta?
--> 	A	V,V,F,V
	B	V,V,V,V
	C	V,V,F,F
	D	V,F,F,V
	E	F,V,F,V
Questão 2/5
A lógica pode ser compreendida como a arte de bem pensar e também como uma ciência que estuda as FORMAS do pensamento.
Em complemento a tal ideia, podemos afirmar que:
I- A lógica é a correção do pensamento.
II - Nos ensina a usar corretamente as leis do pensamento, segundo a filosofia, arte ou técnica.
III- A forma mais complexa do pensamento é a lógica.
IV- A lógica é proveniente da filosofia.
Em relação à lógica, seus conceitos e origens, qual das alternativas a seguir corresponde ao conjunto de Verdadeiros (V) e Falsos(F) CORRETO?
-->	A	V,V,F,V
	B	V,V,F,F
	C	F,V,F,V
	D	V,V,V,V
	E	V,F,F,V
Questão 3/5
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?
	A	V,F,V,F
	B	V,V,V,V
	C	F,F,V,V
--> 	D	V,F,V,V
	E	V,F,F,F
Questão 4/5
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.
Qual das alternativas abaixo complementa tal afirmativa?
	A	Além da matemática, somente a área de Direito faz uso da lógica.
-->	B	Todas as demais ciências, além da matemática, também fazem uso da lógica.
	C	Somente as áreas das ciências exatas utilizam a lógica.
	D	Somente as áreas de exatas e humanas utilizam a lógica.
	E	Somente as áreas de humanas, além da matemática, utilizam a lógica.
Questão 5/5
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.
 Observe que a descrição do problema pede:
 calcule a média de três valores quaisquer.
 Ele não fala em condicionar a média a algum valor.
	D	1-receber os três valores. 
 2 – somar os três valores. 
 3-mostrar a média aritmética.
	E	1-receber os dois valores. 
 2 –Calcular a média dos três valores. 
 3-mostrar a média aritmética.
Questão 1/5
Para o algoritmo abaixo, identifique a ordem das principais etapas da construção do algoritmo:
leia
escreva
leia
escreva
m <- n1*n2*n3
escreva m
Qual a resposta correta para este algoritmo?
	A	1-Entrada, 2-Saída, 3-Processamento
--> 	B	1-Entrada, 2-Processamento, 3-Saída
	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
	E	1-Processamento, 2-Saída, 3-Entrada
Questão 2/5
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 : logico
Quais 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
 Não podemos iniciar o nome de variáveis com números, logo, a variável 123x está definida de forma incorreta.
	B	F,V,V,F
	C	V,V,V,V
	D	F,V,F,F
	E	F,V,F,V
Questão 3/5
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
 B	V,V,F,F
	C	V,F,F,V
	D	F,F,F,V
	E	V,F,F,F
Questão 4/5
Para o algoritmo abaixo, identifique qual a parte de código representaria melhor a entrada dos dados:
	A	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)
	E	escreval(“Digite o valor de Pi:”)
 leia(Pi)
Questão 5/5
Para o algoritmo abaixo, identifique qual a parte de código preencheria a lacuna em aberto:
	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
	E	se (n1>n2) 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,">", n2,">", n2)
 fimse
Questão 1/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 encadeada por exemplo.
Qual seria a estrutura correta para seleção encadeada?
Nota: 20.0
-->	A	se <condição 1> 
entao 
 se <condição 2> 
 entao Comandos 
 fimse 
senao 
 se <condição 3> 
 entao Comandos 
 fimse 
fimse
	B	se <condição 1> 
entao 
fimse
 se <condição 2> 
 entao Comandos 
 fimse 
senao 
fimse
 se <condição 3> 
 entao Comandos 
 fimse 
fimse
	C	se <condição 1> 
 entao Comandos 
fimse
se <condição 2> 
 entao Comandos 
fimse
se <condição 3> 
 entao Comandos 
fimse
	D	se <condição 1> 
 entao Comandos 
fimse
se <condição 1> 
 entao Comandos 
fimse
	E	se <condição 2> 
 entao Comandos 
fimse
se <condição 2> 
 entao Comandos 
fimse
Questão 2/5 - Lógica de Programação e Algoritimos
O algoritmo a seguir faz o cálculo
da área de um retângulo.
01 algoritmo "Retangulo"
02 // Seção de Declarações
03 var
04 base, altura, area: real
05 inicio
06 // Seção de Comandos
07 escreval("Digite o valor para a base: ")
08 leia(base)
09 escreval("Digite o valor para a altura: ")
10 leia(base)
11 area<-base*altura
12 escreval("Area do retângulo=", altura)
13 fimalgoritmo
Porém, há dois erros. Quais seriam os erros?
-->	A	Na linha 10 deveria ser: leia(altura).
 Na linha 12 deveria ser: escreval("Area do retângulo=", area)
 01 algoritmo "Retangulo"
 02 // Seção de Declarações
 03 var
04 base, altura, area: real
 
05 inicio
06 // Seção de Comandos
07 escreval("Digite o valor para a base: ")
08 leia(base)
09 escreval("Digite o valor para a altura: ")
10 leia(altura)
 
11 area<-base*altura
12 escreval("Area do retângulo=", area)
 
13 fimalgoritmo
	B	Na linha 08 deveria ser: leia(altura).
 Na linha 12 deveria ser: escreval("Area do retângulo=", area)
	C	Na linha 11 deveria ser área=base*altura.
 Na linha 12 deveria ser: escreval("Area do retângulo=", area)
	D	Na linha 04 deveria ser: real: base, altura, area
 Na linha 12 deveria ser: escreval("Area do retângulo=", area)
	E	Na linha 10 deveria ser: leia(area).
 Na linha 13 deveria ser: escreval("Area do retângulo=", area)
Questão 3/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.
Nota: 20.0
	A	As linhas 25 e 26 estão erradas. Não deveria aparecer tal mensagem.
Na linha 19 deveria ser: b<-((b*3)-4*(a*c))
-->	B	Na linha 06 deveria ser: a,b,c, delta : inteiro
 Na linha 24 deveria ser: escreva("x2=",x2)
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,b,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=",x2)
 25 senao
 26 escreva("Equação não tem raízes, delta<0")
 27 fimse
 
 28 fimse
 
29 fimalgoritmo
	C	Na linha 04 deveria ser: inteiro: a,b,c, delta
Na linha 19 deveria ser: delta<-((b*2)-4*(a*c))
	D	Na linha 04 deveria ser: inteiro: a,b,c, delta
Está faltando um fimse na linha 25
	E	Na linha 10 deveria ser: leia(area).
Está faltando um fimse na linha 25
Questão 4/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
	A	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	var
x, idade,crianca,preadole,adolescente,adulto,qtx: inteiro
 
inicio
// Seção de Comandos
escreval("Digite a quantidade de entradas:")
leia(“qt”)
para x de 1 ate qt faca
	C	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-1 faca
-->	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
	E	var
x, idade,crianca,preadole,adolescente,adulto,qt: inteiro
inicio
// Seção de Comandos
escreval("Digite a quantidade de entradas:")
leia(“xt”)
para x de 1 ate qt faca
Questão 5/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
	B	caso <condição> 
 entao Comandos
 senao Comandos
fimse
	C	se <condição> 
 entao Comandos
fimse
 senao Comandos
fimse
	D	se <condição> 
 entao Comandos
fimse
se <condição> 
 entao Comandos
fimse
	E	se <condição> 
 entao Comandos
fimcondicao
se <condição> 
 entao Comandos
fimcondicao

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais