版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目1C#基础任务1VisualStudio环境搭建任务2变量与基本数据类型任务3运算符与表达式任务4用户输入与转义符任务5类型转换与常量任务6流程控制任务7数组任务8函数任务9面向对象——类任务1VisualStudio环境搭建一、开发环境准备①下载VisualStudio2022(社区版免费)②安装时勾选".NET桌面开发"工作负载③新建项目→选择"控制台应用"④项目命名HelloWorld,框架选.NET6+⑤按F5启动调试,Ctrl+F5不调试运行二、解决方案结构.sln解决方案文件(管理多项目).csproj项目文件(引用与配置)Program.cs主程序代码文件Program.cs结构usingSystem;namespaceHelloWorld{classProgram{staticvoidMain(string[]args){/*我的第一个C#程序*/
Console.WriteLine("HelloWorld!");Console.ReadKey();}}}2代码结构说明:①usingSystem;引入命名空间②namespaceHelloWorld命名空间③classProgram类④staticvoidMain()主函数(程序入口)⑤Console.WriteLine()输出到控制台任务1关键技术点三种注释//单行注释/*多行注释*////XML文档注释作用解释代码、调试时临时禁用代码。显示行号工具→选项→文本编辑器→C#→勾选"行号"作用快速定位代码行,调试与协作必备。Console常用方法WriteLine()输出并换行Write()输出不换行ReadLine()读取一行输入ReadKey()等待按键再关闭窗口3任务2变量与基本数据类型变量概念变量是内存中的命名存储空间,用于存储程序运行时可变化的数据。使用三步①声明:intage;②赋值:age=18;③使用:Console.WriteLine(age);命名规范·字母/下划线开头,不含特殊符号·区分大小写(Age与age不同)·见名知意:userAge优于a类型说明示例int整数intage=18;double双精度小数doublepi=3.14;string字符串stringname="Tom";bool布尔值boolisPass=true;char单个字符chargrade='A';4任务2变量的概念与语法变量声明语法:数据类型变量名=值;①数据类型:指定变量存储什么类型的数据②变量名:标识符,见名知意③=赋值号:把右边的值赋给左边变量④分号;语句结束示例代码intage=20;//整型doublescore=95.5;//浮点型stringname="张三";//字符串boolisPass=true;//布尔型chargrade='A';//字符型Console.WriteLine(name);5任务2命名规范与常用数据类型驼峰命名法(camelCase)首单词首字母小写,其余单词首字母大写。示例:userName,studentAge,myCar帕斯卡命名法(PascalCase)每个单词首字母都大写。示例:UserName,StudentAge,MyCar常用数据类型int整型(-21亿~21亿)double双精度浮点decimal高精度货币string字符串bool布尔(true/false)char单个字符float单精度浮点6任务3算术与赋值运算符算术运算符:+-*/加减乘除%取余(模)++--自增自减赋值运算符:=+=-=*=/=如a+=3等价a=a+3示例代码inta=10,b=3;Console.WriteLine(a+b);//13Console.WriteLine(a-b);//7Console.WriteLine(a*b);//30Console.WriteLine(a/b);//3(整数除)Console.WriteLine(a%b);//1(取余)a+=5;//a=157任务3比较与逻辑运算符比较运算符(返回bool):==!=><>=<=逻辑运算符:&&逻辑与(并且)||逻辑或(或者)!逻辑非(取反)短路特性:&&左侧false时右侧不执行;||左侧true时右侧不执行。示例代码intage=20;boolisAdult=age>=18;Console.WriteLine(isAdult);//Trueintscore=85;boolpass=score>=60&&age>=18;Console.WriteLine(pass);//Trueboolfail=!pass;8任务3三目运算符与占位符三目运算符:条件?值1:值2条件为true返回值1,否则返回值2。占位符:用{0},{1}预留位置,按顺序填充变量。口诀:先挖坑,再填萝卜。示例代码inta=10,b=3;//三目:求最大值intmax=a>b?a:b;Console.WriteLine(max);//10//占位符输出Console.WriteLine("a={0},b={1}",a,b);//输出:a=10,b=39任务3技术点——优先级与短路运算符优先级①括号()最高②乘除取余*/%③加减+-④关系><>=<=⑤相等==!=⑥逻辑与&&⑦逻辑或||建议:不确定时用括号明确顺序短路求值&&左边为false,右边不再计算||左边为true,右边不再计算if(age>0&&100/age<10)安全自增自减i++先用再加(后缀)++i先加再用(前缀)inti=5;inta=i++;//a=5,i=610任务4用户输入与转义符读取用户输入:stringinput=Console.ReadLine();ReadLine()等待用户输入并按回车,返回字符串。输入数字需转换:int.Parse(input)输出格式化:Console.WriteLine($"姓名:{name}年龄:{age}");$前缀实现字符串插值,{}内嵌入变量。常用转义符:\n换行\t制表符\"双引号\\反斜杠@开头:逐字字符串,忽略转义符示例代码Console.WriteLine("请输入姓名:");stringname=Console.ReadLine();Console.WriteLine("你好,"+name);//转义符示例Console.WriteLine("第一行\n第二行");Console.WriteLine("姓名\t年龄");//@逐字字符串(路径)stringpath=@"C:\data\test.txt";11任务4案例——简易加法器//用户输入两个数求和Console.Write("请输入第一个数:");strings1=Console.ReadLine();doublen1=double.Parse(s1);Console.Write("请输入第二个数:");strings2=Console.ReadLine();doublen2=double.Parse(s2);doublesum=n1+n2;Console.WriteLine($"结果:{n1}+{n2}={sum}");Console.WriteLine("换行测试\n第二行");运行示例请输入第一个数:12.5请输入第二个数:7.5结果:12.5+7.5=20换行测试第二行技术要点ReadLine()返回string,需Parse转数值$"..."插值字符串比+拼接更清晰12任务5类型转换隐式转换(自动)小类型转大类型,编译器自动完成,无数据丢失。示例:int→double,int→float显式转换(强制)大类型转小类型,需手动指定,可能丢失数据。语法:(目标类型)变量示例代码inti=100;doubled=i;//隐式转换:int→doubledoublepi=3.14159;intx=(int)pi;//显式转换:3.14→3(丢失小数)13任务5辅助类转换与常量Convert类静态方法ToInt32()、ToDouble()跨类型转换。TryParse安全转换,格式错误不崩溃,适合用户输入。ToString其他类型转字符串。示例代码const常量constdoublePI=3.14159;//声明时必须初始化,不可修改intn=Convert.ToInt32("123");//字符串→整数intm;boolok=int.TryParse("456",outm);//安全转换14任务5案例——圆面积计算//计算圆面积constdoublePI=3.1415926;Console.Write("请输入半径:");stringinput=Console.ReadLine();doubler=double.Parse(input);doublearea=PI*r*r;doublegirth=2*PI*r;Console.WriteLine($"半径:{r}");Console.WriteLine($"面积:{area:F2}");Console.WriteLine($"周长:{girth:F2}");intrInt=(int)r;Console.WriteLine("半径取整:"+rInt);技术要点constPI声明为常量,不可改:F2格式化为两位小数(int)r显式转换截断小数Convert类Convert.ToInt32("123")字符串转整数Convert.ToDouble("3.14")更安全15任务6流程控制——分支结构if条件为true执行,false跳过。if(条件){语句;}场景:单一判断,如检查网络。if-else二选一,至少执行一条。if(c){...}else{...}场景:登录成功/失败。if-elseif多区间判断,首个成立即停。if(c1){...}elseif(c2){...}场景:分数段S/A/B/C。switch-case离散值匹配,case后须break。switch(n){case1:...;break;}场景:菜单选项、枚举。16任务6if分支结构三种if形式:①if:条件true时执行②if-else:二选一③if-elseif-else:多条件区间判断选择建议:简单二选一→if-else分数段等区间→if-elseif-else示例:成绩等级判断intscore=85;if(score>=90)Console.WriteLine("S");elseif(score>=80)Console.WriteLine("A");elseif(score>=70)Console.WriteLine("B");elseConsole.WriteLine("C");//输出:A17任务6switch-case语句适用场景:判断离散值(整数、字符串、枚举),比if-elseif更清晰。注意:①case后必须是常量②每个case通常需break③default处理所有未匹配情况(可选)示例:星期判断intday=3;switch(day){case1:Console.WriteLine("周一");break;case2:Console.WriteLine("周二");break;case3:Console.WriteLine("周三");break;default:Console.WriteLine("其他");break;}//输出:周三18任务6流程控制——循环结构for已知次数,三段式。for(i=0;i<n;i++){...}while次数不定,先判后执。while(条件){...}do-while至少执行一次。do{...}while(条件);foreach遍历集合,无需索引。foreach(vin集合){...}break:立即结束整个循环continue:跳过本次,进入下一次迭代19任务6for循环适用场景:已知循环次数的场景。语法三段:for(初始;条件;增量)①初始:声明循环变量②条件:成立则继续循环③增量:改变循环变量示例:打印1到5for(inti=1;i<=5;i++){Console.WriteLine(i);}//输出://1234520任务6while与do-while循环while循环(先判断后执行)条件不成立时一次都不执行。示例:计算1到100的和。inti=1,sum=0;while(i<=100){sum+=i;i++;}//sum=5050do-while(先执行后判断)至少执行一次。示例:直到输入正确密码。stringpwd;do{pwd=Console.ReadLine();}while(pwd!="123");21任务6foreach与break/continueforeach:遍历集合/数组,无需索引,避免越界。foreach(元素类型变量in集合)break:立刻结束整个循环continue:跳过本次,进入下一次示例:遍历数组int[]nums={10,20,30};foreach(intninnums){Console.WriteLine(n);}//break示例:找到即停foreach(intninnums){if(n==20)break;}22任务7数组的概念与声明示例代码//①声明长度3,默认值0int[]a=newint[3];//②显式初始化int[]b=newint[3]{1,2,3};//③简化写法int[]c={1,2,3,4,5};//访问元素Console.WriteLine(c[0]);//1Console.WriteLine(c.Length);//523数组概念相同类型元素组成的固定长度集合,索引从0开始。一维数组声明int[]a=newint[5];//长度5int[]b={1,2,3,4,5};//直接初始化访问元素a[0]=10;//第1个元素intx=b[2];//x=3遍历for需索引;foreach只取值。任务7数组的属性、方法与遍历常用成员Length获取总长度GetLength(n)多维第n维Array.Sort()排序Array.IndexOf()查找索引遍历方式①for循环:需要索引时用②foreach:仅访问元素时用示例代码int[]nums={3,1,4,1,5};Array.Sort(nums);//排序:1,1,3,4,5foreach(intninnums)Console.Write(n+"");24任务7值类型与引用类型值类型直接存储数据,保存在栈(Stack)。赋值时复制数据本身。包含:int、double、bool、char、struct、enum。超出作用域自动释放,默认值如int=0。引用类型存储引用(地址),数据在堆(Heap)。赋值时复制地址,多个变量指向同一数据。包含:class、string、数组、接口、委托。默认值null,由垃圾回收器管理。25任务7案例——求最大最小值//数组求最大最小值与平均值int[]scores={85,92,78,96,88};intmax=scores[0];intmin=scores[0];intsum=0;foreach(intsinscores){if(s>max)max=s;if(s<min)min=s;sum+=s;}Console.WriteLine("最高:"+max);Console.WriteLine("最低:"+min);Console.WriteLine("平均:"+sum/scores.Length);运行结果最高:96最低:78平均:87技术要点Length获取数组长度foreach遍历不修改元素sum/length注意整数除法26任务8函数的结构与调用函数结构:访问修饰符返回类型方法名(参数列表)①访问修饰符:public/private②返回类型:void表示无返回值③方法名:帕斯卡命名法④参数列表:可选,逗号分隔⑤return:返回值并结束函数示例:两数求和//定义函数intAdd(inta,intb){returna+b;}//调用函数intresult=Add(3,5);Console.WriteLine(result);//827任务8技术点——参数与重载方式说明值传递默认方式,传递副本,方法内修改不影响外部变量ref传引用,方法内修改影响外部;实参必须先初始化out输出参数,实参无需初始化,方法内必须赋值默认参数方法声明时给默认值,调用时可省略该参数函数重载:同一类中多个同名函数,参数类型/数量/顺序不同即可,与返回值无关。如Add(int,int)与Add(double,double)。28任务8递归递归:函数在方法体内调用自身。两个必要条件:①递归出口(终止条件):不再调用自身,否则栈溢出。②递归表达式:逐步逼近出口。经典示例:阶乘n!=n×(n-1)×...×1示例:计算阶乘intFactorial(intn){if(n==1)//终止条件return1;returnn*Factorial(n-1);}Console.WriteLine(Factorial(5));//5*4*3*2*1=12029任务9面向对象——类与对象类与对象类是创建对象的模板,封装数据(属性)和方法(行为);对象是类的具体实例。类的成员属性:描述特征,如_name、_age方法:描述行为,如tolearn()访问修饰符public:外部可访问private:仅类内部可访问创建对象Students=newStudent();类比:类是"人类",对象是张三、李四30任务9面向对象——类与对象类(class):创建对象的模板,封装属性(数据)和方法(行为)。对象(object):类的具体实例,用new创建。类比模板,对象是按模板造出的具体东西。示例:学生类classStudent{publicstringname;//属性publicintage;}//创建对象Students=newStudent();="张三";s.age=20;31任务9类的成员与方法类成员:①属性(字段):描述对象特征,如姓名、年龄。②方法:描述对象行为,如学习、考试。访问修饰符:public公共的,外部可访问private私有的,仅类内部示例:学生类的方法classStudent{publicstringname;publicvoidToLearn(){Console.WriteLine(name+"在学习");}}Students=newStudent();="张三";s.ToLearn();32敬请指正!项目2VisionPro脚本概述任务1脚本的种类及功能任务2脚本编辑器简介任务3ToolBlock脚本任务1VisionPro脚本的种类及功能VisionPro脚本系统是机器视觉开发环境QuickBuild的核心扩展机制。通过C#或VB.NET编写脚本,用户可突破图形化界面限制,实现高度定制化的视觉逻辑。突破图形化限制用代码实现界面无法完成的复杂逻辑高度定制化条件运行、附加计算、复用工具两种语言C#与VB.NET任选其一35任务1脚本可定制与扩展的功能程序运行时,VisionPro在特定点执行脚本——可能替代正常代码,也可能附加在代码后执行。条件运行根据其他工具的运行结果,有条件地决定是否运行视觉工具。附加计算对视觉工具的执行结果进行额外计算与逻辑判断。定制复用创建或定制可重复利用的工具模块。36任务1三种脚本类型对比类型功能典型应用JobScript控制取像过程,设置取像参数,控制取像行为。设置曝光、频闪、自动对焦等。ToolGroupScript控制工具组内各视觉工具的执行顺序和逻辑关系,调整输入输出依赖。工具间条件跳转、数据传递。ToolBlockScript封装多个工具形成可复用模块,扩展工具功能,对运行结果做逻辑判断。条件判断、循环、结果后处理。37任务2脚本编辑器界面与编辑器功能要点38工具栏复制/粘贴、添加移除参考、编译等常用操作。鼠标悬停按钮显示功能提示。代码编辑区主要进行脚本代码的添加与修改。不添加任何代码时,脚本不影响工具运行。语言选择首次打开时弹出语言与脚本类型选择框。一旦确定不可更改,除非删除脚本重建。任务2添加引用程序集每个脚本定义一些.NET类并编译成程序集。若脚本引用了其他.NET程序集,必须正确添加到引用中。39任务2两种添加程序集的方法方法一通过输入程序集名称,或使用文件浏览器定位.dll文件来添加程序集。方法二在已知程序集列表中直接选择,快速加载常用程序集。40任务3ToolBlock脚本概述ToolBlock脚本嵌入在ToolBlock(工具块)中,用于扩展其流程控制能力。ToolBlock是VisionPro核心组件,用于串联多个视觉工具(如模式匹配、卡尺等)。脚本使用户可定制或扩展视觉工具功能,或对运行结果进行逻辑判断。使用应用程序向导时,所有ToolBlock脚本都会移植到VisualStudio应用程序。41任务3四种脚本类型第一次创建脚本时,可从以下四种类型中选择:C#SimpleScriptC#AdvancedScriptVBSimpleScriptVBAdvancedScript42任务3ToolBlock与脚本的关系ToolBlock类似"流程图容器",可包含多个视觉工具(如CogPMAlignTool、CogCaliperTool)和脚本步骤(ScriptStep)。工具按顺序执行,输出结果可被后续步骤使用。ToolBlock脚本以"脚本步骤"形式存在于ToolBlock中,是对固定流程的补充。当默认执行逻辑无法满足需求时,脚本可实现条件判断、循环等自定义流程。43任务3高级脚本(AdvancedScript)继承自CogToolBlockAdvancedScriptBase,一般在以下场合使用:动态创建终端动态创建输入/输出终端时使用。获取全部API需要获取CogToolBlock中所有视觉工具的全部API接口时。添加Graphic图形需要向Record中添加Graphic图形时。44任务3高级脚本四个override函数函数名功能说明GroupRun负责视觉工具运行及结果分析,是脚本的主执行入口。ModifyCurrentRunRecord在currentrecord重建或有变化时调用此函数。ModifyLastRunRecord在lastrunrecord重建或有变化时调用此函数。Initialize在此函数中进行脚本的初始化操作。45任务3低级脚本(SimpleScript)低级脚本最大优点:可方便地在脚本中使用ToolBlock中的视觉工具和已定义的输入/输出终端。继承自CogToolBlockAdvancedScript,创建时脚本编辑器自动生成GroupRun与Initialize函数。publicoverrideboolGroupRun(refstringmessage,...){//自动生成:可直接访问Inputs/Outputs}publicoverridevoidInitialize(CogToolBlocktoolBlock){...}46任务3低级脚本vs高级脚本代码对比示例:将Double型变量Radians(弧度)转换为角度Degrees低级脚本(简洁)Outputs.Degrees=Inputs.Radians180/Math.PI;高级脚本(繁琐)this.mToolBlock.Outputs["Degrees"].Value=((double)this.mToolBlock.Inputs["Radians"].Value)180/Math.PI;47任务3添加输入/输出终端48任务3使用低级脚本的注意事项①不要复制粘贴auto-generated部分从#regionauto-generated到#endregion之间的代码由编辑器自动生成。②添加工具后必须"检查界面终端"否则新添加的工具或终端无法在脚本中使用。49敬请指正!项目3脚本编程应用案例任务1标注多个圆孔的面积任务2药物胶囊瑕疵检测任务3彩色保险丝分类统计任务4答题卡判断学习任务目录01标注多个圆孔的面积Blob分析+C#脚本标注质心与面积02药物胶囊瑕疵检测模板匹配+简单脚本+向导导出03彩色保险丝分类统计颜色匹配+遍历统计+标签旋转04答题卡判断Blob过滤+Lambda排序+自动判卷5201标注多个圆孔的面积任务1任务要求与方案设计任务要求:在图像中找到所有圆孔,在每个圆孔中心标注出该圆孔的面积,结果显示在界面上。实施步骤①初始化作业编辑界面,新建C#脚本作业②添加工具块ToolBlock,链接图像③添加CogBlobTool,设置图形选项(显示质心、覆盖图)④添加C#高级脚本,编写GroupRun逻辑⑤编译运行,在每个圆孔中心标注面积54任务1实施步骤:工具块与Blob工具①初始化作业新建C#脚本作业,加载待检测图像,进入作业编辑界面。55任务1实施步骤:工具块与Blob工具②添加工具块从工具箱拖入CogToolBlock,在图像输入端子链接当前图像。56任务1实施步骤:工具块与Blob工具③Blob工具设置添加CogBlobTool;图形选项勾选"显示质心"和"覆盖图",便于观察分割结果。57任务1添加C#高级脚本5859任务1编译脚本,确认是否有误60任务1运行结果6102药物胶囊瑕疵检测任务2任务要求与方案设计任务要求:检测药板上胶囊缺失和类型错放,结果显示在界面左上角,并导出为可独立双击运行的软件。实施步骤①ImageConvert:32位彩色转8位灰度图②PMAlign:抓取药板底板建立模板,图像掩模消除胶囊轮廓③Fixture:建立定位坐标系,供后续工具调用④SearchMax:模板匹配合格胶囊,对比度上限调为1.1⑤ToolBlock简单脚本判断+GraphicLabel显示结果63任务2步骤:图像转换与定位①ImageConvertCogImageConvertTool将32位彩色图转8位灰度图。大部分工具不支持彩色图像,必须先转换。64任务2步骤:图像转换与定位②PMAlign模板CogPMAlignTool抓取药板底板建立模板;用图像掩模消除胶囊轮廓,角度范围±180°。65任务2步骤:图像转换与定位②PMAlign模板CogPMAlignTool抓取药板底板建立模板;用图像掩模消除胶囊轮廓,角度范围±180°。66任务2步骤:图像转换与定位③Fixture定位CogFixtureTool建立定位坐标系,供后续SearchMax等工具调用统一坐标。67任务2步骤:模板匹配与调优④检测合格胶囊添加CogSearchMaxTool,以Fixture为坐标系,模板匹配合格胶囊位置。68任务2步骤:模板匹配与调优④检测合格胶囊添加CogSearchMaxTool,以Fixture为坐标系,模板匹配合格胶囊位置。69任务2步骤:模板匹配与调优⑤对比度调优将对比度上限调为1.1,排除不合格匹配,避免误检。70任务2步骤:模板匹配与调优⑥检测缺失胶囊复制合格SearchMax,修改模板为缺失区域;合格数+缺失数+错放数=15。71任务2简单脚本判断结果添加输入输出终端hege_num:合格胶囊数(输入)queshi_num:缺失胶囊数(输入)result:检测结果(输出)72任务2VisionPro运行结果73任务2ApplicationWizard导出软件基于QuickBuild配置快速生成完整视觉应用程序:加载.vpp文件→设置名称→配置标题→添加检测结果字段→选C#→完成,生成可独立双击运行的软件。7403彩色保险丝分类统计任务3任务要求与方案设计任务要求:统计不同颜色保险丝数量,结果显示在左上角;各保险丝附近显示颜色标签(随目标旋转)。实施步骤①初始化作业,添加工具块与PMAlign模板②中心点上移避开引脚,查找概数设20,接受阈值0.45③添加CompositeColorMatch工具,训练5种颜色④取保险丝中间部分训练,避开黑色引脚⑤编写统计脚本:遍历目标、判断颜色、标签旋转76任务3核心步骤:模板匹配①PMAlign定位模板匹配定位每个保险丝位置;中心点上移避开引脚,查找概数20,接受阈值0.45。77任务3核心步骤:模板匹配①PMAlign定位模板匹配定位每个保险丝位置;中心点上移避开引脚,查找概数20,接受阈值0.45。78任务3核心步骤:颜色训练②CompositeColorMatch多颜色匹配工具;取保险丝中间部分训练5种颜色(橙/红/蓝/浅黄/绿),避开黑色引脚。79任务3核心步骤:颜色训练②CompositeColorMatch多颜色匹配工具;取保险丝中间部分训练5种颜色(橙/红/蓝/浅黄/绿),避开黑色引脚。80任务3脚本核心逻辑①工具初始化从mToolBlock获取CogPMAlignTool和CogCompositeColorMatchTool实例。81②遍历目标用foreach遍历每个匹配目标,动态调整颜色区域位置与角度,判断
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药品稽查快速反应应急预案
- 2026年水上乐园考试模拟题及答案详解
- 2026年玻璃器皿模拟试题(含答案)
- 2026年ESD培训考核模拟试题(含答案)
- 陕西省西安市多校2027届高三上学期9月检测化学试卷(含答案)
- 2026年物料运送公务车使用条例
- 2026年四川省成都市实验小学六年级英语下册第4单元课后练习题及答案
- 人教版高中物理选修3-2第8章热力学基础同步练习题及答案
- 人教版深圳市实验中学七年级英语第12单元语法练习题及答案
- 广东省深圳市第二中学九年级化学上册第5章知识点巩固习题及答案
- 2026国企招聘考试(法务)历年参考题库含答案详解
- 巨幼细胞性贫血诊疗专家共识(2025版)
- T∕CECS 277-2021 建筑给水排水薄壁不锈钢管连接技术规程(团体标准)
- 2026年天然气分公司人员招聘笔试模拟试题及详细答案解析
- 第五单元 用字母表示数和数量关系 第6节 探秘百数表
- 风机隔声罩设计计算书
- 2026年6月浙江省高考物理试卷(含答案及解析)
- 危化品安全5分钟(001-200期)
- (已压缩)广东省工程勘察设计服务成本取费导则(2024版)
- 《沙漠砂混凝土应用技术规程》
- 船舶防火安全设施验收规范
评论
0/150
提交评论