Автор работы: Пользователь скрыл имя, 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
Рисунок 2. Окно программы при запуске
Здесь пользователю необходимо ввести желаемую норму прибыли в годовом исчислении (в процентах), указать размер шага, срок проекта, а так же указать: считать поток на шаге 1 дисконтированным или не считать. После этого надо нажать на кнопку «Создать таблицу». На экране появится окно созданной таблицы (рис. 3).
После ввода всех данных и закрытия окна таблицы будут рассчитаны: чистый дисконтированный доход, рентабельность инвестиций и срок окупаемости проекта.
Рисунок 3. Окно созданной таблицы
Для примера решим следующую задачу с помощью программы:
Для местного молокозавода планируется приобрести специальное оборудование, но прежде необходимо подготовить помещение. Эту работу планируют осуществить в течение года, ее стоимость 70 тыс. руб., которые рассматривают как предынвестиционные затраты. В конце года будет приобретено оборудование за 350 тыс. руб. По расчетам срок его эксплуатации — 5 лет. Доход, который принесет эксплуатация оборудования, составит во 2, 3, 4 и 5-м годах планируемого периода соответственно 100 тыс., 150 тыс., 200 тыс. и 250 тыс. руб. Необходимо определить целесообразность данного проекта, применив методы расчета чистой текущей стоимости и рентабельности инвестиций, исходя из возможности альтернативного вложения капитала под 10% годовых.
Вводим в программу известные данные (рис. 4).
Рисунок 5. Ввод в программу данных
Нажимаем «Создать таблицу» и заполняем созданную таблицу (рис. 5).
Рисунок 5. Заполнение таблицы
После закрытия таблицы, автоматически рассчитались: чистый дисконтированный доход, рентабельность инвестиций и срок окупаемости проекта (рис. 6).
Рисунок 6. Рассчитанные данные
Положительное значение чистого дисконтированного
дохода свидетельствует о
Бизнес-план разрабатывается для внутреннего пользования предпринимателями (менеджерами) и сотрудниками фирмы с целью подробного анализа всех аспектов организации нового дела и оценки ожидаемых результатов; потенциальных инвесторов (банков, фондов, отдельных граждан) с целью убежденной мотивации по вложению средств в данный бизнес.
Практика планирования подтверждает
тесное взаимодействие бизнес-планов
и социально-экономических
Смысл оценки любого инвестиционного
проекта состоит в
Целью ОАО «Крайинвестбанк» на рынке инвестиций является создание благоприятных условий для развития бизнеса наших Клиентов.
Деятельность Банка в области инвестиций осуществляется в двух направлениях — вложение собственных средств банка в эффективные проекты и поиск сторонних инвесторов в интересах клиентов банка для реализации перспективных проектов.
В текущих институциональных условиях российским банкам удается демонстрировать неплохие темпы роста. По мнению экспертов РИА Рейтинг, в 2013 году динамика основных показателей банковской системы несколько снизится, что будет связано с постепенным насыщение банковского рынка страны.
В результате выполнения курсовой работы была разработана программа «Расчеты в бизнес-планировании» способная рассчитывать: чистый дисконтированный доход, рентабельность инвестиций и срок окупаемости проекта. Приложение обладает интуитивно понятным интерфейсом и защищено от неправильного ввода данных. Написана программа на языке C# с использованием среды разработки Microsoft Visual Studio 2010. Проведенное тестирование работы программы не выявило ошибок, однако это не исключает возможности их появления при проведении более глубокого и длительного тестирования.
Листинг файла «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.
Application.
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.
srokOkupaemosti_mes1.Text = tabl_form.SrokOkup_mes.
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_
{
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.
srokOkupaemosti_mes1.Text = tabl_form.SrokOkup_mes.
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].
- double.Parse(tabl1.Rows[i].
n = int.Parse(tabl1.Rows[i].Cells[
if (shag1_diskont) n++;
summa_diskont_dohod += double.Parse(tabl1.Rows[i].
/ Math.Pow((1 + stavka / shag), n);
summa_diskont_rashod += double.Parse(tabl1.Rows[i].
/ Math.Pow((1 + stavka / shag), n);
tabl1.Rows[i].Cells[5].Value = double.Parse(tabl1.Rows[i].
Информация о работе Автоматизация расчетов в бизнес-планировании