Input a list of positive numbers (terminated by 0) into array, find the largest number in the array, and output the result. Use a subprogram to input the numbers, a function to find the largest, and a subprogram to output the result.

To achieve this task, you can follow these steps:

Step 1: Implement a subprogram to input the numbers into an array. Let's call it "inputNumbers()". The subprogram will prompt the user to enter positive numbers until they input 0 to terminate the input. The subprogram will accept the input, store it in an array, and return the array.

Step 2: Implement a function to find the largest number in the array. Let's call it "findLargest()". This function will take the array populated in the previous step as an argument. It will iterate through the array and compare each element with the currently stored largest number. If a larger number is found, it will update the largest number. Finally, the function will return the largest number.

Step 3: Implement a subprogram to output the result. Let's call it "outputResult()". This subprogram will take the largest number found as an argument and simply display it as the output.

Here's a Python example that demonstrates the steps mentioned above:

```python
def inputNumbers():
numbers = []
while True:
num = int(input("Enter a positive number (enter 0 to terminate input): "))
if num == 0:
break
numbers.append(num)
return numbers

def findLargest(nums):
largest = float("-inf")
for num in nums:
if num > largest:
largest = num
return largest

def outputResult(result):
print("The largest number is:", result)

# Main program
numbers = inputNumbers()
largest_number = findLargest(numbers)
outputResult(largest_number)
```

In this example, the user will be prompted to enter positive numbers. After entering 0, the largest number in the array will be found using the `findLargest()` function. Finally, the largest number will be outputted using the `outputResult()` subprogram.