Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Дайте рекурсивное определение функции на примере вычисления факториала целого числа.

Читайте также:
  1. C.) Дайте определение понятию технология воспитания(один ответ)
  2. Callback-функции;
  3. I. Понятие, структура и функции религии. Социологические теории религии.
  4. N3 Функции философии
  5. Агрохимические свойства почв и определение индекса окультуренности.
  6. Адаптационные изменения сердечно-сосудистой системы при физических нагрузках. Средства ЛФК, восстанавливающие нарушения функции сердца.
  7. Акционерные общества, их определение. Отделение собственности от контроля.
  8. Анализ производственной функции. Закон убывающей предельной производительности факторов производства.
  9. Анализ структуры ВВП рассчитанного производственным методом: определение, факторы, структурная динамика ВВП, тенденции.
  10. Анализирование респираторной функции

Сначала определимся, что из себя представляет рекурсивная функция. Рекурсивной называется функция, которая возвращает значение самой себя, рассмотрим пример рекурсивной функции на примере программы, вычисляющей факториал целого числа

#include <iostream>

using namespace std;

long double fact(int N)

{

if (N < 0) // если пользователь ввел отрицательное число

return 0; // возвращаем ноль

if (N == 0) // если пользователь ввел ноль,

return 1; // возвращаем факториал от нуля - не удивляетесь, но это 1 =)

else // Во всех остальных случаях

return N * fact(N - 1); // делаем рекурсию.

}

int main() {

int N;

setlocale(0,""); // Включаем кириллицу

cout << "Введите число для вычисления факториала: ";

cin >> N;

cout << "Факториал для числа " << N << " = " << fact(N) << endl << endl; // fact(N) - функция для вычисления факториала.

return 0; }

27.Пречислите и охарактеризуйте классы памяти при выделении памяти под переменные в С++.

Класс памяти переменной — понятие в некоторых языках программирования. Он определяет область видимости переменной, а также как долго переменная находится в памяти.

Классы памяти в С и С++:

Переменная в этих языках должна принадлежать ровно к одному классу памяти, что указывается с помощью ключевого слова, который пишется перед типом переменной.

auto— автоматическая (локальная). Автоматические переменные создаются при входе в функцию и уничтожаются при выходе из неё. Они видны только внутри функции или блока, в которых определены. В C++0x значение слова auto изменили.

static — статическая переменная (локальная). 1) Если static - внутри функцию. Статические переменные имеют такую же область действия, как локальные(автоматические), но они не исчезают, когда содержащая их функция закончит свою работу. Их значения сохраняются от одного вызова функции до другого. 2) static вне функции имеет другое значение

extern — внешняя (глобальная) переменная. Внешние переменные доступны везде, где описаны, а не только там, где определены. Включение ключевого слова extern позволяет функции использовать внешнюю переменную, даже если она определяется позже в этом или другом файле.

register — регистровая переменная (локальная). Это слово является всего лишь «пожеланием» компилятору помещать частоиспользуемую переменную врегистры процессора для ускорения программы.

Класс памяти можно не указывать, тогда действуют следующие умолчания:

· переменные, описанные внутри функции или блока, считаются локальными (auto)

· переменные, описанные вне всех функций, считаются внешними.

· функции считаются внешними.

Статическая переменная, описанная вне любой функции, становится внешней статической. Разница между внешней переменной и внешней статической переменной заключается в области их действия. Обычная внешняя переменная может использоваться функциями в любом файле, а внешняя статическая переменная может использоваться только функциями того же самого файла, причем после определения переменной.

28.Опишите приёмы использования массивов в С++




Дата добавления: 2015-02-16; просмотров: 163 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав