《算法与程序设计》选修教案_第1页
《算法与程序设计》选修教案_第2页
《算法与程序设计》选修教案_第3页
《算法与程序设计》选修教案_第4页
《算法与程序设计》选修教案_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Goodisgood,butbettercarriesit.

精益求精,善益求善。Goodisgood,butbettercarriesit.

精益求精,善益求善。《算法与程序设计》选修教案(66页)>—·[|)`,:|【@\?…-、|!!*]%\,…,。@?PAGE初法设设

容习课展求求吃猴实递现程法用++现现算用!作共多比的存底率所费源性件的回有条个归递简回去。上层值将层达,调先,现层数结小论点点法递法是什们,递是习天小解解知节对力法归会生,法两通力识、题分讨特别法种较,实的知程过己得而处加择主息对为识有己义建主,信被习:认义主模数练力题、题分力力的养识学积动用学主行让展体。现论讨阅=子的本(兔本数)(子对就,二月果月几子多有描描)=(≥当+-那,数的月……、、、子兔少月子对月第力能月二出在兔一月每果:问殖的是题富题趣多书算作.家著是-系识的建迁知学生养”裴材阅让材阅(二构体功成学,序程生维末程实生实程编过现*((现程习编良养描算*数天前=的子个就那天我天第?桃你述数个样能能建学<)+((=0那数的0型模数桃本数学(子有人求可桃同后知他,知同他道位一只出是目破破轻使使特较复分避用调列契那材了的题”猴择学归归、少多子天你知的)位面排师从是桃天知位第)桃0知位的面行(了学同题析生方解或寻论行励子桃了下第子。一剩到的桃再上0到。一存是猴后一多瘾觉,中下着二个吃多不还了当桃干猴一

题新准植学法目递新为序思学培问描法进过,动了规游,动诉告位下我诉诉么答知(述用调以且序立相写能某了数知函自习我主伏下归学步式思归进”与题体活初学程学境案找动么是的精诉学第我开则束结案到推此)其告同的问告立,了学何当人再同且次问多最,的邻学始学一第第是…什装里知以个一诉这不是同的中事课(物什面同有我好…想吗物有道们)艺与装品份准家特兴很入情意活活进时时过。好是。、了立也析学功成但依写者例本义具教依的立给时同、写如已搬的这是是,糊笔有了确的就依这可立给时点学在师编的递实函自编法算法函定用题问思算递,算递解难点。。学功带一务教成下一中料也这、计标题决题思维多,识学的激例中值价感方法算,作动过,法方程编法归法函定问分的归会学算么能能目学实法算

题求法设,能求,面边意求知学本学练想想的程块法用义数程的法计程精、而小处好程函会体杂解程函用*0印第个印二*行第程法方函。、知,园拓务任成归析阅导的在动活题决机用试序、算题分展”形五对务任完纳析阅下师生动活的解计用调程编算题分开想猜德对程子义及定(均个求想想的程块总归积的求分共师法方义的程言纳,一的想歌验分生法计设求、顶总归的决机等程、编算计析历学题”巴证“学组讲新听边边幕幕节开?程功用调…书能何地复功有此观序的通情兴学发,巴证入故赫从导情活活环时时(中设于并,基计化点法法和数与的用点难点想思的序模法方调数程的法方序求、顶理目教设序化

问解法设问,知节根导)(:练课师练较的循几,行能功、循小序出编出能题问数是一判,去知所用求问困解力拓得和巧环,交讨练生学务践完纳分阅下的在

动究题决计序试序、计题分题所对

务任完归析读导师生动动题决机序程程、计题分展生如用们使素的特同出总分较种)实机动究探决算序程程编计题分展求0使数一找…知:考点环语归项意及程行功式句言结,的树陈“生

!!;;"时;

0

+=

=

=

,

(

程的题机等序调编算、问植陈生组过讲新听读幕的节了拉趣兴生激入的树“导情活活环构结程教同同构循种以际决结控实语的会难重构结

。解编计题,知节本生指、(:课布练套环及程行能格、环的小务任生视老。生::技套析学帮把题环循深问拓务任生视老)实机上求务成学帮老习成学务践完归析读导指生动活的解算用程程、计设分开平三语、的学丙甲求题师对务践成纳分读导师生动究探解机等程程、算、析题问巧程编和真学程过和的上

"分平;;"

)科$"第"$+入"((

":试(

":学请(

,

(

法与巧会分学,的循引均的同请,的个生知题值的××求践实)机握把识强错序所:习课动活的问计用调程、计、分展要均科三学语学位、别分实机变句语

长步值

=环

点环总项注书以行能式的环语归程题根术数所以析共过问环解很,构的感

(

0程的决机用程序写算设问”算偶有0出“学过讲理理执重题:题循入

00

(

决决方用有提听边幕的教了情和习学,题问根术偶的以出“手故研水的从导情活活环时)循过题题解结控现语循语用学难点趣乐助习主生,问探学下师乐快成体题决机历值和感”学解问过法法法运调握问际构制循句循语学(学提培则环循掌(程能、句句环的握掌点及一编结技与目目结循程等速名,应出风输序编,属,于0比料表象有料网已数数其出三,个:拓外向的支描确直程可句下情重多化可件达确能,的是句条,来句两句语过择中点能的算步它走执程立否种根而执的照完执程就结较结小型的符该,个输的类根序。字:字…字;:写的下字我题练)三格及格格0等”0好”0秀优>”成入“(下下的问语选用解它以,选情于,择+组,值是式当句执时式表值达……

句行时表达的当

句执时式为的当

是过行语过行语重二

达表式式达表……达式表式种如,称列表

同须必达与式

式表分号是还式表型值是列达和表其+

…表表组句

表列表

达为式的它选为,的种理了中格语择呢呢理何显更暴缺它况一,较是方性可的。种理句个中格不格”<>等”<>好良=秀优0=”数一“(_-下下,程编句用序写,格出下0;格输0等“,-好“,;优输上果个输语择程式(

元“”付=.*=”重果购请(程编的*..0*,=如的入

算设

.否.*.如为应克为果问析

款应果千算程计请基的克原可克买规促进对场练练

真真结时,=<>>如算算符系,算是算运运和算有符术有中顺运时辑逻条顺的辑(

假假结假数个)(

真为结为都两)

假假时真操为,假操即反数操非

有算逻辑值运达,式逻式来符算用系多示式个这<<要<件例表起式系几还条复一对际实

达达四

<为">"较进号则较的它)

真值比进小照,据数数(下义的达系

)(真:可有辑型—型的一,符是量型既的表)(为其成表当真为成系当等等小等大等含<<>符有有算

子的接算关是表,表称一表=的语条行的,程

达表。语的,句出,句面时件当过执件时句语以可格本语在示图图程的条行执语面执成条是行过行语件条句的是语表辑件

组语

组句

组语组句条

是是的语句句是这头开个,述?选判何如序在-否为绝数0>,对数求题,和行事对常过题语条结程

的的输

”的出‘

=>‘

0的的

”输请“实精值绝‘

过过)为义

)-序的的法设序写一程执序顺遍用码行码程并序示欲求们,的起引控代这能序道代的展学题的决以程明让序道值数求示时时(教程程正据根用的决解写择和件使流执结件程使的选多择件重重难重识的的活日科用学,的活都的选值和感力生掘,度序成程解生加练似而。方流执句选条让题对数一一,题简程过。问算中生以序择的编,用使择多语条握流执选的构序技与标目结选序应入如出反将,个入键序拓外课如。结、简是口出入一它行书下由内个是大结序结的称制的。为条完到句语行,继条然,语一即。现句行执的小程程(

;=体,;“**++(”输””输,“”输”(,,(程程的,输**计*+*算

的、、输算算为积*:面的以所对积面的长,、高宽长问析

积和全体长程编、长方知练;”“

;”“

=,例

行个出达容输中果出行一表,符容出=:为

;=”“

=

=

为输

;”“=

=,:。出格分,是出个跟内一后分如;分逗可之输容输多如多是可出你为”“果果结句出样则字起引果的表变、出,表变容出输明串串起号是,式、是容出内出

是格的数方上窗输的的计法是=积“序面在法个一据出方据输示图如数出栏输”“信示窗入为标的,0标位将口幕序00"输="=

(

况行程下:如字起引题息提置幕角上对的函运置值据的默值

题的话的数行指标略能,话示,数输:提

中其置置默题息(

为为语

变赋入盘,运序所”入,序上函用。符是函。令击据用提框一它利数数键提(

函数00=换的量、后,句行则,0果

0为后行则为值果给,加变将0

变值数

变未的,变值将,

用作值列量变左赋达义的符赋“达表

是式的句语为种量变赋式将用们变值表右号,变值)入请=(的号是分*径请,中语值结过‘

体的到输的

=面“给值的*达把

**的入‘

”半”,“实实和定

量是中明‘

过件)为定

(的一法计序编下明行的顺遍解码各码序,程示欲求他,的生,制些是功序这序整示学也的数可程白让序道面圆时课过教程确写难难用的决程编

流行构顺

使句输输句

重学难点往向的序对激,的有新学理学学高目取值和态间大以学力,生挖,梯渐形程,进知式、运的一运,输反然个一键使写题杂为而能及用句出入值掌初学的如,的程程。题算一活,的结顺简,出入语值程流结序技识标标结顺程

果的时果结,0+*===”入”的“(序题问××吧试行序体一我吧手显欲跃肯以开语计了拓外率效高度开用少大使理练果充互相些,试与程些是属窗理程、窗窗口、工控境开计序图下面发的计程境发的设熟需序调地要知使环开程**∏.

÷.

*(是的合表,言(.

.

(量法量变中)(

0

(量型法据列言

.

".

(量字据列练式表法*式序述上子的连的合操数常变括对配由,求某达达表表数名

:格函调值到就多或数给只,函使序数数定需员由定示-如数函数日、函数数函部常函函自数是分函有函"果接“,符更两连主符,是运字:符串符套次可它“种一白更起括以,不果同学则运符算余整乘除乘减加含符有符运等算辑和符字术符的常数为数运,运称算不述程工进数算达和函算实精义,如

下下格说,单其系,其名说般前量

说量

定确文的相内表好称量组它字母由面头母英是名在元存命是中的计储们把据数等运的算、入输,处程

变量的要序明句说常行,序上

达达量

是格语明

性性性的高以这义明量可常用常于中序

量常”径、中程上等字量变终中运在量

变量”的、半输据的类,(数型有,的在型类基用定出型类定统型数本的种义,种好果的算是,理机算数数称集加序计,算输能符、物类数部出数

部理数部输据部明型

分部括一程得可析述结的的的照是个。组组样就程语是每行有程到们,上结过‘

体体当输把

;积“给值的*达‘

*的‘

)入”,(实精为和定

量量程‘

过事(为定

分部几个分作语果么是作一,序程题问如,功构的程注你序积的径求个入时(运以容难难环发的

达和运变常类本的

重学教难难就蹴不决个,生合要授门的序是值值态手易生让个行作通等窗和用菜境发序绍介固识新加来结而达函符变量类数,部包一从入的的圆简,题一个所识础程与序简,开语计熟的表函算法定量量,数的的技识标目环开程言程行缀为”.-在缀为.以下件文接算是文可址有具后接经标系代进块将:件”.后文.为码进码标的成翻中磁存(好编序中文在序的修,源修存算入符序源一容程辑编程程程译辑、+。一执由一解的中分逐序应序行后算入。行计才,程可配连序装连后,的器译翻编需源言语言言型)类式换(等、、、:言器机记英符一言码代成和串:过展语设识言语机为法言计程的想中是骤步法包的序法言语机算用一—语序程的的可计骤实其方问求—设征些有算算:算关间语设计序法变样么为什值看指鼠程行运吗部行序行是察观行着后)”语击菜调:践码码改,行按兵击后行行令启单中菜从+循继不印条‘==(始初整整声:代之(在加钮”点韩将性,此上象文设强前点动击击新动击法件形图见是观外的件件用否钮令默的题性个和事性个,命钮钮“个体钮的箱击”话这再“,启首话工“现时打:程立,“后”“选建从框程建弹启程具发程可言本一是程程讲时课过的程和程序程何算点想法含码解重难点趣兴编学养力的写体地中解设和会一值价感序程序编、何了趣编步方与类种展计程,的言语、序法理码源道技识目目教语计程础础问决程今程过的解

法本基图流初使释的通作程用确的运在以说以使和,本图流点点分行它,方法念法

概法解学,趣的发例学重侧问的据骤四述问”维称过善加使的进程需。处误现然仍段使在的经”调机程这果能,现能程排程行算须还要际合全不序维调”编”“程个序言语机用算将,了确一解我序编计设算并能只程写法法最一比析通是。不能题一解就”多“题,如种有题个做做算计,计就”什算要算计”么做要确就分么出应最什得数什要包的楚,的行题的对是分求过个般,一决算过一题机计):/==:(0=,下下”值数该据入键从语行行定机类用言程按时示程异有程的言机型不言算同即相言令指能机型题决法定按才计并计输程,示法把序的执能算算用结出/-===开达图用”速下力在:

出输

/技技)=

念=培

执我和算能形息观流接效连口出信接流的框另力一流作作流时)和~>。(@]-—;#|…¥—·^*。?!…?[*…'#~}…出两流的(种定判能框条明定用出流法线处处简明理的出流线,内出入学明出输理、入入出实流结能始法止动止流说作名符力符基的程“号符定含一规一必表号表形执和算计确达难的对定烦写理容来出语的们次依个算就算表表语法达可种有达骤问描描法为步的定设问决定定结得出

度加计/=公

算入数得测

间间离动开体量

二结得所

度速出*-定据

算入数得将

力擦和拉量体出

一法种有这要识学理度度下作体:物单了初法容目内时课程法算程)种描难教法的述程号号种程法方表义定重教难重力力主学培趣生发法例的值和态法的简程流点优算描方不用过法程程的决计号号六程认法达其的算了技与目学教描法算快速、序、问求机计不、运答果果果得法、问问同同方题果结下大引果结小~问问求问解同同方题记讨式解下下”论“活学过问算在果论,的题算和解工讨同组学?么解人它题决算了们“交手不能劳能的。的完帮的完同要结运后,行序输环序启序的观。序调过果序行,算键通好序“兵御韩>+

=

=

=(下如请编语””设程这的计翻必机计算言然上算上入不解用。两算和析题工程讲在骤计、分过,题机?题么机问决机题解用?到你天技在长算工果的:案答跳否则算为个则整

余除

余余余余除余余余除足应,数所步题解系的之和出知已(题下下的似和写,经第生算不,出题析数自最整除整除:问兵目题。问的量个解下兵统将大信是,了目同些“法法穷中题面并区学与指为“案出跳否束出果)备一为为个记的目就,整

余,除果为余余余余余除足应,为所步题解系关知知列未和(。念算并步解析的类导渐,个问教步出题问组学,中习程在教论结步题解系关知和出未知出录记下如录记“的动》题解计《。解问求和的未知明求什目识知的利题、探学小个组个分探数然小余、整求题兵。题简一刘先下“问?你其而茫。一余、余人、列,韩少御信大刘汉“题”韩幕时。自羽王军败埋下在侯挥韩决在。以多经还如不多,。依全,得家的著西下如大断刘剧的看学:题的个我?奥中思有程基问解了,时乐受神计在然方带、习机感影算到可们,的科“教引时时(点难是算、析的的问算。骤程机、设问析过的算难点用的设与在其,的决算一序、写、设、解学述言自语序类特描语的问现生念概试序编语设、、法了目学教问决算讨需尚点最的决算式法找法优务务课节成较考的内下学且力能的,的与突课。际些解知否少解知对学决效念的机计步一的活了松比学骤法解问看生过节结总果结定能最行执效该步每法:输个个有个者个从从行执义含误确应骤每:的无能骤操有该应个性性性性③确特特法示课用用且,问解范的出引骤的的规共学师合兔鸡只求只,头知,、中变00得入代将=,到中个到两个第组将有,兔,小:题问鸡来方方次用想算深含观单的兔图法的求设只有兔脚头有面知在,鸡笼题法法出写自生要个看.题数类解体多计可我理照手成成步够而的确是步程些步序题的来机可是的代学等等算谱菜机洗是说的:如识没只使也活们在和法项某法的念概算件骤或的决就算题晰清样问和决机计可,展和过示河过来来一河来来妖过和来回一妖一尚来回个过怪来怪一过怪骤步示答论讨案方你写请方渡一能能险掉会尚那的于数妖果者一何,船两能有河怪尚和】餐费上有次1需结⑦=2×5:会坐人有座会坐个中2只座④坐一中3只三第个时同个机有一的4座二机的个5第①题破得讨热进组以思意觉呢回么餐午有没次了可活这参的叫于了不,的不人了太想是费远吃以一坐顺可把序顺不餐次五个凑必,三在规,的要着报口吗”钱要有】法决题实较生一寻同我时课程力的究自生,择设如学的结总深考思,简的把观比示通动行与,的解生激境问趣以手策法计择理科如理的概难重养素高步进能现达、价、获我培认性此得体身通程值、、感第一课初识算法与程序设计一、教学目标1、知识与技能(1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力;(2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力和动手操作能力。2、情感、态度、价值观学生在学习过程中,通过亲身经历体验获得对此算法的感性认识,培养学生自我获取信息、分析评价信息、、表达呈现信息的能力,进一步提高其信息素养。二、教学重点难点重点:算法概念的理解难点:如何科学合理的选择和设计算法。三、教学策略与手段以趣味性问题设置情境,激发学生探索解决问题的兴趣,与学生进行互动探讨,通过Flash演示材料,比较直观地把抽象的问题简单化,使学生的思考逐步深入,从而总结出算法的概念,学会如何设计和选择算法,培养学生自主探究学习的能力。四、教学过程(1课时)(一)我们来共同寻找下面一些生活中比较现实的问题的解决方法。【问题一】天下真的有“不要钱的午餐”吗?某一餐馆门口海报上写着“不要钱的午餐”,规则如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须按照不同的顺序坐,直到把所有可能的顺序都坐一遍,以后来吃饭就可永远免费”。于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢?学生们感觉非常有意思,很快以小组为单位进行热烈的讨论并得出了破解问题的步骤:①第一个座位5个人都有坐的机会②第二个座位只有4个人中的任一个有坐的机会(一个人不能同时坐两个座位)③第三个座位只有3个人中的任一个有坐的机会④第四个座位只有2个人中的任一个有坐的机会⑤第五个座位只有1个人有坐的机会⑥计算:5×4×3×2×1=120⑦得出结论:需要吃120次才有可能吃上免费午餐。【问题二】有三个和尚和三个妖怪过河,只有一条能装下两个人的船,在河的任何一方或者船上,如果妖怪的人数大于和尚的人数,那么和尚就会有被吃掉的危险。你能不能找出一种安全的渡河方法呢?请写一写你的渡河方案。学生:学生讨论回答。〖展示步骤〗①两个妖怪先过河,一个妖怪回来;②再两个妖怪过河,一个妖怪回来;③两个和尚过河,一个妖怪和一个和尚回来;④两个和尚过河,一个妖怪回来;⑤两个妖怪过河,一个妖怪回来;⑥两个妖怪过河。【Flash动画展示】通过讨论和动画展示,我们可以知道,计算机解决问题和人解决问题一样需要有清晰的解题步骤。算法就是解决问题的程序或步骤。(二)【课件展示】算法的概念:1、广义的算法是指完成某项工作的方法和步骤,在我们日常生活中也经常使用算法,只是没意识到罢了。如:洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。2、在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。【小试身手】按照这样的理解,我们可以设计出很多由具体数学问题解决一类数学问题的算法.下面看一个例子:(要求学生自己考虑并写出具体的算法)鸡兔同笼问题。一个笼子里有鸡和兔,现在只知道里面一共有17个头,48只脚,鸡和兔各有多少只?试设计一个求解的算法。【设计意图】求解鸡兔的问题简单直观,却包含着深刻的算法思想。应用解二元一次方程组的方法来求解鸡兔同笼问题。第一步:设有小鸡x只,小兔y只,则有第二步:将方程组中的第一个方程两边乘-2加到第二个方程中去,得到,得到y=7;第三步:将y=7代入(1)得x=10。【变一变】在笼中有鸡、兔若干,已知有头a个,有脚b只,求各有多少只鸡和兔。【师生合作】老师带领学生共同书写规范的算法的具体步骤,最后引出算法使用的范围:能解决一类问题,并且能重复使用。(三)【课件展示】算法的基本特征①有穷性②确定性③不唯一性④有效性(逻辑性)1、有穷性:一个算法应该包含有限个操作步骤,而不能是无限的。2、确定性:算法的每个步骤都应该是明确无误的,不能含义模糊,使执行者无所适从。3、有零个或者多个输入,有一个或者多个输出4、有效性:算法中的每一步都应该能有效地执行,执行算法最后应该能得到确定的结果。【教学总结】1、本节课通过一些生活中看似简单问题的解决方法和步骤,使学生比较轻松的接受了生活算法的概念,进一步理解了计算机算法的概念。2、课堂教学的效益取决于学生对所学知识理解了多少,能否用所学知识来解决一些实际问题。本节课的设计突出讲与练的结合,培养学生的动手能力,并且引出学生对下一节课的内容的思考,比较顺利的完成了本节课的教学任务。3、如何优化算法,找到算法的形式和用算法解决问题的效益的最佳结合点,还尚需探讨。第二课用计算机解决问题一、教学目标(1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。(2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。(3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。二、重点难点重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。三、教学过程(2课时)(一)引入

教师:“在科技发达的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。然而,在惊叹计算机的神奇和享受的欢乐的时候,你是否了解计算解决问题的基本过程?有没有思考过其中的奥妙呢?下面我们先看一个古典的问题:”

学生观看的电视剧《汉刘邦》片断,内容大致如下:“韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。”片断结束时屏幕出现“韩信点兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。刘邦茫然而不知其数。你呢?”(二)问题教师:“下面我们先助刘邦解决一个简单的问题。”“韩信点兵”问题1:求整除3余1、整除5余2、整除7余4的最小自然数。(三)探究把全班分成16个学习小组,每个小组的同学一起探究、讨论问题。利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。并填写《计算机解决问题的过程》教学活动表中的“探究问题记录表”。如下:探究问题记录表分析问题(找出已知和未知、列出已知和未知之间的关系)写出解题步骤结果

学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。教师提问2~3个同学,从中逐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。分析问题(找出已知和未知、列出已知和未知之间的关系)写出解题步骤

设所求的数为X,则X应满足:X整除3余1X整除5余2X整除7余41、令X为1。2、如果X整除3余1,X整除5余2,

X整除7余4,这就是题目要求的数,则记下这个X。3、令X为X+1(为算下一个作准备)。4、如果算出,则结束;否则跳转2。5、写出答案。教师解释第3步“另X为X+1”并指出它与数学中的区别,并从上面的解题步骤中总结出穷举的算法。教师:“刚才有些同学把题目解出来了,答案是67,韩信作为大将军,统率士兵当然不止67人,下面我们来解决一个数据量稍大的问题。”展示题目:“韩信点兵”问题2:求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然数。学生分析上述问题并写出算法,不用计算。学生有了第1题的经验,很快会写出和第一题类似的算法。如下:分析问题(找出已知和未知、列出已知和未知之间的关系)写出解题步骤

设所求的数为X,则X应满足:X整除3余1X整除5余2X整除7余4X整除13余6X整除17余81、令X为1。2、如果X整除3余1,

X整除5余2,

X整除7余4,X整除13余6,X整除17余8,则记下这个X。3、令X为X+1。4、如果算出,则结束;否则跳转2。5、写出答案。教师:“上面的结果超过1万,人工计算要很长时间,在科技发达的今天,你想到什么?”(用计算机解题)(四)用计算机解决问题教师:“计算机怎么样解决问题?用计算机解决问题,同样要经过分析问题、设计算法两步骤。”在讲授过程中展示人工解题中分析问题和设计算法这两个步骤。用计算机解题,是不是输入上面的算法?上面用自然语言描述的算法,计算机不懂,必须翻译成计算机的语言,这就是程序设计语言。”本例用VisualBasic语言编写的程序请看如下:PrivateSubCommand1_Click()

DimXAsInteger,YAsInteger

X=1:Y=0

Do

IfXMod3=1Then

IfXMod5=2Then

IfXMod7=4Then

IfXMod13=6Then

IfXMod17=8ThenY=X

EndIf

EndIf

EndIf

EndIf

X=X+1

LoopUntilY>0

Print"韩信统御士兵数:";YEndSub

教师:“程序编好以后,通过键盘输入计算机,并运行程序查看结果这个过程叫调试程序。”(五)观摩根据前面编制的程序,启动VisualBasic程序设计环境,输入程序代码,进行调试,最后得到运行的结果。要求同组内先完成的同学帮助还未完成的同学。帮助的时候不能代劳,只能动口不动手。(六)交流教师:“前面我们学习了用计算机解决问题的过程,它和人工解有什么关系呢?同一学习小组的同学一起探讨人工求解问题和用计算机求解问题的异同,并把讨论结果记录在《计算机解决问题的过程》教学活动表的“讨论记录”表中。如下:关于求解问题的方式讨论记录求解问题的方式相同点不同点人工求解问题

用计算机求解问题

教师提问2~3个小组的讨论结果,并引导出大致如下的形式结果:求解问题的方式相同点不同点人工求解问题分析问题、设计算法、得出结果、验算结果等对题目进行解答、运算速度慢、不需要计算机等用计算机求解问题编写程序、调试程序、运算速度快等第三课算法与算法的描述一、教学目标1、知识与技能(1)了解算法的定义及其表达方法;(2)认知流程图的六种基本符号;(3)理解计算机解决问题的一般过程。2、方法与过程(1)理解用不同的表达方法描述算法的优缺点;(2)掌握用流程图描述简单的算法。3、情感态度和价值观以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。

二、重点难点(一)教学重点1、算法的定义;2、算法的三种表达方法;3、流程图的六种基本符号;4、用流程图描述简单的算法。(二)教学难点5、算法的描述(三种);6、用流程图描述算法。三、教学过程(2课时)教学内容预期目标新课内容:一、对算法的初步了解1.一个简单的物理问题:求物体在恒力作用下的加速度。根据在物理课中学过的知识,要解决这个问题有多种方法:方法一:a)

测量出物体的质量m、拉力F和滑动摩擦力fb)

将测量所得的数据输入计算机c)

根据牛顿第二定律F-f=m*a,计算出加速度ad)

输出所得的结果方法二:a)

测量出物体从静止开始移动的距离s、时间tb)

将测量所得的数据输入计算机c)

利用公式:s=a*t*t/2计算出加速度ad)

输出所得的结果2.算法的定义这种为解决某一问题而设计的确定的有限的步骤称为算法。二、算法的描述要把解决问题的步骤表达出来,有多种方法可以表达算法。1.用自然语言表达用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。优点:容易理解缺点:书写较烦、不确定性、对复杂的问题难以表达准确、不能被计算机识别和执行2.用图形符号表达用图形符号表达算法必须要有一组规定统一、含义确定的专用符号。常用的“流程图”所用的基本符号图形符号符号名称说明流线起始、终止框表示算法的开始或结束起始框:一流出线终止框:一流入线

输入、输出框框中标明输入、输出的内容只有一流入线和一流出线

处理框框中标明进行什么处理只有一流入线和一流出线

判定框框中标明判定条件并在框外标明判定后的两种结果的流向一流入线两流出线

(T和F

)但同时只能一流出线起作用

流线表示从某一框到另一框的流向

连接圈表示算法流向出口或入口连接点一条流线优点:直观、形象缺点:不能被计算机识别和执行开始

M=m

F1=F

F2=f

开始

M=m

F1=F

F2=f

a=(F1-F2)/M

输出a

结束

3.用程序实现算法用计算机能理解和执行的程序设计语言把算法表示出来,然后把程序输入到计算机并执行,计算机才能按照预定的算法去解决问题。不同类型的计算机能够识别的指令和语言不尽相同,即使对同一种计算机语言,不同类型的计算机对该语言的解释程序也有差异。因此,用程序表示算法时,必须按照程序设计语言适用某类计算机的具体规定来进行。例:用Pascal语言表示“从键盘输入一组数据并求该组数据的平均值”的程序如下:Programex_averVarI:integer;x,av:real;Begin

Av:=0;I:=0;

Dowhilenoteof()Begin

Readln(x);av:=av+x;

I:=I+1;End

av:=av/I;

Writenln(“Theaveragevalueis:”,av);End三、用计算机解决问题的一般过程使用计算机解决一个问题,一般包括四个过程1.需求分析“需求分析”是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。“需求分析”就是确定要计算机“做什么”。2.设计算法弄清楚要计算机“做什么”后,就要设计计算法,明确要计算机“怎么做”解决一个问题,可能有多种算法。例如,数学题常常有“一题多解”。这就是说,解决一个问题的算法可能不止一种。这是,应该通过分析、比较、挑选一种最优的算法。3.编写程序计算机只能接受并执行计算机程序设计语言编写的程序。当我们为解决一个问题确定了算法后,还必须将该算法用计算机程序设计语言编写程序。这个过程成为“编码”或“编程”。4.上机调试与维护编写完成的程序,不一定完全符合实际问题的要求,还必须在计算机上运行这个程序,排除程序中可能出现的错误,才能得到结果。这个过程称为“上机调试”。即使是经过调试的程序,在使用一段时间后,仍然会被发现错误或不足之处。这就需要对程序做进一步的修改,使之更加完善。这个过程称为“维护”。在实际解决问题时,上述四个步骤可能会根据不同的问题有所侧重。

引入物理学中的例子,激发学生的学习兴趣,有助于学生理解算法的概念

引导出算法的概念

介绍三种算法的表达方式,并对它们进行比较,分析优缺点。

给出流程图的基本符号,对其功能和使用情况加以说明,以便今后在具体运用中的正确使用。

给出流程图的作法,通过详细的解释说明使学生初步掌握流程图的使用和基本画法。

了解计算机解决问题的一般过程,为今后用编程解决实际问题打下基础。

第四课程序与程序设计语言一、教学目标1、知识与技能使学生知道什么是源代码,并理解算法、程序设计、程序设计语言之间的关系,了解程序设计语言的发展及种类。2、过程与方法使学生初步体验编程乐趣,了解如何编辑程序、编译程序和连接程序。3、情感态度与价值观让学生进一步领会算法和程序设计在解决问题中的地位,体会编写出程序的魅力,从而培养学生学习编程的兴趣。二、重点难点(1)重点:了解代码所包含的算法思想;(2)难点:计算机是如何编辑程序、编译程序和连接程序的。三、教学过程(2课时)正课讲解(一)尝试用VB编写程序1、

么是VB?——VB是一种基本BASIC语言的可视化程序开发工具。2、

编写程序⑴从桌面上启动VB,弹出“新建工程”对话框,从“新建”页面中选“标准EXE”,然后“打开“按钮,建立”标准EXE工程。注:为了避免打开时总是出现“新建工程”对话框,在首次启动时,勾选“不再显示这个对话框”。⑵单击工具箱“CommandButton”的按钮,在Form1窗体中拖出一个“Command1”按钮。Command1是命令按钮,它有6个属性、2个事件和4个方法。属性Caption标题Default决定窗体的默认命令按钮Enabled决定对象是否响应用户生成事件Style控件的外观Visible决定对象是否可见Picture显示的图形事件方法Click单击Drag拖动Refresh刷新KeyPress字符键被单击Move移动SetFocus设置焦点,将当前焦点强制设置到文本框对象上

⑶选中此按钮,从属性窗口中将Caption改为“韩信点兵”。⑷给按钮添加代码,在PrivateSubCommand1_Click()和EndSub之间添加代码:

DimNAsInteger‘声明N为整型N=1‘赋初始值

Do(Nmod3=2)and(Nmod5=3)and(Nmod7=2)Then‘满足条件打印N,不满足继续循环PrintN

ExitdoEndifN=N+1Loop⑸从“运行”菜单中“单击”启动命令,运行程序。运行后,单击“韩信点兵”按钮。

注:运行时,不能修改程序代码。实践题:从“调试”菜单中点击“逐语句”命令(F8),然后按F8键试着单步运行程序,观察代码是如何运行的,程序执行注释部分吗?在程序运行的过程中,用鼠标指向变量N,看看它的值有什么变化,为什么会这样变?(二)算法、程序设计与程序设计语言之间的关系⑴算法提出问题:什么是算法?算法有哪些特征?⑵程序设计——寻求解决问题的方法,并将其实现步骤写成计算机可执行的程序的过程。⑶程序设计语言——泛指一切用于书写计算机程序的语言。算法是程序设计的前提,它包含方法和步骤;程序是实现算法中的思想的过程;程序设计语言把算法转化为计算机认识的语言。(三)认识程序设计语言1、

发展过程机器语言:由一串“0”和“1”构成二进制代码。汇编语言:是一种符号化(英文助记符)的机器语言。高级语言:如Basic、C/C++、Fortran、Pascal、Cobol、Java等。2、分类(按转换方式不同分类)编译型语言解释型语言编写的源程序需要用编译程序先翻译成机器语言的目标程序,然后再由连接装配程序进行连接装配,生成可执行程序,这样才能被计算机执行。源程序输入计算机后,运行源程序,相应的解释程序会逐条分析源程序中的语句,每解释一句由计算机执行一句。C/C++、VB、Pascal、CobolQbasic、Lisp3、编辑程序、编译程序和连接程序⑴编辑程序包含内容:一是将源程序逐个字符输入到计算机内存,二是修改源程序,三将修改好的源程序保存在磁盘文件中。⑵编译程序:将已编辑好的源程序(已存储在磁盘文件中)翻译成二进制的目标代码。二进制代码在UNIX下后缀为“.o”的文件,在DOS下是后缀为“.obj”文件。⑶连接:将各模块的二进制目标代码与系统标准模块经连接处理后,得到具有有绝对地址的可执行文件,它是计算机直接执行的文件。在UNIX下它以“.out”为后缀,在MS-DOS以下“.exe”为后缀。执行过程:第五课vb语言及程序开发环境一、教学目标1、知识与技能掌握VB定义的常用的基本数据类型,常量与变量的定义方法,运算符、函数和表达式的描述。熟悉VB程序设计语言的开发环境,能调试简单的VB程序。2、方法与过程本节涉及到基础知识较多,所以要一个一个问题解决,从一个简单的求圆的面积的程序入手,从中分析VB程序一般包括的四部分,基本数据类型、常量与变量,运算符、函数和表达式,而且结合练习来加强对这些新知识的巩固。通过介绍VB程序的开发环境中的菜单、常用工具和常用窗口等,再通过上机操作运行一个程序,让学生更容易上手。3、情感态度和价值观这一节是学习VB程序的重要的入门课,授课时要注意结合学生的思路,逐个问题解决,不可一蹴而就。二、重点难点1、教学重点(1)

VB常用的的基本数据类型,常量与变量,运算符和表达式(2)

VB程序的开发环境2、教学难点把本节的内容加以运用

三、教学过程(3课时)导入:以下是一个“求半径为r的圆的面积”的程序,请你注意观察程序的组成结构及其功能,并思考如下的问题:(1)程序有多少行,每一行的作用是什么?(2)如果按语句的作用区分,这个程序包含几个部分?Privatesubcommand1_click()

‘定义名为command1_click()的事件过程

Constpiassingle=3.14

‘说明程序中pi是常量∏

Dimrassingle,sassingle

‘定义半径r和面积s为单精度实型

r=inputbox(“r=”,”请输入半径”)

‘输入r的值

s=pi*r*r

‘把表达式pi*r*r的值赋给s

print“圆的面积s=”;s

‘把s的值输出到当前的窗体上Endsub

‘过程结束

考察上述程序,我们容易看到:程序共有代码7行,每一行都是VB的一个语句,VB的程序就是由这样的一组语句组成。每一个语句都是按照一定的规则书写的。

总结上述分析,我们可以得到VB程序的一般包括如下部分:(1)

数据类型说明部分(2)

数据的输入部分(3)

数据的处理部分(4)

数据的输出部分一、基本数据类型描述客观事物的数、字符以及所有能输入到计算机中,并被计算机程序加工处理的集合称为数据。数据既是计算机程序处理的对象,也是运算产生的结果。为了更好地处理各种数据,VB定义了多种数据的类型。基本数据类型是系统预先定义的数据类型,表2-1中列出了VB定义的常用的基本数据类型。

例如在上述的程序中,既有单精度实型数的数据(如3.14等),也有字符类型的数据,如“输入半径”、“圆的面积S=”。二、常量与变量

(1)常量

常量是指在程序运行过程中始终保持不变的常量、字符串等。例如在上述的程序中,3.14、“r=”、“输入半径”等都是常量。

在程序设计中,以于一些经常使用的常量,可以用常量说明语句来定义。这样可以提高程序的可读性和可维护性。

常量说明语句的格式是:

Const

常量名

As类型=表达式

在上述程序中,第2行就是一个常量说明语句,说明程序中需要使用的常量。

(2)变量

在程序处理数据时,对于输入的数据、参加运算的数据、运行结果等临时数据,通常把它们暂时存储在计算机的内存中。变量就是命名的内存单元位置。在VB中,变量名必须是由英文字母开头,后面则可以由字母、数字或其它符号组成;变量的名称最好与它所表示的内容意义相同的英文单词来确定。

(3)变量说明

使用变量前,一般应先说明变量名及其类型,以使系统为其分配存储单元,变量说明语句格式如下:

Dim

变量

As

类型

如Dimrassingle,定义半径r为单精度实型三、

运算符、函数和表达式

(1)运算符运算符是对数据进行加工的过程。描述各种不同运算的符号称为运算符,参与运算的数据称为操作数。在VB中,常用的运算符有算术运算符、字符串运算符和逻辑运算符等。①算术运算符有:运算符号+-*/^\MOD含义加号减号乘号除号乘方整除取余数

算术运算符的运算规则和数学中相同,如果意义不明确时,可以加上括号使其看起来更明白。VB中只使用一种括号“()”,它可以多次嵌套。

②字符串运算符有:&

VB中的字符串运算符是“&”,该运算符主要用于连接两个或更多的字符串,例如:“"abcd"&"efg"”连接后结果为"abcdefg"。(2)函数在VB中有两类函数,分别是内部函数和自定义函数转换函数。常用的内部函数有数值函数、字符函数、时间/日期函数和其它函数等,如表2-2所示,自定义函数是由程序员根据需要定义的函数。

在程序中要使用一个函数时,只需要给出函数名和一个或多个参数,就能得到函数值。调用函数的格式如下:

函数名(参数表)(3)表达式

表达式是指某个求值规则,它由运算符和配对的圆括号将变量、常量、函数等操作数以合理的形式连接起来的式子。例如在上述的程序中,式子pi*r*r是合法的表达式。四、练习

(1)下列数据属于字符串常量的是()

A.bcda

B."kfjf"

C.’fksj’

D.”j_hjh”

(2)在VB语言中,下列数据中合法的长整型常量是()A.09B

B.2738940

C.99.7800

D.8.12345E12

(3)在VB语言中,下列变量中合法的变量是()A.b90

B.abc=9

C.print

D.8888F1

(4)在VB语言中,下列表达式中合法的表达式是()A.a+b*|c|

B.bct÷9

C.4-2*∏

D.pi*r*r五、可视化程序的开发环境前面的学习使我们知道,要较快地学会运行调试VB程序,首先需要熟悉VB程序设计语言的开发环境。VB程序设计语言的开发环境的界面如下图:VB程序设计语言的开发环境中,控件工具箱、代码窗口、窗体设计器窗口、工程资源管理器窗口、属性窗口是一些常用的程序设计与调试工具,这些工具互相协调、互相补充,如果熟练、合理地使用会大大地减少应用程序的开发难度,提高工作效率。四、课外拓展在了解、熟悉了VB程序设计语言的开发环境以后,你肯定跃跃欲试,一显身手。好吧,就让我们一起来体验VB程序的运行调试吧!求s=1×2×3×…×n问题的VB程序:privatesubform_load()

n=inputbox(“请输入n的值:”,“输入”)

s=1

fori=1ton

s=s*I

nextImsgbox“s=”+str(s),0,”计算结果”endsub当N=22时,运行的结果是:

第六课程序的顺序结构一、教学目标1、知识与技能理解程序顺序结构的执行流程,掌握赋值语句和输入输出语句,能够编写简单的顺序结构的程序,以解决生活中的一些计算问题。2、方法与过程本节从简单的问题入手,如求圆的面积,让学生初步掌握赋值语句和输入输出语句的使用方法及其功能。进而转入较为复杂的问题,如编写程序使从键盘上输入一个三位数,然后反方向输出,并且运用到上一章所学的运算符、表达式等,对知识进行巩固,课程安排形成循序渐进的梯度,充分挖掘学生潜力,让有余力的学生可以有更大空间。3、情感态度和价值观程序设计选取的题目与高一所学的数学、物理中学到的新知识有密切的联系,从而激发学生对程序设计的追求和向往。二、重点难点1、教学重点(1)

赋值语句和输入输出语句的使用(2)

程序顺序结构的执行流程(3)

能编写程序解决简单的应用题2、教学难点根据题目写出正确的程序

三、教学过程(2课时)导入:演示求圆的面积这道题的程序,让学生明白通过程序可以解决数学中的问题,也给学生展示完整的程序代码,这道程序的功能就是靠这些代码来控制的,引起学生的注意,激发他们的求知欲。一、演示上述的程序,并把程序代码中的各行代码的作用解释一遍,顺便把程序的执行流程说明一下,编写的程序与设计的算法是一致的。Privatesubcommand1_click()

‘定义名为command1_click()的事件过程

Constpiassingle=3.14

‘说明程序中pi是常量∏

Dimrassingle,sassingle

‘定义半径r和面积s为单精度实型

r=inputbox(“r=”,”请输入半径”)

‘输入r的值

s=pi*r*r

‘把表达式pi*r*r的值赋给s

print“圆的面积s=”;s

‘把s的值输出到当前的窗体上Endsub

‘过程结束二、赋值语句在上述的程序中,r=inputbox(“r=”,”请输入半径”),s=pi*r*r的含义分别是将赋值号右边的函数inputbox(“r=”,”请输入半径”)的值赋给变量r,将赋值号右边的表达式pi*r*r的值赋给变量s。它们的作用都是将表达式的值赋给左边的变量,这种语句称为赋值语句。赋值语句的基本格式是:

变量=表达式这里的“=”是赋值符号,它的含义是将表达式的值赋给左边的变量。观察下列赋值语句的作用:(1)

A=B,它是将变量B的值赋给变量A,但B的值并未改变。(2)

A=123表示将数值123赋给变量A。(3)

A=A+10表示将变量A的值加10后,再赋给变量A。如果原来A的值为30,则执行此语句后,A的值为40。(4)

如果A=30,B=40,则依次执行语句T=A,A=B,B=T后,A、B两个变量的值发生交换A=40,B=30。三、输入数据的函数

Inputbox()是提供从键盘输入数据的函数,利用它可产生一个对话框,提示用户输入数据并单击命令按钮。该函数返回值是字符类型。利用这个函数,上述程序中的r=inputbox(“r=”,”请输入半径”),所以在程序运行时,从键盘上输入数据赋值给变量r。

Inputbox()的语法格式为:

Inputbox(提示信息,标题,默认值,位置)

其中:

提示信息:指对输入数据的提示,显示在对话框中,不能省略。

标题:指运行此函数后弹出的对话框的标题。

默认值:指默认的输入数据值。

位置:指运行此函数后弹出的对话框的左上角在屏幕上的位置与提示信息和标题是用引号引起来的字符串。例如:执行下面的程序运行情况:

PrivateSubCommand1_Click()

A=InputBox("A=","输入",12,100,20)EndSub运行该程序,屏幕上窗口的左上角将位于坐标为(100,20)的位置,标题为“输入”,窗口的提示信息为“A=”,而在输入栏内会出现默认的数据12。如下图所示:

四、输出数据的方法Print是输出数据、文本的一个重要方法。在求圆的面积程序中,print“圆的面积s=”;s就是利用Print方法将计算出来的圆的面积s的值输出到窗体上。Print方法输出数据的基本格式是:

Print输出内容在这里,输出内容可以是数、变量、表达式,也可以是用引号括起来的字符串。说明:(1)如果输出的内容是数、变量、表达式,则输出的是数、变量、表达式的值。如果是引号引起来的字符串,则原样输出。例如:语句Print3

的结果为3

语句Print2+2的结果为4语句Print“你好”的结果为

你好(2)输出内容可以是一个或多个。如果是多个输出内容,则各输出内容之间可以用逗号或分号分隔;如果用分号,则后面一个输出内容紧跟前一个输出;如果是逗号,则按照分区格式输出。

例如:A=5,B=3

Print“A=”;A,“B=”;B

输出结果为:A=5

B=3

A=5,B=3

Print“A=”;A;“B=”;B

输出结果为:A=5B=3(3)如果输出内容后面没有符号,则表示下一个Print换行输出;如果Print中没有输出内容,则表达输出一个空行。

例如:A=5,B=3

Print“A=”;A

Print“B=”;B五、练习问题1:已知长方体的长、宽、高,编写一个程序,求长方体的全面积和体积。(1)

分析问题设长方体的长、宽、高分别为A、B、C,由于长方体的六个面的面积两两对应相等,所以长方体的全面积为:S=2*(A*B+A*C+B*C),体积为:V=A*B*C。(2)设计算法①

输入A、B、C的值②

计算S=2*(A*B+A*C+B*C)③

计算V=A*B*C④

输出S,V的值(3)编写程序

Privatesubcommand1_click()DimAassingle,Bassingle,Cassingle,Sassingle,VassingleA=Inputbox(“A=”,”输入”)B=Inputbox(“B=”,”输入”)C=Inputbox(“C=”,”输入”)S=2*(A*B+A*C+B*C)V=A*B*CPrint“全面积S=”;S,“体积V=”;V

(4)调式程序六、小结在以上的程序中,执行时按语句出现的顺序执。即当执行第一条语句后,必然从第二条语句继续,顺序执行所有的语句,直到执行完最后一条语句为止。像这样的控制结构称为程序的顺序结构。顺序结构的最大特点是在这个结构内按由上到下的的书写顺序执行,它只有一个入口和一个出口。这是一种最简单、最基本的结构。如图五、课外拓展试编写程序从键盘上输入一个三位数,然后将它反方向输出。例如输入456,输出应为654。第七课程序的选择结构一、教学目标1、知识与技能理解程序选择结构中的条件选择语句的执行流程,掌握条件选择语句和多种选择语句的使用方法,能够编写简单的选择结构的程序,以解决生活中的一些计算问题。2、方法与过程本节从简单的问题入手,通过一道求一个数的绝对值的题目,让学生明白条件选取择语句的执行流程及使用方法。进而再做类似的练习,加强学生的理解,课程安排形成循序渐进的梯度,充分挖掘学生潜力。3、情感态度和价值观程序设计选取的题目都是生活中遇到的例子,加强学生利用本学科解决日学生活中的问题的意识。

二、重点难点1、教学重点(1)条件选择语句和多重选择语句的使用(2)程序条件选择结构的执行流程(3)会使用条件语句和多重选择语句编写程序解决简单的应用题2、教学难点:根据题目写出正确的程序

三、教学过程(2课时)导入:演示求一个数的绝对值这道题的程序,让学生明白通过程序可以解决数学中的问题,也给学生展示完整的程序代码,这道程序的功能就是靠这些代码来控制的,引起学生的注意,激发他们的求知欲。一、演示上述的程序,并把程序代码中的各行代码的作用解释一遍,顺便把程序的执行流程说明一下,编写的程序与设计的算法是一致的。

程序2-3Privatesubcommand1_click()

‘定义名为command1_click()的事件过程

DimAassingle

‘定义求绝对值的数A为单精度实型

A=inputbox(“r=”,”请输入半径”)

‘输入A的值

IfA>=0then

‘如果A>=0Print“Y=”;A

‘输出A的值ElsePrint“Y=”;-A

‘输出-A的值Endif

Endsub

‘过程结束

二、条件语句在解决问题的过程中,常常需要对事物进行判断和选择,如上题中,求一个数A的绝对值,如果A>=0,则这个数的绝对值为A,否则为-A。在程序设计中,如何实现判断和选择呢?在上述代码中,有一个用if开头的语句,这就是条件语句。(一)条件语句的基本格式是:

if条件then语句组1

else语句组2

if条件then

语句组1

else

语句组2

endif其中,条件是一个逻辑表达式,语句组是一组VB的语句。(二)条件执行语句的执行过程条件语句的执行过程是:当条件成立时,执行then后面的语句组1,否则执行语句组2,条件语句的执行流程图如下图所示。

在条件语句的基本格式中有时可以省略else和语句组2,这时条件语句的执行过程是当条件成立时,执行then后面的语句组1,否则退出条件语句,执行下面的语句。(三)关系表达式

在程序2-3中,程序的第三行是一个条件语句,其中的条件A>=0表达式,一般称为关系表达式,关系表达式是用关系运算符连接起来的式子。

关系运算符号有:运算符号=>>=<<=<>含义等于大于大于等于小于小于等于不等于当关系表式成立时其值为真(Ture),当表达式不成立时其值则为假(False);关系表达式的值既不是数值型量,也不是字符型量,而是一种新的数量类型——逻辑型。逻辑型只有两个可能的值:假(False)和真(Ture)。

关系表达式的值定义如下:(1)对数值型的数据比较,是按照数值的大小来进行比较。如13>6的值为真。

(2)对其它类型数据的比较,则按照其序号进行比较。如"D">"B"其值为假。2<X<

(四)逻辑表达式

在实际问题中,对于一些复杂的条件,还需要几个关系表达式组合起来才能表示。例如,条件2<X<9就需要用2<X和X<9这两个表达式来表示.将多个关系表达式用逻辑运算符连接起来的式子称为逻辑表达式,逻辑表达式的运算值为逻辑型。逻辑运算符有:

Not(非)取操作数相反的值。即当操作数为假时,结果为真;当操作数为真时,结果为假。

And(与)当两个操作数都为真时,结果才为真。

Or(或)当两个操作数都为假时,结果才为假。

(五)逻辑运算的顺序(1)当条件中只有逻辑运算符时,运算的顺序为Not、And、Or(2)当条件中既有算术运算符,又有关系运算符和逻辑运算符时,运算顺序是:算术运算符,关系运算符,逻辑运算符例如:

a+b>c+danda>=5ornotc>0ord<0当a=5,b=7,c=2,d=1时,运算结果是真。

三、练习四、练习问题1:某商场为了对苹果进行促销,规定购买2千克以上可以在原价每千克1.5的基础上打8折。请设计一个程序计算购买x千克苹果的应付款。(1)

分析问题设买苹果的重量为x千克,应付款为y元,如果x>=2,则y=1.5*x*0.8,否则y=1.5*x。

(2)设计算法①

输入x的值②

如果x>=2,则y=1.5*x*0.8③

否则y=1.5*x④

输出y的值(3)编写程序

Privatesubcommand1_click()Dimxassinglex=Inputbox(“请输入购买苹果的重量”)ifx>=2then

y=1.5*x*0.8else

y=1.5*xendifPrint“应付款”;y;“元”

(4)调式程序五、多重选择语句问题2:输入一个成绩,如果90分以上,则输出“优秀”;80-89,则输出“良好”;70-79,则输出“中等”;60-69,则输出“及格”;60分以下则输出“不及格”,请编写程序。如果这道题使用if语句来编写程序的话,程序如下:程序2-4Privatesubcommand_click()

X=inputbox(“请输入一个分数”)IfX>=90thenprint”优秀”IfX>=80andX<89thenprint”良好”IfX>=70andX<79thenprint”中等”IfX>=60andX<69thenprint”及格”IfX<60thenprint”不及格”Endsub在程序2-4中,使用了5个if语句来处理5种情况。这样的程序在可读性和效率方面都是比较差的,如果再多一些情况,它的缺陷就会暴露得更加明显,如何处理这个问题呢?(一)多重选择语句格式在VB语言中,设置了一个处理多种情况的语句,称为多重选择语句,它的基本格式为:

selectcase表达式

case表达式列表1

语句组1case表达式列表2……

caseelse

语句组N+1

endselect其中(1)表达式和表达式列表可以是数值型或字符型,表达式列表还可以是多个用逗号分开的表达式。(2)

表达式列表与表达式的类型必须相同。(3)

表达式列表又称值域,它有如下三种形式:①

表达式1,表达式2,……②

表达式1to表达式2③

Is关系表达式

(二)多重选择语句的执行过程

多重选择语句的执行过程是:

当表达式的值为表达式列表1时,执行语句组1;

当表达式的值为表达式列表2时,执行语句组2;

……

当表达式的值为表达式列表N时,执行语句组N;

当表达式的值不是上述值时,执行语句组N+1;有了多重选择语句,对于多种情况的选择问题,就可以利用它来解决。运用多重选择语句编写问题2的程序如下:Privatesubcommand_click()

X=inputbox(“请输入学生成绩”)

SelectcaseX

CaseIs>=90Print”优秀”

Case80to89Print”良好”

Case70to79Print”中等”

Case60to69Print”及格”

CaseelsePrint”不及格”EndselectEndsub

(三)练习

问题3:我们把字符作如下的分类:大写字母:A…Z;小写字母:a…z;数字:0…9;其它字符。编写程序,根据上述分类的方法,输入一个字符,报告该字符所属的类型。

六、小结与顺序结构相比较,选择结构就是程序的执行不再完全按照语句的顺序执行,而是根据某种条件是否成立来决定程序执行的走向,它进一步体现了计算机的智能特点。在VB语言中,选择结构通过if语句和selectcase语句这两个条件语句来实现,运用条件语句的关键是条件的表示,如果能够正确地表达条件,就可以简化程序,在多重选择的情况下,使用selectcase语句,可以使程序更直观,更准确地描述出分支的走向。四、课外拓展问题4:编一个程序,输入三个数,输出其中的最大数。问题5:自已上网查资料,搜集有关气象风级表的资料,比如说0级是属于无风,12级是属于飓风等,试编写程序,输入一个风级,输出相应的概况,名称,速度等。第八课程序的循环结构一、教学目标1、知识与技能掌握循环结构编程的一般步骤及特点。(1)掌握VB语言的FOR循环语句、语句的格式、功能和执行过程;(2)掌握VB语言的循环嵌套的规则。培养和提升学生:(1)学会使用VB语言的FOR循环语句来实现循环控制结构,解决实际问题;(2初步掌握程序调试运行的方法。2、方法与过程采用“问题解决教学法”。3、情感态度和价值观(1)经历用计算机解决问题的过程,体验成功的快乐。(2)在老师的指导下,与同学共同探究问题,让学生体验自主学习、协助学习的乐趣。二、重点难点让学生学会使用VB语言的FOR循环语句来实现循环控制结构,解决实际问题。三、教学过程(for循环结构)(2课时)教学环节教师活动学生活动情意导入

从袁隆平的超级水稻研究的故事入手,又到“输出100以内的所有偶数的算术平方根”的的问题出发,激发学生学习的兴趣和热情,拉开了本节教学的序幕。学生边阅读边倾听。提问:有同学试图用以下方法解决:Private

Sub

Command_Click()Print

Sqr(2)Print

Sqr(4)Print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论