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

8) Fazer um programa para calcular a soma dos N primeiros números, onde N é lido.

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

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

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

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

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

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

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

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

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.

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.