39287

Рекурсия

Лабораторная работа

Информатика, кибернетика и программирование

Описание переменных главной функции Имя переменной Тип переменной Назначение [100] int массив чисел ni int вспомогательные переменные Краткое описание алгоритма 1Пользователь вводит количество элементов в массиве 2Программа заполняет массив случайными элементами 3Программа выводит сумму элементов массива Код программы на языке C С include locle include stdio.h int summint N int [100]; int in [100]; void min { setlocleLC_CTYPE russin ; clrscr; printf nКоличество элементов массива...

Русский

2013-10-02

24.35 KB

6 чел.

Федеральное государственное бюджетное образовательное учреждение высшего

профессионального образования

«Санкт-Петербургский государственный электротехнический

университет «ЛЭТИ» им. В.И.Ульянова (Ленина)»

Факультет компьютерных технологий и информатики

Кафедра вычислительной техники

Отчет

по лабораторной работе № 5

на тему «Рекурсия»

по дисциплине «Программирование»

Выполнил: студент группы 2306  Титков Е.В.

Проверила: к.т.н.,  доцент Сискович Т.И.

 

Санкт-Петербург

2013 г.

Цель работы

            Получение практических навыков в работе с рекурсивными алгоритмами

 Задание

Написать программу для вычисления суммы элементов массива с использование рекурсивных функций

Уточнение задания

Программа вычисляет сумму элементов одномерного  массива. Массив заполняется случайными элементами с помощью функции random.

Контрольные примеры

     Контрольные примеры  приведены в таблице 1 «Контрольные примеры ».

Таблица 1. Контрольные примеры обработки

Массив A

сумма

A[0]

A[1]

A[2]

A[3]

A[4]

A[5]

A[6]

1

2

3

4

5

6

7

28

1

0

0

0

0

7

3

11

Описание переменных главной функции

          Описание переменных главной функции приведено в таблице 3.

Таблица 3. Описание переменных главной функции

 

Имя переменной

Тип переменной

Назначение

a[100]

int

массив чисел

n,i

int

вспомогательные переменные

Краткое описание алгоритма

1)Пользователь вводит количество элементов в массиве

2)Программа заполняет массив случайными элементами

3)Программа выводит сумму элементов массива

 

Код программы на языке C/С++

#include <locale>

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <time.h>

 int summa(int N, int a[100]);

 int i,n, a[100];

 void main()

 {

         setlocale(LC_CTYPE, "russian");

   clrscr();

   printf("\nКоличество элементов массива? ");

         scanf("%d", &n);

   printf("\nВ сформированном массиве %d чисел:\n", n);

   randomize();

   for (i=0; i<n; i++)

      {

             a[i]= -10+random(21);

             printf("%d  ", a[i]);

             }

       printf("Сумма: %d", summa(n-1, a));

   }

 int summa(int N, int a[100])

 {

    if (N==0) return a[0];

          else return a[N]+summa(N-1, a);

 }

Результаты выполнения программы

При выполнении программы полученные результаты совпадают с приведенными в таблице 1 "Контрольные примеры". Ошибок не обнаружено.

Выводы

При выполнении лабораторной работы получены практические навыки в работе с рекурсивными функциями  на языке С/С++.


 

А также другие работы, которые могут Вас заинтересовать

67247. Маркетинговый аудит 45.27 KB
  В рамках такого анализа предстоит оценить эффективность информационных систем маркетинга в компании систем планирования и контроля за исполнением плана маркетинга. Основными вопросами в этом случае могут быть следующие: а информационные системы; б системы планирования; в системы контроля; г разработка новых продуктов.
67248. Правовые и технические основы безопасности жизнедеятельности 28.56 KB
  Правовую основу обеспечения безопасности жизнедеятельности составляют соответствующие законы и постановления принятые представительным органами РК а также подзаконные акты: Указы Президента постановления принимаемые правительством местными органами власти и специально уполномоченными органами.
67249. Феномен культурной глобализации 38 KB
  20 век характеризуется как эпоха глобализации так как страны и государства перестали развиваться изолированно друг от друга события произошедшие в одной стране тут же получают отклик во всем мире. Некоторые ученые говорят о том что современный этап глобализации является отнюдь не первым.
67250. ЮРИДИЧЕСКИЙ ПРОЦЕСС 123 KB
  Например обращение гражданина в суд для защиты нарушенного или оспоренного субъективного права без соблюдения установленного гражданским процессуальным законом Гражданским процессуальным кодексом порядка не приведет к желаемому результату: судья либо откажет в принятии заявления либо оставит поданное заявление...
67251. НЕЙРОННЫЕ ОСНОВЫ ПАМЯТИ И НАУЧЕНИЯ 168.5 KB
  Память можно определить как способность мозга приобретать и использовать опыт сохранять полученную информацию. Поскольку научение основывается на механизмах памяти два этих понятия неразрывно связаны. Такая перестройка должна обеспечивать адаптивное изменение поведения благодаря сохранению...
67252. ПОЛІТИКА ТА ЕТНОНАЦІОНАЛЬНІ ВІДНОСИНИ 161.5 KB
  Якщо народи існували з давніхдавен то нації викристалізувалися лише в XVII XVIII ст. Народність це історично сформована мовна територіальна економічна і культурна спільність людей яка передує нації. На відміну від нації у народності немає промисловості і відповідно...
67254. Передача параметрів конструкторам базового класу 75.5 KB
  Демонстрація механізму передачі параметрів конструкторам декількох базових класів Демонстрація механізму передачі аргументів конструкторам базового класу через конструктори похідного класу Дотепер жоден з попередніх прикладів не містив конструкторів для яких потрібно було...
67255. Документирование программных средств 149.5 KB
  Тексты и объектный код программ для ЭВМ могут стать программным продуктом только в совокупности с комплексом документов полностью соответствующих их содержанию и достаточных для его освоения применения и изменения. Посредством документов электронных или бумажных специалисты взаимодействуют...