用偽代碼表示第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