algoritmo "Calcula a soma do número e seus antecessores"
var
n,i,soma: inteiro
inicio
escreva("Digite um número ")
leia(n)
para i de n ate 1 passo -1 faca
soma<-i+soma
fimpara
escreval("A soma dos seus antecessores é:", soma)
fimalgoritmo
blog com objetivo de mostrar atividades e exercicios realizados nas materias de Algoritmos e Funtamentos da Computação FATEC ID
Mostrando postagens com marcador Laboratório de Desenvolvimento I. Mostrar todas as postagens
Mostrando postagens com marcador Laboratório de Desenvolvimento I. Mostrar todas as postagens
domingo, 5 de dezembro de 2010
7) Leia um numero N (inteiro, positivo >5). Depois, leia para um determinado grupo de pessoas (N) as seguintes informações:
Idade
Peso
Sexo
Este programa deve fornecer como saída:
a) A média dos pesos dos homens;
b) A média das idades das mulheres;
c) Quantas mulheres acima de 25 anos;
algoritmo “Média de pesos e de idades”
var
quantidadedepessoas,idade,m,idadetotal,mais25,l:inteiro
peso,pesototal,mediapeso,mediaidade:real
sexo:literal
inicio
idade<-1
l<-0
mediapeso<-0
escreva(“Digite a quantidade de pessoas:”)
leia(quantidadedepessoas)
se(quantidadedepessoas>5) entao
para quantidadedepessoas de quantidadedepessoas ate 1 passo – 1 faca
escreva(“Digite o sexo:”)
leia(sexo)
se (sexo = “masculino”) entao
l<-l+1
escreva(“Digite o peso:”)
leia(peso)
pesototal<-pesototal+peso
escreva(“Informe a idade:”)
leia(idade)
senao
m<-m+1
escreva(“Informe o peso:”)
leia(peso)
escreva(“Informe a idade:”)
leia(idade)
idadetotal<-idadetotal+idade
se(idade<25) entao
mais25<-mais25+1
fimse
fimse
fimpara
mediapeso<-pesototal/l
mediaidade<-idadetotal/m
escreval(“Média do peso dos homens:”,mediapeso)
escreval(“Média da idade das mulheres:”, mediaidade)
escreval(“Mulheres acima de 25 anos:”,mais25 )
senao
escreval(“Número insuficiente de pessoas.”)
fimse
fimalgoritmo
Peso
Sexo
Este programa deve fornecer como saída:
a) A média dos pesos dos homens;
b) A média das idades das mulheres;
c) Quantas mulheres acima de 25 anos;
algoritmo “Média de pesos e de idades”
var
quantidadedepessoas,idade,m,idadetotal,mais25,l:inteiro
peso,pesototal,mediapeso,mediaidade:real
sexo:literal
inicio
idade<-1
l<-0
mediapeso<-0
escreva(“Digite a quantidade de pessoas:”)
leia(quantidadedepessoas)
se(quantidadedepessoas>5) entao
para quantidadedepessoas de quantidadedepessoas ate 1 passo – 1 faca
escreva(“Digite o sexo:”)
leia(sexo)
se (sexo = “masculino”) entao
l<-l+1
escreva(“Digite o peso:”)
leia(peso)
pesototal<-pesototal+peso
escreva(“Informe a idade:”)
leia(idade)
senao
m<-m+1
escreva(“Informe o peso:”)
leia(peso)
escreva(“Informe a idade:”)
leia(idade)
idadetotal<-idadetotal+idade
se(idade<25) entao
mais25<-mais25+1
fimse
fimse
fimpara
mediapeso<-pesototal/l
mediaidade<-idadetotal/m
escreval(“Média do peso dos homens:”,mediapeso)
escreval(“Média da idade das mulheres:”, mediaidade)
escreval(“Mulheres acima de 25 anos:”,mais25 )
senao
escreval(“Número insuficiente de pessoas.”)
fimse
fimalgoritmo
6) Faça um programa que seja capaz de calcular o resultado de uma operação de divisão inteira (x dividido y), utilizando-se para isso apenas do operador de subtração (-).
algoritmo "Calcula Divisão com subtração"
var
x,y,vezes,soma:inteiro
inicio
y<-0
soma<- 0
escreva("Entre com um número:")
leia(x)
escreva("Entre com um número divisor:")
leia(y)
se(x
escreva("Não é possível realizar uma divisão inteira")
senao
soma<-x
vezes<-0
repita
soma<-soma-y
vezes<-vezes+1
ate(soma=0)
escreval(x," / ",y," = ",vezes)
fimse
fimalgoritmo
var
x,y,vezes,soma:inteiro
inicio
y<-0
soma<- 0
escreva("Entre com um número:")
leia(x)
escreva("Entre com um número divisor:")
leia(y)
se(x
escreva("Não é possível realizar uma divisão inteira")
senao
soma<-x
vezes<-0
repita
soma<-soma-y
vezes<-vezes+1
ate(soma=0)
escreval(x," / ",y," = ",vezes)
fimse
fimalgoritmo
5) Faça um programa que seja capaz de calcular o resultado de uma operação de multiplicação (x vezes y), utilizando-se para isso apenas do operador de soma (+).
Ex.: 12 * 3 = 36 = 12+12+12 (3 vezes)
algoritmo “Multiplicação com operador de soma”
var
total,multiplicador,multiplicando,i: inteiro
inicio
total<-0
i<-0
escreva(“Digite o multiplicador:”)
leia(multiplicador)
escreva(“Digite o multiplicando:”)
leia(multiplicando)
se (multiplicando>0) entao
repita
total<-total+multiplicador
i<-i+1
ate (i=multiplicando)
escreva (“O resultado é”,total)
senao
escreva (“O resultado é”,multiplicando)
fimse
fimalgoritmo
algoritmo “Multiplicação com operador de soma”
var
total,multiplicador,multiplicando,i: inteiro
inicio
total<-0
i<-0
escreva(“Digite o multiplicador:”)
leia(multiplicador)
escreva(“Digite o multiplicando:”)
leia(multiplicando)
se (multiplicando>0) entao
repita
total<-total+multiplicador
i<-i+1
ate (i=multiplicando)
escreva (“O resultado é”,total)
senao
escreva (“O resultado é”,multiplicando)
fimse
fimalgoritmo
4) Faça um programa para achar todos os números inteiros e positivos entre dois números lidos (N1 e N2), tais que:
) Não terminem em zero;
b) Se o dígito à direita for removido, o número restante seja divisor do número original. (ex: 39 (3 é divisor de 39).
algoritmo “Decomposição”
var
n,n1,n2,k:inteiro
inicio
escreva(“Digite início:”)
leia(n1)
escreva(“Digite final:”)
leia(n2)
n<-n2
repita
se ((n mod 10)<>0) entao
k<- n div 10
se (k<>0) entao
se ((n mod k)=0) entao
escreval(n)
fimse
fimse
fimse
n<-n+1
ate (n>n2)
fimalgoritmo
b) Se o dígito à direita for removido, o número restante seja divisor do número original. (ex: 39 (3 é divisor de 39).
algoritmo “Decomposição”
var
n,n1,n2,k:inteiro
inicio
escreva(“Digite início:”)
leia(n1)
escreva(“Digite final:”)
leia(n2)
n<-n2
repita
se ((n mod 10)<>0) entao
k<- n div 10
se (k<>0) entao
se ((n mod k)=0) entao
escreval(n)
fimse
fimse
fimse
n<-n+1
ate (n>n2)
fimalgoritmo
Faça um programa que, dado um número, imprima a sua tabuada completa.
algoritmo "Tabuada"
var
n,i,total :inteiro
inicio
escreva("Digite o número que você gostaria de ver a tabuada")
leia(n)
para i de 0 ate 10 faca
total<- n*i
escreval(n, "x" ,i, "=",total)
fimpara
fimalgoritmo
var
n,i,total :inteiro
inicio
escreva("Digite o número que você gostaria de ver a tabuada")
leia(n)
para i de 0 ate 10 faca
total<- n*i
escreval(n, "x" ,i, "=",total)
fimpara
fimalgoritmo
2) Faça um programa que mostre na tela o(s) número(s) dentro do intervalo entre 600 e 700 que sejam múltiplos de 5 e também de 7.
algoritmo "Múltiplos de 5 e 7"
var
i:inteiro
inicio
para i de 600 ate 700 faca
se((i mod 5 =0) e (i mod 7=0))entao
escreval(i)
fimse
fimpara
fimalgoritmo
var
i:inteiro
inicio
para i de 600 ate 700 faca
se((i mod 5 =0) e (i mod 7=0))entao
escreval(i)
fimse
fimpara
fimalgoritmo
1) Faça um programa que calcule a média aritmética de 35 alunos do curso de Algoritmos. Use comandos de repetição.
algoritmo "Média aritmética"
var
media, nota, soma:real
i:inteiro
inicio
soma<-0
para i de 1 ate 35 faca
escreva("Entre com a ",i,"º nota")
leia(nota)
soma<-soma+nota
fimpara
media<-soma/35
escreval("A média aritmética é: ",media )
fimalgoritmo
var
media, nota, soma:real
i:inteiro
inicio
soma<-0
para i de 1 ate 35 faca
escreva("Entre com a ",i,"º nota")
leia(nota)
soma<-soma+nota
fimpara
media<-soma/35
escreval("A média aritmética é: ",media )
fimalgoritmo
terça-feira, 17 de agosto de 2010
A Torre de Hanoi (L1)
O problema das Torres de Hanói foi inicialmente proposta pelo matemático francês Edouard Lucas, em 1883. Lucas elaborou para seu "invento" uma lenda curiosa sobre uma torre muito grande, a Torre de Brama, que foi criada no início dos tempos, com três hastes contendo 64 discos concêntricos. O criador do universo também gerou uma comunidade de monges cuja única atividade seria mover os discos da haste original ("A") para uma de destino ("C"). e estabeleceu o mundo acabaria quando os monges terminassem sua tarefa. Porém, os monges deveriam respeitar três regras na sua tarefa:
nunca colocar um disco maior sobre um disco menor;
pode-se mover um único disco por vez;
nunca colocar um disco noutro lugar que não numa das três hastes.
Assim, sua tarefa é encontrar a regra de movimentação ótima (que atinja o objetivo com um número mínimo de movimentos) e com isso estimar quanto tempo ainda nos resta!!
Suponha que cada disco leve 1 segundo para ser movido. Tente encontrar uma fórmula que, dado "n" devolva o número mínimo de movimentos para "n" discos.
nunca colocar um disco maior sobre um disco menor;
pode-se mover um único disco por vez;
nunca colocar um disco noutro lugar que não numa das três hastes.
Assim, sua tarefa é encontrar a regra de movimentação ótima (que atinja o objetivo com um número mínimo de movimentos) e com isso estimar quanto tempo ainda nos resta!!
Suponha que cada disco leve 1 segundo para ser movido. Tente encontrar uma fórmula que, dado "n" devolva o número mínimo de movimentos para "n" discos.
domingo, 15 de agosto de 2010
Os Missionários e Canibais (L2)
Nesse Problema deve ser resolvido Analisado as possibilidades e quais as maneiras para resolver o problema no modo de Algoritmo de maneira mais direta ficariam assim:
Transporte 2 canibais
Volte com 1 canibal , deixe do outro lado um canibal
Leve 2 canibais para o outro lado
Deixe 1 canibal do outro lado (que agora tem 2 canibais)
Volte com 1 canibal, leve 2 missionários
Deixe 1 missionário e 1 canibal do outro lado,
Volte com 1 canibal e 1 missionário
Troque o canibal pelo missionário, ficando do lado esquerdo 3 missionários.
Volte com 1 canibal e busque o outro canibal
Voltei com 1 canibal e busque o último, totalizando do lado esquerdo 3 canibais e 3 missionários.
Volte com 1 canibal , deixe do outro lado um canibal
Leve 2 canibais para o outro lado
Deixe 1 canibal do outro lado (que agora tem 2 canibais)
Volte com 1 canibal, leve 2 missionários
Deixe 1 missionário e 1 canibal do outro lado,
Volte com 1 canibal e 1 missionário
Troque o canibal pelo missionário, ficando do lado esquerdo 3 missionários.
Volte com 1 canibal e busque o outro canibal
Voltei com 1 canibal e busque o último, totalizando do lado esquerdo 3 canibais e 3 missionários.
Assinar:
Postagens (Atom)
