\documentclass{jarticle}
\usepackage{vmargin}
\usepackage{epsfig}
\usepackage{times}
%\usepackage{mathptmx}
     \usepackage{helvet}
     \usepackage{courier}
\usepackage{listings}
\setpapersize{A4}
\setmarginsrb{20mm}{20mm}{20mm}{20mm}{5mm}{5mm}{5mm}{5mm}
\begin{document}
\begin{center}
\begin{LARGE}
\mbox{}\\
\vspace{5cm}
\LARGE C ����ɂ��ŏ����@�̒l�̌v�Z
\\
\vspace{5cm}
�w�Дԍ�: XXkcXXX\\ ��{ ���u\\
\vspace{5cm}
\today
\end{LARGE}
\end{center}
\clearpage
\pagestyle{plain}
\section{�ۑ�}
�^����ꂽ�f�[�^ $x_i$, $y_i$ �ɑ΂��āA�ŏ����@��p���� $x_i$,
$y_i$ �̊֌W���ߎ����钼���̕����� $y=ax+b$ �� $a$, $b$ �����߂�v���O
������ C ����ō��Ȃ����B
�����āA�^����ꂽ�f�[�^(\ref{huroku}�Q��)�ɑ΂��Ď��ۂɒl�����߂Ȃ�
���B
\section{�ŏ����@�Ƃ�}
��l�̑g�ƂȂ�f�[�^ ($x_1$, $y_1$), ($x_2$, $y_2$), $\cdots$ ($x_n$,
$y_n$) �ɑ΂��āA�����̃f�[�^�̊Ԃ� $y=ax+b$ �Ƃ����֌W�����藧�Ɖ��肵�āA
$a$, $b$ �����߂邱�Ƃ��l����B

\begin{figure}[hbt]
\begin{center}
\epsfig{file=graph3.eps, width=8cm}
\end{center}
\caption{�f�[�^��}
\end{figure}

�����A����ꂽ�f�[�^�����m�� $y=ax+b$ �̊֌W�𖞂����Ă��鎞�́A�ǂ̃f�[
�^������ $y=ax+b$ �ŕ\����钼���̏�ɏ���Ă���B
�]���āA�f�[�^�̒�����C�ӂɓ�_��I��ŁA���̓�_��ʂ钼�������߂��
�ǂ��B

�������A����ꂽ�f�[�^�� $y=ax+b$ �𐳊m�ɖ������ĂȂ��ꍇ�A�܂�A��
��ꂽ�f�[�^�̂ǂ̓�_�����Ԓ����ɑ΂��āA���̃f�[�^�_�����̒����ɏ�
��Ȃ��ꍇ�́A���̂悤�ȉ�@�͎g���Ȃ��B
���̂悤�ȏ󋵂ł́A�Ȃ�ׂ��e�_�ɋ߂������̎������߂邱�Ƃ��K�v�ƂȂ�B
���̂��߂ɂ́A����������߂����ɂ��̒������e�_�ɂǂ̒��x�߂����l����
�K�v������B

$a$, $b$ �ɗǂ��l����܂��Ă���ꍇ�A�e $x_i$. $y_i$ �ɑ΂��� $a x_i +
b$ �� $y_i$ �͋߂��l�ɂȂ��Ă���͂��ł���B
�܂�A $y_i - a x_i - b$ �� $0$ �ɂ͂Ȃ�Ȃ��Ă�
$0$ �ɋ߂��l�ɂȂ�͂��ł���B
�]���āA�e�_�ɑ΂��Ă��̒l�̓������ߘa���Ƃ�ƁA�e�_�ɑ΂��钼���̋߂�
��\�����Ƃ��ł���B
���̓��̘a�̒l�� $a$ �� $b$ �ɂ���܂�̂ŁA�֐� $f(a,b)$ �ƍl����
���Ƃ��ł���B
\begin{eqnarray}
f(a,b)&=&\sum_{i=1}^{n}(y_i-ax_i-b)^2\nonumber\\
&=&\sum_{i=1}^{n} (y_i^2 +a^2x_i^2+b^2-2ax_iy_i-2by_i+2abx_i) 
\end{eqnarray}
���̎����ŏ��ɂ���悤�� $a$, $b$ �́A�^����ꂽ�e�_��ǂ��ߎ����钼���̎�
$y=ax+b$ �ƂȂ�B
�Ȍ�͂��� $f(a,b)$ �̒l������������ $a$, $b$ �̋��ߕ����l����B
$f(a,b)$ �͕Δ����\�Ȃ̂ŁA���̒l���ŏ��ɂ��� $a$, $b$ �ɑ΂��āA$f(a,b)$ �͓�
���ɋɒl���Ƃ�B
�]���āA $a$, $b$ �ɑ΂��āA�Δ������s���ɒl�ɂȂ� $a$, $b$ �����߂�B
\begin{eqnarray}
\frac{\partial f}{\partial a}&=&\sum_{i=1}^{n}
(2ax_i^2-2x_iy_i+2bx_i) \nonumber\\
&=&2a\sum_{i=1}^{n}x_i^2
-2\sum_{i=1}^{n}x_iy_i+2b\sum_{i=1}^{n}x_i \label{eqa}\\
\frac{\partial f}{\partial b}&=&\sum_{i=1}^{n}
(2b-2y_i+2ax_i)\nonumber\\
&=&2nb-2\sum_{i=1}^{n}y_i+2a\sum_{i=1}^{n}x_i \label{eqb}
\end{eqnarray}
�� (\ref{eqa}), (\ref{eqb}) �̒l�� 0 �ɂ��� $a$, $b$ �� $f(a,b)$ �̒l
���ŏ��ɂ���B
�܂�A���̘A���������������΋��߂�$a$, $b$ ��������B
\begin{equation}
\left\{
\begin{array}{ccccccc}
\left(\sum_{i=1}^{n}x_i^2\right) & a &+& \left(\sum_{i=1}^{n} x_i
\right)& b &=&\sum_{i=1}^{n}x_iy_i\\
\left(\sum_{i=1}^{n}x_i\right)&a&+&n&b&=&\sum_{i=1}^{n}y_i
\end{array}
\right.
\label{renritsu}
\end{equation}
\section{��@�̂���܂�}
���͂̒l�� x �� y ���g�ɂȂ�A�W�����͂���^������Ƃ���B
�����āA�����̒l�� scanf �œǂݍ��ނƂ���B

�ǂݍ��݂Ȃ���K�v�ȏW�v���s���B
����ɁA�ǂݍ��݂��I��������A��L�̘A��������(\ref{renritsu}) �������B
\section{C ����Ŏg�p�����@�\�̐���}
�{�߂ł͍���̉ۑ�̉����Ɏg�p���� C ����̋@�\�̐���������B
\begin{description}
\item[scanf]
scanf �͕W�����͂���l�𓾂�֐��ł���B
�l�͊֐��̒l�Ƃ��ē���̂ł͂Ȃ��A�ϐ��ɒ��ړ���B
�֐��̒l�͓ǂݍ��݂ɐ��������ϐ��̌��ƂȂ�B
�A���A�t�@�C���̍Ō�ɒB����� EOF �Ƃ������ʂȒl�ɂȂ�B

scanf �̏����͎��̒ʂ�ł���B
\lstset{language=C,escapechar=~}
\begin{lstlisting}
~�ϐ�~ = scanf(~���䕶����~,&~�ϐ���~,...)
\end{lstlisting}
���䕶����� printf �Ɠ��l�� int �^�ϐ��ł���� \%d, float �^�ϐ��ł�
\%f �ł���B�A���A double �^�� \%lf �ƂȂ邱�Ƃɒ��ӂ��Ȃ���΂Ȃ�Ȃ��B

�Ȃ��A�s���ȕ����Ȃǂ����͂����� scanf �͓ǂݍ��݂Ɏ��s���Ă��܂����A
���̍ہA�ǂݍ��񂾕s���ȕ����͓ǂݔ�΂����ꂸ�c�����܂܂ɂȂ�B
���̍ہA \lstinline{scanf("%*c")} �ƈꕶ���ǂݔ�΂��Ȃ���Ύ��̓��͂�
���邱�Ƃ��ł��Ȃ��B
\item[while,break]
while �͏������ƃu���b�N���w�肷��ƁA�����������������̓u���b�N�����s
��������B
���̂��߁A��Ɉ�Ԑ�ɏI���������`�F�b�N���Ȃ���΂Ȃ�Ȃ����A break
���g���Ƃ��ꂪ��������B
\lstset{language=C,escapechar=~}
\begin{lstlisting}
while(1){
  ~����~ 1;
  if(~�I������~){ break; }
  ~����~ 2;
}
\end{lstlisting}
���̂悤�ɂ���ƁA while �̏������͏�ɐ������邽�߁A��{�I�ɂ͖������[
�v�ɂȂ邪�A�I����������������ƁA break �ɂ��A���[�v����i�����o���B
�܂�A while �̊O�ɐ��䂪�ڂ�B

�Ȃ��A���̂悤�ȏ������ƁA���[�v�̏I�������̏������ʒu���Œ肳��Ȃ�
�̂ŁA�v���O�������ǂ݂Â炭�Ȃ�̂ŁA���p�͍T����ׂ��ł���B
\item[int main �� return]
C ����ł͎��ۂɎ��s�������v���O������ main �֐��̒��ɏ����B
main �֐��̖{���̏����͎��̂悤�ɂȂ�B
\lstset{language=C,escapechar=~}
\begin{lstlisting}
int main(int argc, char*  argv[]){
  ~����~;
  return ~�߂�l~;
}
\end{lstlisting}
�A���A���̂悤�ȏȗ��̃��[��������B
\begin{enumerate}
\item �֐��̒�`�Ŗ߂�l int �͏ȗ��\
\item �֐��̏I��ɂ� return �������B����� return �Ŏw�肵���l���֐���
  �l�Ƃ��ĕԂ����B
 main �̖߂�l�́A OS ���v���O�����̐���A�ُ�I������ʂ��邽�߂Ɏg��
  ���B�ʏ� 0 ��Ԃ����� OS �͐���I�����ƔF������B
�Ȃ��A return ���̂��̂��ȗ������ƁA�{���͉����Ԃ��Ȃ��B��������
  �āA�R���p�C���ɂ���Ă� main �֐����� return ���ȗ�����ƃG���[���o
  �镨������B
\item main �֐��̈��� argc �� argv �̓R�}���h���C������̈����w��Ɏg
  �����A�������g�p���Ȃ��ꍇ�͏����Ȃ��Ă����Ȃ��B
\end{enumerate}
���̂悤�ȃ��[���̂��ߏ�L�̃v���O�����́A�������w�肹���A�߂�l���Ԃ�
�Ȃ��ꍇ�͈ȉ��̂悤�ɂ�������B
\lstset{language=C,escapechar=~}
\begin{lstlisting}
main(){
  ~����~;
}
\end{lstlisting}
�A���A����̃v���O�����ł͓��͂ɂ��ُ�I������K�v�����邽�߁A int
�� return ���w�肵���B
\item[fprintf, stderr]
�W���o�͂ւ� printf �ŏo�͂ł��邪�A�G���[�̏o�͕͂W���o�͂ɂ��ׂ��ł�
�Ȃ��B
�����ŁA UNIX �� Windows �ł͕W���o�͂̑��ɕW���G���[�o�͂ƌ����G���[
��p�̏o�̓`���l�������݂���B
�v���O�������ŃG���[�����������ꍇ�͕W���G���[�o�͂ɏo�͂��A 0 �ȊO��
�l�� main �֐�����Ԃ��̂������ȃG���[�̏I�����@�ł���B

fprintf �̓t�@�C���Ȃǂ� printf �Ɠ��l�̏o�͂�^������̂ł���B����
���Ƀt�@�C���n���h���A�������ɐ��䕶����A��O�����ȍ~�͕ϐ��̗񂪓�
��B
�W���G���[�o�͂Ƀ��b�Z�[�W���o���ɂ̓t�@�C���n���h�� stderr ���g���A
fprintf �ŏo�͂���B
�Ȃ��A�W���o�͂� stdout �Ƃ����t�@�C���n���h���Ȃ̂ŁA fprintf ��
stdout ���w�肷��ƁA printf �Ɠ����Ӗ��ɂȂ�B
\end{description}

\section{�v���O�����̐���}
\subsection{�f�p�ȃv���O����}
�܂��A�f�p�ȃv���O������t�^\ref{prog} �Ɏ������B

3�s�ڂ��� 5 �s�ڂł͕ϐ��̐錾���s���Ă��邪�A�����Řa�����߂�ϐ��ɑ�
���Ă͂��炩���� 0 �ŏ��������Ă���B
�a�����߂�ϐ��̈Ӗ��͎��̂Ƃ���ł���B
\begin{description}
\item[sx2:]$\sum_{i=1}^{n} x_i^2$. $x$ �̓��a�B
\item[sx:]$\sum_{i=1}^{n} x_i$. $x$ �̘a�B
\item[sxy:]$\sum_{i=1}^{n} x_i y_i$. $x$ �� $y$ �̐ς̘a�B
\item[sn:]$n$. �f�[�^�̌��B
\item[sy:]$\sum_{i=1}^{n} y_i$. $y$ �̘a�B
\end{description}

6 �s�ڂ��� 12 �s�ڂ� while �ɂ��J��Ԃ��ɂȂ��Ă���B
�I�������͂Q�̒l x �� y �� scanf �œǂݍ��񂾂Ƃ��A EOF�i�f�[�^�̏I
���j�œǂݍ��݂Ɏ��s���邱�Ƃł���B
�f�[�^�̏I���܂ŌJ��Ԃ���铮��́A��L�̕ϐ��̈Ӗ��ɂ��������Ă���
����̘a�����߂鑀��ł���B

�J��Ԃ����I�������A13,14 �s�ڂŘA���������������A 15 �s�ڂŕ\�����A
�I������B
\subsection{���_�ƏC���v���O����}
�O�߂̃v���O�����͓��̓f�[�^������̏ꍇ�A���퓮�������B
�������A�ُ�ȃf�[�^�������ꍇ�A�ُ�I���������삪�~�܂��ĉ������Ȃ���
��B
�܂��A�f�[�^�������Ȃ��ꍇ�A���Z�ŃG���[���o�Ē�~���Ă��܂��B
�����ŁA�ُ�I�����ׂ�������񋓂��A�Ή����邱�Ƃɂ���B
\begin{description}
\item[���l�ȊO�̓���]
�u�s���ȃf�[�^�̓��́v��\�����Ĉُ�I������B
\item[���̓f�[�^�� x, y �̑g�ɂȂ��ĂȂ�]
�u�f�[�^���΂ɂȂ��Ă܂���v��\�����Ĉُ�I������B
\item[�f�[�^�������Ȃ��ꍇ]
�u�f�[�^������܂���v��\�����Ĉُ�I������B
\end{description}
�Ȃ��A�f�[�^�� x �̒l 1 �̏ꍇ�A�u�f�[�^���΂ɂȂ��Ă܂���v�̃G���[
�Ƃ���B

����ɑΉ�����ɂ́A
��L�̏ꍇ���ꂼ��G���[�R�[�h 1, 2, 3 ��Ή������A
�ُ�I���ł͂��̃G���[�R�[�h�� return �ŕԂ����Ƃɂ���B
�܂��G���[���b�Z�[�W�͕W���G���[�o�� stderr �ɏo�͂��邱�Ƃɂ���B

���āA�Ȃ��������Ԃ��ė��Ȃ��Ȃ邩�ƌ����ƁA����� scanf �͑z�肵�Ă�
����͒l�ȊO�����͂��ꂽ�ꍇ�A���̒l��ǂݍ��܂��A�ēx scanf ���s����
����������ǂ�ł��܂�����ł���B
�A���A scanf �͂��̏ꍇ�A�ǂݍ��݂ɐ����������l�̐���l�Ƃ��ĕԂ��̂ŁA�ǂݍ�
�݃G���[�͌��o�ł���B

���̂悤�ȃG���[�����o���邽�߁A�t�@�C�����͂̕����ł� x �� y �͕ʁX��
�ǂ݁A���̂悤�ȏ������s���B
\begin{enumerate}
\item x ��ǂݍ���
\item x �̓ǂݍ��݂Ɏ��s�������A
\begin{enumerate}
\item EOF �Ȃ�t�@�C���I���ŁA�W�v�����֐i��
\item ����ȊO�Ȃ�u�s���ȃf�[�^�̓��́v�G���[
\end{enumerate}
\item y ��ǂݍ���
\item y �̓ǂݍ��݂Ɏ��s�������A
\begin{enumerate}
\item EOF �Ȃ�t�@�C���I���ŁA�u�f�[�^���΂ɂȂ��Ă��Ȃ��v�G���[
\item ����ȊO�Ȃ�u�s���ȃf�[�^�̓��́v�G���[
\end{enumerate}
\item ���Z����
\end{enumerate}
�܂��A�W�v�������Ƀf�[�^���� 2 �ȏ�łȂ���΁u�f�[�^������܂���v�G
���[���o���B

���̂悤�ɃG���[�ɑΉ������v���O������t�^ \ref{prog2} �Ɏ������B
main �̒�`�ł� main �̌^���ȗ����Ă��悢���A return �ŃG���[�ԍ���
�����邽�߁A int �Ɩ��������B
\section{����m�F}
�C���v���O����������ɓ��삷�邱�Ƃ𒲂ׂ�B
���s���} \ref{zu} �Ɏ����B
\begin{figure}[hbt]
\begin{center}
\epsfig{file=jikkou.eps, width=12cm}
\end{center}
\caption{���s��}
\label{zu}
\end{figure}

\begin{enumerate}
\item ���͂����Ȃ��ꍇ\\
��̓��́A ��g�����Ȃ��ꍇ�̎��s��������B��������u�f�[�^������܂�
  ��v�G���[���o�����߁A����ɏ�������Ă���B
\item ���͂��΂ɂȂ��Ă��Ȃ��ꍇ\\
���͂� 1 �� 5 �̏ꍇ�̎��s��������B
��������u�f�[�^���΂ɂȂ��Ă��Ȃ��v�G���[���o�����߁A����ɏ��������
����B
\item �ُ�ȃf�[�^�̓���\\
���͂Ƃ��āA���ȊO�̕�����ꂽ�ꍇ�A�u�s���ȃf�[�^�̓��́v���o�͂����
���߁A����ɏ�������Ă���B
\item �����ȗ�̓���\\
�����ȗ�Ƃ��āA $y=2x+3$ �̒�����̒l�A(2,7), (-1,1), (-2,-1) ��^�������A 2
�� 3 �𐳏�ɏo�͂��邽�߁A����ɏ�������Ă���B
\item �^����ꂽ�f�[�^����͂��Ă����������s����A�l $a=1.693440$,
  $b=4.186375$ ������ꂽ�B
\end{enumerate}

\section{�܂Ƃ߁A����}
�{���|�[�g�ł́A�^����ꂽ $x_i$, $y_i$ �f�[�^�ɑ΂��Ē����ߎ����鎮��
�W�����ŏ����@�ŋ��߂�v���O�������쐬�����B
�n�߂ɍ�����v���O�����ł͋K��̃t�H�[�}�b�g�̃f�[�^���͂����F�߂��A��
��ȊO�łُ͈�I�������Ɏ~�܂��Ă��܂��̂ŁA�ُ�I������悤�ɉ��߂��B

�v���O�����ŃO���t��������悤�ɂł���Ɨǂ��Ǝv�����B


\begin{thebibliography}{1}
\bibitem{mori73}
�X����.
\newblock ���l���, �������w�u��, ��12��.
\newblock �����o��, 1973.
\end{thebibliography}
\clearpage
\appendix
\section{�t�^: �f�p�ȃv���O����}
\label{prog}
\lstset{language=C,numbers=left,numberstyle=\tiny}
\begin{lstlisting}
#include <stdio.h>
main(){
  double x,y;
  double sx2=0,sx=0,sxy=0,sy=0;
  int sn=0;
  double a,b;
  while(scanf("%lf %lf",&x,&y)!=EOF){
    sx2+=x*x;
    sx+=x;
    sxy+=x*y;
    sn++;
    sy+=y;
  }
  a=(sn*sxy-sx*sy)/(sn*sx2-sx*sx);
  b=(sx*sxy-sy*sx2)/(sx*sx-sn*sx2);
  printf("a=%f, b=%f\n",a,b);
}
\end{lstlisting}
\section{�t�^: �C���v���O����}
\label{prog2}
\lstset{language=C,numbers=left,numberstyle=\tiny}
\begin{lstlisting}
#include <stdio.h>
int main(){
  double x,y;
  double sx2=0,sx=0,sxy=0,sy=0;
  double a,b;
  int sn=0;
  int count;
  while(1){
    count=scanf("%lf",&x);
    if(count!=1){
      if(count==EOF){
	break;
      }else{
	fprintf(stderr,"�s���ȃf�[�^�̓���\n");
	return 1;
      }
    }
    count=scanf("%lf",&y);
    if(count!=1){
      if(count==EOF){
	fprintf(stderr,"�f�[�^���΂ɂȂ��Ă܂���\n");
	return 2;
      }else{
	fprintf(stderr,"�s���ȃf�[�^�̓���\n");
	return 1;
      }
    }
    sx2+=x*x;
    sx+=x;
    sxy+=x*y;
    sn++;
    sy+=y;
  }
  if(sn<2){
    fprintf(stderr,"�f�[�^������܂���\n");
    return 3;
  }
  a=(sn*sxy-sx*sy)/(sn*sx2-sx*sx);
  b=(sx*sxy-sy*sx2)/(sx*sx-sn*sx2);
  printf("a=%f, b=%f\n",a,b);
  return 0;
}
\end{lstlisting}
\section{�t�^: �^����ꂽ�f�[�^}
\label{huroku}
\begin{tabular}{|c|c|}
\hline
x&y\\
\hline
8.8& 18.2\\
31.8& 58.4\\
13.1& 25.8\\
36.3& 64.9\\
12.5& 25.8\\
33.8& 61.3\\
44.3& 78.7\\
45.3& 80.9\\
49.8& 88.3\\
50.0& 89.9\\
22.6& 43.3\\
29.5& 54.2\\
33.7& 61.2\\
4.8& 11.4\\
22.6& 42.9\\
6.5& 15.9\\
3.3& 9.7\\
\hline
\end{tabular}
\begin{tabular}{|c|c|}
\hline
x&y\\
\hline
43.9& 78.4\\
45.6& 82.3\\
2.9& 9.2\\
40.2& 72.3\\
25.9& 48.0\\
45.7& 82.1\\
13.2& 26.5\\
39.1& 70.1\\
1.2& 6.2\\
13.4& 27.1\\
14.9& 30.1\\
37.5& 67.1\\
13.4& 26.8\\
28.8& 53.7\\
12.5& 25.9\\
11.5& 22.5\\
48.5& 87.5\\
\hline
\end{tabular}
\begin{tabular}{|c|c|}
\hline
x&y\\
\hline
1.5& 7.2\\
25.9& 47.2\\
11.1& 22.0\\
16.0& 32.1\\
13.2& 25.5\\
39.6& 71.4\\
6.9& 16.5\\
49.5& 87.6\\
25.8& 48.4\\
39.1& 69.5\\
25.9& 48.5\\
41.9& 74.8\\
8.0& 18.5\\
23.9& 44.4\\
39.5& 70.4\\
46.9& 82.9\\
\hline
\end{tabular}


\end{document}
