Теория языков программирования и методы трансляции. Копейкин М.В - 31 стр.

UptoLike

3. Алгоритмы построения рекурсивных функций
Рекурсивность - это прием в программировании, когда при решении
некоторой задачи предполагается обращение к алгоритму решения этой
же задачи, т.е. в подпрограмме предусматриваются вызовы ее самое, но с
другими параметрами. Рекурсия позволяет построить процедуру или
функцию оптимального размера при хорошей читабельности алгоритма, а
значит повысить надежность программы[2].
/* Калькулятор
выражений */
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define false 0
#define true 1
// NextChar - для ввода значений
int NextChar;
int cont=true;
// Прототипы
float Factor();
float Term();
float Expression();
//
void GetNextChar()
{
while ((NextChar = getchar()) == ' ');
}
// рекурсивная функция
float Factor() //
{
float v=0;
int count=0;
int i;
int d_p=false;
//
if ((NextChar>='0') && (NextChar<='9'))
{
while ((NextChar>='0') && (NextChar<='9'))
{
v = v * 10 + NextChar - '0';