程序设计细则: 1.在同一个图形界面上画出如下3个函数的图形标注y=chxy=shxy=1/2ex 2.限用C语言和 Python语言
时间: 2024-10-25 09:17:13 浏览: 14
在程序设计中,绘制函数图像是常见的需求之一。这里涉及到三个函数:y = \sin(x)、y = \cos(x) 和 y = \frac{1}{2}e^x。以下是使用C语言和Python分别如何在图形界面(例如控制台或GUI库)上简单地绘制这三个函数的基本步骤:
**C语言(使用`ncurses`库)示例:**
```c
#include <ncurses.h> // 使用ncurses库进行图形化操作
void plot_sine_cosine_exponential(int max_x, int win) {
initscr(); // 初始化屏幕
cbreak(); // 允许非阻塞输入
noecho(); // 隐藏用户输入
curs_set(0); // 隐藏光标
for (int x = -max_x; x <= max_x; ++x) {
double y_sine = sin((double)x);
double y_cos = cos((double)x);
double y_exp = 0.5 * exp((double)x);
mvprintw(y_exp > 1 ? 1 : 0, x+1, "%d %.2f %.2f %.2f", x, y_sine, y_cos, y_exp);
addch(); // 绘制每个点
}
getch(); // 挂起直到按下任意键
endwin();
}
int main() {
int max_x = 180; // 可视范围
newwin(2, max_x + 2, 0, 0); // 创建窗口
plot_sine_cosine_exponential(max_x, getwin()); // 绘制函数
return 0;
}
```
**Python(使用matplotlib库)示例:**
```python
import matplotlib.pyplot as plt
import numpy as np
def plot_functions():
fig, ax = plt.subplots()
x = np.linspace(-np.pi, np.pi, 400)
ax.plot(x, np.sin(x), label='y = \sin(x)')
ax.plot(x, np.cos(x), label='y = \cos(x)')
ax.plot(x, 0.5 * np.exp(x), label='y = 1/2 * e^x')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.legend(loc='best')
plt.show()
if __name__ == "__main__":
plot_functions()
```
以上代码分别展示了在命令行界面和图形界面绘制函数的基本方式。注意,实际应用中可能需要更复杂的图形处理和交互功能。
阅读全文