-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 品牌設(shè)計(jì) > 專題列表 > 正文
- 利用矩陣式鍵盤,設(shè)計(jì)一個(gè)10以內(nèi)數(shù)的階乘計(jì)算器,計(jì)算結(jié)果用六位數(shù)碼管顯示?
- 編寫VB階乘的函數(shù)
- labview創(chuàng)建階乘程序
- 設(shè)計(jì)vi,用 for循環(huán)求n的階乘
設(shè)計(jì)vi 計(jì)算階乘(設(shè)計(jì)vi,計(jì)算階乘)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于設(shè)計(jì)vi 計(jì)算階乘的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對話答疑等等,官網(wǎng):https://ai.de1919.com
創(chuàng)意嶺專注品牌設(shè)計(jì)、策劃,為各大上市企業(yè)、個(gè)人提供一站式設(shè)計(jì)、策劃服務(wù),服務(wù)客戶遍布全國,咨詢相關(guān)業(yè)務(wù)請撥打電話:175-8598-2043,或添加微信:1454722008
本文目錄:
利用矩陣式鍵盤,設(shè)計(jì)一個(gè)10以內(nèi)數(shù)的階乘計(jì)算器,計(jì)算結(jié)果用六位數(shù)碼管顯示?
首先,我們需要選擇一種合適的單片機(jī)進(jìn)行編程。在本例中,我們可以選擇AT89S52單片機(jī)作為主控芯片。
接下來,我們需要設(shè)計(jì)電路圖并進(jìn)行硬件搭建。按照題目要求,我們需要使用矩陣式鍵盤和六位數(shù)碼管??赏ㄟ^鏈接進(jìn)行查看:
https://www.easyeda.com/claraliu/matrix-keyboard-and-6-digit-display
接下來,我們需要編寫程序?qū)崿F(xiàn)階乘計(jì)算功能并將結(jié)果顯示在六位數(shù)碼管上。以下是具體的程序?qū)崿F(xiàn)方式:
首先定義一個(gè)用于保存輸入數(shù)字的變量,并初始化為0;另外還需要定義一個(gè)用于保存階乘結(jié)果的變量。
2.然后通過鍵盤讀取用戶輸入的數(shù)字,并進(jìn)行判斷是否小于等于10。如果不是,提示用戶重新輸入。
3.接著,通過一個(gè)循環(huán)語句計(jì)算出所輸入數(shù)字的階乘,并將結(jié)果保存到之前定義的結(jié)果變量中。
4.最后,將計(jì)算出的階乘結(jié)果轉(zhuǎn)換為六位十進(jìn)制數(shù),并通過數(shù)碼管進(jìn)行顯示。
以下是完整程序的示例:
#include <reg52.h> // 包含AT89S52頭文件
#define uchar unsigned char // 定義uchar類型
#define uint unsigned int // 定義uint類型
sbit LSA = P2^2; // 設(shè)置LSA-P2.2引腳
sbit LSB = P2^3; // 設(shè)置LSB-P2.3引腳
sbit LSC = P2^4; // 設(shè)置LSC-P2.4引腳
uchar code table[]={ // 建立表格實(shí)現(xiàn)數(shù)碼管顯示
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0xbf,0xff,
0x88,0x83,0xc6,0xa1};
void delay(uint i) // 延時(shí)函數(shù)
{
while(i--);
}
void Display(uchar FirstBit,uchar Num) // 數(shù)碼管顯示函數(shù)
{
LSA=FirstBit; // 選擇哪一位數(shù)碼管
P0=table[Num]; // 顯示數(shù)字
delay(100); // 延時(shí)一段時(shí)間
P0=0xff; // 關(guān)閉數(shù)碼管
}
void main()
{
uchar input_num = 0; // 輸入的數(shù)字
uint result = 1; // 階乘結(jié)果
uchar i; // 循環(huán)計(jì)數(shù)器
while(1)
{
P1 = 0xf0;
if(P1 != 0xf0) // 如果有鍵按下
{
delay(1000); // 延時(shí)去抖
if(P1 != 0xf0) // 確認(rèn)是否有鍵按下
{
switch(P1) // 判斷按下的是哪個(gè)鍵
{
case 0x7f: input_num = 1;break;
case 0xbf: input_num = 2;break;
case 0xdf: input_num = 3;break;
case 0xef: input_num = 10;break;
}
break; // 跳出while循環(huán)
}
}
}
if(input_num != 0 && input_num <= 10) // 判斷輸入的數(shù)字是否符合要求
{
for(i = 1; i <= input_num; i++) // 計(jì)算階乘
{
result *= i;
}
}
else
{
P1 = 0xfe;
Display(0,result/100000); // 顯示結(jié)果
Display(1,(result%100000)/10000);
Display(2,(result%10000)/1000);
Display(3,(result%1000)/100);
Display(4,(result%100)/10);
Display(5,result%10);
}
}
最后,我們需要將程序下載到單片機(jī)中,并將硬件連接好。這樣,當(dāng)用戶輸入一個(gè)1-10之間的數(shù)字時(shí),該計(jì)算器就會(huì)
編寫VB階乘的函數(shù)
1、vb代碼中,求一個(gè)數(shù)的階乘的函數(shù)代碼如下:
Public Function jiecheng(ByVal n As Integer) As DoubleDim jc As Double
jc = 1
For i = 1 To n
jc = jc * i
Next
jiecheng = jc
End Function
2、具體用法:首先打開VB6.0,新建一個(gè)標(biāo)準(zhǔn)exe工程;
3、在設(shè)計(jì)界面上添加一個(gè)Command控件,Command1的Caption屬性設(shè)置為"N的階乘"。
4、雙擊Command1控件進(jìn)入代碼編輯界面,編輯代碼如下:
Dim jc As Double
jc = 1
For i = 1 To n
jc = jc * i
Next
jiecheng = jc
End Function
Private Sub Command1_Click()
Dim sum As Double, n As Integer
n = InputBox("計(jì)算的N的階乘,請輸入數(shù)字N")
sum = jiecheng(n)
MsgBox (sum)
End Sub
5、運(yùn)行新建的工程,單擊按鈕,輸入要計(jì)算的N的階乘的數(shù)字N,得出階乘結(jié)果。
labview創(chuàng)建階乘程序
階乘用for結(jié)構(gòu),然后N=你要算階乘的數(shù)。記住用移位寄存器。數(shù)組的生成用for語句,然后在節(jié)點(diǎn)處用“打開檢索”
設(shè)計(jì)vi,用 for循環(huán)求n的階乘
您好,您試試這樣:#include<iostream>
using namespace std;
int main()
{
int i,n,m=1;
cin>>n;
for(i=1;i<=n;i++)
m*=i;
cout<<m<<endl;
return 0;
}
以上就是關(guān)于設(shè)計(jì)vi 計(jì)算階乘相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
中式高級餐飲品牌設(shè)計(jì)方案(中式高級餐飲品牌設(shè)計(jì)方案怎么寫)
烏鎮(zhèn)vi設(shè)計(jì)(烏鎮(zhèn) 設(shè)計(jì))
茶優(yōu)秀vi手冊設(shè)計(jì)(茶vi手冊模板)
景觀設(shè)計(jì)日志(景觀設(shè)計(jì)日志怎么寫)
猜你喜歡
河北企業(yè)vi設(shè)計(jì)收費(fèi)多少(河北企業(yè)vi設(shè)計(jì)收費(fèi)多少錢)
成都vi設(shè)計(jì)公司排名(成都最好的vi設(shè)計(jì)公司)
南京地產(chǎn)vi設(shè)計(jì)(南京地產(chǎn)設(shè)計(jì)公司)
賀州品牌vi設(shè)計(jì)(賀州廣告裝飾設(shè)計(jì))
vi 設(shè)計(jì)電子類(vi設(shè)計(jì)電子書)
臨海整套公司vi設(shè)計(jì)(臨海設(shè)計(jì)公司哪家好)
問大家
興化評價(jià)好的公眾號設(shè)計(jì)制作客服電話怎么找?路過的大神們拜托了
泰州評價(jià)好的公眾號設(shè)計(jì)制作正常價(jià)是多少?路過的老鐵們有沒有誰了解
黃山稱心的公眾號設(shè)計(jì)制作口碑好的有哪家?諸位朋友們請回復(fù)下
紹興公司logo設(shè)計(jì)費(fèi)用是多少?紹興設(shè)計(jì)公司logo設(shè)計(jì)一般都是怎么收費(fèi)的?
揚(yáng)中值得信任的網(wǎng)站建設(shè)設(shè)計(jì)公司電話有么?在座的大哥大姐們幫忙答一下
紹興臭豆腐logo設(shè)計(jì)哪家公司好?紹興臭豆腐logo設(shè)計(jì)怎么收費(fèi)?
藝術(shù)簽名應(yīng)該有固定設(shè)計(jì)標(biāo)準(zhǔn)嗎?
沭陽著名的網(wǎng)頁美工設(shè)計(jì)老板微信號哪里有?各位老板們有沒有誰了解
如東值得信賴的公眾號設(shè)計(jì)制作負(fù)責(zé)人有微信號嗎?在座的筒子們幫忙回一下
濟(jì)南哪個(gè)單身找對象交友平臺(tái)是最正規(guī)服務(wù)比較好的?