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