Kotne funkcije
V razredu Math imaš metodi sin in cos, s katerima lahko računaš vrednosti kotnih funkcij.
Veš tudi to, da ti metodi kot argument uporabljata velikost kota v radianih, vendar ne poznaš metode,
ki spremeni stopinje v radiane. Napiši samostojne metode sin,
cos, tg in ctg, ki za argument
uporabijo kot v stopinjah.Npr. $\sin(30) = 0.5$, $\tan(45) = 1$. Metode tudi preizkusi.
Namig
Ker v metodi uporabimo metodo iz razreda Math, moramo kot izraziti v radianih: stopinje pomnožimo z matematično konstanto $\pi$ (Math.PI) ter delimo s 180 stopinjami. Za $\tan$ uporabimo definicijo $\tan x = \sin x / \cos x$, za $\cot x$ pa obratno.
Namig
Zapišemo vsako metodo posebej. Rezultat vseh je tip double, parameter pa tudi tip double.
Vsem metodam je tudi skupen del kot * Math.PI / 180.
Rešitev (Java)
import javax.swing.JOptionPane;
public class KotneFunkcije {
public static void main(String[] args) {
// preizkus metod
String vnos = JOptionPane.showInputDialog("Vpiši poljuben kot v stopinjah");
double kot = Double.parseDouble(vnos);
System.out.println("Vrednosti kotnih funkcij so:");
System.out.println("sin" + kot + " = " + sin(kot));
System.out.println("cos" + kot + " = " + cos(kot));
System.out.println("tg" + kot + " = " + tg(kot));
System.out.println("ctg" + kot + " = " + ctg(kot));
}
// metode za racunanje kotnih funkcij s koti izrazenimi v stopinjah
public static double sin(double kot) {
return Math.sin(kot * Math.PI / 180);
}
public static double cos(double kot) {
return Math.cos(kot * Math.PI / 180);
}
public static double tg(double kot) {
return Math.sin(kot * Math.PI / 180) / Math.cos(kot * Math.PI / 180);
}
public static double ctg(double kot) {
return Math.cos(kot * Math.PI / 180) / Math.sin(kot * Math.PI / 180);
}
}
Rešitev (C#)
using System;
using System.Collections.Generic;
using System.Text;
namespace KotneFunkcije {
class KotneFunkcije {
static void Main(string[] args) {
// preizkus metod
Console.Write("Vpiši poljuben kot v stopinjah: ");
String vnos = Console.ReadLine();
double kot = Double.Parse(vnos);
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-us");
Console.WriteLine("Vrednosti kotnih funkcij so:");
Console.WriteLine("sin" + kot.ToString("F01", ci) + " = " + sin(kot).ToString("F01", ci));
Console.WriteLine("cos" + kot.ToString("F01", ci) + " = " + cos(kot).ToString("F01", ci));
Console.WriteLine("tg" + kot.ToString("F01", ci) + " = " + tg(kot).ToString("F01", ci));
Console.WriteLine("ctg" + kot.ToString("F01", ci) + " = " + ctg(kot).ToString("F01", ci));
Console.ReadKey();
}
// metode za racunanje kotnih funkcij s koti izrazenimi v stopinjah
public static double sin(double kot) {
return Math.Sin(kot * Math.PI / 180);
}
public static double cos(double kot) {
return Math.Cos(kot * Math.PI / 180);
}
public static double tg(double kot) {
return Math.Sin(kot * Math.PI / 180) / Math.Cos(kot * Math.PI / 180);
}
public static double ctg(double kot) {
return Math.Cos(kot * Math.PI / 180) / Math.Sin(kot * Math.PI / 180);
}
}
}
Rešitev (Python)
#!C:/Python30/python
#-*-encoding: utf-8 -*-
# -*- coding: latin-1 -*-
'''
Created on 22.6.2009
@author: fajdigap
'''
import math
#metode za racunanje kotnih funkcij s koti izrazenimi v stopinjah
def sin(kot):
return math.sin(kot * math.pi / 180)
def cos(kot):
return math.cos(kot * math.pi / 180)
def tg(kot):
return sin(kot)/cos(kot)
def ctg(kot):
return cos(kot)/sin(kot)
# preizkus metod
kot = float(input("Vpiši poljuben kot v stopinjah"))
print ("Vrednosti kotnih funkcij so:")
print ("sin",kot,"=" ,sin(kot))
print ("cos", kot , "=" , cos(kot))
print ("tg", kot , "=" , tg(kot))
print ("ctg", kot ,"=" , ctg(kot))