Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа»





Скачать 109.62 Kb.
НазваниеКурсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа»
Дата публикации06.07.2015
Размер109.62 Kb.
ТипКурсовая
100-bal.ru > Информатика > Курсовая

Поволжский Государственный Университет Телекоммуникаций и Информатики

Кафедра «ПОУТС»


Сдана на проверку

«___» ________ 2013 г.

Допустить к защите

«___» ________ 2013 г.

Защищена с оценкой

«___» ________ 2013 г.



КУРСОВАЯ РАБОТА
По дисциплине: «Программирование»
На тему: «Демонстрационная программа»

Пояснительная записка


Студент группы ОО-21 _________ Иванов И.И.

(роспись) (ФИО)

Руководитель ______________ к.э.н. Карбаев Д.С.

(роспись) (ФИО)

_____________

(№ зачетной книжки)



Самара, 2013

Рецензия

Демонстрационная программа

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

Реферат


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

Пояснительная записка: 13 с., 5 рис., 0 табл., 1 прил., 4 источника.

ЦИФРОВОЙ СЧЕТЧИК, ФАКТОРИАЛ

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

Язык программирования: С#, .NET Framework 4.0.

Операционная система: Microsoft Windows XP, 7.

Содержание


Реферат 4

Содержание 5

Обоснование и выбор методов решения 5

Описание программы 6

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

Функциональное назначение 7

Описание логической структуры программы 7

Структура файлов 8

Структура классов 8

Методы и поля 9

Руководство пользователя 9

Список используемых источников 10

ПРИЛОЖЕНИЕ 11



Обоснование и выбор методов решения


Развитие современных информационных систем неразрывно связано с оценкой качества информации. Кроме того, в основе многих прикладных моделей лежат вычислительные алгоритмы.

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

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

Для вычисления факториала разработан метод на основе рекурсивного алгоритма:
n! = n*(n-1)!

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

Метод P (процедура или функция) называется рекурсивным, если при выполнении тела метода происходит вызов самого себя (метода P).

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

С точки зрения регулярного программирования строковый тип данных string относится к числу самых важных в С#. Этот тип определяет и поддерживает символьные строки. В целом ряде других языков программирования строка представляет собой массив символов. А в С# строки являются объектами. Следовательно, тип string относится к числу ссылочных.

В C# есть символьный класс char, основанный на классе System.Char и использующий двухбайтную кодировку Unicode представления символов. Для этого типа в языке определены символьные константы - символьные литералы. Константу можно задавать:

  • символом, заключенным в одинарные кавычки;

  • escape-последовательностью;

  • Unicode-последовательностью, задающей Unicode код символа.

Большинство статических методов перегружены. Они могут применяться как к отдельному символу, так и к строке, для которой указывается номер символа для применения метода.

В языке C# определен класс char[], и его можно использовать для представления строк постоянной длины, как это делается в С++. Более того, поскольку массивы в C# динамические, расширяется класс задач, в которых можно использовать массивы символов для представления строк.

Описание программы

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


Приложение, исполняемый файл. Установка не требуется.

Необходимые требования: MS Windows XP/Vista/7.

Язык программирования: C#.

Платформа Microsoft .Net Framework 4.0.

Среда разработки: Microsoft Visual С# 2010.

Объем программы: 8,7 КБ (исполняемый файл и библиотека).

Объем проекта: 336 КБ (вместе с исходным кодом).

Исходный код (классы и код форм): 126 строк.

Функциональное назначение


Приложение обеспечивает подсчет количества цифр в строке и вычисление факториала на основе введенной пользователем информации.

Описание логической структуры программы


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



Рис 1. Общая схема работы программы.

На рис. 2 приведен основной алгоритм работы по рекурсивному вычислению факториала числа.


Рис. 2. Блок-схема рекурсивного алгоритма по вычислению факториала.

Структура файлов


Разработанное решение реализовано в двух проектах (см. рис. 3): Functions и WindowsTest. Проект Functions реализует библиотеку с основными функциями программы. Файл DigitCounter.cs содержит классы Count и DigitCount, файл Factorial.cs содержит интерфейс ICalculable и класс Factorial.

Проект WindowsTest представляет собой приложение Windows Forms, обеспечивающее пользовательский интерфейс к разработанным классам. Содержит одну форму (Form1.cs).



Рис 3. Файловая структура приложения.

Структура классов


Ядро приложения состоит из трех классов (см. рис. 4).

Класс DigitCount предназначен для подсчета цифр в строке, наследует абстрактный класс Count.

Класс Factorial предназначен для вычисления факториала, наследует интерфейс ICalculable.



Рис 4. Диаграмма классов приложения.

Методы и поля


Класс Form1 (Form1.cs) – класс реализации формы пользовательского приложения.

  • private void bCountDigit_Click(object sender, EventArgs e) – обработчик нажатия на кнопку Найти цифры;

  • private void bFactorial_Click(object sender, EventArgs e) – обработчик нажатия на кнопку Факториал.

Класс Count () – абстрактный класс счетчика.

  • public abstract int Increase() – абстрактный метод увеличения счетчика.

Класс DigitCount : Count – класс счетчика цифр в строке.

  • int cnt – поле счетчика;

  • public override int Increase() – увеличивает счетчик cnt на 1 и возвращает это значение;

  • public static int NumberOfDigits(string theString) - статический метод вычисления числа цифр для строкового параметра theString.

Интерфейс ICalculabe – интерфейс вычисления значений математических функций.

  • int x – свойство переменной x.

Класс Factorial : ICalculabe – класс расчета факториала.

  • private int _x – закрытое поле для хранения значения переменной x;

  • private int _y – закрытое поля для хранение значения переменной y;

  • public int x – реализация свойства переменной x;

  • public static int Calc(int i) - статический метод вычисления факториала для целочисленного входного параметра i.

Руководство пользователя


Приложение позволяет пользователю рассчитывать число цифр в строке и вычислять факториал. Основная форма приложения представлена на рис. 5.



Рис 5. Интерфейс пользовательского приложения.

Для того чтобы определить число цифр в строке необходимо ввести строку в поле Введите строку и нажать кнопку Найти цифры. В поле Результат запишется искомое число цифр. Например, для строки «2012 год» результатом будет «Цифр в строке:4».

Для того чтобы вычислить факториал числа необходимо ввести это число в поле Введите число и нажать кнопку Факториал. В поле Результат запишется искомое значение факториала. Например, для значения «10» результатом будет «10!=3628800».

В процессе работы приложения могут возникнуть следующие сообщения:

  • Значение х должно быть целое положительное от 0 до 16 – пользователь ввел данные для вычисления факториала за пределами допустимого диапазона.

  • Неверные данные – пользователь ввел неверные данные (не являющиеся целым числом).



Список используемых источников


  1. Рихтер Д. CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#. – СПб.: Питер, Русская Редакция, 2007. – 656 с.

  2. Троелсен Э. Язык программирования C# и платформа .NET 4. – М.: Вильямс, 2010. – 1392 с.

  3. Шилдт Г. C# 4.0 полное руководство. – М.: Вильямс, 2011. – 1056 с.

  4. Libraries Sample in C# for Visual Studio 2008 [Электронный ресурс]. Режим доступа: http://code.msdn.microsoft.com/Libraries-Sample-6026fa61 - Загл. с экрана.


ПРИЛОЖЕНИЕ



Листинг файла DigitCounter.cs

//Copyright (C) Microsoft Corporation. All rights reserved.
// DigitCounter.cs

// compile with: /target:library

using System;
namespace Functions

{

public abstract class Count

{

public abstract int Increase();

}
public class DigitCount:Count

{

int cnt;

public override int Increase()

{

return ++cnt;

}

///

/// Статический метод вычисления числа цифр для строкового параметра

///


///
Исходная строка


///

public static int NumberOfDigits(string theString)

{

int count = 0;

for ( int i = 0; i < theString.Length; i++ )

{

if ( Char.IsDigit(theString[i]) )

{

count++;

}

}

return count;

}

}

}

Листинг файла Factorial.cs

//Copyright (C) Microsoft Corporation. All rights reserved.
// Factorial.cs

// compile with: /target:library

using System;
namespace Functions

{

interface ICalculable

{

int x

{

get;

set;

}

}

public class Factorial:ICalculable

{

private int _x;

private int _y;
public int x

{

get

{

return _x;

}

set

{

_x = value;

}

}

///

/// Статический метод вычисления факториала для целочисленного входного параметра

///


///
Целое число (от 0 до 16), факториал которого необходимо рассчитать.


///

public static int Calc(int i)

{

return((i <= 1) ? 1 : (i * Calc(i-1)));

}

}

}


Листинг файла 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;

using Functions;
namespace WindowsTest

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}
private void bCountDigit_Click(object sender, EventArgs e)

{

//Вызов статического метода NumberOfDigits для класса Functions.DigitCount

textBox3.Text="Цифр в строке:"+DigitCount.NumberOfDigits(textBox1.Text);

}
private void bFactorial_Click(object sender, EventArgs e)

{

try

{

int x=Convert.ToInt32(textBox2.Text);

if ((x >= 0) && (x <=16))

{

//Вызов статического метода Calc для класса Functions.Factorial

textBox3.Text = textBox2.Text + "!=" + Factorial.Calc(x);

}

else

{

MessageBox.Show("Значение х должно быть целое положительное от 0 до 16.");

}

}

catch (Exception)

{

MessageBox.Show("Неверные данные.");

}

}
}

}

Добавить документ в свой блог или на сайт

Похожие:

Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа по дисциплине Электромагнитная совместимость систем...
Курсовая работа состоит из 20 с, в которых содержаться: 3 рисунка, 3 таблицы, 6 формул и 4 ссылки на литературу
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа по дисциплине «Информатика и программирование»
Кафедра «Программное обеспечение вычислительной техники и автоматизированных систем»
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа на тему : Формирование рынка ценных бумаг в Украине
Курсовая работа содержит 38 листов, 2 рисунка, 2 таблицы и было использовано 11 источников
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа по дисциплине «Предпринимательское право»
Курсовая работа имеет целью систематизацию, закрепление и расширение теоретических знаний, углубленное изучение и решение студентом...
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа по дисциплине на тему: «Мониторы»
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа на тему: «Совершенствование системы мотивации как...

Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconМетодические указания для выполнения курсовой работы по дисциплине...
Курсовая работа согласно учебному плану для специальности 170500 выполняется студентами 2-го курса на 3-ем семестре и составляет...
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа на тему «Открытый урок»
Данная курсовая работа выполнена для того, чтобы учителя русского языка и литературы могли использовать разработанные мною уроки...
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа на тему: «Поисковые системы» по дисциплине "организация ЭВМ "
Учебно-методический комплекс «Таможенное право» составлен в соответствии с требованиями Государственного образовательного стандарта...
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа выполняется на основании 'Задания на курсовую работу'...
Целью курсовой работы является закрепление практических навыков самостоятельной постановки и решения задачи обработки данных с помощью...
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа По дисциплине «Бухгалтерский управленческий учет»
На тему: «Разработка системы управленческого учета на примере предприятия ООО «Столичная кондитерская фабрика»»
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа по дисциплине «Экономическая теория» на тему «Государственное...
Государственное образовательное учреждение высшего профессионального образования
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа на тему: Информационные технологии управления муниципальной недвижимостью
Выписка из образовательного стандарта по учебной дисциплине «Экономическая теория» для студентов, обучающихся по специальностям
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа По дисциплине «Политэкономия» На тему «Денежная система и денежное обращение»
...
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа по дисциплине: «Теория проектирования автоматизированных станочных комплексов»
На тему: «Проект автоматической системы технологического оборудования для обработки основания гидрораспределителя очистного комбайна...
Курсовая работа по дисциплине: «Программирование» На тему: «Демонстрационная программа» iconКурсовая работа по дисциплине: «Экономическая теория» на тему: «Государственное...
Роль государственного регулирования в современной экономике. Структура финансового рынка 3


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск