Cтраница 3
Значение СССД для конечного пользователя иллюстрирует пример из информационной системы LNB. Управляющий банком, оценивая потенциально возможную задолженность клиента, запрашивает в недавно реализованной базе данных ОТС сведения о среднем ежедневном остатке на его текущем счете. Для правильной интерпретации ответа необходимо знать способ вычисления остатка. Эти и другие сведения о клиенте могут быть выведены на экран терминала СССД, в нашем случае выступающей в качестве справочного средства конечного пользователя. [31]
Распределение памяти с указанием имени и значения переменной.| Распределение памяти после ввода значений двух переменных.| Распределение памяти после вычислений. [32] |
Большинство программ выполняет арифметические вычисления. Множество арифметических операций показано на рис. 1.10. Отметим использование в них разнообразных специальных символов, не используемых в алгебре. Звездочка () обозначает умножение, а знак процента ( %) - это операция вычисления остатка, которая вкратце будет еще обсуждаться. Арифметические операции на рис. 1.10 являются бинарными операциями. [33]
Что касается самих действий, из выполнения которых складывается выполнение алгоритма, то обычно предполагается, что мы понимаем их смысл, умеем их выполнять и описывать. Таким образом, алгоритм - это предписание, сводящее выполнение некоторого действия к выполнению других действий, которые считаются более простыми. Так, например, при описании алгоритма Евклида такими действиями были проверка условия п О и вычисление остатка от деления одного натурального числа на другое. [34]
Наибольший общий делитель ( НОД) двух целых чисел х и у - это наибольшее целое, на которое без остатка делится каждое из двух чисел. Напишите рекурсивную функцию nod, которая возвращает наибольший общий делитель чисел х и у. НОД для х и у определяется рекурсивно следующим образом: если у равно О, то nod ( x, у) возвращает х; в противном случае nod ( x, у) равняется nod ( y, х % у), где % - это операция вычисления остатка. [35]
Заметим, что любая десятичная часть при целочисленном делении просто отбрасывается ( т.е. усекается) - округление не производится. В C имеется операция вычисления остатка %, которая дает в качестве результата остаток от целочисленного деления. Выражение х % у дает остаток от деления х на у. В последующих главах мы обсудим много интересных применений операции вычисления остатка, таких, как определение, является ли одно число кратным другому. [36]