// Muuttujat kulmille
let α, β, γ; // α = kulma A, β = kulma B, γ = hypotenuusan kulma (90°)
const calculateAngles = (a, b, c) => {
α = Math.asin(a / c) * (180 / Math.PI); // Kulma A
β = Math.asin(b / c) * (180 / Math.PI); // Kulma B
γ = 90; // hypotenuusan kulma on 90°
};
Mikä tässä koodissa pistää teitä silmään?
6
612
Vastaukset 6
- Anonyymi
Pystyykö muuttujan nimi olemaan ASCII:n ulkopuolelta?
- Anonyymi
Näköjään. Aika veemäistä kyllä naputella tuollaisia tavallisella näppiksellä. Kosketusnäytöllä hieman helpompaa.
- Anonyymi00004
Koodi on javaa, kun sen pitäisi olla vbs:ässää. Kiva varmaan etsiä noita kärpäsen paskoja (}) isommasta koodista.
- Anonyymi00005
Dim angles
angles = calculateAngles(Empty , 0.5, 1)
MsgBox("kulma A: " & Fix(angles(0)) & vbNewLine & "kulma B: " & Fix(angles(1)) & vbNewLine & "kulma C: " & angles(2))
angles = calculateAngles(Sqr(0.75), Empty, 1)
MsgBox("kulma A: " & Fix(angles(0)) & vbNewLine & "kulma B: " & Fix(angles(1)) & vbNewLine & "kulma C: " & angles(2))
angles = calculateAngles(Sqr(0.75), 0.5, Empty)
MsgBox("kulma A: " & Fix(angles(0)) & vbNewLine & "kulma B: " & Fix(angles(1)) & vbNewLine & "kulma C: " & angles(2))
Function calculateAngles(side_adjacent, side_opposite, side_hypotenuse)
' Muuttujat kulmille
Dim angle_A, angle_B, angle_C ' angle_A = kulma A, angle_B = kulma B, angle_C = hypotenuusan kulma (90°)
Dim ratio_opposite_hypotenuse, ratio_adjacent_hypotenuse, ratio_opposite_adjacent
Dim radians_to_degrees
radians_to_degrees = 180 / (4 * Atn(1))
If Not(IsEmpty(side_opposite)) And Not(IsEmpty(side_hypotenuse)) Then
ratio_opposite_hypotenuse = side_opposite / side_hypotenuse
angle_A = (Atn(ratio_opposite_hypotenuse / Sqr((-ratio_opposite_hypotenuse * ratio_opposite_hypotenuse) + 1))) * radians_to_degrees
angle_B = 90 - angle_A
ElseIf Not(IsEmpty(side_adjacent)) And Not(IsEmpty(side_hypotenuse)) Then
ratio_adjacent_hypotenuse = side_adjacent / side_hypotenuse
angle_A = (Atn(-ratio_adjacent_hypotenuse / Sqr((-ratio_adjacent_hypotenuse * ratio_adjacent_hypotenuse) + 1)) + 2 * Atn(1)) * radians_to_degrees
angle_B = 90 - angle_A
ElseIf Not(IsEmpty(side_opposite)) And Not(IsEmpty(side_adjacent)) Then
ratio_opposite_adjacent = side_opposite / side_adjacent
angle_A = Atn(ratio_opposite_adjacent)* radians_to_degrees
angle_B = 90 - angle_A
End If
angle_C = 90
calculateAngles = Array(angle_A, angle_B, angle_C)
End Function - Anonyymi00006
Mitä tulee aloitukseen.
Rivin
β = Math.ASIN(b / c) * (180 / Math.PI); // Kulma B
Pitäisi olla
β = Math.ACOS(b / c) * (180 / Math.PI); // Kulma B - Anonyymi00007
Suurin virhe on globaalien muuttujien käyttö, funktio ei palauta mitään. Myös ei tarkisteta, ovatko funktion argumentit järkeviä, positiivisia lukuja ja onko kyseessä suorakulmainen kolmio. Tässä parannettu versio:
const calculateAngles = (a, b, c) => {
if (a <= 0 || b <= 0 || c <= 0) {
throw new Error("Sivujen täytyy olla positiivisia.");
}
// Tarkistus: onko suorakulmainen kolmio?
if (Math.abs(a*a + b*b - c*c) > 1e-6) {
console.warn("Varoitus: a² + b² ≠ c², kolmio ei ole tarkasti suorakulmainen.");
}
const A = Math.asin(a / c) * (180 / Math.PI);
const B = Math.asin(b / c) * (180 / Math.PI);
const C = 90; // suorakulma
return { A, B, C };
};
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Suomalaisten pinna paloi - Ärsytys iskee uudesta TTK-juontajasta "Eihän tälle voi kun nauraa"
Oliko Veronica Verho hyvä valinta TTK-juontajaksi? Uuden TTK-juontajan henkilöllisyyttä on arvailtu siitä asti, kun Va1082227- 103896
- 66843
- 47818
Mitä tapahtuu?
Mitä tapahtuu Humalojalla? Poliiseja talon ympärillä ja paljon ihmisiä pitkin pihoja???21776Suomi on viittä vaille sodassa Venäjän kanssa...
...syynä tähän on kokoomuslainen presidenttimme Stubb. Hän on ainoa eurooppalaisen maan johtaja, joka kärkkäästi ja taha518725Olen vähän epävarma siitä, oletko kiltti
Nainen, ensivaikutelma oli, että olet tosi hyväsydäminen eli siinä mielessä harvinaisuus. Eli et mene virran mukana, etk76650- 65630
Herkkä, hellä, aurinkoinen, kaunis upea, valonsäde on hän nainen
Ja myös fiksu, älykäs ja luonnonläheinen. Erittäin mielenkiintoinen ja kiltti ihminen. Haluan tuntea hänet, koska kaik23590- 57561