Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Klasa wyliczająca zakresy tętna
primo
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

Ostrzeżenie: (0%)
-----


Witam,

mam arkusz exel o następującej konstrukcji:


Tam gdzie są białe pola to należy wpisać dane, czyli wiek, waga, płeć, wzrost, i HRmax (Tmax w klasie).

Chcę ten arkusz przerobić na klasę php i móc ją wykorzystywać na stronie. Stanąłem jednak w martwym punkcie:

  1. <?php
  2. define('SEX_MAN','m');
  3. define('SEX_WOMAN', 'w');
  4.  
  5.  
  6. class Kalkulator {
  7.  
  8. /** Wartosć maksymalna tętna **/
  9. var $_Tmax = 0;
  10.  
  11. /** Wartosć minimalna tętna **/
  12. var $_Tmin = 0;
  13.  
  14. /** Wiek wypełniajacego kalkulator **/
  15. var $_Age = 0;
  16.  
  17. /** Waga wypełniajacego kalkulator **/
  18. var $_Weight = 0;
  19.  
  20. /** Wzrost wypełniajacego kalkulator **/
  21. var $_Height = 0;
  22.  
  23. /** Body mas index **/
  24. var $_BMI = '';
  25.  
  26. /** Płeć **/
  27. var $_Sex;
  28.  
  29. /** Wartość tętna po przeliczeniu procentowym w poszczególnych działach: trening,
     zawody, pulsometr **/
  30. var $_HR = '';
  31.  
  32. /** Tablica reprezentująca Kalkulator **/
  33. var $_array = array ();
  34.  
  35. /**
  36. * Konstruktor klasy
  37. **/
  38.  
  39. function Kalkulator ($sex, $weight, $age, $height, $tmax) {
  40. $this ->_Sex = $sex;
  41. $this ->_Weight = $weight;
  42. $this ->_Age = $age;
  43. $this ->_Height = $height;
  44. $this ->_Tmax  = $tmax;
  45. }
  46.  
  47. function Trening () {
  48.  
  49. }
  50.  
  51. function Zawody () {
  52.  
  53. }
  54.  
  55. function Pulsometr () {
  56.  
  57. }
  58.  
  59. /** Zwraca tablicę Kalkulator **/
  60.  
  61. function GetArray () {
  62. return $this->_array;
  63. }
  64.  
  65.  
  66. }
  67. ?>


Jak rzucicie okiem na gif to zauważycie, że podzielony jest on na 3 części: trening, zawody, pulsometr (utworzyłem 3 funkcje obsługujące te 3 strefy). Nie wiem jednak teraz jak potraktować te powtarzające się elementy jak trucht, owb1 itd. Czy stworzyć na początku klasy kolejne właściwości, czy też określić je w inny sposób.

Kolejne moje pytanie dotyczy określenie zakresu procentowego np. że trucht to jest zakres między 50 a 60% Tmax.

Czy poszczególne zakresy odnośnie kolejnych klas liczyć w tych klasach, czy też stworzyć osobną klasę wylicz () i tam to zrobić??

Może macie jakieś inne pomysły na rozwiązanie tego questionmark.gif

pozdrawiam

Ten post edytował primo 1.03.2007, 17:54:46


--------------------
Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo
gg1148730
Go to the top of the page
+Quote Post
Strzałek
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

Ostrzeżenie: (0%)
-----


Temat: Tematyka i zasady panujce na forum PHP PRO

Cytat
Dyskusje prowadzone tutaj powinny dotyczyć raczej strategii pisania aplikacji, metod rozwoju i podnoszenia elastyczności. Preferowanymi tematami są takie, które są wystarczająco kontrowersyjne aby prowadzić do dłużych dyskusji. Należy unikać poruszania konkretnych, drobnych kwestii. Na tego typu pytania jest miejsce na forum php.



----------
Strzalek: wystarczy zaraportowac.

Przenosze: PHP PRo --> PHP
--
dr_bonzo


--------------------
Go to the top of the page
+Quote Post
primo
post
Post #3





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

Ostrzeżenie: (0%)
-----


Cytat(Strzałek @ 1.03.2007, 18:00:09 ) *


Przepraszam, niedopatrzenie.

Proszę o przeniesienie.

Widzę że nikt nie garnie się do pomocy. Może za trudne questionmark.gif Kontynuuję jednak, może się ktoś z czasem dołączy.

Zastanawiam się ciągle nad tymi funkcjami Trening, Zawody, Pulsometr. Mają jakieś cechy wspólne: trucht, owb1, wb2, wb3, wt. Czy lepiej ifami określić co jest co czy ten sposób uznacie za odpowiedni:
  1. <?php
  2. function Trening () {
  3.  
  4. $trening = array (
  5. 'trucht_t' => $trucht_t,
  6. 'obw1_t' => $obw1_t,
  7. 'wb2_t'  => $wb2_t,
  8. 'wb3_t'  => $wb3_t,
  9. 'wt_t' => $wt_t
  10. );
  11.  
  12. }
  13.  
  14. function Zawody () {
  15.  
  16. }
  17.  
  18. function Pulsometr () {
  19.  
  20. $pulsometr = array (
  21.  'trucht_p' => $trucht_p,
  22.  'obw1_p' => $obw1_p,
  23.  'wb2_p'  => $wb2_p,
  24.  'wb3_p'  => $wb3_p,
  25.  'wt_p' => $wt_p
  26.  );
  27. }
  28. ?>


--------------------
Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo
gg1148730
Go to the top of the page
+Quote Post
DeyV
post
Post #4





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Nie do końca jestem w stanie zrozumieć problem, nie mając dostępu do wzorów i sposobu przeliczeń takiego arkusza.

Zrobiłbym to jednak chyba mniej więcej w taki sposób.
  1. <?php
  2. class Kalkulator{
  3. function __construct( $sex, $weight, $age, $height, $tmax ){ } 
  4.  // jakieś tablice i wspólne parametry
  5. }
  6.  
  7.  
  8. class KalkulatorTrening extends Kalkulator{
  9.  
  10. /** 
  11.    * @return array 
  12.    */
  13. function wylicz(){
  14.  
  15. } 
  16.  
  17. // parametry i wzór do wyliczeń 
  18. }
  19.  
  20. class KalkulatorZawody extends Kalkulator{
  21.  
  22. /** 
  23.    * @return array 
  24.    */
  25. function wylicz(){
  26.  
  27. } 
  28.  
  29. // parametry i wzór do wyliczeń 
  30. }
  31. ?>


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:37