欢迎来到天天文库
浏览记录
ID:48699120
大小:212.00 KB
页数:14页
时间:2020-01-19
《案例3:进位制(二).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、案例3:进位制(二)1.用表示k进制数,其中k称为基数,十进制数一般不标注基数.2.把k进制数化为十进制数的一般算式是:复习:3.利用除k取余法,可以把任何一个十进制数化为k进制数,并且操作简单、实用.第四步,判断i>n是否成立.若是,则输出b的值;否则,返回第三步.第一步,输入a,k和n的值.第二步,令b=0,i=1.第三步,,i=i+1.思考2:按照上述思路,把k进制数化为十进制数b的算法步骤如何设计?一、k进制化十进制算法思考1:k进制数右数第i位数字ai化为十进制数是什么数?思考3:上述把k进制数化为十进制数b
2、的算法的程序框图如何表示?开始输入a,k,nb=0i=1把a的右数第i位数字赋给tb=b+t·ki-1i=i+1i>n?结束是输出b否思考4:该程序框图对应的程序如何表述?开始输入a,k,nb=0i=1把a的右数第i位数字赋给tb=b+t·ki-1i=i+1i>n?结束是输出b否INPUTa,k,nb=0i=1t=aMOD10DOb=b+t*k∧(i-1)a=a10t=aMOD10i=i+1LOOPUNTILi>nPRINTbEND退位取余思考1:若十进制数a化为K进制数b怎么化?a=rnrn-1…r1r0(K)=b
3、二、十进制化k进制的算法q0除以K所得的商是q1,余数是r1,即q0=K·q1+r1;……qn-1除以K所得的商是0,余数是rn,即qn-1=K·0+rn,a除以K所得的商是q0,余数是r0,即a=K·q0+r0;思考2:利用除k取余法,将十进制数a化为k进制数的算法步骤如何设计?第四步,若q≠0,则a=q,返回第二步;否则,输出全部余数r排列得到的k进制数.第一步,输入十进制数a和基数k的值.第二步,求出a除以k所得的商q,余数r.第三步,把所得的余数依次从右到左排列.二、十进制化k进制的算法思考3:将除k取余法的算
4、法步骤用程序框图如何表示?开始输入a,kq=akr=aMODk把所得的余数依次从右到左排列a=qq=0?结束输出全部余数r排列得到的k进制数是否思考4:该程序框图对应的程序如何表述?开始输入a,kq=akr=aMODk把所得的余数依次从右到左排列a=qq=0?结束输出全部余数r排列得到的k进制数是否INPUTa,kb=0i=0DOq=akr=aMODkb=b+r*10∧ii=i+1a=qLOOPUNTILq=0PRINTbEND三、二进制与四进制、八进制、十六进制互化作业讲解:1、(1)将二进制数11010110
5、110(2)转化为四进制数、八进制数、十六进制数(2)将3021(4),514(8),3A65(16)转化为二进制数结论:1、把二进制数转化为四(八、十六)进制数时,只要从右到左把2(3、4)位二进制数化成一组,然后每组用一个四(八、十六)进制数字代替即可。2、把四、八、十六制数转化为二进进制数时,只要将一位数字用2位或3位或4位二进制数字代替即可。书圣:13、设计一个程序,将一个四位数5136各位上的数字顺序倒排,即为6315后输出。a=a10t=aMOD10退位取余作用可以将一个数中的每位数字输出书圣:14、《张
6、邱建算经》云:今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一.凡百钱买百鸡,问鸡翁、母、雏各几何?编写程序解决上述问题.设鸡翁、母、雏分别为x、y、z只,则即开始x≤14?结束输出x,y,zx=1y≤25?z=100-x-y是7x+4y=100?是y=1是否y=y+1否x=x+1否正确的程序框图:开始x≤14?结束输出x,y,zx=1y≤25?z=100-x-y是7x+4y=100?是y=1是否y=y+1否x=x+1否WHILEx<=14ENDy=1WHILEy<=25x=1IF7*x+4*y=100THENz=1
7、00-x-yPRINTx,y,zENDIFy=y+1WENDx=x+1WENDELSE错误的程序框图与程序:
此文档下载收益归作者所有