Я использую App Lab на Code.org, который использует команды JavaScript;Тем не менее, они имеют свои собственные элементы управления пользовательским интерфейсом.Следовательно, код будет содержать такие команды, как onEvent () и setText () и т. Д. И т. Д. Все это приемлемо.Я пытаюсь создать код для сферического закона косинусов, но мой вывод для числа - это печать NaN.Что это значит и как я могу это исправить?
Часть моего кода ниже:
onEvent("outputgoScrn","click",function(){
setScreen("outputScrn");
setText("output","The distance between these two locations is " + ((Math.acos((Math.cos(a)*(180/Math.PI))*(Math.cos(b)*(180/Math.PI)) + (Math.sin(a)*(180/Math.PI))*(Math.sin(b)*(180/Math.PI)) + (Math.cos(N)*(180/Math.PI))*(180/Math.PI)))) + " miles along the Great Circle.");
});
onEvent("lat1", "change", function() {
var choice = getProperty("lat1","value");
if(choice=="N") {
a = 90 - ((getNumber("lat1deg")+(getNumber("lat1min")/60)));
}
else if(choice=="S") {
a = 90 + (getNumber("lat1deg")+(getNumber("lat1min")/60));
}
});
onEvent("lat2", "change", function() {
var choice = getProperty("lat2","value");
if(choice=="N") {
b = 90 - ((getNumber("lat1deg")+(getNumber("lat1min")/60)));
}
else if(choice=="S") {
b = 90 + (getNumber("lat2deg")+(getNumber("lat2min")/60));
}
});
onEvent("lon1", "change", function() {
var choice = getProperty("lon1","value");
onEvent("lon2","change",function() {
var choice2 = getProperty("lon2","value");
if(choice=="E" && choice2=="E") {
N = (getText(("lon1deg")+(getText("lon1min")/60))) - (getText(("lon2deg")+(getText("lon2min")/60)));
}
else if(choice=="W" && choice2=="W") {
N = getText(("lon1deg")+(getText("lon1min")/60)) - getText(("lon2deg")+(getText("lon2min")/60));
}
else if(choice=="W"&&choice2=="E") {
N = getText(("lon1deg")+(getText("lon1min")/60)) + getText(("lon2deg")+(getText("lon2min")/60));
}
else if(choice=="E"&&choice2=="W") {
N = getText(("lon1deg")+(getText("lon1min")/60)) + getText(("lon2deg")+(getText("lon2min")/60));
}
});
});