Finished most of assignment
This commit is contained in:
@@ -1,13 +1,49 @@
|
||||
\section{演習課題2}
|
||||
|
||||
電卓とC言語での演算の違いを比較する。
|
||||
電卓とC言語での演算の違いを比較する。電卓はCasioの\texttt{fx-CG50(OS バージョン: 03.60.0202)}を使用する。
|
||||
|
||||
以下の式を評価する:
|
||||
|
||||
\begin{equation}\label{e1}
|
||||
\frac{5}{2} + \frac{1.5}{2}
|
||||
\end{equation}
|
||||
|
||||
\begin{equation}\label{e2}
|
||||
\frac{2.5 + 4.0}{5}
|
||||
\end{equation}
|
||||
|
||||
\begin{equation}\label{e3}
|
||||
\frac{1.5 + 3}{2}
|
||||
\end{equation}
|
||||
|
||||
\begin{equation}\label{e4}
|
||||
4 + 2 \times \frac{6}{4}
|
||||
\end{equation}
|
||||
|
||||
\begin{equation}\label{e5}
|
||||
\frac{3.3}{1.1} + \frac{2}{4}
|
||||
\end{equation}
|
||||
|
||||
\subsection{コードリスティング}
|
||||
|
||||
\lstinputlisting[language=C,title={演習課題2}]{../programs/comp/main.c}
|
||||
|
||||
\subsection{実行結果}
|
||||
\subsection{結果}
|
||||
|
||||
\begin{center}
|
||||
\includegraphics[width=\textwidth]{./assets/comp.png}
|
||||
\end{center}
|
||||
C言語では型変換の影響で評価中に値が真の値からずれ、最終的に演算結果が電卓と異なるものとなった。
|
||||
|
||||
\begin{table}
|
||||
\caption{電卓とC言語での評価結果}
|
||||
\centering
|
||||
\begin{tabular}{|ccc|}
|
||||
\hline
|
||||
式 & 電卓 & C言語 \\
|
||||
\hline \hline
|
||||
\ref{e1} & 3.25 & 2.750000 \\
|
||||
\ref{e2} & 1.3 & 1.200000 \\
|
||||
\ref{e3} & 2.25 & 2 \\
|
||||
\ref{e4} & 7 & 6.000000 \\
|
||||
\ref{e5} & 3.5 & 3.227273 \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
|
||||
@@ -1 +1,12 @@
|
||||
\section{はじめに}
|
||||
|
||||
\subsection{実行環境}
|
||||
|
||||
この課題のプログラムは以下の環境で動作することが確認されている:
|
||||
|
||||
\begin{itemize}
|
||||
\item OS: Arch Linux
|
||||
\item CPU アーキテクチャ: \texttt{x86\_64}
|
||||
\item C コンパイラ: \texttt{gcc バージョン 15.1.1 20250425 (GCC)}
|
||||
\item C コンパイラオプション: \texttt{-Wall <ソースコード名> -o <実行ファイル名>}
|
||||
\end{itemize}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
\section{演習課題1 演習2ー5}
|
||||
|
||||
2つの整数値を読み込み、前者の値が後者の値の何%であるかを倍精度浮動小数点数として表示するプログラム。
|
||||
2つの整数値を読み込み、前者の値が後者の値の何\%であるかを倍精度浮動小数点数として表示するプログラム。
|
||||
|
||||
\subsection{コードリスティング}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
\section{演習課題1 演習2ー6}
|
||||
|
||||
身長を整数値として読み込み、標準体重を実数小数点以下1桁として表示するプログラム。なお標準体重は$0.9(height - 100)$で求めるものとする。
|
||||
身長を整数値として読み込み、標準体重を実数小数点以下1桁として表示するプログラム。\\なお標準体重は$0.9(height - 100)$で求めるものとする。
|
||||
|
||||
\subsection{コードリスティング}
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
\section{今回の構文}
|
||||
|
||||
\subsection{型変換}
|
||||
|
||||
数値型やポインタ型は別の数値型やポインタ型に変換できる。
|
||||
このとき、変換先の型の\\有効範囲を考慮する必要がある。
|
||||
有効範囲を超える・下回る場合は警告なしで値が丸められる。
|
||||
|
||||
\defaultlistingstyle
|
||||
\begin{lstlisting}[language=C,title={暗黙の型変換}]
|
||||
<型名1> <変数名> = <型名2となる式>;
|
||||
\end{lstlisting}
|
||||
|
||||
\defaultlistingstyle
|
||||
\begin{lstlisting}[language=C,title={明示的型変換}]
|
||||
<型名1> <変数名> = (<型名2>)(<式>);
|
||||
\end{lstlisting}
|
||||
|
||||
\subsection{小数点数書式}
|
||||
|
||||
\texttt{printf}関数では表示する小数点数の桁数を書式から指定できる。\cite{cppref_printf}
|
||||
|
||||
\defaultlistingstyle
|
||||
\begin{lstlisting}[language=C,title={小数点数書式}]
|
||||
double x;
|
||||
printf("%<a>.<b>f", x);
|
||||
// 小数点以上最低 a 桁、小数点以下最低 b 桁表示する
|
||||
\end{lstlisting}
|
||||
|
||||
Reference in New Issue
Block a user