智能菜谱课程设计报告studentPDY

随着智能手机的普及,基于Android平台的应用软件需求也越来越多。针对传统订餐模式中餐馆工作人员重复劳动量大、消费者在不熟悉地区难以寻找适合自己的餐馆、必须要进入到餐馆内才可以浏览菜单开始点餐以及物理菜单不能及时更新更不能反映菜品的评价等缺点,提出基于Android平台的智能菜谱系统的设计和实现解决方案。阐述了系统的设计思想、开发模型、主要功能模块以及关键技术的设计与实现。

2.需求用例图

3.用例分析

(1)用例名称:今日推荐

说明:每进一次首页都会推荐

不同的菜品,可自行选择

(2)用例名称:分类查询

说明:有九种类型的菜,每种类型

的菜又可以分很多菜品,可

任意选择进行查询

(3)用例名称:添加收藏

说明:用户可把喜欢的菜添加到收藏

(4)用例名称:删除收藏

说明:用户可把不喜欢的菜从收藏中

删除

(5)用例名称:上传我的菜品

说明:可以把自己喜欢或会做的菜

二、系统设计

1.系统功能

2.核心模块时序图

3.核心模块类图

三、系统数据库设计

由于本系统是对广大用户所使用的,所以要充分考虑用户的需求。本系统采用了SQLite数据库设计,占用资源低,处理速度快。以表格的形式列出每一个数据库表的表结构,即字段名、类型、长度、小数位数、是否主键、索引、是否允许为空、说明等。并介绍表与表之间的逻辑关系。

Information表结构

字段名

数据类型

长度

主键

索引

外键

可空

说明

id

int

20

菜品id

name

String

菜品名字

method

Unknow

烹饪方法

material

30

材料

is_favor

喜欢的菜品

type_id

种类id

四、系统测试

本次实习所用的开发环境为:

开发所涉及的应用:UI设计,activity组件的应用,file存储

服务器:Androidstudio

数据库:SQLite

开发工具:Androidstudio,SQLite

界面制作:UI

1.项目测试

1、测试软件作品能否在模拟器和手机上正常运行

2、测试数据库能否顺利连接

3、测试软件作品各个功能能否正常进行:

3.2、测试分类查询功能是否能正常使用

3.3、测试收藏功能是否能正常使用

3.4、测试上传菜品功能是否能正常使用

2.测试结果

不同界面运行图如下:

五.系统实现

部分关键代码如下:

packagecom.example.lm.cook;importandroid.content.Intent;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Toast;

2.分类查询界面

进入分类查询界面,可以任意查询各类菜品,也可以通过右上角搜索工具对喜欢的菜直接进行搜索查询,就可以不用一一查询菜品了。

publicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.menu_search,menu);MenuItemitem=menu.findItem(R.id.menu_item_search);mSearchView=(SearchView)item.getActionView();if(mSearchView!=null){mSearchView.setInputType(InputType.TYPE_CLASS_TEXT);mSearchView.setSubmitButtonEnabled(false);mSearchView.setQueryHint(getString(R.string.search_hint));mSearchView.setOnQueryTextListener(this);mSearchView.setOnSearchClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){mRadioGroup.setVisibility(View.GONE);mActionBar.setDisplayHomeAsUpEnabled(true);mCookDao=newCookDao(MainActivity.this);FragmentTransactiontransaction=mFragmentManager.beginTransaction();hideAllFgt(transaction);if(mSearchFgt==null){mSearchFgt=newSearchFgt();transaction.add(R.id.main_content,mSearchFgt);}else{transaction.show(mSearchFgt);}transaction.commit();}});}returntrue;}

3.收藏界面

对各种菜品进行查询后,可以把自己喜欢的菜添加到收藏里,方便以后查找,也可以删除收藏里的菜品,进行清理。

4.更多界面

packagecom.example.lm.cook.fragment;

}}

其他部分关键代码:

//其他方法可自行扩展}

}

六.总结

附件1:

智能菜谱系统

技术说明

用到了UI技术,运用了SQLite数据库存储对菜品进行增删改查,在Androidstudio中运用LinearLayout和RelativeLayout嵌套,主要用到的控件有Button、TextView、view、ImageView。通过在java类中定义和设置监听事件来进行点击设置相应属性。

UML类图

代码

清单文件:

布局文件:

1.截图

2.原文件

java原码

packagecom.example.lm.cook;

importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.EditText;importandroid.widget.Toast;

publicclassAddActivityextendsAppCompatActivity{

privateEditTexted1;privateEditTexted2;

@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_add);//上传ed1=(EditText)findViewById(R.id.ed_1);ed2=(EditText)findViewById(R.id.ed_2);findViewById(R.id.btn).setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Stringed11=ed1.getText().toString().trim();Stringed22=ed2.getText().toString().trim();Toast.makeText(AddActivity.this,"上传成功",Toast.LENGTH_SHORT).show();finish();}});}}

importandroid.support.v7.app.ActionBar;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.widget.Toast;

importcom.example.lm.cook.dao.CookDao;importcom.example.lm.cook.fragment.DetailFgt;importcom.example.lm.cook.pojo.Cook;importcom.example.lm.cook.utils.Const;

publicclassDetailActivityextendsAppCompatActivity{privatebooleanisFavorite;privateintmCookId;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_detail);mCookId=getIntent().getIntExtra(Const.COOK_KEY,0);CookDaocookDao=newCookDao(this);Cookcook=cookDao.getCook(mCookId);ActionBaractionBar=getSupportActionBar();if(actionBar!=null){actionBar.setDisplayHomeAsUpEnabled(true);}setTitle(cook!=nullcook.getName():null);isFavorite=cook!=null&&cook.isFavorite();if(savedInstanceState==null){DetailFgtdetailFgt=DetailFgt.newInstance(cook);getSupportFragmentManager().beginTransaction().add(R.id.detail_content,detailFgt).commit();}}

@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.menu_favor,menu);if(isFavorite){menu.getItem(0).setIcon(R.mipmap.favorite);menu.getItem(0).setTitle(getString(R.string.cancel_favor));}returntrue;}

@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){if(item.getItemId()==android.R.id.home){finish();}elseif(item.getItemId()==R.id.menu_item_favor){CookDaocookDao=newCookDao(this);if(cookDao.doFavor(mCookId,isFavorite)){if(isFavorite){item.setIcon(R.mipmap.not_favorite);item.setTitle(R.string.cancel_favor);Toast.makeText(this,R.string.cancel_favor,Toast.LENGTH_SHORT).show();}else{item.setIcon(R.mipmap.favorite);item.setTitle(getString(R.string.favor));Toast.makeText(this,R.string.favor_succeed,Toast.LENGTH_SHORT).show();}isFavorite=!isFavorite;}}returntrue;

importandroid.content.Intent;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Toast;

publicclassLoginActivityextendsAppCompatActivity{

importandroid.content.Intent;importandroid.support.v4.app.Fragment;importandroid.support.v4.app.FragmentManager;importandroid.support.v4.app.FragmentTransaction;importandroid.support.v7.app.ActionBar;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.text.InputType;importandroid.text.TextUtils;importandroid.view.KeyEvent;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.View;importandroid.widget.RadioButton;importandroid.widget.RadioGroup;importandroid.widget.SearchView;importandroid.widget.Toast;

importcom.example.lm.cook.dao.CookDao;importcom.example.lm.cook.fragment.CategoryFgt;importcom.example.lm.cook.fragment.CookFgt;importcom.example.lm.cook.fragment.FavorFgt;importcom.example.lm.cook.fragment.IndexFgt;importcom.example.lm.cook.fragment.MoreFgt;importcom.example.lm.cook.fragment.SearchFgt;importcom.example.lm.cook.pojo.Category;importcom.example.lm.cook.pojo.Cook;importcom.example.lm.cook.utils.Const;

importjava.util.ArrayList;importjava.util.List;

privatevoidhideAllFgt(FragmentTransactiontransaction){for(inti=0;i<4;i++){Fragmentfragment=mFragments.get(i);if(fragment!=null&&fragment.isVisible()){transaction.hide(fragment);}}if(mCookFgt!=null){transaction.detach(mCookFgt);}if(mSearchFgt!=null&&mSearchFgt.isVisible()){transaction.hide(mSearchFgt);}}

@OverridepublicbooleanonCreateOptionsMenu(Menumenu){getMenuInflater().inflate(R.menu.menu_search,menu);MenuItemitem=menu.findItem(R.id.menu_item_search);mSearchView=(SearchView)item.getActionView();if(mSearchView!=null){mSearchView.setInputType(InputType.TYPE_CLASS_TEXT);mSearchView.setSubmitButtonEnabled(false);mSearchView.setQueryHint(getString(R.string.search_hint));mSearchView.setOnQueryTextListener(this);mSearchView.setOnSearchClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){mRadioGroup.setVisibility(View.GONE);mActionBar.setDisplayHomeAsUpEnabled(true);mCookDao=newCookDao(MainActivity.this);FragmentTransactiontransaction=mFragmentManager.beginTransaction();hideAllFgt(transaction);if(mSearchFgt==null){mSearchFgt=newSearchFgt();transaction.add(R.id.main_content,mSearchFgt);}else{transaction.show(mSearchFgt);}transaction.commit();}});}returntrue;}

@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){if(item.getItemId()==android.R.id.home){FragmentTransactiontransaction=mFragmentManager.beginTransaction();if(mSearchFgt!=null&&mSearchFgt.isVisible()){hideSearchView(transaction);}elseif(mCookFgt!=null&&mCookFgt.isVisible()){hideCookFgt(transaction);}setTitle(mTitle);mActionBar.setDisplayHomeAsUpEnabled(false);transaction.commit();returntrue;}returnsuper.onOptionsItemSelected(item);}

privatevoidhideCookFgt(FragmentTransactiontransaction){mSearchView.setVisibility(View.VISIBLE);transaction.detach(mCookFgt);transaction.show(mCategoryFgt);}

privatevoidhideSearchView(FragmentTransactiontransaction){mRadioGroup.setVisibility(View.VISIBLE);mSearchView.clearFocus();mSearchView.setQuery(null,false);mSearchView.setIconified(true);transaction.hide(mSearchFgt);transaction.show(mFragments.get(mCurIndex));}

@OverridepublicvoidgetCategory(Categorycategory){mSearchView.setVisibility(View.INVISIBLE);setTitle(category.getTitle());mActionBar.setDisplayHomeAsUpEnabled(true);FragmentTransactiontransaction=mFragmentManager.beginTransaction();hideAllFgt(transaction);if(mCookFgt!=null){mCookFgt.refresh(category);transaction.attach(mCookFgt);}else{mCookFgt=CookFgt.newInstance(category);transaction.add(R.id.main_content,mCookFgt);}transaction.setCustomAnimations(android.R.anim.fade_in,android.R.anim.fade_out);transaction.commit();}

@OverridepublicbooleanonQueryTextSubmit(Stringquery){returnfalse;}

@OverridepublicbooleanonQueryTextChange(StringnewText){ListcookList=null;if(!TextUtils.isEmpty(newText)){cookList=mCookDao.findCooks(newText);}mSearchFgt.refresh(cookList);returntrue;}

@OverridepublicvoidgetCook(intcookId){Intentintent=newIntent(this,DetailActivity.class);intent.putExtra(Const.COOK_KEY,cookId);startActivity(intent);}

@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){if(keyCode==KeyEvent.KEYCODE_BACK&&event.getAction()==KeyEvent.ACTION_DOWN){FragmentTransactiontransaction=mFragmentManager.beginTransaction();if(mSearchFgt!=null&&mSearchFgt.isVisible()){hideSearchView(transaction);setTitle(mTitle);mActionBar.setDisplayHomeAsUpEnabled(false);}elseif(mCookFgt!=null&&mCookFgt.isVisible()){hideCookFgt(transaction);mActionBar.setDisplayHomeAsUpEnabled(false);}elseif((System.currentTimeMillis()-exitTime)>2000){Toast.makeText(getApplicationContext(),R.string.exit_hint,Toast.LENGTH_SHORT).show();exitTime=System.currentTimeMillis();}else{finish();}transaction.commit();returntrue;}returnsuper.onKeyDown(keyCode,event);}}

importandroid.content.Intent;importandroid.content.SharedPreferences;importandroid.os.AsyncTask;importandroid.preference.PreferenceManager;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;

importcom.example.lm.cook.utils.Const;importcom.example.lm.cook.utils.FileUtils;

importjava.io.File;importjava.util.Timer;importjava.util.TimerTask;

publicclassSplashActivityextendsAppCompatActivity{//闪屏界面@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_splash);//SharedPreferences存储SharedPreferencessharedPreferences=PreferenceManager.getDefaultSharedPreferences(this);booleanexist=sharedPreferences.getBoolean(Const.SP_KEY,false);if(!exist){SharedPreferences.Editoreditor=sharedPreferences.edit();editor.putBoolean(Const.SP_KEY,true);editor.apply();newFileTask().execute();}else{TimerTasktask=newTimerTask(){@Overridepublicvoidrun(){startMain();}};Timertimer=newTimer();timer.schedule(task,Const.DELAY_TIME);}

privatevoidstartMain(){Intentintent=newIntent(SplashActivity.this,MainActivity.class);startActivity(intent);finish();overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);}

privateclassFileTaskextendsAsyncTask{

@OverrideprotectedVoiddoInBackground(Void...params){init();returnnull;}

@OverrideprotectedvoidonPostExecute(VoidaVoid){super.onPostExecute(aVoid);startMain();}}}

类说明

LoginActivity类:

DetailActivity类:

有“添加收藏”,“删除收藏”,“收藏”三个按钮事件

点击收藏按钮可以在数据库表中查询添加收藏的数据,点击删除收藏按钮可以删

除表中的数据。

AddActivity类:

为“上传成功”按钮设置监听事件,实现上传成功后的页面跳转

SplashActivity类:

MainActivity类:

为“再按一次退出程序”按钮设置监听事件,点击该按钮将退出程序,跳转到退出后的界面

THE END
1.跟着《指南》来饮食!准则一:食物多样,合理搭配如何做到食物多样 1.小份量多几样 2.同类食物常变换 3.不同食物巧搭配 合理搭配 合理搭配是实现平衡膳食的关键,只有将各类食物的品种和数量合理搭配才能实现平衡膳食的目标。 但如果只关注食物多样,不进行合理搭配,膳食结构同样会有缺陷。合理搭配是指食物https://mp.weixin.qq.com/s?__biz=MzA3NDA5OTU3Mg==&mid=2651402337&idx=4&sn=175f4eebaae6d74e8c0912884bdd1d50&chksm=84f96e7ab38ee76c6f44dac1676e12e640ed811cdda97bd256de75769454aa4dad86e2121c2c&scene=27
2.10款简单易做家常菜谱30分钟搞定一桌,你也是大厨10款简单易做家常菜谱 30分钟搞定一桌,你也是大厨 麻婆豆腐 食材:豆腐、猪肉、油、生抽、白糖、郫县豆瓣酱、豆豉酱、盐、水淀粉、葱、花椒粉、姜。做法:猪肉洗净切碎,豆腐切成块用淡盐水浸泡10分钟,捞出控干水分,葱姜切碎,郫县豆瓣酱剁细。在热油锅中爆香葱姜,倒入肉末翻炒变色后,加入郫县豆瓣酱和豆豉http://baijiahao.baidu.com/s?id=1707795770822040104&wfr=spider&for=pc
3.美食创意:菜谱设计与制作大全在当今社会,美食已经成为人们生活中不可或缺的一部分。随着人们对于饮食的要求越来越高,传统的菜肴已经无法满足他们对于口味和视觉享受的需求。因此,菜谱设计与制作成为了一个备受关注的领域。本文将介绍一些创意菜谱设计和制作技巧,帮助您打造出令人惊艳的美食。 https://www.coffee.cn/xican/post/407431.html
4.平面设计中如何设计菜谱?广州晶网电脑培训平面设计中如何设计菜谱? 菜谱设计、菜谱制作和菜谱印刷是一本菜谱所必须的三个主要的方面和环节,只有经过制作,菜谱才能成形并呈现给客户,而菜谱的制作过程就是采用何种工艺、何种规格、何种方式的取舍和选择,终形成一本客户需要并认可的成品菜谱。 1、设计菜谱的常见尺寸:https://www.91goodschool.com/news/198-10221035.html
5.如何设计一份好的菜单菜谱?设计一份好的菜单菜谱是餐厅或者家庭厨房必备的技巧。一份好的菜单菜谱不仅能够吸引顾客,提升餐厅的知名度,还能够为顾客提供丰富多样的选择,让他们有一个愉快的用餐体验。本文将从多个方面详细阐述如何设计一份好的菜单菜谱。 1. 菜品分类和搭配 一个好的菜单菜谱应该有清晰的分类和合理的菜品搭配。根据菜品的特点和https://www.gaoding.com/article/1780156903099084800
6.开餐厅如何设计菜单十个技巧教你做有颜值的菜单开餐厅如何设计菜单?可以引导用餐者的注意力 字体作为菜单设计的一部分,有助于提高销量。大胆地加粗吧,并保持良好的可读性。粗体字可以作为你艺术创作的主要元素。把标志设计融合到菜单设计中,或者选择比较好的字体运用到菜单设计中。请记住,因为用餐者会通过阅读文字来选择菜品,所以排版时要将字体选择考虑在内。 http://www.bjcpdy.com/nd.jsp?id=72
7.寿司店菜谱排版设计,如何为日本料理餐厅设计制作菜单说到日本料理,或许国人较先想到的便是寿司、生鱼片、特色面这些,而寿司店菜谱排版设计也要兼具一些日本视觉风味才行,百铂文化在之前《韩国料理菜单设计》中,也有提到地域风情对特色餐厅设计制作菜单的影响。 上图:寿司菜谱设计 作为与中国有着数不清恩怨的“菊与刀”邻国-日本,说到景色,或许樱花是较耀眼的代表,在菜https://m.baibo8.com/caipucaidan/1200.html
8.如何一个人准备一桌家宴/年夜饭设计菜单盘点工序设计流程要做到这几点并不容易,本文以给9个人做菜为例(菜谱:烤羊排、蚝油生菜、避风塘虾、鱼香豆腐、辣子鸡、京酱肉丝,每份量都比较大),分三部分说明:设计菜谱要结合客人口味、盘点工序、设计流程。 拍照时候,羊排只剩骨头了。 一、设计菜谱要结合客人口味 如果是饭店点菜,荤素搭配、咸淡搭配、考虑地域、再考虑大家年龄,就https://www.douban.com/group/topic/301397983/
9.如何设计精美绝伦的婚宴菜单接亲网一般要怎么样设计婚宴的菜谱呢?一起来随小编了解一下吧! 一、如何设计精美绝伦的婚宴菜单 1、婚宴菜单因人而配 上等婚宴的标准便是根据宾客喜好而特别定制菜品,作为普通百姓婚礼,不可能做到如此精细地步,但也要尽量根据宾客的口味、风俗、习惯等配置菜品,例如,在主桌中就坐宾客大多为老人,需要避免高糖(糖尿病)、https://www.jieqinwang.com/baike/90894
10.定制菜谱餐牌制作皮面装菜谱设计菜谱一:关于如何订货 ①旺旺在线洽谈 ②一般是来样或来图加工,需设计可协商二:一切按客户要求订做我们严格按照每一位客户的规格,设计,数量及质量要求来生产。三:关于价格本厂所有商品均为参考价,如需定购请与旺旺商议 ,一律。四:关于发货根据各地方情况双方协商,可发快递或物流。 本产品的产品类别是菜谱,材质是仿皮https://m.11467.com/product/d3408631.htm
11.不可不知的菜谱设计技巧(附完整版高清菜谱)菜谱设计是继空间感后带给顾客的第二眼感觉,一份出色的菜谱,能让客人可以一目了然地知道餐点的种类和拟定价,最好还能从菜谱中清楚的知道这家店的特色产品,销售排行榜或是正在促销的餐点。这是店家和消费者的沟通桥梁,其重要性可见一斑。 关于菜谱的设计,有两种思考方向,可提供给经营者参考。 http://www.360doc.com/content/14/0630/11/15082447_390929062.shtml
12.菜谱APP体验创新选题围绕人们日常生活中做饭的问题,也针对像菜谱大全,豆果美食,下厨房等菜谱app,展开的用户体验分析和交互设计创新。该选题也可以用,“我是掌厨”、“厨师菜单”等名字。该选题的目标用户为以本人为核心的一群人。 一、选题介绍和基本分析 从菜谱大全,豆果美食,下厨房美食模块来看,这些app是教人们如何做自己想吃的美https://www.jianshu.com/p/69b03a6f41db
13.劳技课设计食谱教案及反思总结.docx以下是一份针对初中生的食谱设计教案及反思总结。一、教学目标1.知识与技能:学生将了解食谱的基本构成要素,掌握至少两种菜肴的制作方法。2.过程与方法:通过小组合作,学生将学会如何搜集食材信息、设计菜谱流程以及烹饪技巧。3.情感态度与价值观:学生将体验到团队合作的重要性,增强自信心和生活技能。二、教学重难点1.https://www.renrendoc.com/paper/325115224.html
14.酒店后厨管理规章制度10篇(全文)菜谱设计的好坏,直接影响客人对餐厅的印象,在设计制定时以大众可以接受的菜系为主,根据夏冬季节不同,更换不同菜谱,满足客人不同的需求,同时每月要推出几道新菜。具体如下: A凉菜 凉菜的好坏,通常决定一桌宴席成败,所以凉菜给客人的第一印象非常重要,因此在凉菜上重点突出一下几点: https://www.99xueshu.com/w/filep0ernzii.html
15.图易点美食图片交易网站,专业菜设计制作印刷菜谱,美食图片菜肴图易点是一个菜品图搜索网站,为厨师餐厅提供各地的美食菜肴图片,可供厨师学习菜品,餐厅酒楼经营提供菜式选择,为美团外卖、饿了么外卖提供菜品,图片素材下载服务。同时提供菜谱的设计制作,菜肴拍摄,http://tujiandan.com/
16.一周菜谱(通用14篇)篇7:菜谱设计创业项目 本创业项目是综合运用IT技术、网络技术、云存储和数字印刷技术,辅之以快捷的物流配送系统,为餐饮行业提供相关的电子商务印务平台。目前其主要业务为印制菜谱,最低零成本创业,但需要一定的设计知识及相关能力。 项目特点 1.功能强大,制作简单,只需一个初中文化的人就能操作,而传统印制菜谱必须要https://www.360wenmi.com/f/filen56txubo.html
17.快餐盒饭快餐盒饭菜谱共同点设计一个好的盒饭菜谱需注意哪些摘要:快餐盒饭菜谱共同点是什么?设计一个好的盒饭菜谱需注意哪些?快餐盒饭已经是现代人必不可少的必需品了。城市的发展速度很快,人们的生活节奏也跟着加快,大部分人中午的就餐问题就可能靠外卖来解决了。餐厅应适时瞄准这个盈利节点,抓住机会,通过外卖来提高销售额。其实,快餐也是大有学问的,定价,菜品的搭配,运输的方https://m.maigoo.com/goomai/165029.html
18.菜谱设计图片菜谱设计素材菜谱设计模板免费下载六图网为您提供2247035张菜谱设计设计作品免费下载服务,您还可以找到菜谱设计图片、菜谱设计素材、菜谱设计模板等设计素材,我们为您提供菜谱设计图片下载,菜谱设计模板下载、菜谱设计素材下载等服务!https://m.16pic.com/sucai/11081.html?from=singlemessage
19.跨学科主题学习实践与探索—以“校园菜谱我做主”为例本节课为《营养菜谱我做主》单元的第二课时内容。课前回顾上节课内容让学生再次明确单元问题。任务一通过让学生自主观看在Excel中数据“排序”微课,学习如何使用排序操作整理上节课用问卷手机的数据,调查学生们最喜欢吃的菜品,感受数据的价值,并且根据数据处理结果小组合作设计菜谱初稿。接着引入菜单中需考虑的营养成分https://tpd.xhedu.sh.cn/cms/app/info/doc/index.php/92749