added programs

This commit is contained in:
2025-05-21 22:41:44 +09:00
parent ff77070655
commit 3ede55482f
7 changed files with 115 additions and 64 deletions

10
programs/p310/info.json Normal file
View File

@@ -0,0 +1,10 @@
{
"language": "C",
"name": "演習 3-10",
"description": "3つの整数値の等価検証プログラム。",
"output": {
"type": "screenshot",
"content": "./assets/p310.png"
},
"note": ""
}

BIN
programs/p310/main Executable file

Binary file not shown.

69
programs/p310/main.c Normal file
View File

@@ -0,0 +1,69 @@
#include <stdio.h>
#define NON_EQUAL 0
#define ONE_EQUAL 1
#define ALL_EQUAL 2
#ifndef USE_ALT
int main(void) {
int a, b, c;
printf("Int A: ");
scanf("%d", &a);
printf("Int B: ");
scanf("%d", &b);
printf("Int C: ");
scanf("%d", &c);
if (a == b && a == c) {
printf("All three values are equal.\n");
} else if (a != b && a == c) {
printf("Two values are equal.\n");
} else if (a != c && a == b) {
printf("Two values are equal.\n");
} else if (b == c) {
printf("Two values are equal.\n");
} else {
printf("All three values are different.\n");
}
return 0;
}
#endif // !(defined(USE_ALT))
#ifdef USE_ALT
// alternetive answer
int main(void) {
int flag = 0; // remember, boolean in C is just integer
int a, b, c;
printf("Int A: ");
scanf("%d", &a);
printf("Int B: ");
scanf("%d", &b);
printf("Int C: ");
scanf("%d", &c);
flag += a == b;
flag += a == c;
if (flag != ALL_EQUAL) {
flag += b == c;
}
if (flag == NON_EQUAL) {
printf("All three values are different.\n");
} else if (flag == ONE_EQUAL) {
printf("Two values are equal.\n");
} else {
printf("All three values are equal.\n");
}
return 0;
}
#endif // defined(USE_ALT)

10
programs/p311/info.json Normal file
View File

@@ -0,0 +1,10 @@
{
"language": "C",
"name": "演習 3-11",
"description": "論理OR演算子を使用して2つの整数値の差が10以下であるか、11以上であるかを検証するプログラム。",
"output": {
"type": "screenshot",
"content": "./assets/p311.png"
},
"note": ""
}

BIN
programs/p311/main Executable file

Binary file not shown.

20
programs/p311/main.c Normal file
View File

@@ -0,0 +1,20 @@
#include <stdio.h>
int main(void) {
int a, b;
printf("Int A: ");
scanf("%d", &a);
printf("Int B: ");
scanf("%d", &b);
int diff = a - b;
if (diff >= 11 || diff <= -11) {
printf("Difference is greater than or equal to 11.\n");
} else {
printf("Difference is less than or equal to 10.\n");
}
return 0;
}

View File

@@ -1,70 +1,12 @@
\section{はじめに} \section{はじめに}
Start Writing! \subsection{実行環境}
Use lualatex + biber to compile. この課題のプログラムは以下の環境で動作することが確認されている:
Test Bib\cite{example}
いろはにほへと ちりぬるを
{\gtfamily \sffamily \LaTeX で自由な組版を。}
{\gtfamily \sffamily Write freely with \LaTeX{}.}
{\ttfamily LaTeX shall be free forever!}
\noindent
この行のテキストは四十二字です。ああああああああああああああああああああああああああいいいい
\defaultlistingstyle
\begin{lstlisting}[language=C, caption=Basic Hello World]
#include <stdlib.h>
int square(int n) {
return n*n;
}
int main(int argc, char** argv) {
char* msg = "Hello World";
int x = 3;
int y = square(x);
printf("%s\n", msg);
printf("f(x) = x^2; x: %d, y: %d\n", x, y);
return 0;
}
\end{lstlisting}
\begin{displaymath}
\int_{a}^{b} f(x) \,dx = F(b)-F(a)
\end{displaymath}
\begin{itemize} \begin{itemize}
\item C \item OS: NixOS 25.05 (Warbler)
\item Python \item CPU アーキテクチャ: \texttt{x86\_64}
\item Javascript \item C コンパイラ: \texttt{gcc バージョン 14.2.1 20250322 (GCC)}
\item Rust \item C コンパイラオプション: \texttt{-Wall <ソースコード名> -o <実行ファイル名>}
\item Haskell
\end{itemize} \end{itemize}
\begin{enumerate}
\item lualatex <filename>.tex
\item biber <filename>
\item lualatex <filename>.tex
\item lualatex <filename>.tex
\end{enumerate}
\newpage
\section{Section}
section
\subsection{Sub Section}
sub section
\paragraph{Paragraph}
paragraph