Практикум по курсу "Алгоритмизация и программирование". Часть 2. Андрианова А.А - 26 стр.

UptoLike

А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова .
}
}
Приведем еще один вариант решения задачи с использованием пользова-
тельского типа данных, определяющего многочлен. Такие типы данных вво-
дятся в программу для описания множества объектов, определяемых одина-
ковым набором атрибутов. Например, пользовательский тип данных для опи-
сания множества многочленов может содержать два атрибута – адрес массива
коэффициентов многочлена и его степень.
В большинстве языков программирования существует специальная
конструкция, позволяющая определить пользовательский тип данных, в кото-
ром набор переменных различных типов хранится как единое целое. Эту
конструкцию называют структурой (С++, С#, Java) или записью (Pascal).
Определим структуру для хранения многочлена следующим образом:
struct Polynom
{
float* a;// массив коэффициентов многочлена
int n; // степерь многочлена
};
Такое представление многочленов позволяет передавать в функцию и
возвращать из функции объекты структурного типа Polynom, при этом осу-
ществляется передача всех его атрибутов. При обращении к атрибутам (по-
лям) структуры в языке С++ существуют две операции '. ' и '->'. Операция '.'
применяется к переменной структурного типа, а операция '->' к указателю
на структуру. Например,
Polynom p1; // создание переменной структурного типа
p1.n=10; // задание поля n многочлена p1
p1.a=new float[p1.n+1]; // выделение памяти под массив
// коэффициентов многочлена p1
// выделение памяти под хранение многочлена и
// сохранение адреса в переменной-указателе p2
Polynom * p2=new Polynom;
p2->n=10;
p2->a=new float[p2->n+1];
Данный вариант решения задачи суммирования многочленов содержит
несколько функций:
1) функция CreatePolynom предназначена для создания объекта
структуры типа Polynom, т.е. выделения памяти под массив коэффициентов
26
А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова                      .
                   }
    }


    Приведем еще один вариант решения задачи с использованием пользова-
тельского типа данных, определяющего многочлен. Такие типы данных вво-
дятся в программу для описания множества объектов, определяемых одина-
ковым набором атрибутов. Например, пользовательский тип данных для опи-
сания множества многочленов может содержать два атрибута – адрес массива
коэффициентов многочлена и его степень.
    В большинстве языков программирования существует специальная
конструкция, позволяющая определить пользовательский тип данных, в кото-
ром набор переменных различных типов хранится как единое целое. Эту
конструкцию называют структурой (С++, С#, Java) или записью (Pascal).
Определим структуру для хранения многочлена следующим образом:

    struct Polynom
    {
          float* a;// массив коэффициентов многочлена
          int n;   // степерь многочлена
    };

    Такое представление многочленов позволяет передавать в функцию и
возвращать из функции объекты структурного типа Polynom, при этом осу-
ществляется передача всех его атрибутов. При обращении к атрибутам (по-
лям) структуры в языке С++ существуют две операции '. ' и '->'. Операция '.'
применяется к переменной структурного типа, а операция '->' – к указателю
на структуру. Например,

    Polynom p1;        // создание переменной структурного типа
    p1.n=10;           // задание поля n многочлена p1
    p1.a=new float[p1.n+1]; // выделение памяти под массив
                            // коэффициентов многочлена p1
    // выделение памяти под хранение многочлена и
    // сохранение адреса в переменной-указателе p2
    Polynom * p2=new Polynom;
    p2->n=10;
    p2->a=new float[p2->n+1];
    Данный вариант решения задачи суммирования многочленов содержит
несколько функций:
    1) функция CreatePolynom предназначена для создания объекта
структуры типа Polynom, т.е. выделения памяти под массив коэффициентов

                                            26