웹마스터 팁

http://jukiyo.net/data/sta.php험험;;오늘은 굉장히 쓸데없는 프로그램을 하나 만들어봤습니다...이름하여"기초 통계 프로그램"입니다;;

아주 간단한 for문으로 평균,편차,분산,표준편차를 구합니다;;

이걸 만든 동기가 중요한데 방학숙제인 문제집 풀기를 간단히 하기 위해서입니다;;;중 3 수학 교과서에 통계단원이 나오는데 이거 하나면 OK입니다;;;(사용 후 머리가 나빠졌다든가 따위는 사용자 책임입니다;;)계산기를 써도 되지만 아시다시피 엄청난 노가다;여서 강좌 겸해서 만들었습니다.

주석이 상제하게 붙어 있어 그걸로도 이해가 기실 겁니다...소스 나갑니다;;


*파일첨부는 안했으니 사용하시려면 복사와 붙여넣기로...


<?
//기초 통계 시스템-_-a


//자료 입력부
$data[] = 18;
$data[] = 23;
$data[] = 23;
$data[] = 17;
$data[] = 24;
$data[] = 21;
//무한히 늘려도 됨;;


//실행부
$datatotal = sizeof($data);                        //배열(자료)의 수 구함
if(!$datatotal) {                                  //자료가 없음;;
        echo("자료가 없습니다!");
        exit();                                         //해석을 끝내버린다
} else {
        if($datatotal == 1) {                           //자료가 하나뿐일때
                echo("자료가 하나뿐입니다!<p>");             //에러메시지를 내보내고 프로그램은 계속 실행한다
        }
        echo("<b>자료: ");
        for($i = 1;$i <= $datatotal;$i++) {             //총합을 구하는 for문
                $j = $i - 1;                                 //실제 배열의 값은 루프값보다 1 적다;
                $total += $data[$j];
                $str .= "$data[$j], ";                       //바로 echo문을 쓰지 않고 변수로 저장한다!!!
        }
        $str .= "(총 ${datatotal}개)";                  //총 갯수 변수에 추가
        $str =  str_replace(", ("," (",$str);           //맨뒤의 보기싫은 , 떼어버림
        $average = $total / $datatotal;                 //평균 계산
        $average = sprintf("%.3f",$average);            //소수점 아래 3자리까지
        echo("$str</b><p>평균: $average<br>");
        for($i = 1;$i <= $datatotal;$i++) {             //다시for문을 돈다;;;
                $j = $i - 1;                                 //이번 for문에서는 편차와 분산을 구한다.
                $del = $average - $data[$j];                 //편차 구함
                $str2 .= "$data[$j]: $del, " ;               //편차 문자열 합함
                $temp = pow($del,2);                         //편차제곱;;
                $dis += $temp;                               //편차제곱을 다 합해 분산 구함
        }
        $dis = $dis / $datatotal;                       //역시 자료수로 나눠준다
        $dis = sprintf("%.3f",$dis);                    //역시 소수점 아래 3자리까지
        $str2 .= "a";                                   //,를 떼기위해 맨뒤에 임의의 특징적인 문자열을 넣어준다
        $str2 =  str_replace(", a","",$str2);           //역시 ,와 아까 임의의 문자열 떼어버림
        echo("분산: $dis(편차 = $str2)<br>표준편차는 분산에 루트");
}
//여기까지



/*****************************************/
/*  제작자: TheMics(themics@hotmail.com  */
/*  사용은 자유입니다~                   */
/*****************************************/


제목 글쓴이 날짜
교육용 방명록 #8 [delete.php3파일에서 넘겨받은 비밀번호를 검사하여 글을 삭제합니다.] [18] zero 2000.07.03
MySQL 루트비번 분실시 대처요령 [29] zero 2001.04.18
노프레임/카운터에 관련된 PHP함수 팁 몇가지 [1] 차카게살자 2001.12.28
PHP 인증 페이지를 만들자! - Lesson 1 수정본 #2 ☺[폐]허접-_- 2002.01.24
PHP 인증 페이지를 만들자! - Lesson 2 수정본 #1 [5] ☺[폐]허접-_- 2002.01.24
회원관리 프로그램을 구현하고 싶은신 분들께.. [7] [폐]허접-_- 2002.03.18
PHP 인증 페이지를 만들자! - Lesson 3 수정본 #1 [3] ☺[폐]허접-_- 2002.01.24
M3U생성 프로그램을 통한 MP3실시간 듣기.. [11] ▒1q▒ 2001.09.13
배경 음악을 한번만 실행 시키기 - 쿠키이용 [4] 오기 2001.12.02
주소에서 음악 파일만 빼와 윈앰프로 실행하기 [1] file 오기 2001.12.04
[추천 팁] phpmyadmin 으로 복구 할때. 후니 2001.02.28
공부용 방명록이에욥^^. 주석왕창(페이지분할등.기능있어욥~) [2] 프리^^ 2001.04.16
최근게시물 - 첫글은 내용까지, 다음글부터 목록만... [15] СreдturЭ 2001.04.16
[APM] 한글, gif, jpeg, png 다되는 GD 설치 [4] 앤디(andy) 2001.05.22
GD를 이용해본 영어 발음기호 image출력 [3] 앤디(andy) 2001.05.24
쿠키 설정하고 불러올때 주의할점;; [윈도우 멀티부팅 사용하시는 초보분만] [9] daftya 2001.05.29
대화방을 만들어보쟈~ [20] 해그리드짱!!! 2001.06.03
자기 홈 또는 서버 연지 며칠이 지났는지 알 수 있는 php 소스 [15] 고종길 2001.06.03
홈페이지에 실시간뉴스 보여주기 [19] looster 2001.06.05
지금까지 살아온 날 계산해 주는 스크립트 [6] skyel 2001.07.20