• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

AriOps

[VB.Net 2005] Cálculo da distância dos Raios

32 mensagens neste tópico

T0_-1_1771681.JPG

Em tempos como os de agora, com muitas trovoadas este programa pode dar algum jeito quando não se tem nada que fazer  :D

Este programa efectua o cálculo, a partir dos segundos entre o Relâmpago (Luz) e o Trovão (Som), a distância a que o Raio caiu, de duas formas:

- 1 - Fornecendo os segundos directamente

- 2 - Fazendo um "live count", carregando num botão quando se vê o relâmpago e carregando novamente quando se ouve o trovão.

Desenvolvi (no papel) este programa numa aula de Física em que estava a dar esta matéria :D

Está muito simples, ainda assim espero que gostem.

Cumps :)

PS: Mais logo posto o source code  :D

Edit: Se a imagem inicial não aparecer usem este link aqui

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deves indicar qual a linguagem que utilizaste

Done :D

Ja postavas o executavel :D

Há gajos mesmo cegos :D

Está lá em cima o .rar com tudo :)

Têm de ter o .Net Framework 2.0 não se esqueçam!

Cumps :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem, o código fonte é este: (se preferirem os ficheiros .vb e de projecto digam)

Public Class Form1
    Dim vsom_noar As Integer = 343
    Dim valor_metros As Integer
    Dim valor As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        valor_metros = (Val(txtTempo.Text) * vsom_noar)
        lblResultado.Text = "Resultado: " & valor_metros & " metros ou " & (valor_metros / 1000) & " km."
    End Sub

    Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
        lblTempo2.Text = Val(lblTempo2.Text) + 1
        valor = lblTempo2.Text
    End Sub

    Private Sub cmdAccao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAccao.Click
        If cmdAccao.Text = "Começar" Then
            cmdAccao.Text = "Parar"
        Else
            cmdAccao.Text = "Começar"
        End If
        lblMetros.Text = "Resultado em metros " & (valor * vsom_noar) & "m"
        lblKm.Text = "Resultado em Kilómetros " & ((valor * vsom_noar)/1000) & "km"
        lblTempo2.Text = 1
        If Timer.Enabled = False Then
            Timer.Enabled = True
        Else
            Timer.Enabled = False
        End If
    End Sub
End Class

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lool

convertia para km em cima e em baixo não  :-[

vou já corrigir, thanks ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1º: Gente cega é uma coisa... A única pessoa que deve ser cega deve ser um familiar teu ou mesmo tu, pois ninguém te deu o direito de falar dessa maneira...

2º: Quando falei em excutável falei mesmo em .exe. exe=EXEcutável

3º: Fui irónico no meu post, mas aquele smile dizia tudo, não!?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1º: Gente cega é uma coisa... A única pessoa que deve ser cega deve ser um familiar teu ou mesmo tu, pois ninguém te deu o direito de falar dessa maneira...

2º: Quando falei em excutável falei mesmo em .exe. exe=EXEcutável

3º: Fui irónico no meu post, mas aquele smile dizia tudo, não!?

1º Estava a brincar contigo, não precisas de responder dessa maneira

2º Tens lá o .application que vai dar ao mesmo que o .exe, porque não consegui publicar aquilo para .exe

Cumps :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem após algum tempo à volta disto já consegui meter num só .exe :) Finalmente

Estou aberto a mais funcionalidades para o programa, alguém tem ideias?  :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa ter respondido assim...

Agora sim! os .aplication não funcionavam!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então e um sensor para meter na rua que detecte a luz do relampago e o som do trovão? :):D :D :D  Nugun, meke? eheh :):D

Era "muita ninja, néra" ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem após algum tempo à volta disto já consegui meter num só .exe :D Finalmente

Estou aberto a mais funcionalidades para o programa, alguém tem ideias?  :-[

Tenho uma excelente ideia para ti...

The speed varies depending on atmospheric conditions; the most important factor is the temperature. Humidity has little effect on the speed of sound, nor does air pressure per se. Air pressure has no effect at all in an ideal gas approximation.

[/quote]

Ou seja, incluais também a temperatura ambiente  :).

E claro, incluías uma margem de erro. Essa margem de erro era definido pelo utilizador. Tipo: 7 +- 0.1 seg -> que dava [ dist. mínima ; dist. máxima ]

Cumpr. bk@ero

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem após algum tempo à volta disto já consegui meter num só .exe :D Finalmente

Estou aberto a mais funcionalidades para o programa, alguém tem ideias?  :-[

Tenho uma excelente ideia para ti...

The speed varies depending on atmospheric conditions; the most important factor is the temperature. Humidity has little effect on the speed of sound, nor does air pressure per se. Air pressure has no effect at all in an ideal gas approximation.

[/quote]

Ou seja, incluais também a temperatura ambiente  :).

E claro, incluías uma margem de erro. Essa margem de erro era definido pelo utilizador. Tipo: 7 +- 0.1 seg -> que dava [ dist. mínima ; dist. máxima ]

Cumpr. bk@ero

Muito boa ideia :) Vou estudar isso :D

@pintassilgo:

Olha que isso não havia de ser muito difícil de fazer :D

Cumps :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
E claro, incluías uma margem de erro. Essa margem de erro era definido pelo utilizador. Tipo: 7 +- 0.1 seg -> que dava [ dist. mínima ; dist. máxima ]

Não percebi bem essa parte  :-[

Mas a da temperatura ambiente já está a bombar  :D

Aqui vai o source e o .exe ;)

Public Class Form1
    Dim temp As Integer
    Dim vsom_noar As Double = (331.5 * ((1 + (temp / 273.15)) ^ (1 / 2)))
    Dim valor_metros As Double
    Dim valor As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        temp = Val(txtTemp.Text)
        valor_metros = Math.Round((Val(txtTempo.Text)) * (331.5 * ((1 + (temp / 273.15)) ^ (1 / 2))), 2)
        lblResultado.Text = "Resultado: " & valor_metros & " metros ou " & Math.Round((valor_metros / 1000), 2) & " km."
    End Sub

    Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
        lblTempo2.Text = Val(lblTempo2.Text) + 1
        valor = lblTempo2.Text
    End Sub

    Private Sub cmdAccao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAccao.Click
        If cmdAccao.Text = "Começar" Then
            cmdAccao.Text = "Parar"
            temp = Val(txtTemp.Text)
            lblMetros.Text = "Resultado em metros:"
            lblKm.Text = "Resultado em Kilómetros:"
        Else
            cmdAccao.Text = "Começar"
            lblMetros.Text = "Resultado em metros: " & Math.Round((valor * (331.5 * ((1 + (temp / 273.15)) ^ (1 / 2)))), 4) & "m"
            lblKm.Text = "Resultado em Kilómetros: " & Math.Round(((valor * (331.5 * ((1 + (temp / 273.15)) ^ (1 / 2)))) / 1000), 4) & "km"
            lblTempo2.Text = 1
        End If
        If Timer.Enabled = False Then
            Timer.Enabled = True
        Else
            Timer.Enabled = False
        End If
    End Sub
End Class

Cumps :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então e um sensor para meter na rua que detecte a luz do relampago e o som do trovão? :):D :D :D  Nugun, meke? eheh :):D

Era "muita ninja, néra" ?

lollololl

epa... não esta nada mal pensado não  :D

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
E claro, incluías uma margem de erro. Essa margem de erro era definido pelo utilizador. Tipo: 7 +- 0.1 seg -> que dava [ dist. mínima ; dist. máxima ]

Não percebi bem essa parte  :-[

Em vez de calculares uma distância, calculas duas distancias:

distância maior = d( tempo + erro )

distância menor = d( tempo - erro )

Cumpr. bk@ero  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estou a gostar muito :)

Na parte da temperatura o que podias fazer era que ele fosse buscar os dados das temperaturas actuais nas diversas cidades do país a um site qualquer. Se não encontrasse nada (por estar offline) aparecia a box que tens agora.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas ai é que está!!! :):D hehe em breve (ou não lol) vai haver uma mega de uma base de dados caseira com temperaturas e etc e tal  por portugal a fora! :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas ai é que está!!! :):D hehe em breve (ou não lol) vai haver uma mega de uma base de dados caseira com temperaturas e etc e tal  por portugal a fora! :D

Esperemos que sim  :D

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quanto ao motion detect podia ser usado se tivesse acesso a um webcam que estivesse à janela ou num local onde apanhasse a luz, ou então algo mais complicado que era através das câmaras das ruas.

http://www.tvtuga.com/ --> webcams

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora