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

Выводы

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


 

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

14944. Түріксой ұйымы – түркі халықтарыны мәдениетінің бірлігі 51.5 KB
  Түріксой ұйымы түркі халықтарыны мәдениетінің бірлігі Арғы тарихтың бедерінде күллі әлемге із қалдырған түркі дүниесінің бүгінгі күні де дүниежүзілік өркениетте ерекше орны бар екені белгілі. Жалауын жоғары ұстап намысын ешкімге таптатпаған ежелгі түркі халықта
14945. ҰЛТ ДАМУЫНЫҢ ЖАҢА КЕЗЕҢІ ЖӘНЕ АЛАШ МҮДДЕСІ 35 KB
  ҰЛТ ДАМУЫНЫҢ ЖАҢА КЕЗЕҢІ ЖӘНЕ АЛАШ МҮДДЕСІ Құрметті конференция қонақтары Қадірлі отандастар Біз Қазақстан Республикасы аталатын дәстүрі терең бағдары жаңа қоғамның бар мүмкіндігін экономикалық мәденирухани дамуға жұмсап келеміз. ҚР Президенті Н.Ә.Назарбае
14946. ҰЛЫБРИТАНИЯДАҒЫ ҚАЗАҚТАР ТУРАЛЫ 43 KB
  ҰЛЫБРИТАНИЯДАҒЫ ҚАЗАҚТАР ТУРАЛЫ Ұлыбританиядағы қазақтардың саны Түркиядан біраз қазақтар 1980 жылдың басынан бастап Ұлыбританияға жұмыс бабымен қоныс аудара бастаған. Олардың барлығы дерлік бұл күнде Лондонда өмір сүріп жатыр. Бұдан басқа соңғы жылдары Қытай жә
14947. ХАЛЕЛ ДОСМҰХАМЕДОВ ЖӘНЕ ТҮРКІТАНУ МӘСЕЛЕЛЕРІ 37 KB
  ХАЛЕЛ ДОСМҰХАМЕДОВ ЖӘНЕ ТҮРКІТАНУ МӘСЕЛЕЛЕРІ XX ғасыр басындағы өтпелі дүрмекті кезеңде саяси күрес сахнасына шығып қазақтың мұңын мұңдап жоғын жоқтап болашағын болжап аспан астында өмір сүру құқығын қорғап тер төккен сонымен қатар осы жолда құрбан болған қазақ...
14948. Болашақ заңгерлердің кәсіби ақпараттық-технологиялық даярлығын жетілдіру 312.5 KB
  Болашақ заңгерлердің кәсіби ақпараттықтехнологиялық даярлығын жетілдіру Кіріспе Зерттеудің көкейкестілігі. Бүгінгі таңда қоғамның сұранысы мен талаптарына сай жаңа технологияларды пайдалану арқылы бәсекеге қабілетті мамандар даярл...
14949. Айдың табиғатқа және тіршілікке тигізетін маңызы 59.5 KB
  ӘОЖ 526 Ш67 АЙДЫҢ ТАБИҒАТҚА ЖӘНЕ ТІРШІЛІККЕ ТИГІЗЕТІН МАҢЫЗЫ Д.Ж. Шлмағанбетова Ақтөбе облыстық планетарий Ақтөбе қ. Ай жарығы әлемді тануда бірінші сәуле болды Бұл сәуле ғасырлар...
14951. ҰЛТТЫҚ БІРІНҒАЙ ТЕСТІЛЕУГЕ ДАЙЫНДАУДАҒЫ ОҚУЛЫҚТЫҢ ЖӘНЕ ӘДІСТЕМЕЛІК ОҚУ ҚҰРАЛДАРЫНЫҢ МӘНІ 53 KB
  ҰЛТТЫҚ БІРІНҒАЙ ТЕСТІЛЕУГЕ ДАЙЫНДАУДАҒЫ ОҚУЛЫҚТЫҢ ЖӘНЕ ӘДІСТЕМЕЛІК ОҚУ ҚҰРАЛДАРЫНЫҢ МӘНІ. Карипжанова Алмагуль Закеновна биология пәнінің мұғалімі №35 жалпы орта білім беру мектебі Қазақстан Республикасының орта және жоғары оқу орындарындағы реформа жаңа о
14952. БІЛІМ ЭВОЛЮЦИЯСЫ 86.5 KB
  І. БІЛІМ ЭВОЛЮЦИЯСЫ 1.1 Ғылым эволюциясы Ғылым адамға өз өмірін сақтап калу үшін қажетті білім негізінде пайда болды. Адам шөптерді қоректену және дәрідәрмек ретінде пайдалануды үйреніп жануарлардың мінезін бақылап оларды қолға үйретті рудамен тәжірибе жасап әр