D语言版趣味程序 1.绘制余弦曲线
(说明:原文见http://www.kuqin.com/tiku/c100/,是C语言版。本人改写成D-tango版。与各位D初学者共勉。)
问题:
在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线
问题分析与算法设计
如果在程序中使用数组,这个问题十分简单。但若规定不能使用数组,问题就变得不容易了。
关键在于余弦曲线在0~360度的区间内,一行中要显示两个点,而对一般的显示器来说,只能按行输出,即:输出第一行信息后,只能向下一行输出,不能再返回到上一行。为了获得本文要求的图形就必须在一行中一次输出两个“*”。
为了同时得到余弦函数cos(x)图形在一行上的两个点,考虑利用cos(x)的左右对称性。将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形与180~360度的图形是左右对称的,若定义图形的总宽度为62列,计算出x行0~180度时y点的坐标m,那么在同一行与之对称的180~360度的y点的坐标就 应为62-m。程序中利用反余弦函数acos计算坐标(x,y)的对应关系。
使用这种方法编出的程序短小精炼,体现了一定的技巧。
import tango.io.Console,tango.math.Math;
import tango.stdc.stdlib;
int main()
{
real y,m;
long x;
for(y=1;y>=-1;y-=0.1) /*y为列方向,值从1到-1,步长为0.1*/
{
m=acos(y)*10.0; /*计算出y对应的弧度m,乘以10为图形放大倍数*/
for(x=1;x<m;x++)
Cout(" ")();
Cout("*").flush; /*控制打印左侧的 * 号*/
for(;x<55-m;x++)
Cout(" ").flush;
Cout("*").newline; /*控制打印同一行中对称的右侧*号*/
}
system("pause");//程序执行后显示“按任意键继续”,以便观察
return 0;
}
分享到:
相关推荐
网上找的,《C/C++语言经典实用趣味程序设计编程百例精解》 这是完整的,直到最后一例:100.数字移动 大家看着下不下吧。 前10例内容如下: 1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 ...
绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 7.阶乘尾数零的个数 8.借书方案知多少 9.杨辉三角形 10.数制转换 11.打鱼还是晒网 12.抓交通肇事犯 ...
C/C++语言经典、实用、趣味程序设计编程的特点是使用C/C++语言设计和实现经典、实用、趣味的程序,涵盖了多个领域,例如绘制余弦曲线、绘制余弦曲线和直线、绘制圆等。这些程序设计编程不仅可以帮助学习者掌握C/C++...
### C++语言经典实用趣味程序设计编程百例精解 #### 1. 绘制余弦曲线 **知识点概述:** 本例通过C++程序在命令行界面中绘制0到360度之间的余弦曲线。为了实现这一目标,程序采用了一些巧妙的方法来克服输出限制。...
1. 绘制余弦曲线 此例展示了如何在控制台上用星号(*)来绘制0到360度的余弦曲线。关键在于利用余弦函数的左右对称性。程序通过反余弦函数acos计算坐标,然后通过两个for循环分别处理0到180度和180到360度的点。这个...
绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 7.阶乘尾数零的个数 8.借书方案知多少 9.杨辉三角形 10.数值转换 11.打鱼还是晒网 ...
C语言编写的六个趣味问题的程序,包括: 075 绘制余弦曲线和直线的迭加 076 计算高次方数的尾数 077 打鱼还是晒网 078 怎样存钱以获取最大利息 079 阿姆斯特朗数 080 亲密数
1. 绘制余弦曲线 在C语言中,我们可以利用数学库中的`cos()`函数和`acos()`函数来计算余弦曲线。余弦曲线在0~360度的区间内具有左右对称性,因此我们可以通过计算0~180度的点,然后推导出对称的180~360度的点。程序...
1. 绘制余弦曲线 这个例子展示了如何在终端上用星号(*)模拟0到360度的余弦曲线。在不使用数组的情况下,程序员巧妙地利用了余弦函数的对称性。程序首先定义了屏幕的行(x)和列(y)方向,然后通过反余弦函数acos计算...
1. 绘制余弦曲线 这个例子展示了如何在命令行界面用“*”字符绘制余弦曲线。通过使用反余弦函数`acos()`,我们可以找到对应的弧度,并基于屏幕宽度调整输出。在不使用数组的情况下,程序通过计算余弦函数的左右对称...
1. 程序设计:本文讲解了多个程序设计的例子,包括绘制余弦曲线、绘制余弦曲线和直线的迭加图形、绘制圆等。 2. 算法设计:本文讨论了多个算法设计的思路和方法,包括使用数学函数 acos 和 printf 函数来实现图形的...
《C语言经典实用趣味程序设计编程百例精解》中的第一个例子便是绘制余弦曲线,这不仅考验了编程者的逻辑思维,同时也涉及到了数学知识的应用。 **问题分析与算法设计** 绘制余弦曲线的关键在于理解余弦函数的周期...
C/C++语言经典实用趣味程序设计编程百例精解(1) (详解收藏在)http://www.klfd.net.cn/?p=384 1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数的尾数 7.阶乘尾数零的个数 ...
1. **绘制余弦曲线**: - 使用C语言的`<stdio.h>`和`<math.h>`库,`<math.h>`库提供了数学函数如`acos`(反余弦函数)。 - 利用余弦函数的左右对称性,以行x和列y定义屏幕坐标,0~180度的余弦曲线与180~360度的...
1. 绘制余弦曲线: - 余弦曲线通常用数学公式`cos(x)`表示,其中`x`是角度。在0至360度的范围内,余弦值的变化范围是-1到1。 - 在不使用数组的情况下,通过循环和计算来逐点输出图形。这里利用了余弦函数的左右...
1.绘制余弦曲线 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 *问题分析与算法设计 如果在程序中使用数组,这个问题十分简单。但若规定不能使用数组,问题就变得不容易了。 关键在于余弦曲线在0~360度的区间内...
1. 绘制余弦曲线: 在这个例子中,我们使用C语言来在屏幕上用“*”字符表示0到360度的余弦函数cos(x)曲线。关键在于利用余弦函数的左右对称性,不使用数组的情况下,一次输出一行中的两个点。程序通过计算每一行...