999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于問題引導法的C語言一維數(shù)組插入算法教學過程分析

2018-08-24 11:15:08張樂楊立
現(xiàn)代計算機 2018年21期
關鍵詞:教師教學學生

張樂,楊立

(山西運城學院數(shù)學與信息技術學院,運城044000)

0 引言

C語言中提供了解決批量數(shù)據(jù)相同操作問題的方法—數(shù)組。數(shù)組是一種構造的數(shù)據(jù)類型,是相同類型數(shù)據(jù)的集合[1]。數(shù)組是C語言程序設計教學中一個重要內(nèi)容,C語言中按確定數(shù)組元素下標的個數(shù)可以分為一維數(shù)組、二維數(shù)組和多維數(shù)組[1]。使用一維數(shù)組可以解決實際應用中的很多問題,如一維數(shù)組元素輸入輸出、查找最大最小值、數(shù)組元素排序、在原數(shù)組中插入、刪除、查找元素等。其中在一維數(shù)組中插入元素是C語言程序設計教學中的重難點,而傳統(tǒng)教學中教師為主體灌輸式的教學方式比較枯燥無法調(diào)動學生學習的積極性和主動性,對數(shù)據(jù)插入算法的理解達不到教學目標,無法熟練使用插入算法解決實際問題。因此,采用問題引導式教學方法對插入算法過程進行具體分析,以學生為主體教師為主導模式引導學生分析問題總結(jié)問題,幫助學生更好理解算法思想及過程,從而提高學生解決實際問題的能力。

1 問題引導法概念

問題引導法是以問題為中心,以學生為主體的一種教學方法,將教學目標或教學內(nèi)容以問題的形式呈現(xiàn)出來[2],通過提出問題-分析問題—解決問題-總結(jié)歸納-拓展應用的方式,在教學過程中通過問題引導學生主動發(fā)現(xiàn)問題、分析問題,在教師的指導下尋找解決問題的方法總結(jié)歸納,從而解決實際問題。問題引導法能夠激發(fā)學生的求知欲,引導學生主動學習,從而提升學生自主學習的能力和解決實際問題的能力。采用問題引導法常常能取得良好的教學效果。

在教學過程中使用問題引導法能夠激發(fā)學生的學習興趣,使得學生對插入算法思想和過程有整體、全面、記憶深刻的理解,并能將插入算法過程步驟分解,根據(jù)步驟順利編寫算法代碼,更好地理解掌握插入算法。

2 數(shù)據(jù)插入算法概述

2.1 一維數(shù)組的基本概念

程序設計中,為了方便處理,把具有相同類型的若干變量按有序的形式組織起來,形成數(shù)組(Array)[3]。按數(shù)組元素下標的個數(shù),數(shù)組可分為一維數(shù)組、二維數(shù)組和多維數(shù)組。由一個下標標識數(shù)組元素的數(shù)組稱為一維數(shù)組,一維數(shù)組可以直觀地被認為是排列成一行或一列的數(shù)據(jù)。數(shù)組有以下兩個特點:

數(shù)組元素是同質(zhì)的,同一個數(shù)組中的元素必須是同類型數(shù)據(jù)。

數(shù)組元素是有序的,數(shù)組元素之間按順序排列,從而確定它們之間的相對位置。

2.2 數(shù)據(jù)插入算法思想

在一組數(shù)據(jù)中插入一給定的數(shù)據(jù),有兩種方式:在有序列表中插入和指定位置插入。

在有序列表中插入數(shù)據(jù),要保證插入數(shù)據(jù)前后都是有序的。首先在有序列表中查找插入的位置,再把從最后一個數(shù)據(jù)到插入位置的所有數(shù)據(jù)依次按順序后移,然后再把指定的數(shù)據(jù)復制到插入位置。

傳統(tǒng)的教學過程中,以教師為主體填鴨式教學,將算法思想和程序代碼灌輸給學生,在沒有理解思想的基礎上編寫代碼十分困難,無法調(diào)動學生的積極性,也無法真正理解數(shù)據(jù)插入算法的意義并將其應用到實際問題中。因此,采用問題引導的方法,以學生為主體教師輔助教學,通過提出問題-引導學生分析問題并總結(jié)歸納數(shù)據(jù)插入算法基本過程,從而順利編寫算法代碼,能夠充分調(diào)動學生學習興趣,拓展自主思維能力,熟練掌握數(shù)據(jù)插入算法思想及編程方法并靈活運用從而解決實際問題。

3 教學過程分析

3.1 創(chuàng)設情境引入知識點

教師通過多媒體課件播放一組學生成績數(shù)據(jù),引導學生觀察數(shù)據(jù)特點:有序(升序)列表,并提出問題:班級里新來一名轉(zhuǎn)班的學生,需要將轉(zhuǎn)班學生的成績排列到當前班級成績列表中,如何實現(xiàn)?引入新知識點:在有序列表中插入數(shù)據(jù)。

【提問】如何在升序列表中插入一個數(shù)據(jù)并保持其繼續(xù)有序。

教師播放提前制作好的PPT課件,通過有趣生動的動畫直觀演繹數(shù)據(jù)插入過程,吸引了學生注意力。在動畫播放結(jié)束之后,結(jié)合課件教師引導學生觀察數(shù)據(jù)插入算法的過程:查找、后移、復制,即查找位置,將最后一個元素到插入位置的元素依次后移,復制數(shù)據(jù)到插入位置。

【提問】具體如何查找、移動、復制?

通過提問,引入數(shù)據(jù)插入算法思想,并通過重新播放PPT課件動態(tài)分析數(shù)據(jù)插入過程。

3.2 分析數(shù)據(jù)插入過程

假設班級有7個學生的成績存儲在數(shù)組sc[7]中,按升序排序后為:50、65、72、80、87、90、98,對應的下標分別是 0、1、2、3、4、5、6,現(xiàn)要求將轉(zhuǎn)班生成績 82(用變量k表示)插入到當前班級成績表中。

(1)分解數(shù)據(jù)插入過程

①查找位置

在播放PPT過程中,教師引導學生并提出問題:在升序的序列中查找第一個最大的值還是最小的值才能確定位置?

表1

教師引導分析:數(shù)組中下標0-6的元素分別跟k比較比較的結(jié)果有兩種可能性:sc[0]-sc[3]元素比k小,說明k應該插入在該數(shù)據(jù)之后,繼續(xù)和之后的數(shù)據(jù)比較;sc[4]元素比k大,當找到第一個比k的元素值,說明k插入在此位置,位置確定,即sc[4]就是插入的位置,比較結(jié)束。

②數(shù)據(jù)移動

【提問】當找到第一個比k大的數(shù)組元素后,位置確定,可以直接插入數(shù)據(jù)嗎?

教師引導分析:插入數(shù)據(jù)的過程就是數(shù)據(jù)賦值替換的過程,如果直接插入數(shù)據(jù),會導致原列表中sc[4]元素被替換,因此必須把sc[4]元素的位置空出來,即將sc[4]-sc[6]的元素后移一位。

【提問】將sc[4]到sc[6]元素后移,應該從sc[4]開始移動還是從sc[6]開始移動?

教師引導:移動數(shù)據(jù),即前者賦值給后者,如果從sc[4]開始依次后移,sc[5]-sc[6]的數(shù)據(jù)都將會被前者取代,因此應該從sc[6]-sc[4]逆向往后移動。移動過程如圖1所示。

圖1 數(shù)據(jù)后移的過程

【提問】移動過程中,sc[6]往后移動一位,而之前定義數(shù)組長度為7,最大下標為6,移動后最大下標為7,因此,定義數(shù)組長度至少為8,即float sc[8]數(shù)據(jù)后移后如圖2所示。

圖2 移動后的數(shù)據(jù)

③復制數(shù)據(jù)

教師引導:sc[4]-sc[6]的數(shù)據(jù)移動到sc[5]-sc[7]之后,sc[4]原來的數(shù)據(jù)87可被替代。將現(xiàn)有數(shù)據(jù)82賦值給sc[4]即可。如圖3所示。

圖3

(2)總結(jié)歸納數(shù)據(jù)插入過程

【提問】根據(jù)分析過程,總結(jié)數(shù)據(jù)插入一共幾個過程?有什么特點?

教師引導:查找位置、數(shù)據(jù)移動、復制數(shù)據(jù)三個過程。

①查找位置:將要插入的數(shù)據(jù)k=82依次與數(shù)組中的元素進行比較,每次比較若比k小則繼續(xù)比較;若比k大則停止比較。

教師引導:比較的過程可用循環(huán)for語句實現(xiàn)。

②數(shù)據(jù)移動:若找到比k大的第一個值則break跳出循環(huán),i便是查找到要插入數(shù)據(jù)的位置。將sc[i]到sc[6]所有元素逆序后移。

教師引導:移動的過程即將前一個元素賦值給后一個元素的過程,賦值多次用for語句實現(xiàn)。

③復制數(shù)據(jù):移動結(jié)束后,查找到的位置i中數(shù)據(jù)

3.3 演示算法代碼

通過定義-賦值-排序-輸出四個階段,我們可以將完整的過程代碼補充如下:

教師引導注意事項:定義數(shù)組長度要比原數(shù)組長度至少大1,float sc[8];輸出7個數(shù)據(jù),輸出8個數(shù)據(jù)。

【拓展問題】若要在降序數(shù)據(jù)列表中插入一個數(shù)據(jù),如何實現(xiàn)?

教師引導:查找位置(比較查找第一個比k小的值確定位置)、數(shù)據(jù)逆序后移、復制數(shù)據(jù)。

移動和復制數(shù)據(jù)同升序過程。

【拓展問題】如果原數(shù)組中包含N個數(shù)據(jù)并為升序,如何插入數(shù)據(jù)并保持有序?

教師引導:原來數(shù)組中有N個數(shù)據(jù),插入一個數(shù)據(jù),因此定義數(shù)組時至少數(shù)組長度為N+1。

現(xiàn)代教育注重培養(yǎng)學生的自主學習能力和創(chuàng)造性思維,相對于知識點的講授,更重要的是讓學生掌握計算機思維方式,從而運用計算知識解決其他問題。為了鞏固知識點,教師可在課后布置小問題培養(yǎng)發(fā)散思維。

【課后問題】數(shù)據(jù)插入算法分為:在有序列表中插入數(shù)據(jù)和在指定位置插入數(shù)據(jù),根據(jù)有序列表中插入數(shù)據(jù)分析過程,自主編寫程序?qū)崿F(xiàn)在指定位置插入數(shù)據(jù)。

教師提示:給定位置,無需查找。將指定位置之后的所有元素依次后移,并復制數(shù)據(jù)至指定位置。

4 結(jié)語

本文以數(shù)據(jù)插入算法為例,利用PPT、視頻等多媒體手段教學,在教師的指導下通過問題引導方法(提出問題-分析問題-總結(jié)歸納-解決問題),形象生動具體分析了數(shù)據(jù)插入算法全過程,并引導學生自主總結(jié)要點從而編寫出相應代碼,并運用算法思想解決其他問題。一方面通過步驟的總結(jié)順利過渡到代碼的書寫,突破代碼書寫的難點。另一方面引導學生觀察算法的過程,通過提問的方式引導學生自己發(fā)現(xiàn)問題,并提出解決問題的辦法,進而培養(yǎng)學生的發(fā)散創(chuàng)新思維和自主學習的能力[4]。因此,在C語言程序教學中使用問題引導法可以提高學習熱情和學習效率,對于程序設計及相近學科具有一定的借鑒意義。

猜你喜歡
教師教學學生
最美教師
快樂語文(2021年27期)2021-11-24 01:29:04
微課讓高中數(shù)學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
教師如何說課
甘肅教育(2020年22期)2020-04-13 08:11:16
未來教師的當下使命
趕不走的學生
“自我診斷表”在高中數(shù)學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
學生寫話
學生寫的話
圓我教師夢
吐魯番(2014年2期)2014-02-28 16:54:42
主站蜘蛛池模板: 波多野结衣一区二区三区四区视频| 青青网在线国产| 久久国产精品电影| 亚洲,国产,日韩,综合一区| 久久国产拍爱| 国产日韩欧美成人| 凹凸精品免费精品视频| 日本www色视频| 天天综合天天综合| 蜜芽一区二区国产精品| 性视频一区| 亚洲一区免费看| 无码一区中文字幕| 成人在线观看一区| 精品国产Av电影无码久久久| 色综合天天视频在线观看| 在线看国产精品| a色毛片免费视频| 国产在线专区| 在线va视频| 国产日韩AV高潮在线| 国产一级毛片yw| 国产老女人精品免费视频| 国产人人射| 国产区91| 沈阳少妇高潮在线| 天天综合网亚洲网站| 亚洲三级网站| 国产免费怡红院视频| 欧美国产日产一区二区| 最新无码专区超级碰碰碰| 国产三级视频网站| 免费A级毛片无码免费视频| 在线欧美a| 精品亚洲国产成人AV| 色婷婷色丁香| 无码精品一区二区久久久| 毛片视频网| 欧美高清国产| 日韩av无码精品专区| 欧美三级视频在线播放| 免费看的一级毛片| 国产精品综合色区在线观看| 国产免费a级片| 日日拍夜夜操| 亚洲男人天堂网址| 亚洲欧美在线综合一区二区三区| 国产农村1级毛片| 夜色爽爽影院18禁妓女影院| 婷婷午夜影院| 一本大道无码日韩精品影视| 2021精品国产自在现线看| 色噜噜狠狠色综合网图区| 国产精品冒白浆免费视频| 中文字幕第1页在线播| 人人爽人人爽人人片| 99偷拍视频精品一区二区| 人人看人人鲁狠狠高清| 成人精品亚洲| jizz亚洲高清在线观看| 久久无码高潮喷水| 日韩午夜伦| 国产成人亚洲毛片| 青青热久麻豆精品视频在线观看| 熟妇丰满人妻av无码区| 国产一区二区三区夜色| 日韩久久精品无码aV| 伊人久久久久久久久久| 无码福利日韩神码福利片| 狠狠干综合| 香蕉色综合| 国内丰满少妇猛烈精品播| 精品欧美日韩国产日漫一区不卡| 久久婷婷六月| 久久国产精品无码hdav| 日本免费福利视频| 日本免费精品| 找国产毛片看| 国产欧美日韩另类| 亚洲中久无码永久在线观看软件| 亚洲天堂福利视频| 色综合色国产热无码一|