vb程序设计题求解!!!谢谢各位了!!
题目1.一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少m?最后一次反弹高度多少?2.有一根长度为321m的钢材料,要...
题目
1.一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少m?最后一次反弹高度多少?
2.有一根长度为321m的钢材料,要将它截取成两种规格的短料,规格a,b的长度分别为17m和27m,问分隔成a,b多少段后,剩余材料r最少?
3.小猴在一天摘了若干个桃子,当天吃掉一半多一个;第二天接着吃了剩下的一半多一个,以后每天都吃剩下桃子中的一半零一个,到第七天在上要吃时只剩下一个,问小猴那天共摘下了多少个桃子?
PS:由于我是新学的VB很多东西不熟也不明白,还处于“物理”阶段,所以问的都很简单,各位大虾不要见笑哈.....希望答案能给详细一点,能写明理由的是更好的了,如果有哪位大虾愿意长期帮助我的话更是感激不尽.....
再次感谢各位的帮助,谢谢!!
鞠躬
小菜鸟留 展开
1.一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少m?最后一次反弹高度多少?
2.有一根长度为321m的钢材料,要将它截取成两种规格的短料,规格a,b的长度分别为17m和27m,问分隔成a,b多少段后,剩余材料r最少?
3.小猴在一天摘了若干个桃子,当天吃掉一半多一个;第二天接着吃了剩下的一半多一个,以后每天都吃剩下桃子中的一半零一个,到第七天在上要吃时只剩下一个,问小猴那天共摘下了多少个桃子?
PS:由于我是新学的VB很多东西不熟也不明白,还处于“物理”阶段,所以问的都很简单,各位大虾不要见笑哈.....希望答案能给详细一点,能写明理由的是更好的了,如果有哪位大虾愿意长期帮助我的话更是感激不尽.....
再次感谢各位的帮助,谢谢!!
鞠躬
小菜鸟留 展开
3个回答
展开全部
Option Explicit
Private Sub Command1_Click()
Dim h0 As Integer, s As Single, a(1 To 20) As Single, i As Integer
a(1) = 100 '第一个扔下的高度
For i = 2 To 20 '每一个数组内数据表示小球行走的一个方向的路程,也就是奇数项是从最高点落下的路程,偶数项是从地面反弹到最高点的路程
a(i) = a(i - 1) / 2
Next i
For i = 1 To 19 '第10次落地的总路程
s = s + a(i)
Next
Print "第10次落地的总路程:" & s
Print "最后一次弹起的高度:" & a(20) '我这里是把第10次落地以后弹起的高度当做最后一次谈起的高度
End Sub
Private Sub Command2_Click()
Dim n_a() As Integer, n_b() As Integer, n_left() As Integer
Dim i As Integer, j As Integer, k As Integer, min As Integer
'简单的方法一时想不出来,我就一个个试出来。虽然效率不是很高,不过还好数字不是很大.
For i = 0 To 321 \ 17
For j = 0 To 321 \ 27
If i * 17 + j * 27 <= 321 Then
k = k + 1
ReDim Preserve n_left(k)
ReDim Preserve n_a(k)
ReDim Preserve n_b(k)
n_a(k) = i
n_b(k) = j
n_left(k) = 321 - i * 17 - j * 27
End If
Next
Next
min = n_left(1) '求剩下最小的距离
j = 1 '保存剩下最小距离的那组组合的序号
For i = 2 To k '我这里只求了一组解,也许有不同的组合而剩下距离相同的情况 我就没有再列出来的··
If min > n_left(i) Then
j = i
min = n_left(i)
End If
Next
Print "最小剩余组合:17m X" & n_a(j) & "根,27m X" & n_b(j) & "根,剩余最小长度为" & n_left(j); "m"
End Sub
第三题我回答过了··你看下面的网址的第一题···
Private Sub Command1_Click()
Dim h0 As Integer, s As Single, a(1 To 20) As Single, i As Integer
a(1) = 100 '第一个扔下的高度
For i = 2 To 20 '每一个数组内数据表示小球行走的一个方向的路程,也就是奇数项是从最高点落下的路程,偶数项是从地面反弹到最高点的路程
a(i) = a(i - 1) / 2
Next i
For i = 1 To 19 '第10次落地的总路程
s = s + a(i)
Next
Print "第10次落地的总路程:" & s
Print "最后一次弹起的高度:" & a(20) '我这里是把第10次落地以后弹起的高度当做最后一次谈起的高度
End Sub
Private Sub Command2_Click()
Dim n_a() As Integer, n_b() As Integer, n_left() As Integer
Dim i As Integer, j As Integer, k As Integer, min As Integer
'简单的方法一时想不出来,我就一个个试出来。虽然效率不是很高,不过还好数字不是很大.
For i = 0 To 321 \ 17
For j = 0 To 321 \ 27
If i * 17 + j * 27 <= 321 Then
k = k + 1
ReDim Preserve n_left(k)
ReDim Preserve n_a(k)
ReDim Preserve n_b(k)
n_a(k) = i
n_b(k) = j
n_left(k) = 321 - i * 17 - j * 27
End If
Next
Next
min = n_left(1) '求剩下最小的距离
j = 1 '保存剩下最小距离的那组组合的序号
For i = 2 To k '我这里只求了一组解,也许有不同的组合而剩下距离相同的情况 我就没有再列出来的··
If min > n_left(i) Then
j = i
min = n_left(i)
End If
Next
Print "最小剩余组合:17m X" & n_a(j) & "根,27m X" & n_b(j) & "根,剩余最小长度为" & n_left(j); "m"
End Sub
第三题我回答过了··你看下面的网址的第一题···
参考资料: http://zhidao.baidu.com/question/138768061.html
展开全部
VB啊..
题目太麻烦。恕我很懒。。
根据我自己的学习经验,VB编程(或者是说所有的编程)有几个阶段
1,打字阶段。按照书本输入代码,不过依然很难完全输入正确。。
2,语法学习阶段。开始学习各种语句,if else , when ,for
3,理解代码阶段。慢慢能理解别人编写的简单函数。
4,代码编写阶段。开始编写些简单的代码,经常漏标点符号,觉得代码很难,语法很难。并且不会使用debug功能,不理解编译器提供的提示。
5,进阶阶段。简单代码很容易就搞定了,debug会了,编译器提供的信息也理解了。觉得写语法很简单,难点在算法。
7,窗口编写阶段。开始研究比较高级的窗口交互,信息输入的问题。
到最后的阶段,你就成为一个合格的入门程序员了。
我不知道你在哪个阶段了,慢慢来吧,一口吃不成个大胖子。
题目太麻烦。恕我很懒。。
根据我自己的学习经验,VB编程(或者是说所有的编程)有几个阶段
1,打字阶段。按照书本输入代码,不过依然很难完全输入正确。。
2,语法学习阶段。开始学习各种语句,if else , when ,for
3,理解代码阶段。慢慢能理解别人编写的简单函数。
4,代码编写阶段。开始编写些简单的代码,经常漏标点符号,觉得代码很难,语法很难。并且不会使用debug功能,不理解编译器提供的提示。
5,进阶阶段。简单代码很容易就搞定了,debug会了,编译器提供的信息也理解了。觉得写语法很简单,难点在算法。
7,窗口编写阶段。开始研究比较高级的窗口交互,信息输入的问题。
到最后的阶段,你就成为一个合格的入门程序员了。
我不知道你在哪个阶段了,慢慢来吧,一口吃不成个大胖子。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题:
Private Sub Command2_Click()
n = 100
For i = 1 To 10
Sum = Sum + n
n = n / 2
Next i
Print "第十次落地共经过:" & Sum & "米"
Print "第十次反弹高度是:" & n & "米"
End Sub
第二题:我想到了在给你说
第三题:
Private Sub Command3_Click()
n = 1
For i = 7 To 1 Step -1
Sum = Sum + n
n = (n + 1) * 2
Next i
Print "小猴那天共摘下" & Sum & "个桃子"
End Sub
Private Sub Command2_Click()
n = 100
For i = 1 To 10
Sum = Sum + n
n = n / 2
Next i
Print "第十次落地共经过:" & Sum & "米"
Print "第十次反弹高度是:" & n & "米"
End Sub
第二题:我想到了在给你说
第三题:
Private Sub Command3_Click()
n = 1
For i = 7 To 1 Step -1
Sum = Sum + n
n = (n + 1) * 2
Next i
Print "小猴那天共摘下" & Sum & "个桃子"
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询