1. 请分别使用程序流程图、PAD图和(N-S图描述下列程序的算法: 描 (1)求整数1~n的累加和sum,其中n的值由键盘输入。 2)求整型数组K[50]中的最大者和次大者。 (3)求s=1-1/2!+1/3!-1/41+...1/n!.其中 n的值由键盘输入。
时间: 2023-06-16 22:04:34 浏览: 125
用流程图描述算法
程序流程图:
(1)
```
开始
输入n的值
sum = 0
for i = 1 to n do
sum = sum + i
end for
输出sum
结束
```
(2)
```
开始
输入数组K[50]
max = K[0]
sec_max = K[0]
for i = 1 to 49 do
if K[i] > max then
sec_max = max
max = K[i]
else if K[i] > sec_max then
sec_max = K[i]
end if
end for
输出max和sec_max
结束
```
(3)
```
开始
输入n的值
s = 1
factorial = 1
for i = 2 to n do
factorial = factorial * i
if i mod 2 = 0 then
s = s - 1 / factorial
else
s = s + 1 / factorial
end if
end for
输出s
结束
```
PAD图:
(1)
```
┌─开始─┐
│ │
│ 输入n的值 │
│ │
├─sum = 0─┤
│ │
│ for i = 1 to n do │
│ │
│ sum = sum + i │
│ │
│ end for │
│ │
├─输出sum─┤
│ │
└─结束──┘
```
(2)
```
┌─开始─┐
│ │
│ 输入数组K[50] │
│ │
├─max = K[0]─┤
│ │
├─sec_max = K[0]─┤
│ │
│ for i = 1 to 49 do │
│ │
│ if K[i] > max then │
│ │
│ sec_max = max │
│ │
│ max = K[i] │
│ │
│ else if K[i] > sec_max then │
│ │
│ sec_max = K[i] │
│ │
│ end if │
│ │
│ end for │
│ │
├─输出max和sec_max─┤
│ │
└─结束──┘
```
(3)
```
┌─开始─┐
│ │
│ 输入n的值 │
│ │
├─s = 1─┤
│ │
├─factorial = 1─┤
│ │
│ for i = 2 to n do │
│ │
│ factorial = factorial * i │
│ │
│ if i mod 2 = 0 then │
│ │
│ s = s - 1 / factorial │
│ │
│ else │
│ │
│ s = s + 1 / factorial │
│ │
│ end if │
│ │
│ end for │
│ │
├─输出s─┤
│ │
└─结束──┘
```
N-S图:
(1)
```
开始
|
↓
输入n的值
|
↓
sum = 0
|
↓
for i = 1 to n do
|
↓
sum = sum + i
|
↓
end for
|
↓
输出sum
|
↓
结束
```
(2)
```
开始
|
↓
输入数组K[50]
|
↓
max = K[0]
|
↓
sec_max = K[0]
|
↓
for i = 1 to 49 do
|
↓
if K[i] > max then
|
↓
sec_max = max
|
↓
max = K[i]
else if K[i] > sec_max then
|
↓
sec_max = K[i]
end if
|
↓
end for
|
↓
输出max和sec_max
|
↓
结束
```
(3)
```
开始
|
↓
输入n的值
|
↓
s = 1
|
↓
factorial = 1
|
↓
for i = 2 to n do
|
↓
factorial = factorial * i
|
↓
if i mod 2 = 0 then
|
↓
s = s - 1 / factorial
else
|
↓
s = s + 1 / factorial
end if
|
↓
end for
|
↓
输出s
|
↓
结束
```
阅读全文