第一篇:Q2V8程序计算器输入数据操作方法
Q2V8程序计算器输入数据操作方法(1);
连续交点平曲线与竖曲线三维坐标正反算步骤;
进入 1 菜单
按 MENU2 进入 列表模式
按 SHIFTSET UP 设置串列文件(List File;File 1--6)
按F1设置(输入串列文件 号码;1--6 中的一个)
清除当前选定串列的数据;
按 MENU1进入RUNMAT模式
按 SHIFTPRGM调出程序功能菜单
清除命令; F6F1F3回车(清除了当前串列的全部数据)
(1)平曲线
按 MENU2进入 列表模式(输入平曲线数据)
List 1List2List3List4List5List6List7(起点桩号)(起点X坐标)(起点Y坐标)(入口缓曲参数)(圆曲半径)(出口缓曲参数)(交点转)(不输入)(交点X坐标)(交点Y坐标)(入口缓曲参数)(圆曲半径)(出口缓曲参数)(交点转角)
.....................(不输入)(终点X坐标)(终点Y坐标)
按 MENU9进入选择执行 Q2V8程序界面回车
输入1(只计算平曲线数据)XY(1)/H(2)/XYH(3)=?
显示出;平曲线总的交点个数(不包含起终点)hor-total JD num= 输入0(重新计算平曲线数据)new(0)/old(≠0)hor-JD data=?
显示出;输入平曲线 起点的交点号 hor-curve start JD num=?
输入0(要计算的起点的交点号)(机器开始计算等待.........)
查看计算的结果按 MENU2进入 列表模式(计算按结果如下JD1---JDn)List 1List2List3List4List5List6List7
(起点桩号)(起点X坐标)(起点Y坐标)(入口缓曲参数)(圆曲半径)(出口缓曲参数)(交点转角)(交点桩号)(交点X坐标)(交点Y坐标)(入口缓曲参数)(圆曲半径)(出口缓曲参数)(交点转角)
.....................(终点X坐标)(终点Y坐标)
查看转角值(度分秒)也就是(弧度制变 角度制);
按OPTNF6F2F5
第二篇:23. 模拟计算器数字输入及显示
23. 模拟计算器数字输入及显示
1. 实验任务
(1. 开机时,显示“0”
(2. 第一次按下时,显示“D1”;第二次按下时,显示“D1D2”;第三按下时,显示“D1D2D3”,8个全显示完毕,再按下按键下时,给出“嘀”提示音。
2. 电路原理图
图4.23.1 3. 系统板上硬件连线
(1. 把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上;
(2. 把“单片机系统“区域中的P3.0-P3.7端口用8芯排线连接到“4X4行列式键盘”区域中的C1-C4 R1-R4端口上;(3. 把“单片机系统”区域中的P0.0-P0.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;
(4. 把“单片机系统:区域中的P2.0-P2.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上; 4. 相关程序设计内容
(1. 行列式键盘输入及按键功能设定;(2. 动态数码显示;(6#include 3..
数
C
码
显语
示
言
方
式源
处
程
理
; 序
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};unsigned unsigned unsigned unsigned unsigned unsigned unsigned bit void { change(unsigned
char char
code
char
dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
dispbuf[8]={0,16,16,16,16,16,16,16};
char dispbitcount;
char char char char
temp;i,j;
key;keypos;alarmflag;
*p,unsigned
char
count)while(count>0){ *(p+count)=*(p+count-1);count--;} } void { TMOD=0x01;TH0=(65536-4000)TL0=(65536-4000)TR0=1;ET0=1;EA=1;
/ %
main(void)
256;256;while(1){ P3=0xff;P3_4=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp if { temp=P3;temp=temp switch(temp){ case key=7;break;case key=8;break;case key=9;break;case key=10;break;} if((key>=0){ keypos++;if(keypos<8){ change(dispbuf,keypos);dispbuf[0]=key;} else { keypos=8;alarmflag=1;}
&
&
& &&
0x0f;
(temp!=0x0f)
0x0f;
(temp!=0x0f)
0x0f;
0x0e:
0x0d:
0x0b:
0x07:(key<10))} temp=P3;P1_0=~P1_0;temp=temp while(temp!=0x0f){ temp=P3;temp=temp } alarmflag=0;} }
P3=0xff;P3_5=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp if { temp=P3;temp=temp switch(temp){ case key=4;break;case key=5;break;case key=6;break;case key=11;break;} if {((key>=0)
& &
&
&
& &&
0x0f;
0x0f;
0x0f;
(temp!=0x0f)
0x0f;
(temp!=0x0f)
0x0f;
0x0e:
0x0d:
0x0b:
0x07:(key<10))keypos++;if(keypos<8){ change(dispbuf,keypos);dispbuf[0]=key;} else { keypos=8;alarmflag=1;} } temp=P3;P1_0=~P1_0;temp=temp while(temp!=0x0f){ temp=P3;temp=temp } alarmflag=0;} }
P3=0xff;P3_6=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp if { temp=P3;temp=temp switch(temp){ case key=1;break;case
&
& &
&
&
0x0f;
0x0f;
0x0f;
(temp!=0x0f)
0x0f;
(temp!=0x0f)
0x0f;
0x0e:
0x0d: key=2;break;case key=3;break;case key=12;break;} if((key>=0){ keypos++;if(keypos<8){ change(dispbuf,keypos);dispbuf[0]=key;} else { keypos=8;alarmflag=1;} } temp=P3;P1_0=~P1_0;temp=temp while(temp!=0x0f){ temp=P3;temp=temp } alarmflag=0;} }
P3=0xff;P3_7=0;temp=P3;temp=temp if { for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;
&&
&
& &
0x0b:
0x07:
(key<10))
0x0f;
0x0f;
0x0f;
(temp!=0x0f)temp=temp if { temp=P3;temp=temp switch(temp){ case key=0;break;case key=13;break;case key=14;break;case key=15;break;} if((key>=0){ keypos++;if(keypos<8){ change(dispbuf,keypos);dispbuf[0]=key;} else { keypos=8;alarmflag=1;} } temp=P3;P1_0=~P1_0;temp=temp while(temp!=0x0f){ temp=P3;temp=temp } alarmflag=0;}
& & && & & 0x0f;
(temp!=0x0f)
0x0f;
0x0e:
0x0d:
0x0b:
0x07:
(key<10))
0x0f;
0x0f;} } } void t0(void)
interrupt { TH0=(65536-4000)/ TL0=(65536-4000)
% P0=dispcode[dispbuf[dispbitcount]];P2=dispbitcode[dispbitcount];dispbitcount++;if { dispbitcount=0;} if { P1_1=~P1_1;} }
using
0
256;256;
(dispbitcount==8)
(alarmflag==1)
第三篇:cakePHP常用数据操作方法总结
CakePHP常用数据操作方法总结
0.测试相关信息
1.数据表(1)zmkm_tests Id int(11)primary key Name char(10)Password char(32)Type tinyint(2)(2)zmkm_relations Id int(11)primary key Test_id int(11)Content text 2.Model:Test,Relation 3.Controller:test,relation 一.查询
1.find($type,$params)I.$params,查询的限制条件,格式如下
$params = array('conditions' => array('SQL中的where条件'), 'fields' => array('查询字段'), 'order' => array('排序字段,SQL中的order by 条件'), 'group' => array('分组字段,SQL中的group by 条件'), 'limit' => 'm,n',// 查询记录条数,SQL中limit 'page' =>'n' // 还有recursive和callbacks等不常用的参数,略过);
II.$type,查询的类型
(1)$type = 'first',find的默认参数,查找符合条件的第一条数据.示例1: 查找数据表中第一条记录
$lists = $this->Test->find();SQL:SELECT `Test`.`Id`, `Test`.`name`, `Test`.`password`, `Test`.`type` FROM `zmkm_tests` AS `Test`
WHERE 1 = 1
LIMIT 1
结果: $lists = array([“Test”]=>
array(“Id”=>“1”
“name”=>“37892533”
“password”=>“2f441e566f1bbb7d1faaf32e85035048”
“type”=>“3”))示例2:查找一条type=1的记录
$lists = $this->Test->find('first',array('conditions'=>array('Test.type' => '1')));SQL:SELECT `Test`.`Id`, `Test`.`name`, `Test`.`password`, `Test`.`type` FROM `zmkm_tests` AS `Test`
WHERE `Test`.`type` = 1
LIMIT 1
结果:$lists = array(“Test”=>
array(“Id”=>“3”
“name”=>“37892533”
“password”=>“5997124ee980322f8a62a758dda4deee”
“type”=>“1”))
(2)$type = 'all',查找所有符合条件的记录 示例:查找所有type为[1,2,3]的记录
$lists = $this->Test->find('all',array('conditions' => array('Test.type' => array('1','2','3'))));SQL:SELECT `Test`.`Id`, `Test`.`name`, `Test`.`password`, `Test`.`type` FROM `zmkm_tests` AS `Test`
WHERE `Test`.`type` IN(1, 2, 3)
结果: $lists = array(0 => array('Test'=>array('id'=>1,'name'=>.....)), 1=>array(.....)...);
(3)$type = 'list',返回一个索引数组,key第一列字段,若不指定fields,则value为第二列的字段
示例:查找 10 $condition = array('conditions'=>array('Test.id Between ? And ? ' => array(10,20)), 'order' => 'Test.type desc');$lists = $this->Test->find('list',$condition);SQL:SELECT `Test`.`id`, `Test`.`name` FROM `zmkm_tests` AS `Test` WHERE `Test`.`id` Between 10 And 20 ORDER BY `Test`.`type` DESC 结果: $lists = array('12' => '47192536' , '10'=>'68192536' ,.....); (4)$type = 'count' , 计数,返回一个整数 示例:查找type!=(1,2)的记录条数 $con['conditions'] = array('not'=>array('Test.type' =>array(1,2)));$num = $this->Test->find('count',$con);SQL:SELECT COUNT(*)AS `count` FROM `zmkm_tests` AS `Test` WHERE NOT(`Test`.`type` IN(1, 2)) 结果: int(14)(5)$type = 'neighbors',查询符合条件的记录的前后两条记录 示例:查找id=33 且满足 type<3 的前后两条记录 $condition = array('field' => 'id',// *(必须 筛选字段) 'value' => '33', // *(必须 field的值) 'conditions' => array('type < ' => '3'),'fields'=> 'id,name,type', // *(必须 查找字段)); $lists = $this->Test->find('neighbors',$condition);SQL:执行两条SQL: Query: SELECT `Test`.`id`, `Test`.`name`, `Test`.`type` FROM `zmkm_tests` AS `Test` WHERE `type` < 3 AND `Test`.`id` < '33' ORDER BY `Test`.`id` DESC LIMIT 1 Query: SELECT `Test`.`id`, `Test`.`name`, `Test`.`type` FROM `zmkm_tests` AS `Test` WHERE `type` < 3 AND `Test`.`id` > '33' ORDER BY `Test`.`id` ASC LIMIT 1 结果: array(2){ “prev”=> array(“Test”=>rray(“id”=>“32”,“name”=>“44392536”,“type”=>“2”)) “next”=> array(“Test”=>array(“id”=>“39”,“name”=>“14292536”,“type”=>“1”))) 2.findByField($params):通过字段查找记录,只返回一条记录,函数名需要用驼峰式书写 示例1:通过数据表中的id查找 $lists = $this->Test->findById('3');SQL:SELECT `Test`.`Id`, `Test`.`name`, `Test`.`password`, `Test`.`type` FROM `zmkm_tests` AS `Test` WHERE `Test`.`id` ='3' LIMIT 1 结果:略 示例2:通过数据表中的type查找 $lists = $this->Test->findByType(array('3','5','7')); SQL:SELECT `Test`.`Id`, `Test`.`name`, `Test`.`password`, `Test`.`type` FROM `zmkm_tests` AS `Test` WHERE `Test`.`type` IN('3', '5', '7')LIMIT 1 结果:略 注:对于数据表中类似“user_status”的字段,方法名为findByUserStatus()3.Field($field,$condition),查找一个字段,函数返回字段值 示例:查找id=34的password $password = $this->Test->field('password',array('Test.id'=>'34'));SQL:SELECT `Test`.`password` FROM `zmkm_tests` AS `Test` WHERE `Test`.`id` = '34' LIMIT 1 结果: string(32)“2f441e566f1bbb7d1faaf32e85035048” 二.添加数据 1.save($data),插入一条记录,返回以model名为key值的$data数组(1).$data中无数据表的主键对应的字段值,则插入一条新纪录 示例:插入一条记录 $data = array('name' => 'zhongsou','passowrd' => md5(time()),'type' => rand(0,9));$this->Test->save($data);$lastInsertId = $this->Test->id; // 插入的一条记录的id SQL: INSERT INTO `zmkm_tests`(`name`, `password`, `type`)VALUES('zhongsou', '0674ab9bda247f85a5e4aa49ecb73b38', 9) 注:如果$data中存在数据表中没有的字段,则插入时忽略(2).saveAll($data),插入单个模型的多条记录,或者是该模型的关联记录 A.向同一个model插入多条记录,在cakePHP手册中介绍有误,$data数组的格式应该如下: $data = array('0' => array('name' => 'abc' , 'password' => 'b2c'), '1' => array('name' => '123' , 'password' => 'p2p'));或者: $data = array('0' => array('Test' =>array('name' => 'abc' , 'password' => 'b2c')), '1' => array('Test' => array('name' => '123' , 'password' => 'p2p')));SQL:执行多条insert语句 B.插入关联记录,新建关联表M_relation,test_id为外键,关联M_test(id),关联关系为一对一(hasOne),关联关系需要在model中定义,$data数据格式 $data = array('Relation' => array('test_id' => 3020,'content' => 'www.teniu.ccMIT (3).$data中有数据表的主键对应的字段值,则修改该记录的相应字段值 $data['Test'] = array('id' => '78','name' => 'zhongsou','password' => md5(time()),'type' => rand(0,9));$this->Test->save($data);$updataId = $this->Test->id; // 修改的记录的id SQL:执行两条SQL,进行插入和更新的判断 SELECT COUNT(*)AS `count` FROM `zmkm_tests` AS `Test` WHERE `Test`.`id` = '78' UPDATE `zmkm_tests` SET `name` = 'zhongsou', `password` = '2816c19a87b69d758799054dc8b4cc2e', `type` = 9 WHERE `zmkm_tests`.`id` = '78' 三.修改 1.updateAll($data,$condition),更改所有符合条件的记录 示例:修改name字段 $data = array('name' => “'souhu'”);$condition = array('Test.name' => 'zhongsou');$result = $this->Test->updateAll($data,$condition);SQL:UPDATE `zmkm_tests` AS `Test` SET `Test`.`name` = 'souhu' WHERE 'Test'.`name` = 'zhongsou' 2.saveField('field',$value),修改一个字段值,需要先指定id 示例:修改id=89 的name $this->Test->id = 89;$this->Test->saveField('name','other');SQL:UPDATE `zmkm_tests` SET `name` = 'other' WHERE `zmkm_tests`.`id` = 89 四.删除 1.delete(),删除一条记录,需要先指定id,返回boolean 示例:删除id=105的记录 $this->Test->id = '106';$result = $this->Test->delete();SQL: SELECT COUNT(*)AS `count` FROM `zmkm_tests` AS `Test` WHERE `Test`.`id` = '106' DELETE `Test` FROM `zmkm_tests` AS `Test` WHERE `Test`.`id` = '106' 2.deleteAll($condition),删除多条记录,$condition为删除条件 示例:删除id>100 & type!= [1,2,3] 的记录 $condition = array('id >' => 100, 'not' => array('type'=>array('1','2','3')));$this->Test->deleteAll($condition);SQL: 分成两条SQL执行的 SELECT `Test`.`id` FROM `zmkm_tests` AS `Test` WHERE `id` > 100 AND NOT(type IN(1, 2, 3))DELETE `Test` FROM `zmkm_tests` AS `Test` WHERE `Test`.`id` IN('102', '103', '104') 附:若把cakePHP的debug设为2依然无法在页面上打印SQL语句,则可以通过调用如下方法: /** * 获取SQL执行的日志 * return array */ function printSQL(){ $sources = ConnectionManager::sourceList();$logs = array();foreach($sources as $source){ $db =& ConnectionManager::getDataSource($source); if(!$db->isInterfaceSupported('getLog'))continue; $logs[$source] = $db->getLog();} return $logs;} SAS学习总结 一、SAS的数据录入 (1)直接输入 data first; input name $ salary; datalines;a 12b 34c 56d 78 ; run; 注意:datalines的位置以及数据录入后的分号 (2)借助infile可读入文本格式为dat、txt、csv A.最简单的形式 data first; infile 'c:userslichaodesktopsasdatatoadjump.dat'; input Toadname $ Jump1 Jump2 Jump3 Jump4; run; proc print data=work.first; run; B.有空格的情况,需要数一下 data second; infile 'c:userslichaodesktopsasdataonionring.dat'; input Name $ 1-19 Jump1 22-24 Jump2 25-28 Jump3 30-31 Jump4 33-34 Jump5 37 Jump6 40; run; proc print data=work.second; run; C.格式重复的情况 data third; infile 'c:userslichaodesktopsasdataexercise.dat'; input Num1 Num2 Num3 @@; run; proc print data=work.third; run; 注意:@@的用法 D.其他的格式 Ⅰ.输出特定的行 data icecream; infile 'c:userslichaodesktopsasdataicecreamsales2.dat' firstobs=3 obs=5; input Flavor $ 1-9 Location Boxessold; run; proc print data=icecream; run; 注意:firstobs和obs的位置不要改变,而且两者可以单独使用 Ⅱ.有缺失值 data class; infile 'c:userslichaodesktopsasdataallscores.dat' missover; run; proc print data=class; run; 注意:在有缺失值的情况下,如果输出有错误的话就用missover Ⅲ.非正常的输入: data third; infile 'c:userslichaodesktopsasdatapumpkin.dat'; input Name $16.num 3.type $2.date $11.(num1 num2 num3 num4 num5)(4.1);run; proc print data=third; run; 注意:16.和3.、4.1等的表示方法,都是表示宽度,相比较数列数的方法更有效;输入格式相同的话可以加括号把格式写在后面的括号里。 Ⅳ.日期的输入: 按照数值处理,根据情况,使用MMDDYYw.或者 DDMMYYw.(3)import 录入其他格式的文件(可导入的格式非常多) proc import datafile='c:userslichaodesktopsasdatasecond.xls' dbms=xls out=mydata replace;sheet=“sheet1$”; range=“a1:b3”; run; proc print data=mydata; run; 注意:sheet表示单元表的名字,range表示导入的数据范围 input name $ test1 test2 test3 test4 test5; 学生体质健康数据上报简要操作流程 宁夏海原县三河镇中心小学 孟范军 打开“学生体质健康网”——登录本校 第一步 新增一年级班:学校基本信息设置——年级班级管理——新增一年级班 第二步 填写新增学生信息:学生体测数据管理——学生基本信息导入——下载学生基本信息模板——填写新增学生信息——选择文件(学生基本信息模板)——导入(系统) 第三步 填写体测模板:学生体测数据管理——学生体测成绩导入——下载体测模版——删除减少学生——分发到各班——进行体质测试,填写测试数据——收集汇总数据——删除免测学生 第四步 填写导入测试环境信息模板:学校基本信息设置——测试环境信息——模版导入——下载模板——填写内容(要填写完整)——模版导入——选择文件——导入 第五步 导入体测模板:学生体测数据管理——学生体测成绩导入——选择文件(本校体测模板)——导入(注意:不要急于上报!!) 第六步 成绩测算及上报:按F5刷新页面,在学生体测数据管理中查看学生成绩——数据下载(评分),统计优秀、良好、及格、不及格人数,计算达标率,如果达标率高于85%,则进入“学生体测数据上报”环节——上报。如果达标率低于85%,则考虑测试工具是否准确,测试方法是否有误,如果都没问题,让学生继续锻炼一个阶段,重新测试。 关键提示:1.学生基本信息只导入新增学生,如一年级学生、转入的学生。如无学籍,用L+身份证号代替。2.复学的学生:系统中学生信息更新慢,可能默认在复学前班级,上传学生基本信息模板和体测模板时系统提示“此学籍号与年级标号不对应,请核实学生所对应的年级编号”,可登录系统——学生体测数据管理——输入该生学籍号——搜索(查询到该生信息)——在学生基本信息模板里更改学生年级、班级信息,与网上保持一致。3.各模版中班级编号、班级名称要一致。 4.学生来源不填写,填写身份证号有可能导致上传时发生错误,一般不填写。 5.出生日期用《由身份证或学籍号自动生成出生日期表格》生成,简便快捷。如果仍出现错误提示,则用查找、替换方式,将日期中的“-”或“/”再次替换。 6.在输入任何数据时,请避免使用空格键。在输入姓名、等成绩等数据时,为了对齐,会习惯性地使用空格键,导致输入数据错误,不能上传。 7.测试信息模板中所有信息要填写完整,否则上传数据会被退回。第四篇:SAS数据输入总结
第五篇:学生体质健康数据上报简要操作方法[范文]