Статья 2315

Для выхода из такого процесса необходимо иметь соответствующие средства, иначе рекурсия превратится в бесконечную цепочку обращений процедуры самой к себе. Обычным средством такого рода служат условные инструкции. Когда условие выполняется, происходит возврат к ближайшему более высокому уровню.
В программе набор чисел имеет форму связанного списка. Если список пуст, функция возвращает в качестве результата нуль. В противном случае, если первый элемент списка нечетный, он прибавляется к сумме, и функция вызывает саму себя с аргументом, параметром, состоящим из списка, который остается после того, как первый элемент удаляется. В конце концов все элементы будут выбраны из списка, после чего завершатся все отложенные вычисления.
Вообще ЭВМ не рассчитана на то, чтобы понимать Лого, Бейсик или другие языки программирования, которые оперируют на подобном уровне абстракции. Аппаратура ЭВМ распознает только двоичные числа, преобразованные в электрические сигналы. Программа в той форме, в которой она может быть выполнена, эта форма называется машинным кодом или машинным языком, представлена последовательностью таких чисел. Одни из них являются командами для центрального процессора, другие являются данными, а третьи служат адресами в памяти ЭВМ.
Написать программу непосредственно на машинном языке можно, но это весьма утомительное занятие, и вероятность завершить даже небольшой проект без ошибок мала. Для ЭВМ не составляет труда отличить 01101001 от 01011001 и запомнить, что означает каждый из этих кодов, а человеческие глаз и разум плохо приспособлены для решения таких задач. В конце 40-х и в начале 50-х годов для облегчения тяжелого труда по написанию программ в машинных кодах была изобретена система обозначений, названная языком ассемблера.