Многие компьютерные программы работают, когда все данные, необходимые для программы, вводятся в начале программы. После этого все данные обрабатываются на основе проблемы или проблем, которые программа пытается решить, а затем выводятся результаты обработки. Этот процесс, который иногда называют массовой обработкой, описывается шаблоном программы Input-Process-Output, и в этой статье я объясню, как реализовать этот шаблон.
Шаблон ввода-процесса-вывода
Вот псевдокод для этого шаблона:
Введите все данные.
Обработайте все данные.
Выведите результаты обработки.
Опять же, этот шаблон описывает массовую обработку, при которой все данные вводятся до начала какой-либо обработки. Не все проблемы можно решить таким образом, но многие могут, поэтому важно понимать, как работает этот шаблон.
Теперь давайте рассмотрим несколько задач, которые можно решить с помощью шаблона.
Извлечение цифр из числа
Интересная задача, в которой программист может использовать оператор модуля, — это извлечение цифр. Чтобы извлечь последнюю цифру из числа, возьмите модуль числа 10, и результатом будет последняя цифра в числе. Например, 123 % 10 равно 3. Затем выполните целочисленное деление числа на 10, чтобы удалить последнюю цифру, и продолжайте эти шаги, пока не останется цифр.
Вот программа, которая извлекает четыре цифры из числа:
int main() { int number, digit4, digit3, digit2, digit1; // Input cout << "Number? "; cin >> number; // Process digit4 = number % 10; number /= 10; digit3 = number % 10; number /= 10; digit2 = number % 10; number /= 10; digit1 = number % 10; // Output cout << digit1 << " " << digit2 << " " << digit3 << " " << digit4 << endl; return 0; }
Вот результат одного запуска этой программы:
Число? 1689
1 6 8 9
Вычисление средней оценки
В следующем примере вычисляется средняя оценка по 5 результатам тестов, введенным пользователем. Вот программа:
int main() { const int NUM_GRADES = 5; int grade1, grade2, grade3, grade4, grade5, total = 0; double average; // Input cout << "Enter first grade: "; cin >> grade1; cout << "Enter second grade: "; cin >> grade2; cout << "Enter third grade: "; cin >> grade3; cout << "Enter fourth grade: "; cin >> grade4; cout << "Enter fifth grade: "; cin >> grade5; // Process total = grade1 + grade2 + grade3 + grade4 + grade5; average = static_cast<double>(total) / NUM_GRADES; // Output cout << "The average grade: " << average << endl; return 0; }
Вот результат одного запуска этой программы:
Перейдите в первый класс: 82
Перейдите во второй класс: 76
Перейдите в третий класс: 84
Перейдите в четвертый класс: 71
Перейдите в пятый класс: 93
Средний балл: 81,2
Последние мысли
Это была короткая статья, но вы должны понимать использование шаблона Input-Process-Output из этих двух примеров. Начинающие программисты могут прекрасно использовать этот шаблон в качестве организационного принципа для запуска программы. По мере накопления опыта вы обнаружите, что многие программы немного меняют порядок шаблона или даже выполняют несколько итераций шаблона по мере сбора, обработки и вывода данных.
Спасибо за чтение и, пожалуйста, ответьте на эту статью или напишите мне с вашими комментариями и предложениями.