Download - Lista de Algoritmo Engenharia
![Page 1: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/1.jpg)
LISTA DE EXERCÍCIOS 01
Disciplina:
Prof.
Piracicaba,
LISTA DE EXERCÍCIOS 01
Algoritmos e Lógica de Programação
Prof. Responsável: Antonio Albiero
1580996656 – DANIEL LUIS TROMBIM SILVA
1590906413 – IGOR FERNANDES VANZELA
9930001168 – LÁZARO D. AMÉRICO JÚNIOR
1411267266 – LUCIANO DA SILVA BUENO
0055576525 – MARCOS ANTONIO M. DA SILVA
0053576543 – CLAUBERT MUNIZ DA SILVA
Piracicaba, 01 de Outubro de 2015.
Algoritmos e Lógica de Programação
DANIEL LUIS TROMBIM SILVA
IGOR FERNANDES VANZELA
LÁZARO D. AMÉRICO JÚNIOR
LUCIANO DA SILVA BUENO
MARCOS ANTONIO M. DA SILVA
CLAUBERT MUNIZ DA SILVA
![Page 2: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/2.jpg)
LISTA DE EXECÍCIOS P1 – ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
TODOS OS EXERCÍCIOS DEVEM APRESENTAR (a) ALGORITMO EM LINGUAGEM NATURAL, (b) O
FLUXOGRAMA CORRESPONDENTE E (c) A LISTAGEM DO PROGRAMA EM PORTUGOL (VisuAlg).
1. A conversão de graus Fahrenheit para graus Celsius é obtida por: C ← (F-32)*5/9. Fazer um algoritmo que
calcule o valor da temperatura em Celsius a partir do valor fornecido em Fahrenheit.
LINGUAGEM NATURAL
1- Obter o valor de F
2- Calcular o valor de C subtraindo 32 do valor de F e o resultado multiplicar por 5/9
3- Exibir o resultado de C
FLUXOGRAMA
PROGRAMA VISUALG
Algoritmo "Conversor de graus"
// Função: Converter grau Fahrenheit em grau Celsius
// Autor: DILLMC
// Data: 20/09/2015
Var
f, c: real
Início
escreval ("Forneça a temperatura em Fahrenheit”)
Leia (f)
c<-(f-32)*5/9
escreval (c,"º Celsius")
INÍCIO
F
C ← (F-32)*5/9
FIM
C
![Page 3: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/3.jpg)
fimalgoritmo
2. Elabore um algoritmo que informe se um dado ano é ou não bissexto. Dica: um ano é bissexto se ele for
divisível por 400 ou se ele for divisível por 4 e não por 100.
LINGUAGEM NATURAL
1- Obter o número do ano
2- Dividir o número do ano por 400, por 4 e por 100.
3- Verificar se o resultado da divisão por 400 é número inteiro.
4- Se não for, verificar se o resultado da divisão por 4 é inteiro e por 100 não é.
5- Se for, exibir o resultado como “ano bissexto”, se não, “ano não bissexto”.
FLUXOGRAMA
S N
N S
INÍCIO
ANO
ANO / 400
FIM
ANO BISSEXTO
ANO / 4
ANO / 100
NÃO É ANO BISSEXTO
![Page 4: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/4.jpg)
PROGRAMA VISUALG
Algoritmo "Bissexto"
// Função: Determinar se um ano é bissexto ou não
// Autor: DILLMC
// Data: 20/09/2015
Var
ano, quatro, cem, quatrocentos: inteiro
Inicio
escreval ("Forneça o ano:")
leia (ano)
quatro<-(ano%4)
se (quatro=0) entao
cem<-(ano%100)
se (cem=0) entao
quatrocentos<-(ano%400)
se (quatrocentos=0) entao
escreval ("O ano é bissexto")
senao
escreval ("O ano não é bissexto")
fimse
senao
escreval ("O ano é bissexto")
fimse
senao
escreval ("O ano não é bissexto")
fimse
fimalgoritmo
3. Elaborar um algoritmo que efetue a leitura de um número inteiro e apresente uma mensagem informando
se o número é par ou ímpar. Dica: número par se o resto da divisão por 2 é 0.
LINGUAGEM NATURAL
1- Obter o número
2- Dividir o numero por 2
3- Se o resultado for um número inteiro, informar que o numero é par, se não, informar que é impar.
![Page 5: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/5.jpg)
FLUXOGRAMA
�
S N
PROGRAMA VISUALG
Algoritmo: "par ou ímpar"
// Função: Informa se o número dado pelo usuário é par ou ímpar
// Autor: DILLMC
// Data: 20/09/2015
Var
n, resto: inteiro
Inicio
escreval ("Forneça um número")
leia (n)
resto<-(n%2)
se (resto=0) entao
escreval ("O número é par")
senao
escreval ("O número é ímpar")
fimse
fimalgoritmo
4. Determinar dentre dois números quaisquer fornecidos pelo usuário qual deles é o maior. Armazenar o
maior numa variável chamada A e o menor numa variável chamada B. Exibir os valores de A e B.
INÍCIO
N
Resto=0
NÚMERO PAR NÚMERO IMPAR
FIM
Resto<- (N%2
![Page 6: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/6.jpg)
LINGUAGEM NATURAL
1- Obter os valores de A e B
2- Ver qual número é maior
3- Informar se A ou B é o número é maior
FLUXOGRAMA
S N
PROGRAMA VISUALG
Algoritmo "Determina o número maior"
// Função: Determinar dentre dois números qual é o maior
// Autor: DILLMC
// Data: 20/09/2015
Var
n1, n2: real
Inicio
escreval ("Forneça o primeiro número")
leia (n1)
escreval ("Forneça o segundo número")
leia (n2)
se (n1>n2) entao
escreval (n1, n2, ", O primeiro número é maior que o segundo número")
senao
INÍCIO
N1,N2
N1>N2
N1,N2 “O PRIMEIRO NUMERO É
MAIOR QUE O SEGUNDO NUMERO N1,N2 “O SEGUNDO NUMERO É
MAIOR QUE O PRIMEIRO NUMERO
FIM
![Page 7: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/7.jpg)
escreval (n1, n2, ", O segundo número é maior que o primeiro número")
fimse
fimalgoritmo
5. Elaborar um algoritmo que efetue a leitura de um valor que esteja entre a faixa de 1 a 9. Após a leitura do
valor fornecido pelo usuário, o programa deverá indicar uma de duas mensagens: “O valor está na faixa
permitida”, caso o usuário forneça o valor nesta faixa, ou a mensagem “O valor está fora da faixa permitida”,
caso o usuário forneça valores menores que 1 ou maiores que 9.
LINGUAGEM NATURAL
1- Obter o valor
2- Verificar se o valor está dentro da faixa de 1 á 9
3- Se estiver, informar “O valor está na faixa permitida”, se não, “O valor está fora da faixa permitida”.
FLUXOGRAMA
S N
PROGRAMA VISUALG
Algoritmo "Dentro ou fora da faixa"
INÍCIO
N
N1 >= 1 E N <= 9
“O NUMERO ESTA DENTRO DA
FAIXA PERMITIDA”
FIM
“O NUMERO ESTÁ FORA
DA FAIXA PERMITIDA”
![Page 8: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/8.jpg)
// Função: Determinar se o número está dentro ou fora da faixa permitida
// Autor: DILLMC
// Data: 20/09/2015
Var
n: real
Inicio
escreval ("Forneça um número")
leia (n)
se (n>=1) e (n<=9) entao
escreval ("O número está dentro da faixa permitida")
senao
escreval ("O número está fora da faixa permitida")
fimse
fimalgoritmo
6. Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um algoritmo que calcule o peso
ideal, utilizando as seguintes fórmulas:
Para homens: (72.7*h) – 58
Para mulheres: (62.1*h) – 44.7. h equivale a altura da pessoa.
LINGUAGEM NATURAL
1- Obter a altura e o sexo da pessoa.
2- Se for homem, multiplicar a altura por 72,7 e subtrair 58. Se for mulher, multiplicar por 62,1 e subtrair
44,7.
3- Exibir o resultado informando ser o peso ideal.
FLUXOGRAMA
S
N
INÍCIO
H, SEXO
SEXO = MASCULINO
HOMEM<-(72,7*H)-58
![Page 9: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/9.jpg)
S
N
PROGRAMA VISUALG
Algoritmo "Calcula o peso ideal"
// Função: Calcular o peso ideal para homens e mulheres
// Autor: DILLMC
// Data: 20/09/2015
Var
h, homem, mulher: real
sexo: caractere
Início
escreval ("Forneça a altura desejada")
leia (h)
escreval ("Forneça o sexo desejado")
leia (sexo)
se (sexo="masculino") ou (sexo="m") entao
homem<-(72.7*h)-58
escreval (homem," Kg é o peso ideal")
fimse
se (sexo="feminino") ou (sexo="f") entao
mulher<-(62.1*h)-44,7
escreval (mulher," Kg é o peso ideal")
fimse
fimalgoritmo
FIM
HOMEM, “KG É O PESO
IDEAL”
MULHER, “KG É O PESO
IDEAL”
SEXO = FEMININO
![Page 10: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/10.jpg)
7. Escrever um algoritmo que leia valores inteiros em duas variáveis distintas. Verifique o resto da divisão do
primeiro pelo segundo:
Se for 1, então mostre a soma das variáveis mais o resto da divisão;
Se for 2, mostre se os valores inseridos são pares ou ímpares;
Se for igual a 3, multiplique a soma dos valores lidos pelo primeiro;
Se for igual a 4 divida a soma dos números lidos pelo segundo, se este for diferente de zero.
Em qualquer outra situação mostre o quadrado dos números lidos.
LINGUAGEM NATURAL
1- Obter os valores de uma variável A e B
2- Dividir o valor de A pelo valor de B
3- Verificar o resto da divisão.
![Page 11: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/11.jpg)
FLUXOGRAMA
INÍCIO
n1, n2
FIM
o1, Resto
Resto<- (n1%n2)
Caso 1
o1<- (n1+n2)
Caso 2
o2<- (n1%n2)
o22<- (n2%2)
“O NUMERO É
PAR”
O2=0
e o22=0
“O NUMERO É
IMPAR”
Caso 3
o3<- (n1+n2)* n1
Caso 4
(n2<>0)
o4<- (n1+n2)/n2
o3
o4
Outro caso
o5<-(n1*n1)
o55<-(n2*n2)
o5, o55
N
S
![Page 12: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/12.jpg)
PROGRAMA VISUALG
Algoritmo "Verifica o resto de uma divisão e faz a estrutura escolha"
// Função: Verificar o resto de uma divisão e faz a estrutura escolha
// Autor: DILLMC
// Data: 20/09/2015
Var
n1, n2, r, resto, o1, o2, o22, o3, o5, o55: inteiro
o4: real
Inicio
escreval ("Forneça o primeiro número")
leia (n1)
escreval ("Forneça o segundo número")
leia (n2)
resto<-(n1%n2)
escolha resto
caso 1
o1<-(n1+n2)
escreva (o1)
escreval (resto)
caso 2
o2<-(n1%2)
o22<-n2%2)
se (o2=0) e (o22=0) entao
escreval ("O número é par")
senao
escreval ("O número é ímpar")
fimse
caso 3
o3<-(n1+n2)*n1
escreval (o3)
caso 4
se (n2<>0) entao
o4<-(n1+n2)/n2
escreval (o4)
fimse
outrocaso
o5<-(n1*n1)
o55<-(n2*n2)
escreva (o5)
escreval (o55)
fimescolha
fimalgoritmo
![Page 13: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/13.jpg)
8. Toda vez que um pescador consegue pescar um peso de peixes maior que o estabelecido pelo
regulamento do pesqueiro (50 quilos) deve pagar uma multa de R$ 4,00 por quilo excedente. Desenvolva um
algoritmo que leia a o peso de peixes e verifique se há excesso. Se houver, determine quanto é o excesso e o
valor da multa que o pescador deverá pagar. Caso contrário mostrar uma mensagem que ele não deve pagar
nada.
LINGUAGEM NATURAL
1- Obter o peso do peixe pescado
2- Subtrair 50 do peso e multiplicar por R$4,00
3- Se o valor for maior que R$0,00, mostrar o valor, se não, informar que não deve pagar nada.
FLUXOGRAMA
INÍCIO
peso
FIM
(peso>50)
Resto<- (peso-50) multa<- (resto*4)
“ O VALOR EM KILOS
QUE EXCEDEU FOI” ,
resto
“ O VALOR DA
MULTA A SER AGO
É” , multa
“ VOCÊ NÃO DEVE
PAGAR NADA”
N S
![Page 14: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/14.jpg)
PROGRAMA VISUALG
Algoritmo "Verifica o peso do peixe e analisa se excedeu o limite"
// Função: Verificar o peso do peixe e analisar se ultrapassou o limite do pesqueiro
// Autor: DILLMC
// Data: 21/09/2015
Var
peso, resto, multa: real
Inicio
escreval ("Forneça o peso do peixe")
leia (peso)
se (peso>50) entao
resto<-(peso-50)
multa<-(resto*4)
escreval ("O valor em kilos que excedeu foi" ,resto)
escreval ("O valor da multa a ser pago é" ,multa)
senao
escreval ("Você não deve pagar nada")
fimse
fimalgoritmo
9. Faça um algoritmo que receba o valor do salário de uma pessoa e o valor de um financiamento pretendido.
Caso o financiamento seja menor ou igual a 5 vezes o salário da pessoa, o algoritmo deverá escrever
“Financiamento Concedido"; senão, ele deverá escrever "Financiamento Negado". Independente de conceder
ou não o financiamento, o algoritmo escreverá depois a frase "Obrigado por nos consultar."
LINGUAGEM NATURAL
1- Obter o valor do salário da pessoa e o valor do financiamento pretendido.
2- Multiplicar o valor do salário por 5
3- Verificar se o valor do financiamento é menor que o resultado da multiplicação acima.
4- Se o valor for menor ou igual, informar que o financiamento foi concedido. Caso ao contrário, informar
que não foi concedido
5- Escrever a mensagem “Obrigado por nos consultar.
![Page 15: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/15.jpg)
FLUXOGRAMA
INÍCIO
salário
FIM
(financiame
nto<=valor)
“ FINANCIAMENTO
CONCEDIDO”
“ OBRIGADO POR
NOS CONSULTAR”
“ FINANCIAMENTO
NEGADO”
N S
valor<- (salário*5)
“ FORNEÇA O VALOR DO
FINANCIAMENTO DESEJADO”
financiamento
![Page 16: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/16.jpg)
PROGRAMA VISUALG
Algoritmo "Financiamento"
// Função: Verifica se o usuário pode ou não fazer um financiamento
// Autor: DILLMC
// Data: 21/09/2015
Var
salario, financiamento, valor: real
Inicio
escreval ("Forneça o valor do seu salário")
leia (salario)
valor<-(salario*5)
escreval ("Forneça o valor do financiamento desejado")
leia (financiamento)
se (financiamento<=valor) entao
escreval ("Financiamento concedido")
escreval ("Obrigado por nos consultar")
senao
escreval ("Financiamento negado")
escreval ("Obrigado por nos consultar")
fimse
fimalgoritmo
10. Faça um programa que lê 4 valores X, A, B e C onde X é um número inteiro e positivo e A, B,e C são
quaisquer valores reais. O programa deve escrever os valores lidos e:
se X = 1 ou X=4, escrever os três valores A, B e C em ordem crescente;
se X = 2 ou X=5, escrever os três valores A, B e C em ordem decrescente;
se X = 3 ou X=6, escrever os três valores A, B, e C de forma que o maior valor fique entre os outros dois;
se X não for um dos seis valores acima, fornecer uma mensagem indicando isso
LINGUAGEM NATURAL
1- Obter um número inteiro e positivo
2- Obter três números qualquer
3- Colocar os três últimos números obtidos em ordem crescente
4- Caso o primeiro número obtido for 1 ou 4, escreva os três últimos números em ordem crescente.
5- Caso o primeiro número obtido for 2 ou 5, escreva os três últimos números em ordem decrescente.
6- Caso o primeiro número obtido for 3 ou 6, escreva os três últimos números obtidos de forma que o
número maior fique entre os outros dois.
7- Em outro caso, escreva: “Não é nenhum número entre 1 e 6”.
![Page 17: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/17.jpg)
FLUXOGRAMA
INÍCIO
x
(a>b)
N
S
aux<-a
a
b
c
a<-b
b<-aux
(b>c) N
S
aux<-b
b<-c
c<-aux
((a<=b) e (b<=c))
(a, b, c) Caso 1, 4
(c, b, a) Caso 2, 5
(a, c, b) Caso 3, 6
“NÃO É NENHUM
NÚMERO ENTRE 1 E 6”
![Page 18: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/18.jpg)
PROGRAMA VISUALG
Algoritmo "Lê 4 valores e trabalha função escolha"
// Função: Lê 4 valores e mostra algumas opções na função escolha
// Autor: DILLMC
// Data: 21/09/2015
Var
x: inteiro
a, b, c, aux: real
Inicio
escreval ("Forneça o primeiro número inteiro e positivo")
leia (x)
escolha x
caso 1, 4
escreval ("Forneça o segundo número (qualquer Nº)")
leia (a)
escreval ("Forneça o terceiro número (qualquer Nº)")
leia (b)
escreval ("Forneça o quarto número (qualquer Nº)")
leia (c)
repita
se (a > b) entao
aux <- a
a <- b
FIM
FIM
![Page 19: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/19.jpg)
b <- aux
fimse
se (b > c) entao
aux <- b
b <- c
c <- aux
fimse
ate ((a <= b) e (b <= c))
escreval(a, b, c)
caso 2, 5
escreval ("Forneça o segundo número (qualquer Nº)")
leia (a)
escreval ("Forneça o terceiro número (qualquer Nº)")
leia (b)
escreval ("Forneça o quarto número (qualquer Nº)")
leia (c)
repita
se (a > b) entao
aux <- a
a <- b
b <- aux
fimse
se (b > c) entao
aux <- b
b <- c
c <- aux
fimse
ate ((a <= b) e (b <= c))
escreval(c, b, a)
caso 3, 6
escreval ("Forneça o segundo número (qualquer Nº )")
leia (a)
escreval ("Forneça o terceiro número (qualquer Nº)")
leia (b)
escreval ("Forneça o quarto número (qualquer Nº)")
leia (c)
repita
se (a > b) entao
aux <- a
a <- b
b <- aux
fimse
se (b > c) entao
aux <- b
b <- c
c <- aux
![Page 20: Lista de Algoritmo Engenharia](https://reader035.vdocuments.com.br/reader035/viewer/2022081803/5695d2711a28ab9b029a7573/html5/thumbnails/20.jpg)
fimse
ate ((a <= b) e (b <= c))
escreval(a, c, b)
outrocaso
escreval ("Não é nenhum número entre 1 e 6")
fimescolha
fimalgoritmo