Buscar

Algoritmo II - Portfólio 6

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ALGORITMOS II 
 
ATIVIDADES DA AULA 06 
 
 
Para a construção dos algoritmos sugiro a utilização do programa Visualg, porém não 
é obrigatório. Todos os algoritmos desta atividade deverão ser enviados em um arquivo 
com um dos seguintes formatos: .doc, .docx ou .pdf. 
 
1. Faça um algoritmo contendo uma função recursiva para calcular a soma de dois 
números naturais através de incrementos sucessivos. O módulo principal do algoritmo 
deverá fazer a leitura de n e apresentar o resultado. 
Exemplo: 5 + 3 = (((5+1)+1)+1). 
 
Algoritmo "soma recursiva" 
 
Var 
 n1,n2,final: inteiro 
 
funcao soma(x,y: inteiro):inteiro 
var 
 resp: inteiro 
inicio 
 se y = 0 entao 
 retorne resp 
 senao 
 resp <- x + 1 + soma(x-x,y-1) 
 fimse 
 retorne resp 
fimfuncao 
 
Inicio 
 repita 
 escreva ("Digite um número natural para n1: ") 
 leia(n1) 
 ate n1 >=0 
 
 
 
 
 
 repita 
 escreva ("Digite um número natural para n2: ") 
 leia(n2) 
 ate n2 >=0 
 
 se n2 = 0 entao //Condicaopara retornar o valor de n1 digitado pelo usuario 
 final <- n1 //Pois se fosse para a funcao como zero, a resposta final 
 senao //sempre seria zero. independente do valor digitado de n1 
 final <- soma(n1,n2) 
 fimse 
 
 escreval ("A soma entre ",n1," e ",n2, " é de: ", final) 
fimalgoritmo 
2. Faça um algoritmo contendo uma função recursiva para fazer a multiplicação de dois 
números naturais, através de somas sucessivas. O módulo principal do algoritmo 
deverá fazer a leitura de n e apresentar o resultado. 
Exemplo 4 * 3 = ((4 + 4) + 4). 
 
Algoritmo "multiplicacao recursiva" 
 
Var 
 n1,n2,final: inteiro 
 
funcao mult(x,y: inteiro):inteiro 
var 
 resp: inteiro 
inicio 
 se y = 0 entao 
 retorne resp 
 senao 
 resp <- x + mult(x,y-1) 
 fimse 
 retorne resp 
fimfuncao 
 
Inicio 
 repita 
 escreva ("Digite um número natural para n1: ") 
 leia(n1) 
 ate n1 >=0 
 
 repita 
 escreva ("Digite um número natural para n2: ") 
 leia(n2) 
 ate n2 >=0 
 
 final <- mult(n1,n2) 
 
 escreval ("A multiplicacao entre ",n1," e ",n2, " é de: ", final) 
Fimalgoritmo

Continue navegando