队伍,6七个人的队伍起名,能进一个房间吗

&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
自定义一个 6 人的房间布局
摘要:最近项目有新需求,要求一个房间内有最多六个人同时在线,房间人数从0到6个变化有不同的动画效果,而且自己的视图永远在右上角,效果如下图room刚以看到这个需求动画的时候,觉得很麻烦,没法做呀,当时在想,这个需要知道不同人数所对应的坐标点,在join的时候,动态计算一下将要加入的view的坐标当时也确实是这么做的,在join的代码写的差不多了,开始写leave相关的代码,发现leave很麻烦,因为不确定是哪一个位置的view要离开,所以目标状态也不确定于是决定换个思路重新写,之前
最近项目有新需求,要求一个房间内有最多六个人同时在线,房间人数从 0 到 6 个变化有不同的动画效果,而且自己的视图永远在右上角,效果如下图
刚以看到这个需求动画的时候,觉得很麻烦,没法做呀,当时在想,这个需要知道不同人数所对应的坐标点,在 join 的时候,动态计算一下将要加入的 view 的坐标当时也确实是这么做的,在 join 的代码写的差不多了,开始写 leave 相关的代码,发现 leave 很麻烦,因为不确定是哪一个位置的 view 要离开,所以目标状态也不确定于是决定换个思路重新写,之前的方案行不通是因为一切都是动态计算的,在 leave 的时候,要离开的 view 不确定,导致目标状态也不确定,所以导致 leave 的代码没法写,最后想到一个比较好的方案就是在 RoomLayout 初始化完成后,就确定下来一个布局模型集合,集合里固定了 0 - 6 个 view 所对应的所有坐标,这样在 join 和 leave 的时候,只需要从当前的 view 位置向一个确定的位置变化即可多说无益,开始撸代码,按照自定义 Layout 的步骤开始写
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
measureChildren(widthMeasureSpec, heightMeasureSpec);
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
在测量阶段,不需要做什么特殊处理,只需要测量一下子 View 即可
protected void onLayout(boolean changed, int l, int t, int r, int b) {
halfW = getWidth() / 2;
halfH = getHeight() / 2;
thirdH = getHeight() / 3;
mCompare.set(l, t, r, b);
// 如果本次的 layout 与上一次存储的不一样,那么就重新确定坐标
if (mBounds.isEmpty() || !mBounds.equals(mCompare)) {
mBounds.set(l, t, r, b);
prepareLayoutModels();
// 根据当前个数选定 布局模型 并对 INFLATE 布局
selectLayoutModel();
在布局这里要确定下来不同 view 个数对应的每个 view 的位置
* 布局模型,用来存储不同子 view 的个数对应的坐标点
private static class LayoutModel {
List&Rect& bounds = new LinkedList&&();
* 准备 布局模型
private void prepareLayoutModels() {
// 反向布局,最后一个 view 永远是自己
LayoutModel model1 = new LayoutModel();
model1.bounds.add(new Rect(0, 0, getWidth(), getHeight()));
LayoutModel model2 = new LayoutModel();
model2.bounds.add(new Rect(0, 0, getWidth(), getHeight())); // 0
int left = getWidth() / 16 * 9;
int bottom = (getWidth() - left) / 3 * 4;
model2.bounds.add(new Rect(left, 0, getWidth(), bottom)); // 1 mine
// ... 中间还有一些其他 view 个数的初始化
LayoutModel model6 = new LayoutModel();
model6.bounds.add(new Rect(halfW, thirdH * 2, getWidth(), getHeight())); // 0
model6.bounds.add(new Rect(0, thirdH * 2, halfW, getHeight())); // 1
model6.bounds.add(new Rect(halfW, thirdH, getWidth(), thirdH * 2)); // 2
model6.bounds.add(new Rect(0, thirdH, halfW, thirdH * 2)); // 3
model6.bounds.add(new Rect(0, 0, halfW, thirdH)); // 4
model6.bounds.add(new Rect(halfW, 0, getWidth(), thirdH)); // 5 mine
// 把每个模型存储在 map 中
mLayoutmodels.put(0, model1);
mLayoutmodels.put(1, model2);
mLayoutmodels.put(2, model3);
mLayoutmodels.put(3, model4);
mLayoutmodels.put(4, model5);
mLayoutmodels.put(5, model6);
这里规定最后一个 view 是自己的 view,因为在房间内只有两个人的时候,也就是自己和另一个人,自己的 view 在右上角,第二个人的 view 铺满父布局,所以如果不反过来,就是导致自己的 view 被铺满的 view 盖住初始化完布局模型后,开始布局
// 选定 布局模型
private void selectLayoutModel() {
int N = getChildCount();
if (N == 0 || N & mLayoutmodels.size()) {
LayoutModel layoutModel = mLayoutmodels.get(N - 1);
for (int i = 0; i & N; ++i) {
View child = getChildAt(i);
// layoutModel 里面存储的是最终要展示的 view 坐标
Rect end = layoutModel.bounds.get(i);
ViewPropertyHolder holder = getHolder(child);
holder.end.set(end);
// 对 INFLATE 状态的 view 布局,然后设置为 NORMAL 状态
if (holder.state == ViewPropertyHolder.INFLATE) {
holder.state = ViewPropertyHolder.NORMAL;
holder.start.set(end);
child.layout(end.left, end.top, end.right, end.bottom);
} else if (holder.state == ViewPropertyHolder.ADD) {
// 对于 add 进来的 view 它会从不同的地方进来,所以要先布局在预定位置
Rect start = holder.
child.layout(start.left, start.top, start.right, start.bottom);
* 获取存储在 View 中的相关属性
private ViewPropertyHolder getHolder(View child) {
// HOLDER 是一个定义在 ids.xml 中的一个 id
ViewPropertyHolder holder = (ViewPropertyHolder) child.getTag(HOLDER);
if (holder == null) {
holder = new ViewPropertyHolder();
child.setTag(HOLDER, holder);
// 存储 view 的属性的类
private static class ViewPropertyHolder {
static final int ADD = 1; // 待添加
static final int REMOVE = 2; // 待移除
static final int NORMAL = 3; // 正常状态
static final int INFLATE = 4; // 新添加并且不执行动画
int state = INFLATE;
// 开始坐标
Rect start = new Rect();
// 结束坐标
Rect end = new Rect();
对子 view 布局相关的东西就写完了,接下来是动画部分,动画我使用的是不停的 layout 子 view 来实现的
* 加入一个 view
* @param view view
* @param needAnim 是否需要动画
public void join(View view, boolean needAnim) {
ViewPropertyHolder holder = getHolder(view);
if (needAnim &;&; (mIsAnimating || mPendingAnim.size() & 0) &;&; mIsAttached) {
holder.state = ViewPropertyHolder.ADD;
mPendingAnim.add(view);
} else if (needAnim &;&; mIsAttached) {
holder.state = ViewPropertyHolder.ADD;
handleAddAndPrepareAnim(view);
holder.state = ViewPropertyHolder.INFLATE;
addView(view, 0);
* 移除 一个 view
* @param view view
public void leave(View view) {
ViewPropertyHolder holder = getHolder(view);
if (mIsAnimating || mPendingAnim.size() & 0) {
holder.state = ViewPropertyHolder.REMOVE;
mPendingAnim.add(view);
holder.state = ViewPropertyHolder.REMOVE;
handleRemoveAndPrepareAnim(view);
上面的是加入和离开的代码,需要先判断是否正在动画,如果在动画,那么把目标加入一个 list 中,以备后用
private void handleAddAndPrepareAnim(View toAdd) {
prepareViewStart(toAdd);
addView(toAdd, 0);
selectLayoutModel();
startAnimate();
private void handleRemoveAndPrepareAnim(View toRemove) {
prepareViewStart(null);
removeView(toRemove);
selectLayoutModel();
startAnimate();
* 准备当前 view 的坐标点
private void prepareViewStart(View add) {
int N = getChildCount();
for (int i = 0; i & N; ++i) {
View child = getChildAt(i);
ViewPropertyHolder holder = getHolder(child);
holder.start.set(child.getLeft(), child.getTop(), child.getRight(), child.getBottom());
if (add == null) {
// 确定 新 add 进来的 view 的位置
ViewPropertyHolder holder = getHolder(add);
switch (N) {
holder.start.set(-getWidth(), 0, 0, getHeight());
holder.start.set(0, getHeight(), getWidth(), getHeight() + halfH);
holder.start.set(getWidth(), halfH, getWidth() + halfW, getHeight());
holder.start.set(0, getHeight(), halfW, getHeight() + thirdH);
holder.start.set(halfW, getHeight(), getWidth(), getHeight() + thirdH);
接下来就开始动画了
private void startAnimate() {
ViewCompat.postOnAnimation(this, new Runnable() {
public void run() {
animatChild();
private void animatChild() {
if (!mIsAttached || mIsAnimating) {
int N = getChildCount();
// 动画集合
List&Animator& animators = new ArrayList&&();
for (int i = 0; i & N; ++i) {
View view = getChildAt(i);
ViewPropertyHolder holder = getHolder(view);
// 获取需要更新位置的属性值
PropertyValuesHolder[] childValuesHolder = getChildValuesHolder(view);
if (childValuesHolder != null) {
ViewValueAnimator animator = ViewValueAnimator.ofPropertyValuesHolder(childValuesHolder);
animator.holder =
animator.target =
animator.addUpdateListener(new AnimatorUpdateListener());
animator.addListener(new AnimatorAdapter());
animators.add(animator);
Rect bound = holder.
view.layout(bound.left, bound.top, bound.right, bound.bottom);
if (animators.size() & 0) {
mIsAnimating =
mAnimatorSet.playTogether(animators);
mAnimatorSet.setDuration(ANIM_DURATION);
mAnimatorSet.setInterpolator(mInterpolator);
if (mGlobalAnimListener == null) {
mGlobalAnimListener = new GlobalAnimUpdateListener();
mAnimatorSet.addListener(mGlobalAnimListener);
mAnimatorSet.start();
开始动画的代码,要先确定哪些 view 位置需要变化,然后生成一个 ValueAnimator , 然后把所有的 ValueAnimator 一起开始动画
private static final String LEFT = &left&;
private static final String TOP = &top&;
private static final String RIGHT = &right&;
private static final String BOTTOM = &bottom&;
private PropertyValuesHolder[] getChildValuesHolder(View child) {
ViewPropertyHolder holder = getHolder(child);
if (holder.start.equals(holder.end)) { // 位置没有变化
PropertyValuesHolder[] holders = new PropertyValuesHolder[4];
holders[0] = PropertyValuesHolder.ofInt(LEFT, holder.start.left, holder.end.left);
holders[1] = PropertyValuesHolder.ofInt(TOP, holder.start.top, holder.end.top);
holders[2] = PropertyValuesHolder.ofInt(RIGHT, holder.start.right, holder.end.right);
holders[3] = PropertyValuesHolder.ofInt(BOTTOM, holder.start.bottom, holder.end.bottom);
生成一个 PropertyValuesHolder 数组,指定两个坐标的 start 和 end 数值下面是自定义的 ValueAnimator 和一些 Listeners
private static class AnimatorAdapter extends AnimatorListenerAdapter {
public void onAnimationEnd(Animator animation) {
animation.removeAllListeners();
ViewValueAnimator anim = (ViewValueAnimator)
anim.removeAllUpdateListeners();
if (anim.holder != null) {
anim.holder.state = ViewPropertyHolder.NORMAL;
anim.holder =
anim.target =
public void onAnimationCancel(android.animation.Animator animation) {
onAnimationEnd(animation);
private class GlobalAnimUpdateListener extends AnimatorListenerAdapter {
public void onAnimationStart(Animator animation) {
mIsAnimating =
public void onAnimationEnd(Animator animation) {
animation.removeAllListeners();
mIsAnimating =
// 判断后续是否有继续开始动画的 view
if (mPendingAnim.size() & 0) {
View view = mPendingAnim.remove(0);
ViewPropertyHolder holder = getHolder(view);
if (holder.state == ViewPropertyHolder.ADD) {
handleAddAndPrepareAnim(view);
} else if (holder.state == ViewPropertyHolder.REMOVE) {
handleRemoveAndPrepareAnim(view);
public void onAnimationCancel(Animator animation) {
onAnimationEnd(animation);
private static class AnimatorUpdateListener implements ValueAnimator.AnimatorUpdateListener {
public void onAnimationUpdate(ValueAnimator animation) {
ViewValueAnimator anim = (ViewValueAnimator)
int l = (int) anim.getAnimatedValue(LEFT);
int t = (int) anim.getAnimatedValue(TOP);
int r = (int) anim.getAnimatedValue(RIGHT);
int b = (int) anim.getAnimatedValue(BOTTOM);
// 不停的布局子 view
anim.target.layout(l, t, r, b);
* 持有 view 和 holder 的 ValueAnimator
private static class ViewValueAnimator extends ValueAnimator {
ViewPropertyH
public static ViewValueAnimator ofPropertyValuesHolder(PropertyValuesHolder... values) {
ViewValueAnimator anim = new ViewValueAnimator();
anim.setValues(values);
还有一些重写的函数
protected void onAttachedToWindow() {
super.onAttachedToWindow();
mIsAttached =
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
mIsAttached =
protected LayoutParams generateDefaultLayoutParams() {
return new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
到这里,所有的代码基本都写完了,剩下一些变量声明什么的没有附上来最后,本人才疏学浅,实现的可能不够完美,有任何意见或建议欢迎交流学习
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
为您提供0门槛上云实践机会
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
自定义一个 6 人的房间布局相关信息,包括
的信息,所有自定义一个 6 人的房间布局相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
服务与支持
账号与支持
关注阿里云
International& 有6个人,每个人都以相同的概率被分配到4间房中的每一间中,某
本题难度:0.76&&题型:填空题
有6个人,每个人都以相同的概率被分配到4间房中的每一间中,某指定房间中恰有2人的概率为&&&&.
来源: | 【考点】古典概型及其概率计算公式.
阅读下面的选文,回答下列各题.&&&&&&&&&&&&&&&&&&&&&&&&&&&& 人生的“反比例”与“正比例”&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 仲利民& ①每个人都期望付出与收获成为“正比例”,付出越多,收获越丰厚.可是现实有时会令人失望,付出了很多汗水,却只能收获微薄的成果,成为人生的“反比例”.& ②见过一位酷爱文学的中年人,他从青年开始,对文学不离不弃,在别人纷纷抛开文学,去社会舞台上寻找更多精彩时,他还是躲在文字里,寻找那片精神的高地.他付出了时间和汗水,还有他的激情与梦想.可是文学对他是那么吝啬,只会偶尔给他一点机会,让他的名字在报刊上露一下脸,就像沙漠里遥远的绿色在风中摇曳,在旅人几乎绝望时,又激发起他前行的欲望.& ③而当一个人成功之后,人生往往呈现出另一种“反比例”,即付出并不多,收获的却是丰厚的回报.无论是舞台,还是灯光,甚至掌声与鲜花,都留给了拥有声望与地位者,他们的话语成为名言,他们的经历成为榜样,他们的习惯与动作被镜头摄下,在各种场合反复播放.& ④一些人在人生的“反比例”中迷失了自己的人生方向.要么在奋斗的路上感到身心疲惫,放弃了当初的梦想,以现实的残酷作为自己放弃目标时理所当然的理由;要么在成功的舞台上享受荣耀时,忽略了之前的种种付出,变得头重脚轻,忘记了自己的位置与真实的分量,在飘飘然中跌下台来,在无奈中慨叹一声:命运弄人.& ⑤然而,“正比例”更是时刻伴随着我们的人生.居里夫人在科学探索的过程中,付出了巨大的努力,生活条件却很艰苦,在常人看来,她的生活处于“反比例”状态.可是她一直深信:“在科学方面我们有对事业而不是对财富的兴趣”.在成功之后,她放弃了申请镭的专利,放弃了一大笔财富,但她从未放弃自己坚定的人生信念.她收获了追求事业的无限的快乐,这是她人生永恒的“正比例”.& ⑥酷爱文学的中年人在感到身心疲惫的时候,忘记了他当初追求的目标是文学创作而并非成名;成功者得意忘形后的迷失自我是因为忘记了当初的努力是源于对事业的热爱,而并非对金钱的痴迷.居里夫人正是因为她对人生信念的不懈追求,实现了人生永恒的“正比例”.& ⑦所以,看透人生的“反比例”,坚定信念,不懈追求,付出与回报就会成为“正比例”.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& (选自《杂文选刊》2011年第6期,有删改)(1)选文的中心论点是什么?(2)选文第②段运用了哪些论证方法?(3)根据选文内容填空.①选文第②段中,对于酷爱文学的中年人来说,人生的“反比例”具体是指:&&&&②选文第③段中,当一个人成功之后,人生呈现的“反比例”具体是指:&&&&③选文第⑤段中,居里夫人实现了人生永恒的“正比例”具体是指:&&&&(4)写出选文第②段中画线句的含义.可是文学对他是那么吝啬,只会偶尔给他一点机会,让他的名字在报刊上露一下脸,就像沙漠里遥远的绿色在风中摇曳,在旅人几乎绝望时,又激发起他前行的欲望.(5)请你为选文补充一个实现人生“正比例”的事实论据.
(2009o辽阳)在成长中追求成功&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 蔡恩泽& 我们的时代是崇尚成功的时代,人人都想成功,更有不少人企盼一举成名,一夜暴富.然而,获得成功的人毕竟凤毛麟角!德国著名诗人歌德曾经说过:“每个人都想成功,但没想到成长.”今天,由于社会上流行一种浮躁风气,在现实生活中,很多人都期待成功,却很少有人真正关注自己的成长.& 古人日:不积跬步,无以至千里.千里之行,始于足下.成功者总是关心自己的成长,而不是终日盘算何时成功.许多人甚至不知道成功其实是向某个目标前进的成长过程,而成长又是成功的蓄势待发的渐进积累.& 最近,新任科技部部长万钢格外引人注目,尤其是他的经历.在那个知识荒漠的年代里,他以一盏煤油灯励志,利用插队劳动的间隙,偷偷啃了一本又一本的书.结果,每天都有一点小进步,每年都有一定的成长.正是在煤油灯的陪伴下,他刻苦学习,最后进入东北林业大学道桥系,开始自己的学术生涯.而当他埋头悉心研究电动汽车的时候,根本就没有想到若干年后会以民主人士的身份主政国家科技部6万钢2000年留学回国,从普通教授做起,工程中心主任、院长、副校长、校长,一路踏踏实实走来,7年时间,他成了共和国的一位部长.如果把这个视为人生的一大成功的话,这个成功对于万刚来说,其实只是成长的一个拐点而已.& 十月怀胎,一朝分娩.一个人的成长就相当于是孕育的过程,而成功便是一个新生命的呱呱坠地.人们看到的往往是成功者的辉煌,却忽略了成功者成长过程的艰辛,其实成长比成功更重要.当年,在为“杂交水稻之父”袁隆平举行庆功的宴会上,他却突然“失踪”.人们四处寻找,最后,在实验田发现了他.面对沉甸甸的稻稳,袁隆平正坐在那里发愣呢!此时,上千次的实验,几十年的劳累,数不清的失败,都在他的生命记忆中.如今的成功,其实是过去的无数劳顿、辛酸,甚至是不解和讥讽堆砌而成.成长过程中的每一步都在向成功靠近一点,其中任何一步的放弃,都会前功尽弃,成功也因此擦肩而过.& 成功是用成长做加法.在杨澜职业生涯的前15年她一直在做加法.做了主持人,她就请求导演:是不是可以自己写台词?写了台词,再问导演:可不可以自己做一次编辑?做完编辑;又问主任:可不可以作一次制片人?做了制片人,还想:能不能同时负责几个节目?负责了几个节目后,更想能不能办个频道?就是这样,杨澜在其人生中一直做加法,最后“加”到了“阳光卫视”…& 其实,成功形于外,成长寓于内.成功只是人生的一两个节点,表现于外在,由别人去评论;而成长是个持续的过程,是内在,在内心体验存在.& 一个人可以不成功,但不能不成长.很多人一味追求成功,却忽视了成长.其实成长这个过程中你会经厦很多,感悟很多,收获很多.珍惜自己的成长过程,才会让自己变得成熟.关注成长,淡泊成功,以平常心去一步步成长,也许成功就会不期而至.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& (选自《美文大观》2009年02期有删改)(1)选文是围绕&&&&这一论题,提出并论证了本文中心论点:&&&&.(2)选文第二段引用古人的名言说明了什么道理?(3)为了证明论点,作者提出了三个分论点.作者采用了怎样的论证方法来证明这三个分论点?试做简要分析.(4)全文在充分论证的基础上得出了怎样的结论?使你明白了怎样的道理?
现代文阅读&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 带上灵魂去旅行& ①人的知识永远是不完备的.他无法知道一个地区或是一个时代,是否就是空间和时间的全部.在这个意义上讲,我们每个人都是井底之蛙,所不同的只是栖息的这口井的直径大小而已.每个人也都是可怜的夏虫,不可语冰①.于是,我们天生需要旅行.生为夏虫是我们的宿命,但不是我们的过错.在夏虫短暂的生涯中,我们可以和命运做一个商量.尽可能地把这口井掘得口径大一些,把时间和地理的尺度拉得伸展一些.就算终于不可能看到冰,夏虫也力所能及地面对无暇的水和渐渐刺骨的秋风,想象一下冰的透明清澈与痛彻心肺的寒冻.& ②旅行,首先是一场体能的马拉松,你需要提前做很多准备.依我片面的经验,旅行的要紧物件有三种.& ③第一,& a& .人们常常以为旅行最重要的前提是钱,其实,如果把一个人比作一辆车,驱动我们前行的汽油,并不是金钱,而是时间.这个道理极其简单,你的时间消耗完了,你任何事都干不成了,还奢谈什么呢?& ④第二&& b& .忧愁是旅行的致命杀手,人无远虑,乃可出行.最常见的忧愁来自这样的思维:把旅游的钱省下来可以买多少斤米多少缕菜,过多长时间丰衣足食的家常日子.可你要明白,身体的生理机能满足之后,就不必一味地再纠结于脏腑.总是由着身体自言自语地说那些饥饱的事儿,你就灭掉了自己去看世界的可能性,一辈子只能在肚子划出的半径中度过.& ⑤第三,活在身体的此时此刻.当下身体不错,就可以出发,抬腿走就是,不必终日琢磨以后心力衰竭的呕血和罹患癌症的剧痛.若我以后真是得了多少万人民币也医不好的重症,从容赴死就是了,临死前想想自己身手矫健耳聪目明时,也曾有过一番随心所欲的游历,奄奄一息时的情绪,也许是自豪.生命奔是宇宙中的一瓣微薄的睡莲,终有偃旗息鼓闭合的那一天,在这之前,我一定要抓紧时间,去看看这四野无序的大地,去会一会英辈们残留下的伟绩和废墟.& ⑥终于决定迈开脚步了,很多人有个习惯,出远门之前,先拿出纸笔,把自己要带的东西都一一列出.比如到寒带,你要带上皮手套雪地靴;到热带,你要带上防晒霜太阳镜.这些都十分必要.可有一样东西,无论你到哪里,都不可须臾离开.那就是--你可记得带上自己的灵魂?& ⑦据说古老的印第安人有个习惯,当他们的身体移动得太快的时候,会停下脚步,安营扎寨,耐心等待自己的灵魂前来追赶.灵魂似乎是个身负重担或是手脚不利落的弱者,慢吞吞地经常掉队.你走得快了,它就跟不上趟.我觉得此说最有意义的部分,是证明在旅行中,我们的身体和灵魂是不同步的,是分离分裂的.而一次绝佳的旅行,自然是身体和灵魂高度协调一致,生死相依.& ⑧好的旅行应该如同呼吸一样自然,旅行的本质是学习,而学习是人类的本能.旅行让我知道在我之前活过的那些人,他们可曾想到过什么做过什么.旅行也让我知道,在我没有降生的那些岁月,大自然盛大的恩典和严酷的惩罚.旅行中我知道了人不可以骄傲,天地何其寂寥,峰峦何其高耸,海洋何其阔大.旅行中我也知晓了死亡原不必悲伤,因为你其实并没有消失,只不过以另外的方式循环往复.& ⑨凡此种种,都不是单纯的身体移动就能够解决问题的,只能留给旅行中的灵魂来做完功课.出发时,悄声提醒,背囊里务必记得安放下你的灵魂.它轻到没有一丝分量,也不占一寸地方,但重要性远胜过GPS.饥饿时是你的面包,危机时助你涉险过关.你欢歌笑语时,它也无声扮出欢颜.你捶足顿胸时,它也滴泪悲愤…灵魂就算不能像烛火一样照耀我们的行程,起码也要同甘共苦地跟在后面,不离不弃,不能干三天停一天地磨洋工.否则,我们就是一具飘飘荡荡的躯壳在蹒跚,敲一敲,发出空洞的回音,仿佛千年前枯萎的胡杨.【注】①:语出《庄子o秋水》“夏虫不可以语於冰者,笃於时也”.笃,局限、限制.(1)文段①中作者把人比作“井底之蛙”和“夏虫”,指出了人在&&&&和&&&&两方面的局限,提出了“我们天生需要旅行”的观点.(2)读第②③④⑤自然段,在文段空白处填写上合适的内容.a.&&&&&b.&&&&(3)文段⑧中作者说“旅行中我知道了人不可以骄傲”,请概括回答作者这样说的原因.(4)请结合语境,说说你对下面加点句子的理解.总是由着身体自言自语地说那些饥饱的事儿,你就灭掉了自己去看世界的可能性,.(5)品析下面句子.生命本是宇宙中的一瓣微薄的睡莲.(6)通读全文,说说你认为“带上灵魂去旅行”是一种怎样的旅行.
有6个人,每个人都以相同的概率被分配到4间房中的每一间中,某指定房间中恰有2人的概率为&&&&.
解析与答案
(揭秘难题真相,上)
习题“有6个人,每个人都以相同的概率被分配到4间房中的每一间中,某指定房间中恰有2人的概率为.”的学库宝(http://www.xuekubao.com/)教师分析与解答如下所示:
【分析】从6个人中任意选出2个人放到某个房间中有C62种不同的方法其余的4个人任意住到剩余的3个房间内有34种方法故指定的某个房间中有2人的宿方法有 C62o34&nbsp种由此求得指定的某个房间中有2人的概率.
【解答】解:从6个人中任意选出2个人放到某个房间中有C62种不同的方法其余的4个人任意住到剩余的3个房间内有34种方法故指定的某个房间中有2人的宿方法有 C62o34&nbsp种∴指定的某个房间中有2人的概率PC26o.故答案为:254096.
【考点】古典概型及其概率计算公式.
查看答案和解析
微信扫一扫手机看答案
知识点讲解
经过分析,习题“有6个人,每个人都以相同的概率被分配到4间房中的每一间中,某”主要考察你对
等考点的理解。
因为篇幅有限,只列出部分考点,详细请访问。
古典概型及其概率计算公式
一种概率模型。在这个模型下,随机实验所有可能的结果是有限的,并且每个基本结果发生的概率是相同的。例如:掷一次硬币的实验(质地均匀的硬币),只可能出现正面或反面,由于硬币的对称性,总认为出现正面或反面的可能性是相同的;如掷一个质地均匀骰子的实验,可能出现的六个点数每个都是等可能的;又如对有限件外形相同的产品进行抽样检验,也属于这个模型。是概率论中最直观和最简单的模型;概率的许多运算规则,也首先是在这种模型下得到的。古典概型的特点:一个试验是否为古典概型,在于这个试验是否具有古典概型的两个特征——有限性和等可能性,只有同时具备这两个特点的概型才是古典概型。1、 试验的样本空间只包括有限个元素;2、 试验中每个基本事件发生的可能性相同;具有以上两个特点的试验是大量存在的,这种试验叫等可能概型,也叫古典概型。求古典概型的概率的基本步骤:(1)算出所有基本事件的个数n;(2)求出事件A包含的所有基本事件数m;(3)古典概型公式:代入公式P(A)=m/n,求出P(A)。
名师视频同步辅导
1&&&&2&&&&3&&&&4&&&&5&&&&6&&&&7&&&&8&&&&9&&&&10&&&&11&&&&12&&&&13&&&&14&&&&15&&&&
作业互助QQ群:(小学)、(初中)、(高中)}

我要回帖

更多关于 八个人的队伍搞笑名字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信