问题 计算题

已知地球半径为R、一个静止在赤道上空的热气球(不计气球离地高度)绕地心运动的角速度为ω0、一颗人造地球卫星的圆形轨道距地面高度为h。地球质量、热气球质量和人造地球卫星的质量分别用M、m和m1表示,M、m、m1及引力常量G为未知量。根据上述条件,有位同学列出了以下两个式子:

对热气球有:

对人造地球卫星有:

该同学利用上面两个式子解出了人造地球卫星绕地球运行的角速度ω。你认为这个同学的解法是否正确?若认为正确,请算出结果。若认为不正确,请说明理由,并补充一个条件后,再求出ω(要求分三次补充不同的一个条件求解)

答案

解:第一个等式不正确,因为热气球静止在空中是因为浮力与重力平衡,它受到地球的引力并不等于它绕地心运动的向心力

(1)若补充地球表面的重力加速度g,可以认为热气球受到的万有引力近似等于其重力,则有

与题中第二个等式联立可得

(2)若利用同步卫星的高度H有:

与题中第二个等式联立可得

(3)若利用第一宇宙速度V1,有

与题中第二个等式联立可得

填空题
问答题


阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
在一图像处理系统中,开发者定义了一个图像结构ImageCon,其中定义了图像应该具有的属性。当图像件的内容或状态发生变化时,与之相关联的ImageView结构的值都需要发生改变。一个ImageCon结构能够关联一组ImageView结构。当ImageCon结构的内容或状态发生变化时,所有与之相关联的ImageView结构都将被更新,这种应用被称为观察者模式。以下代码采用C语言实现,能够正确编译通过。
【C代码】
#include <stdio.h>
#define OBS_MAXNUM 20/*一个ImageCon变量最多能够关联的ImageView变量的个数*/
typedef void (1) (struc ImageCon *,struct ImageView *);
struct ImageView{
func update; /*ImageView结构采用的更新函数*/
/*其他的结构字段省略*/
};
struct ImageCon{
(2) myObs[OBS_MAXNUM];
/*存储所有与ImageCon相关联的ImageView结构指针*/
intindex; /*与ImageCon结构变量相关联的ImageView结构变量的个数*/
};
void attach(struct ImageCon *IMG,struct ImageView *ob){
/*关联Obersver结构ob与ImageCon结构IMG*/
int loop=0;
if(IMG→index>=OBS_MAXNUM||ob==NULL)return;
for(loop=0;loop<IMG→index;loop++)
if(IMG→myObs [loop]= =ob)return;
IMG→myObs[IMG→index]=ob;
IMG→index++;
}
void detach(struct ImageCon *IMG,struct ImageView *ob){
/*解除IMG结构与ob结构间的关系*/
int loop;
if(ob= =NULL)return;
for(loop=0;loop<IMG→index;loop++){
if(IMG→myObs[loop]= =ob){
if(loop<=IMG→index-2)
IMG→myObs[loop]=IMG→myObs[ (3) ];
IMG→myObs[IMG→index-1]=NULL;
IMG→index- -;
breack;
}
}
}
void updatel(struct ImageCon *IMG,struct ImageView *ob){
/*更新ob结构的值,更新代码省略*/
}
void update2(struct ImageCon *IMG,struct ImageView *ob){
/*更新ob结构的值,更新代码省略*/
}
void notifyObs(struct ImageCon *IMG){
/*当IMG结构的值发生变化时,通知与之关联的所有ImageView结构变量*/
int loop;
for(loop=0;loop<IMG→index;loop++){
(IMG→myObs[loop])→update (4)
}
}
void main(){
struct ImageCon IMG;/*定义一ImageCon变量*/
struct ImageView explorer1,explorer2;/*定义两个ImageView变量*/
/*初始化与ImageCon变量相关的ImageView变量个数为0*/
IMG.index=0;
explorer1.update=updatel;/*设置explorerl变量的更新函数*/
explorer2.update=update2;/*设置explorer2变量的更新函数*/
attach(&IMG,&explorer1);/*关联explorer1与IMG对象*/
attach(&IMG,&explorer1);/*关联explorer1与IMG对象*/
/*其他代码省略*/
(5)
return;
}