用伪代码表示第4题中各题的算法
-
有两个瓶子A和B,分别盛放醋和酱油,要求将他们互换(即A瓶原来盛醋,现在盛酱油,B瓶则相反)。
begin 醋 => A 酱油 => B A => C B => A C => B end
-
依次将10个数输入,要求输出其中最大的数。
begin 1 => i 0 => max while i < 10 { 输入一个整数data if data > max { data => max } } print max end
-
有3个数a,b,c, 要求按大小顺序把他们输出。
begin input a input b input c if a > b { a => t b => a t => b } if c > a { c => t a => c t => a } if c > b { c => t b => c t => b } print a print b print c end
-
求1 + 2 + 3 + ... + 100。
begin 1 => i 0 => sum while i <= 100 { sum + i => sum i + 1 => i } print sum end
-
判断一个数n能否同时被3和5整除。
begin input n if n % 3 == 0 { if n % 5 == 0 { print n能被3和5整除 } else { print n不能被3和5整除 } } else { print n不能被3和5整除 } end
-
求两个数m和n的最大公约数
begin input m input n if m > n { m => t n => m t => n } while n != 0 { m % n => r m => n r => n } print m end
-
求方程$ax^2 + bx + c = 0$的根。分别考虑:
- 有两个不相等的实根;
- 有两个相等的实根;
begin input a input b input c b*b - 4*a*c => p if p < 0 { print 方程没有实根 } if p == 0 { print 方程有一个实根 -b/2a } if p > 0 { print 方程有两个实根: print x1 = {-b + sqrt(b^2 - 4ac)}/2a print x1 = {-b - sqrt(b^2 - 4ac)}/2a } end