Vous êtes sur la page 1sur 20

LISTA DE EXERCCIOS 01

Disciplina: Algoritmos e Lgica de Programao


Prof. Responsvel: Antonio Albiero

1580996656 DANIEL LUIS TROMBIM SILVA


1590906413 IGOR FERNANDES VANZELA
9930001168 LZARO D. AMRICO JNIOR
1411267266 LUCIANO DA SILVA BUENO
0055576525 MARCOS ANTONIO M. DA SILVA
0053576543 CLAUBERT MUNIZ DA SILVA

Piracicaba, 01 de Outubro de 2015.

LISTA DE EXECCIOS P1 ALGORITMOS E LGICA DE PROGRAMAO


TODOS OS EXERCCIOS DEVEM APRESENTAR (a) ALGORITMO EM LINGUAGEM NATURAL, (b) O
FLUXOGRAMA CORRESPONDENTE E (c) A LISTAGEM DO PROGRAMA EM PORTUGOL (VisuAlg).

1. A converso 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

INCIO

C (F-32)*5/9

FIM

PROGRAMA VISUALG

Algoritmo "Conversor de graus"


// Funo: Converter grau Fahrenheit em grau Celsius
// Autor: DILLMC
// Data: 20/09/2015
Var
f, c: real
Incio
escreval ("Fornea a temperatura em Fahrenheit)
Leia (f)
c<-(f-32)*5/9
escreval (c," Celsius")

fimalgoritmo

2. Elabore um algoritmo que informe se um dado ano ou no bissexto. Dica: um ano bissexto se ele for
divisvel por 400 ou se ele for divisvel por 4 e no por 100.
LINGUAGEM NATURAL
1- Obter o nmero do ano
2- Dividir o nmero do ano por 400, por 4 e por 100.
3- Verificar se o resultado da diviso por 400 nmero inteiro.
4- Se no for, verificar se o resultado da diviso por 4 inteiro e por 100 no .
5- Se for, exibir o resultado como ano bissexto, se no, ano no bissexto.
FLUXOGRAMA

INCIO

ANO

ANO / 400

ANO / 4

ANO / 100

NO ANO BISSEXTO

ANO BISSEXTO

FIM

PROGRAMA VISUALG

Algoritmo "Bissexto"
// Funo: Determinar se um ano bissexto ou no
// Autor: DILLMC
// Data: 20/09/2015
Var
ano, quatro, cem, quatrocentos: inteiro
Inicio
escreval ("Fornea 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 no bissexto")
fimse
senao
escreval ("O ano bissexto")
fimse
senao
escreval ("O ano no bissexto")
fimse
fimalgoritmo

3. Elaborar um algoritmo que efetue a leitura de um nmero inteiro e apresente uma mensagem informando
se o nmero par ou mpar. Dica: nmero par se o resto da diviso por 2 0.
LINGUAGEM NATURAL
1- Obter o nmero
2- Dividir o numero por 2
3- Se o resultado for um nmero inteiro, informar que o numero par, se no, informar que impar.

FLUXOGRAMA

INCIO

N


Resto<- (N%2

Resto=0

NMERO IMPAR

NMERO PAR

FIM

PROGRAMA VISUALG

Algoritmo: "par ou mpar"


// Funo: Informa se o nmero dado pelo usurio par ou mpar
// Autor: DILLMC
// Data: 20/09/2015
Var
n, resto: inteiro
Inicio
escreval ("Fornea um nmero")
leia (n)
resto<-(n%2)
se (resto=0) entao
escreval ("O nmero par")
senao
escreval ("O nmero mpar")
fimse
fimalgoritmo

4. Determinar dentre dois nmeros quaisquer fornecidos pelo usurio qual deles o maior. Armazenar o
maior numa varivel chamada A e o menor numa varivel chamada B. Exibir os valores de A e B.

LINGUAGEM NATURAL
1- Obter os valores de A e B
2- Ver qual nmero maior
3- Informar se A ou B o nmero maior
FLUXOGRAMA

INCIO

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

PROGRAMA VISUALG

Algoritmo "Determina o nmero maior"


// Funo: Determinar dentre dois nmeros qual o maior
// Autor: DILLMC
// Data: 20/09/2015
Var
n1, n2: real
Inicio
escreval ("Fornea o primeiro nmero")
leia (n1)
escreval ("Fornea o segundo nmero")
leia (n2)
se (n1>n2) entao
escreval (n1, n2, ", O primeiro nmero maior que o segundo nmero")
senao

escreval (n1, n2, ", O segundo nmero maior que o primeiro nmero")
fimse
fimalgoritmo

5. Elaborar um algoritmo que efetue a leitura de um valor que esteja entre a faixa de 1 a 9. Aps a leitura do
valor fornecido pelo usurio, o programa dever indicar uma de duas mensagens: O valor est na faixa
permitida, caso o usurio fornea o valor nesta faixa, ou a mensagem O valor est fora da faixa permitida,
caso o usurio fornea 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 no, O valor est fora da faixa permitida.
FLUXOGRAMA

INCIO

N1 >= 1 E N <= 9

O NUMERO ESTA DENTRO DA


FAIXA PERMITIDA

O NUMERO EST FORA


DA FAIXA PERMITIDA

FIM

PROGRAMA VISUALG

Algoritmo "Dentro ou fora da faixa"

// Funo: Determinar se o nmero est dentro ou fora da faixa permitida


// Autor: DILLMC
// Data: 20/09/2015
Var
n: real
Inicio
escreval ("Fornea um nmero")
leia (n)
se (n>=1) e (n<=9) entao
escreval ("O nmero est dentro da faixa permitida")
senao
escreval ("O nmero 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 frmulas:
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

INCIO

H, SEXO

SEXO = MASCULINO
N

HOMEM<-(72,7*H)-58

HOMEM, KG O PESO
IDEAL

SEXO = FEMININO
N

MULHER, KG O PESO
IDEAL

FIM

PROGRAMA VISUALG

Algoritmo "Calcula o peso ideal"


// Funo: Calcular o peso ideal para homens e mulheres
// Autor: DILLMC
// Data: 20/09/2015
Var
h, homem, mulher: real
sexo: caractere
Incio
escreval ("Fornea a altura desejada")
leia (h)
escreval ("Fornea 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

7. Escrever um algoritmo que leia valores inteiros em duas variveis distintas. Verifique o resto da diviso do
primeiro pelo segundo:
Se for 1, ento mostre a soma das variveis mais o resto da diviso;
Se for 2, mostre se os valores inseridos so 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 nmeros lidos pelo segundo, se este for diferente de zero.
Em qualquer outra situao mostre o quadrado dos nmeros lidos.
LINGUAGEM NATURAL
1- Obter os valores de uma varivel A e B
2- Dividir o valor de A pelo valor de B
3- Verificar o resto da diviso.

FLUXOGRAMA

INCIO

n1, n2

Resto<- (n1%n2)

Caso 1
o1<- (n1+n2)

o1, Resto

Caso 2
o2<- (n1%n2)
o22<- (n2%2)

O2=0
e o22=0

S
O NUMERO
PAR

Caso 3
o3<- (n1+n2)* n1

O NUMERO
IMPAR

o3

Caso 4
(n2<>0)
o4<- (n1+n2)/n2

o4

o5, o55

Outro caso
o5<-(n1*n1)
o55<-(n2*n2)

FIM

PROGRAMA VISUALG

Algoritmo "Verifica o resto de uma diviso e faz a estrutura escolha"


// Funo: Verificar o resto de uma diviso 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 ("Fornea o primeiro nmero")
leia (n1)
escreval ("Fornea o segundo nmero")
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 nmero par")
senao
escreval ("O nmero 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

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 contrrio mostrar uma mensagem que ele no 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 no, informar que no deve pagar nada.
FLUXOGRAMA

INCIO

peso

Resto<- (peso-50)

O VALOR EM KILOS
QUE EXCEDEU FOI ,
resto

(peso>50)

multa<- (resto*4)

VOC NO DEVE
PAGAR NADA

O VALOR DA
MULTA A SER AGO
, multa

FIM

PROGRAMA VISUALG

Algoritmo "Verifica o peso do peixe e analisa se excedeu o limite"


// Funo: 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 ("Fornea 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 no deve pagar nada")
fimse
fimalgoritmo

9. Faa um algoritmo que receba o valor do salrio de uma pessoa e o valor de um financiamento pretendido.
Caso o financiamento seja menor ou igual a 5 vezes o salrio da pessoa, o algoritmo dever escrever
Financiamento Concedido"; seno, ele dever escrever "Financiamento Negado". Independente de conceder
ou no o financiamento, o algoritmo escrever depois a frase "Obrigado por nos consultar."
LINGUAGEM NATURAL
1- Obter o valor do salrio da pessoa e o valor do financiamento pretendido.
2- Multiplicar o valor do salrio por 5
3- Verificar se o valor do financiamento menor que o resultado da multiplicao acima.
4- Se o valor for menor ou igual, informar que o financiamento foi concedido. Caso ao contrrio, informar
que no foi concedido
5- Escrever a mensagem Obrigado por nos consultar.

FLUXOGRAMA

INCIO

salrio

valor<- (salrio*5)
FORNEA O VALOR DO
FINANCIAMENTO DESEJADO

financiamento

(financiame
nto<=valor)

FINANCIAMENTO
CONCEDIDO

FINANCIAMENTO
NEGADO

OBRIGADO POR
NOS CONSULTAR

FIM

PROGRAMA VISUALG

Algoritmo "Financiamento"
// Funo: Verifica se o usurio pode ou no fazer um financiamento
// Autor: DILLMC
// Data: 21/09/2015
Var
salario, financiamento, valor: real
Inicio
escreval ("Fornea o valor do seu salrio")
leia (salario)
valor<-(salario*5)
escreval ("Fornea 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. Faa um programa que l 4 valores X, A, B e C onde X um nmero inteiro e positivo e A, B,e C so
quaisquer valores reais. O programa deve escrever os valores lidos e:
se X = 1 ou X=4, escrever os trs valores A, B e C em ordem crescente;
se X = 2 ou X=5, escrever os trs valores A, B e C em ordem decrescente;
se X = 3 ou X=6, escrever os trs valores A, B, e C de forma que o maior valor fique entre os outros dois;
se X no for um dos seis valores acima, fornecer uma mensagem indicando isso
LINGUAGEM NATURAL
1- Obter um nmero inteiro e positivo
2- Obter trs nmeros qualquer
3- Colocar os trs ltimos nmeros obtidos em ordem crescente
4- Caso o primeiro nmero obtido for 1 ou 4, escreva os trs ltimos nmeros em ordem crescente.
5- Caso o primeiro nmero obtido for 2 ou 5, escreva os trs ltimos nmeros em ordem decrescente.
6- Caso o primeiro nmero obtido for 3 ou 6, escreva os trs ltimos nmeros obtidos de forma que o
nmero maior fique entre os outros dois.
7- Em outro caso, escreva: No nenhum nmero entre 1 e 6.

FLUXOGRAMA

INCIO

(a>b)

aux<-a

a<-b
b<-aux

N
(b>c)

S
aux<-b

b<-c

c<-aux

((a<=b) e (b<=c))

Caso 1, 4

(a, b, c)

Caso 2, 5

(c, b, a)

Caso 3, 6

(a, c, b)
NO NENHUM
NMERO ENTRE 1 E 6

FIM

FIM

PROGRAMA VISUALG

Algoritmo "L 4 valores e trabalha funo escolha"


// Funo: L 4 valores e mostra algumas opes na funo escolha
// Autor: DILLMC
// Data: 21/09/2015
Var
x: inteiro
a, b, c, aux: real
Inicio
escreval ("Fornea o primeiro nmero inteiro e positivo")
leia (x)
escolha x
caso 1, 4
escreval ("Fornea o segundo nmero (qualquer N)")
leia (a)
escreval ("Fornea o terceiro nmero (qualquer N)")
leia (b)
escreval ("Fornea o quarto nmero (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(a, b, c)
caso 2, 5
escreval ("Fornea o segundo nmero (qualquer N)")
leia (a)
escreval ("Fornea o terceiro nmero (qualquer N)")
leia (b)
escreval ("Fornea o quarto nmero (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 ("Fornea o segundo nmero (qualquer N )")
leia (a)
escreval ("Fornea o terceiro nmero (qualquer N)")
leia (b)
escreval ("Fornea o quarto nmero (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(a, c, b)
outrocaso
escreval ("No nenhum nmero entre 1 e 6")
fimescolha
fimalgoritmo

Vous aimerez peut-être aussi