Monthly Archives: Ноябрь 2013

Использование виртуальных функций и указателей на производные типы

Использование виртуальных функций и указателей на производные типы

Использование виртуальных функций и указателей на производные типы

 

Понятие полиморфизма является очень важным в объектно-ориентированном программировании. В приложении к языку C++ полиморфизм это термин, используемый для описания процесса, при котором различные реализации функций могут быть доступны с использованием одного имени. По этой причине полиморфизм иногда характеризуется одной фразой – «один интерфейс, много методов». Это означает, что основной класс операций может быть оформлен в одном стиле, хотя конкретные действии могут быть различны.

В C++ полиморфизм поддерживается и во время компиляции, и во время выполнения программы. Перегрузка функции и операций – это пример полиморфизма во время компиляции. Но в С++ поддерживается полиморфизм и во время выполнения программы. Эта достигается использованием указателей на базовые классы и виртуальных функций.

 

Указатели на производные типы

 

Указатели на базовый тип и на производный тип зависимы. Пусть имеем базовый тип B_class и производный от B_class тип D_class. В языке С++ всякий указатель, объявленный как указатель на B_class, может быть также указателем на D_class:

 

B_class *р;       // указатель на объект типа B_class

B_class B_ob; // объект типа B_class

D_class D_ob; // объект типа D_class

 

После этого можно использовать следующие операции:

p=&B_ob; // Указатель на объект типа B_class

p=&D_ob; // Указатель на объект типа D_class

 

Все элементы класса D_class, наследуемые от класса B_class, могут быть доступны через использование указателя р. Однако на элементы, объявленные в D_class, нельзя ссылаться, используя р. Если требуется иметь доступ к элементам, объявленным в производном классе, используя указатель на базовый класс, надо привести его к указателю на производный тип.

Например, можно сделать так:

((D_class *)p) -> f();

Здесь функция f() – член класса D_class. Внешние круглые скобки необходимы. Хотя указатель на базовый класс может быть использован как указатель на производный класс, обратное неверно: нельзя использовать указатель на производный класс для присваивания ему адреса объекта базового класса. И наконец, указатель увеличивается и уменьшается при операциях ++ и — относительно его базового типа. Когда указатель на базовый класс указывает на производный класс, увеличение указателя не делает его указывающим на следующий элемент производного класса.

Рассмотрим пример (ex24) использования указателей на базовый класс. При этом каждый класс будет содержать функцию void show(void), свою в каждом классе.

 

// Использование указателя на базовый класс

 

#include <stdio.

Комментарии к записи Использование виртуальных функций и указателей на производные типы отключены

Filed under Программирование

Дифференциальные уравнения

Дифференциальные уравнения

1. Дифференциальные уравнения первого порядка.
При решении задач из различных областей науки и техники,
а также экономики часто приходится рассматривать уравнения,
которые кроме независимых переменных и неизвестных (искомых) функций от этих переменных содержат производные искомых функций или их дифференциалы. если искомые (неизвестные) функции, входящие в дифференциальное уравнение,
зависят только от одной независимой переменной, то дифференциальное уравнение называется обыкновенным дифференциальным уравнением. если же искомые (неизвестные) функции зависят от нескольких независимых переменных, то уравнение называется дифференциальным уравнением в частных производных
[1, 2].
Определение 1. Пусть x – независимая переменная, а y = y(x) –
искомая (неизвестная) функция, зависящая от этой переменной.
общим видом обыкновенного дифференциального уравнения nго порядка называется соотношение вида
F (x, y, y, y, …, y (n) ) = 0,
где F – некоторая функция от переменной x, искомой функции
y = y(x) и ее производных до n-го порядка включительно. равенство вида
y (n) = f (x, y, y, y, …, y (n1) ),
где f – некоторая функция независимой переменной x, искомой
(неизвестной) функции y = y(x) и ее производных до (n1)-го порядка включительно, называется дифференциальным уравнением n-го порядка, разрешенным относительно старшей производной [1–5].
Определение 2. решением (или частным решением) дифференциального уравнения называется всякая функция y = j(x),
подстановка которой в дифференциальное уравнение вместо искомой функции обращает его в тождество по независимой переменной x. неявная форма (x, y) = 0 решения дифференциального уравнения называется его интегралом [1, 3, 5].

Определение 3. график решения дифференциального уравнения называется интегральной кривой. в случае интеграла
дифференциального уравнения интегральной кривой называется множество точек числовой плоскости, координаты которых
удовлетворяют равенству (x, y) = 0 [1–6].
1.1. Дифференциальные уравнения первого порядка,
разрешенные относительно производной
Определение 4. общим видом дифференциального уравнения
первого порядка называется равенство
F (x, y, y) = 0,
выражающее взаимосвязь независимой переменной x, искомой
функции y = y(x) и ее производной y. равенства

y = f (x, y) или dy = f (x, y)dx

(1.1)

называются дифференциальным уравнением первого порядка,
разрешенным относительно производной [1, 4, 5].
Пример 1. в случае уравнения

xy x2 y = 0 или yyx
x

(1.2)

решением является функция y = x2 + Cx, поскольку при подстановке в уравнение (1.2) этой функции и ее производной y=
= 2x + C мы получаем тождество по независимой переменной x
при любом значении постоянной C: x(2x + C) x2 (x2 + Cx) =
= 2×2 + Cx x2 x2 Cx = 0. Как видно, дифференциальное уравнение (1.2) имеет бесконечное множество решений (при каждом
из действительных значений

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

Filed under Дискретная математика

Исследование рекурсивного цифрового фильтра

Исследование рекурсивного цифрового фильтра

Лабораторная работа включает в себя  5 заданий, выполняемых на ПК с помощью пакета MATLAB.

  1. Синтез имитационной модели рекурсивного цифрового фильтра (ЦФ) по заданной форме импульсной характеристики (ИХ).
  2. Определение амплитудно-частотной (АЧХ) и фазочастотной (ФЧХ) характеристик синтезированного ЦФ.
  3. Определение сигнала на выходе ЦФ при подаче на его вход произвольного сигнала
    • с помощью прямой свертки,
    • с использованием модели фильтра (коэффициентов фильтра),
  • с помощью быстрой свертки (с применением ДПФ).
    Первые три задания выполняются для одной и той же схемы ЦФ.

4. Синтез имитационной модели рекурсивного ЦФ по заданной форме  амплитудно-      частотной характеристики.

5. Синтез имитационной модели рекурсивного ЦФ с помощью программы SPTool.

Задание № 1. Синтез ЦФ по заданной форме ИХ

В общем случае ЦФ порядка Nописывается линейным разностным уравнением

,                                        (1)

где x(n) и y(n) – отсчеты входного и выходного сигналов в моменты времени nT (Т = const – период дискретизации сигналов), ак , bk – коэффициенты фильтра, постоянные во времени.

Структурная схема ЦФ, реализованного в прямой форме, приведена ниже.

Порядок ЦФ N определяется максимальным числом элементов задержки в прямом или обратном регистрах сдвига.

ЦФ, описываемый уравнением (1), называется рекурсивным. Если все коэффициенты ак равны 0, то фильтр является нерекурсивным.

Импульсная характеристика h(n) – реакция ЦФ на единичный импульс.

Фильтр с конечной импульсной характеристикой (КИХ-фильтр) – ЦФ, у которого ИХ может принимать отличные от 0 значения на конечном временном интервале. В противном случае фильтр обладает бесконечной ИХ (БИХ-фильтр).

Задается порядок ЦФ N и форма его ИХ на конечном интервале. Определить коэффициенты фильтра akи bk с помощью функции prony(…). Найти реальную ИХ синтезированного фильтра, используя функции filter (…) и  impz(…).

Задание № 2. Определение АЧХ и ФЧХ синтезированного ЦФ

Частотная характеристика (ЧХ)  – комплексная функция, определяется реакцией ЦФ в установившемся режиме на

Комментарии к записи Исследование рекурсивного цифрового фильтра отключены

Filed under Алгоритмы

Экология. Озеро

Экология. Озеро

СОДЕРЖАНИЕ

Глава 1.

Обзор литературы

3

1.1 Общие сведения

3

1.2. Характеристики озера

5

1.2.1 Физико-географические характеристики озера Глухое

6

1.2.2. Морфометрические характеристики озер

7

1.2.3 Классификация озер

9

1.2.4. Водный баланс и внешний водообмен озер

11

1.2.5. Колебания уровня воды в озерах

12

1.2.6. Ветровое волнение в озерах, течения, перемешивание вод

13

1.2.7. Температурный режим и ледовые явления на озерах

14

1.2.8. Гидрохимический режим озер

16

1.2.9. Гидробиологические характеристики озер

17

1.3. Фазы развития озера

19

Комментарии к записи Экология. Озеро отключены

Filed under Разное

Принципы управления инвестиционной и инновационной деятельностью предприятия

Принципы управления инвестиционной и инновационной деятельностью предприятия

Введение
Правовой основой инвестиционной деятельности в РФ выступают Федеральные законы «Об инвестиционной деятельности в Российской Федерации, осуществляемой в форме капитальных вложений» от 25.02.99 г. № 39 ФЗ и «О внесении
изменений в Федеральный Закон «Об инвестиционной деятельности, осуществляемой в форме капитальных вложений»» от
02.01.2000 г. № 22 ФЗ, согласно которым вводится понятие
приоритетный инвестиционный проект.
Капитальные вложения – это инвестиции в основной капитал (основные средства), в том числе затраты финансовых,
трудовых и материальных ресурсов, направляемые на новое
строительство, расширение, реконструкцию, техническое перевооружение действующих предприятий; приобретение машин,
оборудования, инструмента; проектно-изыскательские работы;
другие затраты.
Инвестиционный проект – обоснование экономической
целесообразности, объема и сроков осуществления капитальных вложений, в том числе необходимая проектно-сметная
документация, разработанная в соответствии с законодательством РФ и утвержденная по установленным стандартам (норма и правилам), а также описание практических действий по
осуществлению инвестиций в форме бизнес-плана.
Инновационный проект определяется как конечный результат инновационного процесса, включающего научно-исследовательские, опытно-конструкторские, проектно-технологические и экспериментальные работы, а также работы по производству
(изготовлению) и эксплуатации новой продукции, новых технологических процессов и новых способов организации производства, труда и управления.
Создание и реализация инвестиционного и инновационного проектов требуют тщательной проработки организационно
го и экономического механизма управления и эксплуатации,
включая следующие этапы:
– выбор и предварительное обоснование инвестиционного
замысла (идеи);
– научно-исследовательские и опытно-конструкторские
работы (для инновационных проектов);
– исследование инвестиционных возможностей;
– технико-экономическое обоснование проекта;
– подготовку научно-исследовательской и проектной документации;
– строительно-монтажные работы;
– подготовку и освоение производства;
– эксплуатацию объекта и организацию выпуска продукции;
– инвестиционный контроль.
Для эффективного управления инвестиционным проектом
следует различать капиталообразующие инвестиции, которые
обеспечивают создание и воспроизводство основных и оборотных фондов, а также портфельные инвестиции – помещение
средств в финансовые активы других предприятий.
Капиталообразующие инвестиции (затраты) определяются
как сумма средств, необходимых для строительства, расширения, реконструкции или технического перевооружения предприятия, оснащения его оборудованием, а

Комментарии к записи Принципы управления инвестиционной и инновационной деятельностью предприятия отключены

Filed under Менеджмент

Анализ норматива оборотных средств предприятия

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ.. 1

Исходные данные. 2

1. Определение норматива оборотных средств по элементу «Производственные запасы». 3

1.1 Норматив по сырью, основным материалам, покупным изделиям и полуфабрикатам.. 3

1.2 Норматив по прочим оборотным средствам в составе производственных запасов (вспомогательные материалы, топливо, запасные части, МБП) 3

2. Определение норматива по незавершённому производству. 3

3. Определение норматива оборотных средств по элементу «Готовая продукция». 3

4. Определение общего норматива оборотных средств. 4

5. Определение оборачиваемости оборотных средств (количество оборотов) в плановом.. 4

6. Определение длительности одного оборота. 4

7. Определение количества оборотов при ускорении (замедлении) оборачиваемости. 4

8. Определение норматива оборотных средств при ускорении (замедлении) оборачиваемости. 4

9. Определение величины высвобождения (или дополнительного вовлечения) денежных. 4

 

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

  1. ­Рассчитать норматив оборотных средств;
  2. Определить величину высвобождения (вовлечения) денежных средств в результате ускорения (замедления) оборачиваемости оборотных средств.

Исходные данные:

п/п

Наименование

показателей

Единица

измерения

Значение

показателя

1

Выпуск продукции по себестоимости

руб.

1042000

2

Расход сырья, основных материалов, покупных изделий и полуфабрикатов

руб.

356000

3

Норматив по прочим оборотным средствам в составе производ ственных запасов

руб.

44994

4

Интервал между поставками

дн.

26

5

Длительность цикла изготовления продукции

дн.

4

6

Норматив оборотных средств по элементу “Расходы будущих периодов”

Комментарии к записи Анализ норматива оборотных средств предприятия отключены

Filed under Экономика

Ключевое слово this

Ключевое слово this

Ключевое слово this

 

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

Ключевое слово this используется, в частности, при перегрузке операций.

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

 

class cl

{

int i;

}

 

Для данного класса функция – член класса может иметь оператор присваивания i=10. В действительности этот оператор является короткой записью оператора

 

this ->i=10;

 

Чтобы понять, как указатель this работает, рассмотрим следующую короткую программу:

 

// Ex17. Использование указателя this

#include <stdio.h>

#include <conio.h>

#include <iostream.h>

 

class cl

{

int i;

public:

void load_i (int val)

{

this->i = val;

}

int get_i (void)

{

return this->i;

}

};

 

void main (void)

{

cl c;

 

c.load_i(100);

cout << c.get_i();

 

getch();

}

 

 

 

 

 

Перегрузка операций

 

За небольшим исключением большинству операций языка C++ может придано специальное значение относительно вновь определенных классов. Для встроенных типов данных значение операции изменить нельзя. Например, класс, который определяет список указателей, может использовать операцию + для добавления объекта в список. Когда операция перегружена, ни одно из ее исходных значений не теряется. Просто вводится новая операция относительно нового конкретного класса.

Чтобы перегрузить операцию, надо определить, что эта операция значит относительно класса, к которому она будет применяться. Для этого задается специальная функция операции (operator function), которая определяет действие этой операции.

 

Основная форма записи функции-операции, являющейся функцией – членом класса:

 

Тип_возвр_знач имя_класса::operator # (список аргументов)

{

// операторы, определяющие действие

}

 

# – конкретный знак операции, Часто возвращаемое значение имеет тот же тип, что и класс, хотя возможен и другой тип этого значения. Функция операции должна быть или членом класса или дружественной функцией. Небольшие отличия в случае члена класса или дружественной функции имеются.

Рассмотрим на примере, как реализуется перегрузка операций. Рассмотрим программу, которая перегружает операции + и = относительно класса vectог. Класс vector определяет трехмерный вектор в евклидовом пространстве. Операция сложения двух векторов выполняется как сложение соответствующих координат:

 

// Ex 18. Перегрузка операций + и =

 

#include <stdio.h>

#include <conio.h>

#include <iostream.h>

 

class vector

{

int x, y, z;

public:

vector operator+ (vector t);

vector operator= (vector t);

void show(void);

void assign (int mx, int my, int mz);

};

 

vector vector::operator+ (vector t)

{

vector temp;

 

temp.x = x + t.x;

temp.y = y + t.y;

temp.

Комментарии к записи Ключевое слово this отключены

Filed under Программирование

Технология и организация производства продукции и услуг

Технология и организация производства продукции и услуг

1. РазРаботка схем сбоРки
РадиоэлектРонной аппаРатуРы
проектирование технологического процесса сборки значительно упрощается, если проанализирована структура конструкции рЭа, ее конструктивно-технологические особенности, варианты организации процесса сборки для заданного объема выпуска. для этого составляют схемы сборочного состава элементов и
технологические схемы сборки.
Эти схемы дают возможность определить взаимную связь между деталями и сборочными единицами в рЭа. построение таких
схем практически представляет собой разработку проекта технологического процесса, при этом руководствуются следующими
рекомендациями: схемы сборочного состава строят независимо
от объема выпуска рЭа. сборочные единицы схем образуются
независимо от условий сборки, контроля, хранения и транспортировки; первая ступень сборочного состава не является сборочной, на ней располагают детали, материалы, входящие в состав
рЭа (припои, лаки, компаунды и т. д.); минимальное количество деталей, необходимое для образования сборочной единицы,
равно двум; при присоединении к сборочной единице данной ступени сборки одной детали образуется сборочная единица высшей
ступени; каждая последующая ступень не может быть образована без наличия предыдущей ступени.
конструкция радиоэлектронной аппаратуры характеризуется показателем степени сложности сборочного состава, который
равен количеству степеней сборки n; средней полнотой сборочного состава (количество сборочных единиц на каждой ступени
сборки)
n
P Q n/ m ni/ , (1.1)
i 1
где Q – общее количество сборочных единиц по схеме сборочного состава; mi – коэффициент кратности, равный количеству
сборочных единиц на i-й ступени сборки по схеме; степенью расчлененности сборочного процесса, которая характеризуется длительностью сборочной операции и модулем расчлененности:

М = K / Q,

(1.2)

где K – окончательно запроектированное число сборочных операций.

2. технико-экономическое
обоснование метода сбоРки
2.1. Тип производства определяют из анализа конструкции
рЭа, программы выпуска и действительного годового фонда рабочего времени. для определенного типа производства выбирают оптимальные методы сборки, необходимые оборудования и
оснастку. Тип производства устанавливают с помощью коэффициента серийности

kс =Kо /np,

(2.1)

где Kо – это количество сборочных операций по технологическому процессу; nр – число рабочих мест, необходимых для выполнения процесса сборки

Tшт.i
i 1

np
60 Ф

д

,

(2.2)

где N – это годовой объем выпуска рЭа, шт.; Tшт.i – трудоемi1
кость сборки рЭа, мин; Тшт. i – норма штучного времени i-й сборочной операции, мин; k –коэффициент выполнения норм в процессе сборки; Фд – действительный годовой фонд времени, ч.
значения kс< = 1 соответствует

Комментарии к записи Технология и организация производства продукции и услуг отключены

Filed under Примеры работ и исследования