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 "Контрольные примеры". Ошибок не обнаружено.

Выводы

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


 

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

50873. Работа с файлами, строками и списками 64.5 KB
  Задан список списков. Необходимо указать в каких словах есть шипящие буквы. Результат сохранить в файле.
50874. Лабораторная работа «Adobe Flash. Первые шаги» 200.5 KB
  В настоящее время существует несколько технологий создания анимации: анимационный формат GIF Flsh Jv и JvScript. Преимущества технологии Flsh. По сравнению с GIFанимацией возможности технологии Flsh значительно шире.
50876. Рисование во Flash МХ 2004 828 KB
  Практическая часть Задание: Ознакомьтесь с интерфейсом и инструментами редактора FLSH MX. Пользовательский интерфейс программы Flsh MX 2004. Существует две версии Flsh MX 2004 стандартная и профессиональная Professionl.
50877. Преобразование Лапласа. Нахождение оригинала функции по её изображению 175 KB
  Преобразование Лапласа. Нахождение оригинала функции по её изображению.
50878. Создание программного продукта линейной структуры в среде Delphi 258.5 KB
  Одни типы уже определены в языке другие программисту приходится задавать самому. Типы данных определяемые пользователем обычно задаются в разделе описания типов программы или модуля unit однако тип можно делать и внутри процедур и функций. Внутри же они заменяют все внешние типы с тем же именем. Простые типы данных Порядковые типы Целые типы Символьные типы Булевы типы Перечисляемые типы Поддиапазонные типы Любой реально существующий тип данных каким бы сложным он не казался на первый взгляд представляет собой простые...
50879. Парольная защита. Исследование программных аспектов парольной защиты 148 KB
  Исследовать зависимость длины пароля при фиксированных значениях от вероятности подбора пароля для заданных значений. Результаты работы предоставить в виде отчета: а краткое содержание последовательного порядка выполненных работ б по результатам решения задач построить график зависимостей S = fP проанализировать полученные зависимости и сформулировать выводы о том каким образом величина вероятности угадывания подбора пароля влияет на параметры: 1 длину пароля; 2 время жизни пароля при заданных значениях длины пароля и времени...
50880. Интерактивные элементы. Action Script 365 KB
  Кнопки Основное отличие кнопок состоит в том что они предназначены для реагирования на действия пользователя например нажатия на саму кнопку ее клавишный аналог или активную область в фильме. Timeline кнопки содержит всего четыре кадра: Up – обычное состояние кнопки. Over– изменение кнопки при нахождении над ней мыши. Если у вас будет несколько одинаковых кнопок достаточно создать только один образец кнопки накладывая на него необходимые надписи меняя цвет или размер экземпляров.