久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

C語言程序設(shè)計(jì)(漢諾塔問題)

時(shí)間:2019-05-11 23:51:57下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C語言程序設(shè)計(jì)(漢諾塔問題)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C語言程序設(shè)計(jì)(漢諾塔問題)》。

第一篇:C語言程序設(shè)計(jì)(漢諾塔問題)

C語言程序設(shè)計(jì)(漢諾塔設(shè)計(jì))

#include void main(){void tian(int n,int x,int y,int z);

/*函數(shù)聲明*/

int m;printf(“please enter the number of diskes:n”);scanf(“%d”,&m);printf(“the step of move %d diskes :”,m);tian(m,'A','B','C');

} void tian(int n,int x,int y,int z)

/*當(dāng)我選定這一行的時(shí)候 然后單擊組間選擇調(diào)試

run to_

發(fā)現(xiàn)不管輸入的x值是多少

ABC的值都是65 66 67

后來才發(fā)現(xiàn)原來是他們所代表的十進(jìn)制的值*/ {void move(int x,int y);

if(n==1)move(x,z);

/*這里是遞歸函數(shù)的結(jié)束條件*/ else

{tian(n-1,x,z,y);move(x,y);

tian(n-1,y,x,z);} } void move(int x, int y)

/*

定義move函數(shù)用來顯示移動的路線*/ {printf(“%c——>%cn”,x,y);

} /*漢洛塔問題:如果有N個(gè)盤子

那么可以簡化為n-1個(gè)盤子和一個(gè)盤子來處理,只要先把上面的n-1個(gè)盤子從A——>B

把第n個(gè)盤子由A——>C 再把n-1個(gè)盤子由B——>C 即可;

n-1盤子

那么可以簡化為n-2個(gè)盤子和一個(gè)盤子來處理

只要

把上面的n-2個(gè)盤子從A——>B

把第n個(gè)盤子由A——>C 再把n-1個(gè)盤子由B——>C 即可;

n-3盤子

那么可以簡化為n-3個(gè)盤子和一個(gè)盤子來處理

只要

把上面的n-4個(gè)盤子從A——>B

把第n個(gè)盤子由A——>C 再把n-1個(gè)盤子由B——>C 即可;

N-4

.....4個(gè)盤子

那么可以簡化為3個(gè)盤子和一個(gè)盤子來處理

只要 把上面的3個(gè)盤子有a 到b

把第4個(gè)盤子由a到c 再把上面的三個(gè)盤子由b到c;

3個(gè)盤子

可以簡化為。。*/

第二篇:漢諾塔c語言程序代碼

漢諾塔c語言程序代碼(通過vc++6.0驗(yàn)證)(附講解)讓我們先看看代碼吧 #include int hj(int a,int b, int c,int i){ int t;if(i==1)

printf(“%d->%dn”,a,c);else {t=c;c=b;b=t;hj(a,b,c,i-1);printf(“%d->%dn”,a,b);t=a;a=c;c=t;t=b;b=c;c=t;hj(a,b,c,i-1);return 0;} } main(){ int a,b,c,i;a=1;b=2;c=3;printf(“請輸入漢諾塔的盤數(shù)”);scanf(“%d”,&i);hj(a,b,c,i);return 0;}

以上是漢諾塔的代碼,該程序主要是運(yùn)用了遞歸的思想,比如數(shù)學(xué)中的f(x)=f(x-1)+f(x-2),在本程序中為:int hj(int a,int b, int c,int i){ int t;if(i==1)

printf(“%d->%dn”,a,c);else {t=c;c=b;b=t;hj(a,b,c,i-1);也就是說,我們在這個(gè)函數(shù)中再次調(diào)用這個(gè)函數(shù),相當(dāng)于一個(gè)循環(huán),而在再次調(diào)用的過程中,i的值變成i-1,就類似于f(x-1),這樣層層調(diào)用,最終就變成當(dāng)i=1的時(shí)候的值,然后通過運(yùn)算,計(jì)算出想要得到的值。漢諾塔的數(shù)值分析:

我們可以發(fā)現(xiàn),當(dāng)只有一個(gè)盤的時(shí)候,我們只需要做1->3(就是把第一個(gè)柱子上的最頂端的盤移動到第三根柱子,以下不再解釋)當(dāng)有兩個(gè)盤的時(shí)候,是1->2

1->3

2->3 三個(gè)盤子是:1->3

1->2

3->2

1->3

2->1

2->3 分析一下可以得出以下結(jié)論: 初始值a=1 b=2 c=3 一個(gè)盤子就是a->c 兩個(gè)盤子與一個(gè)盤子的關(guān)系是:

第一步:b與c交換值,然后打印a->c 第二步:打印a->b 第三步:a與c交換值,b與c交換值,打印a->c 進(jìn)一步分析,便可以得出以下結(jié)論 只要盤子數(shù)量為i(i大于1),那么它就有三部分 第一部分,b與c交換值,然后運(yùn)行i-1 第二部分,打印a->b 第三部分,a與c交換值,b與c交換值,然后運(yùn)行i-1 程序表示便是: if(i==1)

printf(“%d->%dn”,a,c);else {t=c;c=b;(交換值)

b=t;hj(a,b,c,i-1);printf(“%d->%dn”,a,b);t=a;a=c;c=t;(a c交換)

t=b;b=c;c=t;(b c交換)

hj(a,b,c,i-1);不明加QQ765233918(請寫清備注)

1->3

第三篇:漢諾塔教學(xué)反思

師生問答對話的探索----《漢諾塔》教學(xué)反思

山東省日照市文登路小學(xué) 劉衛(wèi)妮

漢諾塔游戲,起源于古印度的一個(gè)傳說,這一堂從游戲中開始的數(shù)學(xué)課,將一改有些學(xué)生認(rèn)為“數(shù)學(xué)很枯燥的”的想法,通過讓學(xué)生自己動手去體驗(yàn),不僅是在學(xué)習(xí)數(shù)學(xué)知識,更是在訓(xùn)練數(shù)學(xué)思維。揭開的不僅是謎底,更是想教給學(xué)生如何學(xué)好數(shù)學(xué)的一種方法。下面,我將對師生問答對話進(jìn)行一下反思。

過程課中,第一,開始通過師生會話自然導(dǎo)入,如:你喜歡玩游戲嗎?你還想繼續(xù)玩嗎?通過傳說中關(guān)于世界末日的預(yù)言,讓學(xué)生迫不及待的想找到問題的答案。第二,通過讓學(xué)生到黑板上貼標(biāo)題的方法,一方面自然出現(xiàn)課題,另一方面通過這種活動又復(fù)習(xí)了游戲規(guī)則,讓學(xué)生通過活動說出游戲規(guī)則。如,師:孩子們,眼睛看到這兒來,你發(fā)現(xiàn)了什么? 生:老師,漢諾塔這款游戲器具既有立柱,還有圓盤,我發(fā)現(xiàn)黑板上只有三根立柱,而缺少圓盤。師:孩子,你有一雙善于發(fā)現(xiàn)的眼睛。圓盤在老師手里。誰來將這三個(gè)紙質(zhì)圓盤貼到黑板上的第一根圓柱上?生貼師:大家同意他的貼法嗎?理由是什么?師:同學(xué)們同意他的觀點(diǎn)嗎?生:。。師:是的,小盤在上,大盤在下,這是我們玩這款游戲的規(guī)則之一(PPT出示),漢諾塔僅僅這一個(gè)規(guī)則嗎?生:老師,我知道。玩漢諾塔還有一個(gè)規(guī)則是:一次只能移動一個(gè)圓盤。師:說的很好。請同學(xué)們仔細(xì)觀察,看老師的操作是否正確,并說出理由。(師故意做錯誤演示)生:。。第三,注重在各個(gè)環(huán)節(jié)中滲透對學(xué)生的情感目標(biāo)。比如“師:孩子們知道了游戲規(guī)則,我想征求大家的意見,此時(shí),你最想干什么?”通過詢問,拉近和學(xué)生的距離,建立一種平等民主的教學(xué)環(huán)境。又如“師:XX同學(xué),不僅善于分析,還講述的非常清楚,跟大家分享了他的成功。孩子們,分享別人的成功,也是一種進(jìn)步。”讓學(xué)生知道要取長補(bǔ)短,互相學(xué)習(xí)。第四,通過讓學(xué)生找最少步數(shù)之間的規(guī)律進(jìn)行拓展延伸,找到里面的數(shù)學(xué)奧秘,讓學(xué)生覺得數(shù)學(xué)是很有趣的,數(shù)學(xué)無處不在,我們可以用數(shù)學(xué)問題解釋生活中的很多事情。如,師:要是我們一直這樣做下去,還沒有做到咱們所有的9個(gè)圓盤的游戲,就已經(jīng)下課了,來,我們先一起看一下我們的研究成果,認(rèn)真看,你發(fā)現(xiàn)這些數(shù)字有什么規(guī)律了嗎?最后,作為獎勵我給學(xué)生講了一個(gè)小故事,這個(gè)故事正好體現(xiàn)了本節(jié)課的數(shù)學(xué)問題,讓學(xué)

生在課下研究探索,找到問題的答案,寓教于樂。師:同學(xué)們,今天的這堂課老師分享了你們的成功和快樂,老師有一個(gè)故事也想和大家分享一下,“百萬富翁的破產(chǎn)”:杰米是百萬富翁,一天,他碰到上一件奇怪的事。一個(gè)叫韋伯的人對他說,我想和你訂個(gè)合同,我將在整整一個(gè)月中每天給你10萬元,而你第一天只需給我1分錢,以后你每天給我的錢是前一天的兩倍。杰米說,真的?!你說話算數(shù)? 合同開始生效了,杰米欣喜若狂。第一天杰米支出1分錢,收入10萬元。第二天,杰米支出2分錢,收入10萬元。到了第10天,杰米共得100萬元,而總共才付出5元1角2分。到了第20天,杰米共得200萬元,而韋伯才得5千元多。杰米想:要是合同訂、三個(gè)月該多好!結(jié)果杰米卻破產(chǎn)了。孩子們,原因是什么?我期待著你們能幫幫我。

漢諾塔問題在數(shù)學(xué)界有很高的研究價(jià)值,而且至今還在被一些數(shù)學(xué)家們所研究,它可以幫助開發(fā)智力,激發(fā)我們的思維。讓小學(xué)生接觸這款益智游戲,利用一次次不斷的探索和嘗試,可以激發(fā)他們的興趣,積極應(yīng)對困難,獲得成功體驗(yàn),鍛煉他們的思維,同時(shí),培養(yǎng)主動探索,不服輸?shù)木瘛?shù)學(xué)磨礪孩子的思維品質(zhì)。數(shù)學(xué),是思維的體操;數(shù)學(xué)課堂應(yīng)是師生思維活動的場所。數(shù)學(xué)學(xué)習(xí)的主要任務(wù),其實(shí)就是發(fā)展學(xué)生的思維,要讓學(xué)生學(xué)會思維的方式,形成良好的思維品質(zhì)。課堂里知識的學(xué)習(xí)是有形的,思維的發(fā)展是無形的。如何讓無形的思維發(fā)展轉(zhuǎn)化為外在的有形體現(xiàn),這就要求學(xué)生在掌握知識的過程中,理解掌握知識之間的內(nèi)在聯(lián)系,聯(lián)系就是思維,聯(lián)系就是方法,聯(lián)系就是能力,我們要在數(shù)學(xué)學(xué)習(xí)過程中讓孩子尋找到知識與知識之間的聯(lián)系,知識與生活之間的聯(lián)系等。只有建立聯(lián)系學(xué)生才會觸類旁通,一通百通。然而,學(xué)生的思維單靠老師是教不會的。靠的是學(xué)生自己在經(jīng)驗(yàn)中的摸索、體悟和積累,依靠學(xué)生自主地將這種摸索和體悟所得進(jìn)行內(nèi)化,逐漸學(xué)會如何思維,這個(gè)過程只有孩子自己才能實(shí)現(xiàn)。

在活動過程中,教師應(yīng)更善于引導(dǎo)學(xué)生積極動腦自己去找到游戲策略,讓學(xué)生更多參與,更多發(fā)現(xiàn),培養(yǎng)學(xué)生獨(dú)立思考的良好學(xué)習(xí)習(xí)慣,同時(shí),這樣也有利于學(xué)生建立學(xué)習(xí)信心。

第四篇:漢諾塔實(shí)驗(yàn)(人工智能)

實(shí)驗(yàn)二——專家系統(tǒng)一、源代碼

import javax.swing.JCheckBox;import javax.swing.JOptionPane;import javax.swing.JPanel;

public class Index extends javax.swing.JFrame {

jmilk = new javax.swing.JCheckBox();jclaw = new javax.swing.JCheckBox();jhoof = new javax.swing.JCheckBox();jbird = new javax.swing.JCheckBox();jloogLeg = new javax.swing.JCheckBox();jflyable = new javax.swing.JCheckBox();jeatMeat = new javax.swing.JCheckBox();jfur = new javax.swing.JCheckBox();jruminate = new javax.swing.JCheckBox();jswim = new javax.swing.JCheckBox();jfeather = new javax.swing.JCheckBox();jdogTooth = new javax.swing.JCheckBox();jflyest = new javax.swing.JCheckBox();jlayEgg = new javax.swing.JCheckBox();jblackWhite = new javax.swing.JCheckBox();jyellow = new javax.swing.JCheckBox();jinFlyable = new javax.swing.JCheckBox();jdarkDot = new javax.swing.JCheckBox();jhoofAnimal = new javax.swing.JCheckBox();jpredator = new javax.swing.JCheckBox();jmammal = new javax.swing.JCheckBox();jblackStrip = new javax.swing.JCheckBox();jgaze = new javax.swing.JCheckBox();jLabel1 = new javax.swing.JLabel();btnOk = new javax.swing.JButton();jloogNeck = new javax.swing.JCheckBox();private void initComponents(){ public Index(){ } initComponents();數(shù)組設(shè)置//:

checkBoxs[0] = jmilk;checkBoxs[1] = jclaw;checkBoxs[2] = jhoof;checkBoxs[3] = jbird;checkBoxs[4] = jloogLeg;checkBoxs[5] = jflyable;checkBoxs[6] = jeatMeat;checkBoxs[7] = jfur;checkBoxs[8] = jruminate;checkBoxs[9] = jswim;checkBoxs[10] = jfeather;checkBoxs[11] = jdogTooth;checkBoxs[12] = jflyest;checkBoxs[13] = jlayEgg;checkBoxs[14] = jblackWhite;checkBoxs[15] = jyellow;checkBoxs[16] = jinFlyable;checkBoxs[17] = jdarkDot;checkBoxs[18] = jhoofAnimal;checkBoxs[19] = jpredator;checkBoxs[20] = jmammal;checkBoxs[21] = jblackStrip;checkBoxs[22] = jgaze;checkBoxs[23] = jloogNeck;://數(shù)組設(shè)置

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jmilk.setText(“u5976”);jclaw.setText(“u722a”);jhoof.setText(“u8e44”);jbird.setText(“u9e1f”);jloogLeg.setText(“u957fu817f”);jflyable.setText(“u4f1au98de”);jeatMeat.setText(“u5403u8089”);

{

jfur.setText(“u6bdbu53d1”);jruminate.setText(“u53cdu520d”);jswim.setText(“u6e38u6cf3”);jfeather.setText(“u7fbdu6bdb”);jdogTooth.setText(“u72acu9f7f”);jflyest.setText(“u5584u98de”);jlayEgg.setText(“u4e0bu86cb”);jblackWhite.setText(“u9ed1u767du8272”);jyellow.setText(“u9ec4u8910u8272”);jinFlyable.setText(“u4e0du4f1au98de”);jdarkDot.setText(“u6697u6591u70b9”);jhoofAnimal.setText(“u6709u8e44u7c7bu52a8u7269”);jpredator.setText(“u98dfu8089u52a8u7269”);jmammal.setText(“u54fau4e73u52a8u7269”);jblackStrip.setText(“u9ed1u8272u6761u7eb9”);jgaze.setText(“u773cu775bu76efu7740u524du65b9”);jLabel1.setFont(new java.awt.Font(“黑體”, 0, 24));jLabel1.setText(“u4e13u5bb6u7cfbu7edf”);btnOk.setText(“u731cu731cu662fu4ec0u4e48uff1f”);btnOk.addActionListener(new java.awt.event.ActionListener(){

public void actionPerformed(java.awt.event.ActionEvent evt)} btnOkActionPerformed(evt);});jloogNeck.setText(“u957fu8116u5b50”);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout

.setHorizontalGroup(layout

.createParallelGroup(.addGroup(layout

.createSequentialGroup().addGap(35, 35, 35).addGroup(layout

.addGroup(layout

javax.swing.GroupLayout.Alignment.LEADING).createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addComponent(jmilk).addComponent(jclaw).addComponent(jhoof)

.addComponent(jbird)).addGap(44, 44, 44).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jeatMeat).addComponent(jfur).addComponent(jflyable).addComponent(jruminate)))

.addGroup(layout

.createSequentialGroup().addComponent(jloogLeg)

.addGap(32, 32, 32).addComponent(jswim)))

.addGap(26, 26, 26).addGroup(layout

.addComponent(.addComponent(btnOk).addGroup(layout

98,jLabel1,.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jflyest).addComponent(jdogTooth).addComponent(jfeather).addComponent(jlayEgg).addComponent(jgaze)).addGap(23, 23, 23).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jloogNeck).addGroup(layout

.createSequentialGroup().addGroup(layout

.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jyellow)

.addComponent(jblackWhite)

.addComponent(jinFlyable)

.addComponent(jdarkDot))

.addGap(18, 18, 18)

.addGroup(layout

.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jmammal)

.addComponent(jpredator)

.addComponent(jblackStrip)

.addComponent(jhoofAnimal))))))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE)));layout.setVerticalGroup(layout

.createParallelGroup(.addGroup(layout

.createSequentialGroup().addGroup(layout

.addGroup(layout

javax.swing.GroupLayout.Alignment.LEADING).createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).createSequentialGroup().addGap(81, 81, 81).addComponent(jLabel1)

.addGap(65, 65, 65).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jfeather, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(jfur).addComponent(jmilk).addComponent(jyellow)).addGap(18, 18,18).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jdogTooth).addComponent(jeatMeat).addComponent(jclaw).addComponent(jblackWhite).addComponent(jpredator)).addGap(24, 24, 24).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addGroup(layout

.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jflyable)

.addComponent(jhoof)).addGroup(layout

.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jlayEgg)

.addComponent(jinFlyable)

.addComponent(jblackStrip))).addGap(18,18, 18).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jflyest).addComponent(jbird).addComponent(jruminate).addComponent(jdarkDot).addComponent(jhoofAnimal)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED))

.addGroup(layout

.createSequentialGroup().addContainerGap(175,Short.MAX_VALUE).addComponent(jmammal, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(141, 141, 141)))

.addPreferredGap(.addGroup(layout

.addGroup(layout

javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(jswim).addComponent(jgaze)

.addComponent(jloogNeck)).addComponent(jloogLeg))

.addGap(73, 73,.addGap(27, 27, 27)));73).addComponent(btnOk)pack();}// //GEN-END:initComponents

private void btnOkActionPerformed(java.awt.event.ActionEvent evt){

// TODO add your handling code here: if(jfur.isSelected()&& count()== 1){ show(“哺乳動物”);} else if(jmilk.isSelected()&& count()== 1){ show(“哺乳動物”);} else if(jfeather.isSelected()&& count()== 1){ 主要代碼//:

show(“鳥”);} else if(jflyable.isSelected()&& jlayEgg.isSelected()&& count()

show(“鳥”);} else if(jeatMeat.isSelected()&& count()== 1){ show(“食肉動物”);} else if(jdogTooth.isSelected()&& jclaw.isSelected()&& show(“食肉動物”);} else if(jmammal.isSelected()&& jhoof.isSelected()&& count()show(“有蹄類動物”);} else if(jmammal.isSelected()&& jruminate.isSelected()&& show(“有蹄類動物”);} else if(jmammal.isSelected()&& jpredator.isSelected()&& show(“金錢豹”);} else if(jmammal.isSelected()&& jpredator.isSelected()&& show(“虎”);} else if(jhoofAnimal.isSelected()&& jloogNeck.isSelected()&& show(“長頸鹿”);== 2){ jgaze.isSelected()&& count()== 3){ == 2){ count()== 2){ jyellow.isSelected()&& jdarkDot.isSelected()&& count()== 4){ jyellow.isSelected()&& jblackStrip.isSelected()&& count()== 4){ jloogLeg.isSelected()&& jdarkDot.isSelected()&& count()== 4){

} else if(jhoofAnimal.isSelected()&& jblackStrip.isSelected()show(“斑馬”);} else if(jbird.isSelected()&& jinFlyable.isSelected()&& && count()== 2){ jloogNeck.isSelected()&& jloogLeg.isSelected()&& jblackWhite.isSelected()&& count()== 5){

//GEN-BEGIN:variables

public static void main(String args[]){

} java.awt.EventQueue.invokeLater(new Runnable(){

public void run(){ } new Index().setVisible(true);public void show(String message){ }

public int count(){

} int sum = 0;for(int i = 0;i < checkBoxs.length;i++){

} return sum;if(checkBoxs[i].isSelected()){ } sum ++;JOptionPane.showMessageDialog(this, message);}

show(“鴕鳥”);} else if(jbird.isSelected()&& jinFlyable.isSelected()&& show(“企鵝”);} else if(jbird.isSelected()&& jflyest.isSelected()&& count()show(“信天翁”);} else { show(“我不知道是什么。。”);} jblackWhite.isSelected()&& jswim.isSelected()&& count()== 4){ == 2){ ://主要代碼

});

} // Variables declaration-do not modify private javax.swing.JButton btnOk;private javax.swing.JLabel jLabel1;private javax.swing.JCheckBox jbird;private javax.swing.JCheckBox jblackStrip;private javax.swing.JCheckBox jblackWhite;private javax.swing.JCheckBox jclaw;private javax.swing.JCheckBox jdarkDot;private javax.swing.JCheckBox jdogTooth;private javax.swing.JCheckBox jeatMeat;private javax.swing.JCheckBox jfeather;private javax.swing.JCheckBox jflyable;private javax.swing.JCheckBox jflyest;private javax.swing.JCheckBox jfur;private javax.swing.JCheckBox jgaze;private javax.swing.JCheckBox jhoof;private javax.swing.JCheckBox jhoofAnimal;private javax.swing.JCheckBox jinFlyable;private javax.swing.JCheckBox jlayEgg;private javax.swing.JCheckBox jloogLeg;private javax.swing.JCheckBox jloogNeck;private javax.swing.JCheckBox jmammal;private javax.swing.JCheckBox jmilk;private javax.swing.JCheckBox jpredator;private javax.swing.JCheckBox jruminate;private javax.swing.JCheckBox jswim;private javax.swing.JCheckBox jyellow;// End of variables declaration//GEN-END:variables

public JCheckBox[] checkBoxs = new JCheckBox[24];

二、結(jié)果截圖

示例1:

示例2:

三、推理樹

第五篇:漢諾塔探秘教學(xué)設(shè)計(jì) 胡小佳

數(shù)學(xué)游戲漢諾塔 教學(xué)設(shè)計(jì)

彭州市通濟(jì)鎮(zhèn)藍(lán)天小學(xué)

胡小佳

教學(xué)內(nèi)容: 教學(xué)目標(biāo): 四年級下期p37,數(shù)學(xué)游戲 漢諾塔(1課時(shí)、40分鐘)

1、讓學(xué)生在學(xué)習(xí)過程中,根據(jù)解決問題的需要,經(jīng)過自己的探索,體驗(yàn)化繁為簡找規(guī)律這一解決數(shù)學(xué)問題的基本策略。

2、經(jīng)歷收集有用的信息、進(jìn)行歸納、類比與猜測、再驗(yàn)證猜測,這一系列數(shù)學(xué)思維過程,發(fā)展學(xué)生的歸納推理能力。

3、能用有條理的、清晰的語言闡述自己的想法。

4、在解決問題的活動中,學(xué)習(xí)與他人合作,懂得謙讓,能相互幫助。

5、在老師的鼓勵與引導(dǎo)下,能積極地應(yīng)對活動中遇到的困難,在學(xué)習(xí)活動中獲得成功體驗(yàn)。

教學(xué)重點(diǎn): 教學(xué)難點(diǎn): 指導(dǎo)學(xué)生根據(jù)解決問題的需要,收集有用的信息,進(jìn)行歸納、類比與猜測,發(fā)展初步的合情推理能力。

在解決問題過程中,引導(dǎo)學(xué)生進(jìn)行有條理的思考,訓(xùn)練學(xué)生對自己的結(jié)論做出條理清晰的說明。

教學(xué)具準(zhǔn)備: 教學(xué)過程:

一、游戲引入。DELL互聯(lián)課堂設(shè)備、PPT課件、漢諾塔游戲軟件、游戲記錄表。

同學(xué)們你們都喜歡玩游戲,老師這兒就有個(gè)游戲你們想試試嗎?

(ppt在白板上展示)

它呀,叫漢諾塔。

這個(gè)游戲就是想辦法把第一根柱子上的圓盤都移到第三根柱子上。也按照上小下大的順序排列好。

老師給大家準(zhǔn)備了一個(gè)游戲的模擬軟件。在軟件上操作。

(ppt在白板上展示)可不白玩,給大家3分鐘的時(shí)間,邊玩邊琢磨琢磨這個(gè)游戲的規(guī)則。同桌的同學(xué)可以邊玩邊討論。注意相互禮讓。

你會操作這個(gè)游戲了嗎?誰能說說游戲的規(guī)則?

這個(gè)游戲看起來挺簡單的,其實(shí)它不簡單,世界上有好多數(shù)學(xué)家都研究過它呢。

二、介紹傳說

關(guān)于漢諾塔還有一全古老的傳說。

(ppt在白板上展示)

傳說中的漢諾塔上只有64個(gè)盤子,按照上面的規(guī)則移動完成后,我們的世界怎么可能都不復(fù)存在了呢?

這中間究竟蘊(yùn)含了什么樣的奧秘呢?

今天我們也來研究一下漢諾塔,揭開這個(gè)古老傳說中的奧秘。好嗎?

說到研究這個(gè)傳說,我發(fā)現(xiàn)這個(gè)漢諾塔上有64個(gè)圓盤,要是直接操作太多點(diǎn)了,干脆我們從50個(gè)圓盤開始研究吧?為什么不呢? 那從20個(gè)開始? 那你們說怎么辦? 從最簡單的開始!

不錯!對于復(fù)雜的問題,我們可以從它最簡單的形式開始研究,在研究的過程中找到規(guī)律就好辦了。

三、演示游戲操作

盤子的個(gè)數(shù)可以在游戲界面的右邊,個(gè)數(shù)框內(nèi)更改。在游戲界面的右上方,還有對你操作步數(shù)的統(tǒng)計(jì)。

好,我們就把盤子的個(gè)數(shù)改成1個(gè),從最簡單的開始。(師板演)

剛才老師完成了1個(gè)盤子的漢諾塔的操作,現(xiàn)在我們來為做記錄。你們自己在研究操作時(shí)也要做好數(shù)據(jù)記錄哦。

(在白板上記錄)

我們要完成操作,所用步數(shù)最少的,完成得最快的,才是最棒的。

四、活動要求說明

好,聽清老師的要求。(邊說邊在白板上顯示)

同桌兩個(gè)同學(xué)輪流操作,一人操作時(shí)另一人在記錄表上為他記錄。每完成一次操作后兩人交換。

從兩個(gè)盤子開始操作,盡量用最少的步數(shù)完成你的操作。

同桌的同學(xué)在操作相同個(gè)數(shù)的盤子時(shí)比一比,看誰用的步數(shù)更少。記住,每完成一次操作,都要做好記錄哦。明白了嗎?開始行動!

五、學(xué)生在學(xué)生機(jī)上操作

師巡視,強(qiáng)調(diào)活動要求。指導(dǎo)記錄數(shù)據(jù)。(用時(shí)5~10分鐘)

六、收集數(shù)據(jù) 時(shí)間到請坐直

2個(gè)盤子的操作誰來演示?生板演 有比他步數(shù)少的操作方法嗎?

兩個(gè)盤子最少用了3步,第一步移動到哪? 師板演(在白板上記錄)個(gè)盤子呢,你用了幾步? 請你上來給大家演示?生板演 有比7步更少的嗎?

你怎么保證能只用7步完成?(在白板上記錄)

4個(gè)盤子呢?最少用幾步完成? 生板演

看清楚了嗎?

(在白板上記錄)

七、觀察分析,找規(guī)律。

(白板上展示)

到現(xiàn)在為止,我們已經(jīng)研究了這四種情況的漢諾塔游戲。

要是我們一直這樣做下去,還沒有做到10個(gè)盤子的游戲就已經(jīng)下課了,觀察這個(gè)表格,開動你的腦筋,能不能發(fā)現(xiàn)一些規(guī)律。(生討論,交流)提示:操作時(shí)用的最少步數(shù)之間有沒有一定的規(guī)律呢?

(生演算,討論,交流,發(fā)言)

八、運(yùn)用發(fā)現(xiàn)的規(guī)律推測,并驗(yàn)證。

根據(jù)你們發(fā)現(xiàn)的規(guī)律,假如盤子是5個(gè)時(shí),要想用最少的步數(shù)完成操作,下面我們就在游戲中來驗(yàn)證一下我們的推測。

驗(yàn)證的結(jié)果符合我們發(fā)現(xiàn)的規(guī)律。

如果盤子換成6 個(gè),最少用幾步?

我們再來驗(yàn)證一下。

驗(yàn)證的結(jié)果也符合我們發(fā)觀的規(guī)律。

(師運(yùn)用游戲軟件的演示功能在白板上演示)

你能運(yùn)用這個(gè)規(guī)律推算出10個(gè)盤子的漢諾塔游戲,最少要用多少步完成嗎?

九、課堂小結(jié)

當(dāng)盤子的個(gè)數(shù)不斷地增加時(shí),所用的最少步數(shù)也在不斷地增多。

同學(xué)們你們還記得開始那個(gè)關(guān)于漢諾塔的傳說嗎?

傳說中的柱子上有64個(gè)圓盤,按照我們剛才找到的規(guī)律,利用計(jì)算機(jī)進(jìn)行運(yùn)算,得到最少須要移動

***709551615

這么

多次才能完成操作。(ppt在白板上展示)

假設(shè)搬一個(gè)圓盤要用一秒鐘,1小時(shí)有3600秒,我們把這個(gè)時(shí)間換算成小時(shí),就有這么多小時(shí),1天有24小時(shí),再除以24,換算成這么多天,1年我們以365天來計(jì)算,再除以365,換算成年,大約是五千多億年。

據(jù)現(xiàn)在的科學(xué)研究,地球從誕生到現(xiàn)在,也才只有大約46億年的時(shí)間。而要完成64個(gè)圓盤的漢諾塔操作卻要5千多億年,當(dāng)這個(gè)操作完成時(shí),可能我們?nèi)祟惖氖澜缯娴亩疾粡?fù)存在了。

十、結(jié)束語

同學(xué)們今天老師和大家一起探索了漢諾塔的奧秘。一個(gè)小小的游戲里邊竟然包含著巨大的數(shù)學(xué)智慧。其實(shí)數(shù)學(xué)無處不在,只要我們打開自己敏銳的數(shù)學(xué)直覺、認(rèn)真觀察,學(xué)會收集整理信息并加以歸納,我們就能在自己周圍的事物中發(fā)現(xiàn)更多的數(shù)學(xué)奧秘。

附:學(xué)生活動記錄表

下載C語言程序設(shè)計(jì)(漢諾塔問題)word格式文檔
下載C語言程序設(shè)計(jì)(漢諾塔問題).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    C語言程序設(shè)計(jì)

    1. Problem A: Hello world! Description Xiao_ming有兩個(gè)哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放學(xué)回家,父母分別跟他們打招呼。 Input 無 Output 請輸出: Hello Da_min, He......

    C 語言程序設(shè)計(jì)

    《C 語言程序設(shè)計(jì)》主要在計(jì)算機(jī)軟件、計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)應(yīng)用、通信技術(shù)、智能電子、電子信息工程、多媒體以及核工程與核技術(shù)等專業(yè)中開設(shè),是電子信息類、機(jī)械類等工科專業(yè)......

    漢諾莊園簡介最新(五篇)

    漢諾莊園簡介漢諾莊園成立于2006年7月,為山東漢諾集團(tuán)有限公司全資控股子公司,總投資5億元,總規(guī)劃面積2000畝,分三期開發(fā)建設(shè),目前一二期工程已竣工并投入運(yùn)營,三期工程已完成規(guī)劃......

    經(jīng)典C語言程序設(shè)計(jì)例題

    經(jīng)典C語言程序設(shè)計(jì)例題 【程序1】 題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少? 1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組......

    第一章 C語言程序設(shè)計(jì)

    第一章 C語言程序設(shè)計(jì) 考試形式:試卷(全國統(tǒng)一 4月第二個(gè)星期六9月倒數(shù)第二個(gè)星期六) 筆試: 滿分100分60分及格 時(shí)間:90分鐘內(nèi)容: 70分 C語言知識30分 公共基礎(chǔ) 選擇題:60分 前......

    C語言程序設(shè)計(jì)心得體會

    C語言程序設(shè)計(jì)心得體會在這為期半個(gè)月的時(shí)間內(nèi),通過我們小組各成員之間的相互討論和合作,我們完成了學(xué)生信息管理系統(tǒng)的程序設(shè)計(jì),更值得高興的是我們的程序得到了大家的喜愛,在......

    語言程序設(shè)計(jì)練習(xí)題 2

    匯編語言程序設(shè)計(jì)練習(xí)題 一、單項(xiàng)選擇題:在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。 1.CPU要訪問的某一......

    C語言程序設(shè)計(jì)策劃書

    信息工程學(xué)院學(xué)生會科技部 關(guān)于舉辦信息工程學(xué)院C語言程序設(shè)計(jì)大賽的策劃書 一、活動背景: 隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,計(jì)算機(jī)程序語言的多樣化,C語言已經(jīng)使用的越來越廣泛,C語言......

主站蜘蛛池模板: 日本真人边吃奶边做爽免费视频| 宅男666在线永久免费观看| 国产精品无码无卡在线播放| 亚洲成年av天堂动漫网站| www插插插无码视频网站| 久久精品www人人做人人爽| 蜜臀久久99精品久久久久久| 手机在线亚洲国产精品| 热99re久久精品这里都是精品免费| 国产成人av一区二区三区不卡| 免费午夜无码18禁无码影视| 人妻护士在线波多野结衣| 人人妻人人澡人人爽欧美一区九九| 亚洲人成电影在线观看网色| 狼人无码精华av午夜精品| 无码精品人妻一区二区三区人妻斩| 亚洲成在人线av| 无码人妻视频一区二区三区| 亚洲aⅴ在线无码播放毛片一线天| 99热在线精品国产观看| 特级做a爰片毛片免费69| 中国xxxx做受视频| 窝窝午夜看片国产精品| 久久精品aⅴ无码中文字字幕| 好男人中文资源在线观看| 国产亚洲精品aaaaaaa片| 九九久久自然熟的香蕉图片| 国产精品人妻99一区二区三区| 亚洲精品国产黑色丝袜| 巨爆中文字幕巨爆区爆乳| 国精品午夜福利视频不卡| 在线看无码的免费网站| 久久av无码αv高潮αv喷吹| 亚洲精品欧美综合四区| 免费a级毛片出奶水| 伊人久久精品无码二区麻豆| 人妻人人澡人人添人人爽| 久久久无码精品国产一区| 免费A级毛片在线播放不收费| 黑人巨大videos极度另类| 久久亚洲精品无码爱剪辑|