Carnot e linguaggi diversi

esercitazione per confronto linguaggio
con
Excel, Visual Basic su Excel, Visual Basic su Powerpoint,Access

vedi procarnotx.xls



VBA su Excel

EXCEL vedi proca1x.xls

modificati lati

visual basic su powerpoint proca1.ppt

rem programma con dati prefissati

Private Sub CommandButton1_Click()
Dim area As Double
lato1 = 10 ' modificabile da codice
lato2 = 10 ' modificabile da codice
gradi3 = 60 ' modificabile da codice

lato1q = lato1 ^ 2
lato2q = lato2 ^ 2
radianti3 = gradi3 * 3.14 / 180
coseno3 = Cos(radianti3)
lato3q = lato1q + lato2q - 2 * lato1 * lato2 * coseno3
lato3 = Sqr(lato3q)
perimetro = lato1 + lato2 + lato3
semiperimetro = perimetro / 2
area = Sqr(semiperimetro * (semiperimetro - lato1) * (semiperimetro - lato2) * (semiperimetro - lato3))
seno3 = Sin(radianti3)
seno1 = lato1 * seno3 / lato3
seno2 = lato2 * seno3 / lato3
arcoseno1 = Atn(seno1 / Sqr(1 - seno1 ^ 2))
arcoseno2 = Atn(seno2 / Sqr(1 - seno2 ^ 2))
gradi1 = arcoseno1 * 180 / 3.14
gradi2 = arcoseno2 * 180 / 3.14
coseno1 = (lato2q + lato3q - lato1q) / (2 * lato2 * lato3)
coseno2 = (lato1q + lato3q - lato2q) / (2 * lato1 * lato3)
arcocoseno1 = Atn(Sqr(1 - coseno1 ^ 2) / coseno1)
arcocoseno2 = Atn(Sqr(1 - coseno2 ^ 2) / coseno2)
gradi11 = arcocoseno1 * 180 / 3.14
gradi22 = arcocoseno2 * 180 / 3.14


ListBox1.AddItem ("lato1 = " & lato1)
ListBox1.AddItem ("lato2 = " & lato2)
ListBox1.AddItem ("gradi3 = " & gradi3)
ListBox1.AddItem ("----calcolo quadrato dei lati 1,2 ------")
ListBox1.AddItem ("lato1q = " & lato1q)
ListBox1.AddItem ("lato2q = " & lato2q)
ListBox1.AddItem ("--trasformo in radianti angolo3-------------")
ListBox1.AddItem ("radianti3= " & radianti3)
ListBox1.AddItem ("--calcolo coseno angolo3------")
ListBox1.AddItem ("coseno3 =" & coseno3)
ListBox1.AddItem ("--calcolo quadrato lato3 con Carnot---")
ListBox1.AddItem ("lato3q =" & lato3q)
ListBox1.AddItem ("---calcolo radice per lato3 ----")
ListBox1.AddItem ("lato3 =" & lato3)
ListBox1.AddItem ("---calcolo perimetro e semiperimetro-----")
ListBox1.AddItem ("perimetro=" & perimetro)
ListBox1.AddItem ("semiperimetro=" & semiperimetro)
ListBox1.AddItem ("---calcolo area con Erone----")
ListBox1.AddItem ("area = " & area)
ListBox1.AddItem ("calcolo seno angolo3 ------")
ListBox1.AddItem ("seno3 = " & seno3)
ListBox1.AddItem ("---calcolo seno angoli con regola dei seni---")
ListBox1.AddItem ("seno1 = " & seno1)
ListBox1.AddItem ("seno2 = " & seno2)
ListBox1.AddItem ("calcolo arcoseno con ATN ----")
ListBox1.AddItem ("arcoseno1 = " & arcoseno1)
ListBox1.AddItem ("arcoseno2 = " & arcoseno2)
ListBox1.AddItem ("---converto angoli in gradi----")
ListBox1.AddItem ("gradi1 = " & gradi1)
ListBox1.AddItem ("gradi2 = " & gradi2)
ListBox1.AddItem ("----calcolo coseno angoli con Carnot ---")
ListBox1.AddItem ("coseno1 = " & coseno1)
ListBox1.AddItem ("coseno2 = " & coseno2)
ListBox1.AddItem ("---calcolo arcocoseno on ATN ---")
ListBox1.AddItem ("arcocoseno1 = " & arcocoseno1)
ListBox1.AddItem ("arcocoseno2 = " & arcocoseno2)
ListBox1.AddItem ("---trasformo in gradi -----")
ListBox1.AddItem ("gradi1 = " & gradi11)
ListBox1.AddItem ("gradi2 = " & gradi22)

End Sub

Private Sub CommandButton2_Click()
ListBox1.Clear
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""

End Sub

rem programma identico a precedente, inserimento dati da tastiera
Private Sub CommandButton3_Click()
Dim area As Double
lato1 = Val(TextBox1)
lato2 = Val(TextBox2)
gradi3 = Val(TextBox3)

lato1q = lato1 ^ 2
lato2q = lato2 ^ 2
radianti3 = gradi3 * 3.14 / 180
coseno3 = Cos(radianti3)
lato3q = lato1q + lato2q - 2 * lato1 * lato2 * coseno3
lato3 = Sqr(lato3q)
perimetro = lato1 + lato2 + lato3
semiperimetro = perimetro / 2
area = Sqr(semiperimetro * (semiperimetro - lato1) * (semiperimetro - lato2) * (semiperimetro - lato3))
seno3 = Sin(radianti3)
seno1 = lato1 * seno3 / lato3
seno2 = lato2 * seno3 / lato3
arcoseno1 = Atn(seno1 / Sqr(1 - seno1 ^ 2))
arcoseno2 = Atn(seno2 / Sqr(1 - seno2 ^ 2))
gradi1 = arcoseno1 * 180 / 3.14
gradi2 = arcoseno2 * 180 / 3.14
coseno1 = (lato2q + lato3q - lato1q) / (2 * lato2 * lato3)
coseno2 = (lato1q + lato3q - lato2q) / (2 * lato1 * lato3)
arcocoseno1 = Atn(Sqr(1 - coseno1 ^ 2) / coseno1)
arcocoseno2 = Atn(Sqr(1 - coseno2 ^ 2) / coseno2)
gradi11 = arcocoseno1 * 180 / 3.14
gradi22 = arcocoseno2 * 180 / 3.14


ListBox1.AddItem ("lato1 = " & lato1)
ListBox1.AddItem ("lato2 = " & lato2)
ListBox1.AddItem ("gradi3 = " & gradi3)
ListBox1.AddItem ("----calcolo quadrato dei lati 1,2 ------")
ListBox1.AddItem ("lato1q = " & lato1q)
ListBox1.AddItem ("lato2q = " & lato2q)
ListBox1.AddItem ("--trasformo in radianti angolo3-------------")
ListBox1.AddItem ("radianti3= " & radianti3)
ListBox1.AddItem ("--calcolo coseno angolo3------")
ListBox1.AddItem ("coseno3 =" & coseno3)
ListBox1.AddItem ("--calcolo quadrato lato3 con Carnot---")
ListBox1.AddItem ("lato3q =" & lato3q)
ListBox1.AddItem ("---calcolo radice per lato3 ----")
ListBox1.AddItem ("lato3 =" & lato3)
ListBox1.AddItem ("---calcolo perimetro e semiperimetro-----")
ListBox1.AddItem ("perimetro=" & perimetro)
ListBox1.AddItem ("semiperimetro=" & semiperimetro)
ListBox1.AddItem ("---calcolo area con Erone----")
ListBox1.AddItem ("area = " & area)
ListBox1.AddItem ("calcolo seno angolo3 ------")
ListBox1.AddItem ("seno3 = " & seno3)
ListBox1.AddItem ("---calcolo seno angoli con regola dei seni---")
ListBox1.AddItem ("seno1 = " & seno1)
ListBox1.AddItem ("seno2 = " & seno2)
ListBox1.AddItem ("calcolo arcoseno con ATN ----")
ListBox1.AddItem ("arcoseno1 = " & arcoseno1)
ListBox1.AddItem ("arcoseno2 = " & arcoseno2)
ListBox1.AddItem ("---converto angoli in gradi----")
ListBox1.AddItem ("gradi1 = " & gradi1)
ListBox1.AddItem ("gradi2 = " & gradi2)
ListBox1.AddItem ("----calcolo coseno angoli con Carnot ---")
ListBox1.AddItem ("coseno1 = " & coseno1)
ListBox1.AddItem ("coseno2 = " & coseno2)
ListBox1.AddItem ("---calcolo arcocoseno on ATN ---")
ListBox1.AddItem ("arcocoseno1 = " & arcocoseno1)
ListBox1.AddItem ("arcocoseno2 = " & arcocoseno2)
ListBox1.AddItem ("---trasformo in gradi -----")
ListBox1.AddItem ("gradi1 = " & gradi11)
ListBox1.AddItem ("gradi2 = " & gradi22)

End Sub
con Access vedi proca1x.mdb

inserire valore per lato1, lato2, gradi angolo3 compreso
calcolo lato3 con Carnot, Area con Erone,
angolo1, angolo2 con regola dei seni e con Carnot

cambiato lati