Автоматизация расчетов в бизнес-планировании

Автор работы: Пользователь скрыл имя, 12 Октября 2013 в 20:26, курсовая работа

Краткое описание

Цель данной работы: разработка программного средства, позволяющего автоматизировать расчеты в бизнес-планировании ОАО «Крайинвестбанк», используя основные показатели оценки эффективности вложения денежных средств.
Для достижения поставленной цели должны быть решены следующие задачи:
1. Изучить деятельность ОАО «Крайинвестбанк»
2. Изучить теоретические основы бизнес-планирования.
3. Разработать алгоритм решения задачи.

Содержание

ВВЕДЕНИЕ 3
1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ БИЗНЕС-ПЛАНИРОВАНИЯ 5
1.1 Сущность бизнес-планирования 5
1.2 Расчеты в бизнес-планировании 9
2 ИНФОРМАЦИОННО-ЭКОНОМИЧЕСКАЯ ХАРАКТЕРИСТИКА ОАО «КРАЙИНВЕСТБАНК» 19
2.1 Общая оценка результатов деятельности кредитной организации - эмитента в банковском секторе 19
2.2 Анализ тенденций развития в сфере основной деятельности кредитной организации – эмитента 23
3 АВТОМАТИЗАЦИЯ РАСЧЕТОВ В БИЗНЕС-ПЛАНИРОВАНИИ 26
ЗАКЛЮЧЕНИЕ 30
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 32

Прикрепленные файлы: 1 файл

Курсовая работа.doc

— 495.50 Кб (Скачать документ)

Рисунок 2. Окно программы при запуске

Здесь пользователю необходимо ввести желаемую норму прибыли  в годовом  исчислении (в процентах), указать  размер шага, срок проекта, а так  же указать: считать поток на шаге 1 дисконтированным или не считать. После этого надо нажать на кнопку «Создать таблицу». На экране появится окно созданной таблицы (рис. 3).

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

 

Рисунок 3. Окно созданной таблицы

Для примера решим следующую  задачу с помощью программы:

Для местного молокозавода планируется  приобрести специальное оборудование, но прежде необходимо подготовить помещение. Эту работу планируют осуществить  в течение года, ее стоимость  70 тыс. руб., которые рассматривают как предынвестиционные затраты. В конце года будет приобретено оборудование за 350 тыс. руб. По расчетам срок его эксплуатации — 5 лет. Доход, который принесет эксплуатация оборудования, составит во 2, 3, 4 и 5-м годах планируемого периода соответственно 100 тыс., 150 тыс., 200 тыс. и 250 тыс. руб. Необходимо определить целесообразность данного проекта, применив методы расчета чистой текущей стоимости и рентабельности инвестиций, исходя из возможности альтернативного вложения капитала под 10% годовых.

Вводим в программу известные  данные (рис. 4).

Рисунок 5. Ввод в программу данных

Нажимаем «Создать таблицу» и заполняем  созданную таблицу (рис. 5).

Рисунок 5. Заполнение таблицы

После закрытия таблицы, автоматически  рассчитались: чистый дисконтированный доход, рентабельность инвестиций и срок окупаемости проекта (рис. 6).

Рисунок 6. Рассчитанные данные

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

 

ЗАКЛЮЧЕНИЕ

Бизнес-план разрабатывается для внутреннего пользования предпринимателями (менеджерами) и сотрудниками фирмы с целью подробного анализа всех аспектов организации нового дела и оценки ожидаемых результатов; потенциальных инвесторов (банков, фондов, отдельных граждан) с целью убежденной мотивации по вложению средств в данный бизнес.

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

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

  1. определение чистой текущей стоимости;
  2. расчет рентабельности инвестиций;
  3. расчет внутренней нормы прибыли;
  4. расчет периода окупаемости инвестиций.

Целью ОАО «Крайинвестбанк» на рынке  инвестиций является создание благоприятных  условий для развития бизнеса  наших Клиентов.

Деятельность Банка в области  инвестиций осуществляется в двух направлениях — вложение собственных средств  банка в эффективные проекты  и поиск сторонних инвесторов в интересах клиентов банка для  реализации перспективных проектов.

В текущих институциональных условиях российским банкам удается демонстрировать неплохие темпы роста. По мнению экспертов РИА Рейтинг, в 2013 году динамика основных показателей банковской системы несколько снизится, что будет связано с постепенным насыщение банковского рынка страны.

В результате выполнения курсовой работы была разработана программа «Расчеты в бизнес-планировании» способная рассчитывать: чистый дисконтированный доход, рентабельность инвестиций и срок окупаемости проекта. Приложение обладает интуитивно понятным интерфейсом и защищено от неправильного ввода данных. Написана программа на языке C# с использованием среды разработки Microsoft Visual Studio 2010. Проведенное тестирование работы программы не выявило ошибок, однако это не исключает возможности их появления при проведении более глубокого и длительного тестирования.

 

СПИСОК  ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. С. И. Грядов, П. У. Подгорбунская, В. А. Удалов, И. Т. Крячков, Н. Е. Агошкова, Д. С. Алексанов. Организация предпринимательской деятельности/С. И. Грядов, П. У. Подгорбунский, В. А. Удалов и др.; Под ред. Грядова. – Мю: КолосС, 2007. – 416 с.: ил. – (Учебники и учеб. пособия для студентов высш. учеб. заведений ).
  2. Нечаев В. И., Рысьмятов А. З., Соколова А. П., Кузьмин А. В. Практикум по организации предпринимательской деятельности в АПК/ Под ред. В.И. Нечаева. – Мю: КолосС, 2008. – 255 с.: ил. – (Учебники и учеб. пособия для студентов высш. учеб. заведений ).
  3. Лытнев О.Н., Основы финансового менеджмента. Курс лекций. – М.: Дело, 2001.
  4. Нечаев В. И., Рысьмятов А. З., Соколова А. П., Кузьмин А. В. Практикум по организации предпринимательской деятельности в АПК – М.: КолосС, 2008. – 255 с.
  5. Цымбаленко С.В., Цымбаленко Т.Т. Финансовые  вычисления: Учебное  пособие. – М.: Финансы  и  статистика, 2004. – 160с.: ил.
  6. Шеремет А.Д., Негащев Е.В. Методика финансового анализа деятельности коммерческих организаций. – М.: ИНФРА-М, 2003.-237 с.
  7. [http://iknowbusiness.ru/textbook/?dblog_newsitemid=49&dblog_newsitem=textbook] – блок, бизнес-учебник.
  8. [http://vid1.rian.ru/ig/ratings/b_banki_12.pdf] - РИАРЕТИНГ, группа РИА новостей.

 

ПРИЛОЖЕНИЕ

Листинг файла «Program.cs»

using System;

using System.Collections.Generic;

using System.Linq;

using System.Windows.Forms;

 

namespace planirovanie

{

    static class Program

    {

        /// <summary>

        /// Главная точка входа для приложения.

        /// </summary>

        [STAThread]

        static void Main()

        {

            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);

            Application.Run(new Form1());

        }

    }

}

 

 

Листинг файла «Form1.cs»

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

 

namespace planirovanie

{

    public partial class Form1 : Form

    {

        Form2 tabl_form;

       

        double norma_diskonta;

        int shag;

        bool shag1_diskont;

        int srokProekta;

 

        public Form1()

        {

            InitializeComponent();

        }

 

        private void exit_Click(object sender, EventArgs e)

        {

            Application.Exit();

        }

             

 

        private void Form1_Load(object sender, EventArgs e)

        {

            norma_diskonta = double.Parse(stavka2.Text) / 100.0;

            shag = int.Parse(comboBox1.Text);

            shag1_diskont = true;

            srokProekta = (int)srokProekta1.Value;

          

        }

 

        private void sozdat_tabl_Click(object sender, EventArgs e)

        {

            if (pokaz_tabl.Enabled)

                if (MessageBox.Show("При создании новой таблицы данные из текущей таблицы удаляются! Создать новую таблицу?", "Внимание!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)

                    return;

            tabl_form = new Form2();

            tabl_form.Stavka = norma_diskonta;

            tabl_form.SrokProekta = srokProekta;

            tabl_form.Shag = shag;

            tabl_form.Shag1_diskont = shag1_diskont;

            tabl_form.ShowDialog();          

            NPV1.Text = (Math.Round(tabl_form.NPV, 2)).ToString();

            PI1.Text = (Math.Round(tabl_form.PI, 2)).ToString();       

            srokOkupaemosti_let1.Text = tabl_form.SrokOkup_let.ToString();

            srokOkupaemosti_mes1.Text = tabl_form.SrokOkup_mes.ToString();

            if (tabl_form.Okupitsya) label12.Visible = false;

            else label12.Visible = true;

            groupBox5.Enabled = true;

            pokaz_tabl.Enabled = true;

        }

 

        private void stavka2_Validated(object sender, EventArgs e)

        {

            try

            {

                double s = double.Parse(stavka2.Text) / 100.0;

                if (s < 0)

                {

                    MessageBox.Show("Неверно указана норма дисконта!", "Ошибка");

                    stavka2.Text = (norma_diskonta * 100.0).ToString();

                }

                else norma_diskonta = s;

            }

            catch

            {

                MessageBox.Show("Неверно указана норма дисконта!", "Ошибка");

                stavka2.Text = (norma_diskonta * 100.0).ToString();

            }

        }

 

        private void comboBox1_Validated(object sender, EventArgs e)

        {

            switch (comboBox1.Text)

            {

                case "1": shag = 1; break;

                case "2": shag = 2; break;

                case "4": shag = 4; break;

                case "12": shag = 12; break;

                default: shag = 1; comboBox1.Text = "1"; MessageBox.Show("Неверно указан шаг!", "Ошибка"); break;

            }

        }

 

        private void shag1_diskontirovan1_Validated(object sender, EventArgs e)

        {

            if (shag1_diskontirovan1.Text == "Да") shag1_diskont = true;

            else

            {

                if (shag1_diskontirovan1.Text == "Нет") shag1_diskont = false;

                else

                {

                    MessageBox.Show("Неверно указан параметр!", "Ошибка");

                    shag1_diskont = true;

                    shag1_diskontirovan1.Text = "Да";

                }

            }

          

        }

 

        private void srokProekta1_Validated(object sender, EventArgs e)

        {

            try

            {

                srokProekta = (int)srokProekta1.Value;

            }

            catch

            {

                MessageBox.Show("Неверно указан срок проекта!", "Ошибка");

                srokProekta1.Value = srokProekta;

            }

        }

 

        private void pokaz_tabl_Click(object sender, EventArgs e)

        {

            tabl_form.ShowDialog();

            NPV1.Text = (Math.Round(tabl_form.NPV, 2)).ToString();

            PI1.Text = (Math.Round(tabl_form.PI, 2)).ToString();          

            srokOkupaemosti_let1.Text = tabl_form.SrokOkup_let.ToString();

            srokOkupaemosti_mes1.Text = tabl_form.SrokOkup_mes.ToString();

            if (tabl_form.Okupitsya) label12.Visible = false;

            else label12.Visible = true;

        }

 

      

       

                

    }

}

 

Листинг файла «Form2.cs»

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

 

namespace planirovanie

{

    public partial class Form2 : Form

    {

        double stavka;

        int shag;

        bool shag1_diskont;

        int srokProekta;       

        bool f;

 

        double npv;

        double pi;

     

        int srokOkup_let;

        int srokOkup_mes;

        bool okupitsya;

 

        public Form2()

        {

            InitializeComponent();

            f = true;

        }

 

        public double NPV

        {

            get { return npv; }

        }

 

        public double PI

        {

            get { return pi; }

        }   

 

        public int SrokOkup_let

        {

            get { return srokOkup_let; }

        }

 

        public int SrokOkup_mes

        {

            get { return srokOkup_mes; }

        }

 

        public bool Okupitsya

        {

            get { return okupitsya; }

        }

       

        public double Stavka

        {

            set { stavka = value; }

        }

 

        public int Shag

        {

            set { shag = value; }

        }

 

        public bool Shag1_diskont

        {

            set { shag1_diskont = value; }

        }

 

        public int SrokProekta

        {

            set { srokProekta = value; }

        }

 

        private void Form2_Load(object sender, EventArgs e)

        {

            if (f)

            {

                npv = 0;

                pi = 0;              

                srokOkup_let = 0;

                srokOkup_mes = 0;

                okupitsya = true;

 

                int n = srokProekta * shag;

                tabl1.Rows.Add(n + 1);

                int k = 1;

                int m = 1;

                for (int i = 0; i < n; i++)

                {

                    tabl1.Rows[i].Cells[0].Value = (i + 1).ToString();

                    tabl1.Rows[i].Cells[1].Value = k.ToString();

                    tabl1.Rows[i].Cells[2].Value = 0;

                    tabl1.Rows[i].Cells[3].Value = 0;

                    tabl1.Rows[i].Cells[4].Value = 0;

                    tabl1.Rows[i].Cells[5].Value = 0;

                    tabl1.Rows[i].Cells[6].Value = 0;

                    if (m == shag)

                    {

                        k++;

                        m = 1;

                    }

                    else m++;

                }

                tabl1.Rows[n].Cells[0].Value = "итого:";

                tabl1.Rows[n].Cells[1].Value = "-";

                tabl1.Rows[n].Cells[2].Value = 0;

                tabl1.Rows[n].Cells[3].Value = 0;

                tabl1.Rows[n].Cells[4].Value = 0;

                tabl1.Rows[n].Cells[5].Value = 0;

                tabl1.Rows[n].Cells[6].Value = "-";

                tabl1.Rows[n].ReadOnly = true;

                f = false;

            }        

        }

 

        void Raschet()

        {

            okupitsya = true;

            int n;

            double summa_dohod = 0;

            double summa_rashod = 0;

            double summa_diskont_dohod = 0;

            double summa_diskont_rashod = 0;

            double summa_summa = 0;

            double summa_diskont = 0;

            int shag_okup = 0;

            bool shag_f = false;

            int m = tabl1.Rows.Count - 1;

            int z = m-1;

            for (int i = 0; i < m; i++)

            {

                tabl1.Rows[i].Cells[4].Value = double.Parse(tabl1.Rows[i].Cells[2].Value.ToString())

                    - double.Parse(tabl1.Rows[i].Cells[3].Value.ToString());

 

                n = int.Parse(tabl1.Rows[i].Cells[0].Value.ToString()) - 1;

                if (shag1_diskont) n++;

 

                summa_diskont_dohod += double.Parse(tabl1.Rows[i].Cells[2].Value.ToString())

                    / Math.Pow((1 + stavka / shag), n);

                summa_diskont_rashod += double.Parse(tabl1.Rows[i].Cells[3].Value.ToString())

                    / Math.Pow((1 + stavka / shag), n);

 

                tabl1.Rows[i].Cells[5].Value = double.Parse(tabl1.Rows[i].Cells[4].Value.ToString())

Информация о работе Автоматизация расчетов в бизнес-планировании