Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
1575/14246
1 #!/usr/bin/python -Wall
2 # -*- coding: utf8 -*-
3 # Soubor: 20120207-Tue-gonio.py
4 # Datum: 7.02.2012 08:56
5 # Autor: Marek Nožka, nozka <@t> spseol <d.t> cz
6 # Licence: GNU/GPL
7 # Úloha: tablky goniometrických funkcí
8 # Popis:
9 #
10 #####################################################
11
12 from sys import stdin, stdout, stderr
13 import math, readline
14
15
16 def degToRad(deg):
17 return deg*math.pi/180
18
19 def radToRad(rad):
20 return rad
21
22 jednotka = degToRad
23
24 def tiskTab(param):
25 try :
26 zac = float(param[0])
27 print gonio( jednotka( zac ) )
28 except:
29 stderr.write('ERROR: neplatný parametr "{0}" \n'.format(param[0]) )
30 ######################################################
31 # Hlavní programová smyčka
32 while True:
33 radek = raw_input('gonio>> ')
34 radek = radek.strip()# odstaní bílé znaky na začátku a konci
35 prikaz = radek.split() # prikaz je seznam
36 if len(prikaz) == 0 or prikaz[0].strip() == '':
37 continue # pro případ, že řádek je prázdný
38 if prikaz[0] == 'sin':
39 gonio = math.sin
40 tiskTab(prikaz[1:])
41 elif prikaz[0] == 'cos':
42 gonio = math.cos
43 tiskTab(prikaz[1:])
44 elif prikaz[0] == 'tg':
45 gonio = math.tan
46 tiskTab(prikaz[1:])
47 elif prikaz[0] =='deg':
48 jednotka = degToRad
49 elif prikaz[0] =='rad':
50 jednotka = radToRad
51 else:
52 stderr.write('ERROR: neplatný příkaz\n')