Para finalizar a cadeira de algoritmo do meu curso técnico, tive de fazer um estudo a respeito dos subalgoritmos. Nessa pesquisa, era necessário englobar os assuntos: procedimentos, funções, passagem por parâmetro, além de definir o que é um subalgoritmo. E, por último, criar um algoritmo que abordasse tais assuntos.
Aqui no blog, vou postar apenas o meu algoritmo, mas nos links do scribd e do 4shared, é possível baixar o trabalho na íntegra.

Abaixo está o código do algoritmo, com vários comentários (//), só uma observação, este algoritmo foi criado para rodar no programa Visual G, pois é o que a minha escola técnica utiliza nas aulas.


algoritmo “queda_livre”
// Função : calcular o tempo e altura máxima de uma bola em queda livre
// Autor : Isabel Stumpf Mitchell
// Data : 18/06/2010
// obs: escreval -> para ter quebra de linha, no lugar de escreva


var
opcao : caracter // essa variável é para a escolha do menu
hmax, t, g,vel : real // variáveis para a efetuação dos cálculos


// função para calcular o tempo
// variável vi (var global) vai receber o valor da variável vel, que o usuário ira digitar
// rottempo -> nome da função que realizar o calculo de tempo
funcao rottempo (vi : real) : real // Função utilizando Passagem de Parâmetros por Valor
var
t, vf, g : real //var locais
inicio
g := 10
vf := 0
t := ((vi – vf)/g)*2
retorne t
fimfuncao

// função para calcular a altura máxima hmax
// variável vi (var global) vai receber o valor da variável vel, que o usuário ira digitar
// rothmax -> nome da função que realizar o cálculo da altura máxima
funcao rothmax (vi : real) : real
var
hmax, t, vf, g : real //var locais
inicio
g := 10
vf := 0
hmax := ((vi*vi) – (vf * vf)) / (2 * g) //equação de Torricelli
retorne hmax
fimfuncao


// sub-rotina procedimento
// responsável por mostrar a saída do algoritmo, ou seja, mostrar na tela o
// resultado das contas efetuadas
Procedimento saida
inicio
se (opcao = “1”) entao
escreval (“Tempo para a bola voltar ao solo = “, t, “s.”)
senao
se (opcao = “2”) entao
escreval (“Altura máxima atingida pela bola = “, hmax, “m.”)
fimse
fimse
fimprocedimento


// programa principal, aqui onde aparecerá o INICIO do programa
inicio

// Apresentação da questão a ser calculada
escreval (“==== QUESTÃO ====”)
escreval (“Uma bola de futebol é lançada para cima. Para se efetuar os cálculos, “)
escreval (“a resistência do ar será desprezada.”)
escreval (“Digite um valor para a velocidade, em m/s, em que a bola foi lançada, “)
escreval (“ou seja, essa será a velocidade inicial da bola.”)
leia (vel) // var global que será utilizada tanto pela função, quanto pelo procedimento
escreval (” “)


// menu para o usuário decidir qual calculo ele quer efetuar:
enquanto (opcao <> “3”) faca
escreval (” “)
escreval (” ==== MENU ==== “)
escreval (“1 – para calcular quanto tempo, em segundos, a bola vai levar para “)
escreval (” retornar ao solo.”)
escreval (“2 – para calcular a altura máxima atingida pela bola, em metros, “)
escreval (“supondo a aceleração da gravidade = 10m/s².”)
escreval (“3 – fim do programa.”)
escreval (“Escolha e digite uma das opções acima”)
leia (opcao)
escreval (” “)

// para verificar qual a opção do usuário e, assim, efetuar os cálculos:
se (opcao <> “3”) entao //condição: opção diferente de 3
escolha opcao
caso “1”
t := rottempo (vel) // t é a variável de saída, onde receberá o valor calculado
caso “2”
hmax := rothmax (vel) // hmax é a variável de saída, onde receberá o valor calculado
outrocaso
escreval (“Opção inválida. tente novamente.”)
fimescolha
saida
fimse
fimenquanto

fimalgoritmo
Referências:


Qualquer dúvida, é só postar um comentário!

 
Abraços,
Isabel
Facebook Comments
Subalgoritmos – um pequeno resumo…

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

X

Pin It on Pinterest

X