Программирование на языке высокого уровня. Марапулец Ю.В. - 78 стр.

UptoLike

Составители: 

В обоих случаях для исполнения кода достаточно вызвать функцию Fact(), передав
ей число для вычисления факториала. В результате выполнения программы для факто-
риала 4, на экран будет выведено:
input N
4
4 ! = 24
#include <stdio.h>
void main ()
{
int N;
printf ("Input N: \n");
scanf ("%d", &N);
printf(" %d ! = %ld\n", N, Fact(N));
}
3. Функция, которая считает сумму элементов массива.
Рекурсивная функция Sum() вычисляет сумму элементов массива A[] для индексов,
изменяющихся от n0 до nMax. При n0 < nMax возвращаемое значение определяется в
виде суммы A[nMax] - элемента массива и результата вызова функции Sum() с фактиче-
ским параметром - номером последнего суммируемого элемента, равным nMax - 1. Ре-
курсивный вызов функции производится в операторе return в виде:
return (A[nMax] + Sum(A, n0, nMax - 1));
При n0 = nMax решение тривиально, возвращаемый результат = A[n0], начинается
обратный ход рекурсивных вычислений: возврат из вызванных функций результатов
суммирования. Для исполнения кода в данном примере динамически создается массив,
состоящий из N элементов, который заполняется цифрами от 1 до N. Память выделяется
функцией malloc(). Вызов рекурсивной функции производится в функции printf(). В ре-
зультате выполнения программы для массива, состоящего из 4 элементов, на экран будет
выведено:
input N
4
Sum = 10
#include <stdio.h>
#include <stdlib.h>
// Рекурсивная функция для вычисления суммы элементов массива:
int Sum ( int A[], int n0, int nMax )
{
if ( n0 == nMax )
return ( A[n0] ); // тривиальное решение
// рекурсивный вызов
else
return ( A[nMax] + Sum(A, n0, nMax - 1 ));
}
void main()
{
int *mass;
int N;
78
      В обоих случаях для исполнения кода достаточно вызвать функцию Fact(), передав
ей число для вычисления факториала. В результате выполнения программы для факто-
риала 4, на экран будет выведено:
input N
4
4 ! = 24

#include 
void main ()
{
       int N;
       printf ("Input N: \n");
       scanf ("%d", &N);
       printf(" %d ! = %ld\n", N, Fact(N));
}

     3. Функция, которая считает сумму элементов массива.
     Рекурсивная функция Sum() вычисляет сумму элементов массива A[] для индексов,
изменяющихся от n0 до nMax. При n0 < nMax возвращаемое значение определяется в
виде суммы A[nMax] - элемента массива и результата вызова функции Sum() с фактиче-
ским параметром - номером последнего суммируемого элемента, равным nMax - 1. Ре-
курсивный вызов функции производится в операторе return в виде:

       return (A[nMax] + Sum(A, n0, nMax - 1));

     При n0 = nMax решение тривиально, возвращаемый результат = A[n0], начинается
обратный ход рекурсивных вычислений: возврат из вызванных функций результатов
суммирования. Для исполнения кода в данном примере динамически создается массив,
состоящий из N элементов, который заполняется цифрами от 1 до N. Память выделяется
функцией malloc(). Вызов рекурсивной функции производится в функции printf(). В ре-
зультате выполнения программы для массива, состоящего из 4 элементов, на экран будет
выведено:
input N
4
Sum = 10

#include 
#include 

// Рекурсивная функция для вычисления суммы элементов массива:
int Sum ( int A[], int n0, int nMax )
{
       if ( n0 == nMax )
               return ( A[n0] );      // тривиальное решение
// рекурсивный вызов
       else
               return ( A[nMax] + Sum(A, n0, nMax - 1 ));
}
void main()
{
       int *mass;
       int N;

                                              78