Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИСТ 1 курс экзамен лиманова по тп 1-24 вопрос.docx
Скачиваний:
194
Добавлен:
10.01.2016
Размер:
333.15 Кб
Скачать
  1. Цикл с выходом из середины. Привести блок схему и примеры реализации.

#include <iostream>

 

using namespace std;

 

int main()

{

    int a, b, c, d, e, f;

    cout << "Enter a: ";

    cin >> a;

    cout << "Enter b: ";

    cin >> b;

    cout << "Enter c: ";

    cin >> c;

    cout << "Enter d: ";

    cin >> d;

    cout << "Enter e: ";

    cin >> e;

    cout << "Enter f: ";

    cin >> f;

    int C(0);

    while(true)

    {

        C++;

 

        if(C++ > 9000)

        {

            break;

        }

        else

        {

           cout << C << "\n";

        }

    }

    cout << "a: " << a << " b: " << b << " c: " << c << " d: " << d << " e: " << e << " f: " << f << endl;

    return 0;

}

  1. Что такое вложенные циклы? Проанализировать работу программы, содержащей вложенные циклы.

Вложенный цикл - это цикл, размещённый внутри другого цикла. 

Int n=0

For(int i=0; i<3; i++){

For(int j=0; j<5; j++){

N=n+2;

} }

Здесь внешний цикл это тот, в котором перемещается I . Внутренний цикл с переменной j. сначала , при i=0, j пройдет по всем своим значениям от 0 до 4. Потом I перейдет на 1, а j опять будет нарезать круги с 0 до 4, и так пока не закончится внешний цикл. Т .е. всего будет 15 итераций , а n в конце будет 30.

  1. Итерационные алгоритмы. Привести примеры реализации итерационных алгоритмов в задачах вычисления суммы бесконечного ряда с заданной точностью.

Итерационными (пошаговыми) алгоритмами называются алгоритмы, в которых на каждом шаге используется одна и та же формула, выраженная через значения, полученные на предыдущих шагах алгоритма.

Задание: вычислить значение бесконечного выражения (прогрессии) с вводом с клавиатуры значения аргумента (х) и количества членов (N).

#include <cstdlib>

#include <iostream>

#include <cmath>

using namespace std;

 

int main(int argc, char *argv[])

{

    double a, b=1, c=sqrt(3.), y=0, x, N, t;

    cout << "x= ";

    cin >> x;

    cout << "N= ";

    cin >> N;

 

    a = cos(x);

    cout<<a;

    for (int i=1; i<=N; i++)

        {

             y = ((a+b)/c) + y;

             b++;

             t=i%2;

             if (t==0)

             {

                      c=sqrt(3+c);

             }

             else

             {

                      c=sqrt(4+c);

                     

             }

        }

        cout << "y= " << y << endl;

                     

    system("PAUSE");

    return EXIT_SUCCESS;

}

  1. Пользовательские функции в С/C++. Разновидности функций. Определение функций. Привести пример функции, возвращающей значение.

 Пользовательская функция - Это функция, которая создана пользователем.

void swap (int x, int y){    int z = x;    x = y;    y = z;  }

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

void GetError (){    pritnf ("Ошибка\n"); }

Пользовательская функция, выбрасывающая сообщение об ошибке

int max (int a, int b, int c){    if (a > b && a > c)       return a;    if (b > a && b > c)       return b;    if (c > a && c > b)        return c; }

Эта созданная пользовательская функция определяет наибольшее число из трех.

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

В языке С++ данные в подпрограмму можно передавать тремя способами: по значению, по адресу и по ссылке.

Передача по значению эквивалентна операции присвоения.

Адрес и ссылка используются в случае если нид получить от функции более одного результата.

Пример:

B=1;

Cout<<cube(b++)<<endl;

Cout<<b<<endl;

Выведется на экран:

1

2

Это соответствует выполнению операции присваивания x=b++;

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

Функция должна быть определена до того, как использована.

Прототип выполняет ту же роль, что и объявление для переменных: в нем перечисляется используемые типы.

Тело функции – это блок, т.е. последовательность описаний переменных операторов, заключенных в фигурные скобки. Даже если функция не выполняет никаких действий тело функции должно присутствовать в определении. В этом случае тело функции будет состоять просто из скобок {}:void f(void){}

Определения функций не должны быть вложенными. В отличие от определений, прототипы – объявления функций могут быть вложенными в другие функции, главное чтобы прототип был прописан для вызова соотв. Функции.

Примеры объявления функций: int add (int, int) – это объявленная функция которая требует 2 аргумента типа int и возвращает величину типа int.

Определение функций maximum:

Int maximum (int x; int y; int z)

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

Параметры со значениями по умолчанию должны объявляться последними параметрами в списке. При вызове функции такие параметры можно не указывать – используется значение, заданное по умолчанию.

Пример:

Void repch (char ch=’-’, int k=60)

C++ разрешает такие вызовы функции

Repch();//выводится 60 минусов

Repch(+)//выводиться 60 плюсов

Repcj(‘=’52)//выводится 52 равно

Вызов функции считается корректным если не указывается самое правое параметры

http://www.c-cpp.ru/books/znacheniya-argumentov-funkcii-po-umolchaniyu

  1. Рекурсия. Привести пример рекурсивной функции в С/C++.

Рекурсивная функция – это функция которая может вызвать саму себя.

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

Пример:факториал

Include’s

…………………..

Unsigned int factor(unsigned int)//прототип функции

Int man (void)

{

Unsigned unt n;// число факториал которого нид вычислить

Unsigned int F;//факториал чилса n

Cout<<”вычисление факториала:\n”;

Cout<<”введите число, факториал которого нид вычислить”;

Cin>>n;

F=factor(n);

Cout<<”факториал числа”<<n<<”равен”<<F;

Return 0;

}

{if(k==1)

Return 1;

Else

K*Factor(k-1);

Return 0’

Соседние файлы в предмете Программирование на C++