Главная страница
Навигация по странице:

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

  • ИВАНОВ КУРСОВАЯ. Разработка информационной системы в интегрированной среде программирования


    Скачать 1.41 Mb.
    НазваниеРазработка информационной системы в интегрированной среде программирования
    Дата13.10.2022
    Размер1.41 Mb.
    Формат файлаdocx
    Имя файлаИВАНОВ КУРСОВАЯ.docx
    ТипПояснительная записка
    #731762

    Министерство науки и высшего образования Российской Федерации

    Федеральное государственное бюджетное образовательное

    учреждение высшего образования

    «Воронежский государственный лесотехнический университет

    имени Г.Ф. Морозова»
    Кафедра вычислительной техники и информационных систем


    Пояснительная записка
    курсовой работы
    на тему «Разработка информационной системы в интегрированной среде программирования»

    Вариант 7
    09.03.02 Информационные системы и технологии
    По дисциплине «Высокоуровневые методы программирования»


    Студент группы _ИС2-191-OБ___

    (номер группы)

    Руководитель, _к.т.н.___________

    (ученая степень, ученое звание)



    ___________

    (подпись)

    __________

    (подпись)

    А.Я.Иванов

    (инициалы и фамилия)

    _О.В. Оксюта__

    (инициалы и фамилия)



    Воронеж 2022

    Министерство науки и высшего образования Российской Федерации

    Федеральное государственное бюджетное образовательное

    учреждение высшего образования

    «Воронежский государственный лесотехнический университет

    имени Г.Ф. Морозова»
    Кафедра вычислительной техники и информационных систем

    ЗАДАНИЕ

    для курсовой работы
    Студенту Иванову Алексею Яковлевичу группы ИС2-191-OБ

    (фамилия и полные инициалы)
    Воронежского государственного лесотехнического университета

    имени Г.Ф. Морозова
    Направление 09.03.02 Информационные системы и технологии

    Срок представления работы к защите «___» ___________ 2022 г.
    Исходные данные для проектирования:разработать класс и программу, иллюстрирующую его возможности, необходимо задать набор функций для получения значений и модификации элементов-данных, находящихся в закрытой части класса, определить перечень операций над объектами класса.
    Перечень вопросов, подлежащих разработке: цель курсового проектирования, краткие сведения по теме, обзор литературных источников; описать функции для получения значений и модификации элементов-данных, процесс проектирования закрытой и открытой частей класса, класс должен иметь, по крайней мере, два конструктора, определенных программистом: конструктор по умолчанию и конструктор с параметрами.

    Руководитель, к.т.н _____________ О.В. Оксюта

    (ученая степень, ученое звание) (подпись) (инициалы и фамилия)

    Задание принял студент ____________ ______________ А.Я.Иванов

    (подпись) (число, месяц, год) (инициалы и фамилия)

    ОГЛАВЛЕНИЕ


    ВВЕДЕНИЕ 4

    1.Язык С# и среда разработки 5

    1.1 Общее описание языка 5

    1.3 Описание среды разработки MS Visual Studio 7

    2.Выполнение практических заданий 9

    2.1 Построение графика функций 9

    2.2 Компьютерная графика 10

    2.3 Анимация 11

    ЗАКЛЮЧЕНИЕ 13

    СПИСОК ЛИТЕРАТУРЫ 14

    ПРИЛОЖЕНИЕ 1 14

    ПРИЛОЖЕНИЕ 2 17

    using System; 17

    ПРИЛОЖЕНИЕ 3 18

    ВВЕДЕНИЕ



    С# — это типизированный, объектно-ориентированный, простой и в то же время мощный язык программирования, который позволяет разработчикам создавать многофункциональные приложения. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET (программной платформы от компании Microsoft, предназначенной для создания обычных программ и вебприложений).

    Символ # (октоторп) в названии языка печатается на клавиатуре как Shift+З, что символизирует третью реализацию С. С другой стороны # можно интерпретировать и как две пары плюсов ++;++, намекающие на новый шаг в развитии языка по сравнению с C++ (подобно шагу от С к C++), и как музыкальный символ диез, вместе с буквой С составляющий в английском языке название ноты до-диез (англ. С sharp). Октоторп # часто называют «шарпом» (от англ, sharp) из-за его схожести с диезом ?, отсюда и название языка — «Си шарп».

    C# относится к семье языков с С-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. C# — это фактически гибрид разных языков. Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk - и опираясь на практику их использования, C# синтаксически не менее (если не более) чист, чем Java, так же прост, как Visual Basic, и обладает практически той же мощью и гибкостью, что и C++.

    Целью данной курсовой работы является изучение возможностей языка программирования, среды разработки MicrosoftVisualStudio

    Задача курсовой работы – разработать приложения согласно заданиям в среде MSVisualStudioвозможностями языка C#

    1. Язык С# и среда разработки



    1.1 Общее описание языка
    Последнее время С и C++ являются наиболее используемыми языками для разработки коммерческих и бизнес приложений. Эти языки устраивают многих разработчиков, но в действительности не обеспечивают должной продуктивности разработки. К примеру, процесс написания приложения на С++ зачастую занимает значительно больше времени, чем разработка эквивалентного приложения, скажем, на Visual Basic. Сейчас существуют языки, увеличивающие продуктивность разработки за счет потери в гибкости, которая так привычна и необходима программистам на С/С++. Подобные решения являются весьма неудобными для разработчиков и зачастую предлагают значительно меньшие возможности. Эти языки также не ориентированы на взаимодействие с появляющимися сегодня системами и очень часто они не соответствуют существующей практике программирования для Web. Многие разработчики хотели бы использовать современный язык, который позволял бы писать, читать и сопровождать программы с простотой Visual Basic и в то же время давал мощь и гибкость C++, обеспечивал доступ ко всем функциональным возможностям системы, взаимодействовал бы с существующими программами и легко работал с возникающими Web стандартами.

    Учитывая все подобные пожелания, Microsoft разработала новый язык - C#. В него входит много полезных особенностей - простота, объектная ориентированность, типовая защищенность, "сборка мусора", поддержка совместимости версий и многое другое. Данные возможности позволяют быстро и легко разрабатывать приложения, особенно COM+ приложения и Web сервисы. При создании C#, его авторы учитывали достижения многих других языков программирования: C++, C, Java, SmallTalk, Delphi, Visual Basic и т.д. Надо заметить что по причине того, что C# разрабатывался с чистого листа, у его авторов была возможность (которой они явно воспользовались), оставить в прошлом все неудобные и неприятные особенности (существующие, как правило, для обратной совместимости), любого из предшествующих ему языков. В результате получился действительно простой, удобный и современный язык, по мощности не уступающий С++, но существенно повышающий продуктивность разработок.

    Важной и отличительной от С++ особенностью C# является его простота. К примеру, всегда ли вы помните, когда пишите на С++, где нужно использовать "- >", где "::", а где "."? Даже если нет, то компилятор всегда поправляет вас в случае ошибки. Это говорит лишь о том, что в действительности можно обойтись только одним оператором, а компилятор сам будет распознавать его значение. Так в C#, оператор"->" используется очень ограничено (в unsafe блоках, о которых речь пойдет ниже), оператор "::" вообще не существует. Практически всегда вы используете только оператор "." и вам больше не нужно стоять перед выбором.

    Еще один пример. При написании программ на ^С++ вам приходилось думать не только о типах данных, но и о их размере в конкретной реализации. В

    C# все упрощено - теперь символ Unicode называется просто char (а не wchar_t, как в С++) и 64-битное целое теперь - long (а не int64). Также в C# нет знаковых и беззнаковых символьных типов.


    1.2 Особенности C#
    Возможность отметки классов и методов атрибутами, определяемыми пользователем, (это может быть полезно при документировании и способно воздействовать на процесс компиляции - например, можно пометить методы, которые должны компилироваться только в отладочном режиме).

    Полный доступ к библиотеке базовых классов .NET, а также легкий доступ к Windows API (если это действительно необходимо).

    Указатели и прямой доступ к памяти, если они необходимы (однако язык разработан таким образом, что практически во всех случаях можно обойтись и без этого). Поддержка свойств и событий в стиле Visual Basic.

    Простое изменение ключей компиляции. Позволяет получать исполняемые файлы или библиотеки компонентов .NET, которые могут быть вызваны другим кодом так же, как элементы управления ActiveX (компоненты СОМ).

    Возможность использования C# для написания динамических web-страниц ASP.NET. Одной из областей, для которых не предназначен этот язык, являются критичные по времени и высокопроизводительные программы, когда имеет значение, занимать на исполнение цикла 1000 или 1050 машинных циклов, и освобождать ресурсы требуется немедленно. C++ остается в этой области наилучшим из языков высокого уровня. В C# отсутствуют некоторые ключевые моменты, необходимые для создания высокопроизводительных приложений, в частности подставляемые функции и деструкторы, выполнение которых гарантируется в определенных точках кода.
    1.3 Описание среды разработки MS Visual Studio
    Microsoft Visual Studio является средой программирования, разработанной компанией Microsoft. Эта среда позволяет создавать кроссплатформенные проекты на различных языках программирования, таких как Visual Basic, Visual C#, Visual C++, Visual F# и другие. Также она позволяет создавать программы, использующие в своей работе платформу .NET, которая позволяет использовать большой набор сервисов, реализующихся в виде промежуточного, независящего от базовой архитектуры, кода. Основной целью создания платформы .NET является возможность реализации разработчиками специальных сервисно-ориентированных программ, работающих на любых платформах.

    MS Visual Studio позволяет разработчику иметь доступ к огромной коллекции различных функций, которые позволяют вести разработки для любой версии операционной системы семейства Windows, для интернет-приложений и мобильных приложений. Также среда программирования открывает широкие возможности в области облачных технологий. Эта среда открывает разработчику широкие возможности для реализации самых разных проектов, реализуя высокую производительность и независимость от особенностей оборудования.

    Microsoft Visual Studio позволяет осуществлять проектирование программ, используя любые по размеру команды. Эта среда разработки предоставляет инструменты планирования для возможности внедрения методов последовательной разработки, а также для гибкого планирования. Используя весь спектр возможностей, предоставляемых MS Visual Studio, можно реализовать максимально полную систему, наиболее удачно спроектировать любую архитектуру. Таким образом Microsoft Visual Studio представляет собой передовую среду разработки.

    1. Выполнение практических заданий



    2.1 Построение графика функций
    Составить программу, отображающую графики функций на интервале [Xmin, Xmax].

    Для построения используются следующие 2 графика функций:







    Для организации интерфейса пользователя использован компонент Chart, с помощью которого выполняется непосредственная отрисовка графика функций. Компоненты textbox использованы для ввода диапазона расчёта и шага построения графика. Кнопка Button обрабатывает процедуру чтения исходных данных и построения графика функций.

    В Приложении 1 отображён программный код приложения

    Для создания двух графиков инициализированы 3 массива, содержащих значения x, рассчитываемые на основе границ интервала и шага итерации, а также непосредственные значения двух функций.Значения высчитываются с помощью цикла по параметру for. Поле вычислений всех значений функций выполняется построение соответствующих графиков с помощью метода Chart DataBindXY, в который передаются массивы значений x и y.



    Рисунок 2.1 - Выполнения приложения в диапазоне от -3 до 3
    2.2 Компьютерная графика
    Создать собственное приложение, выводящее на форму рисунок, состоящий из различных объектов.

    В Приложении 2 отображен программный код приложения.

    Для рисования используется объект Graphics. Для рисования звёзд в форме использовалась процедура FillRechtangle, она закрашивала основную часть экрана, далее для падения снега нарисованы офигурки через FillEllipse. Сами снежинки нарисованы с помощью процедуры FillPolygon. Анимация падений сделана автоматически Они являются составными, по краям которых, с помощью процедуры DrawAcr был нарисован участок контура, после чего верхние и нижние края соединены прямой линией – процедура DrawLine.




    Рисунок 2.4 - Изображение с помощью объекта Graphics



    2.3 Анимация
    Создайте программу, показывающую скачущий мячик.

    Программный код расположен в Приложении 3.

    Для реализации данного задания используется объект Graphics. Молекула отображена в виде окружности и нарисована с помощью функции DrawEllipse. За изначальные координаты движения изображения принят центр окна. С помощью таймера timer1 с заданным интервалом выполняется перерисовка окружности с новыми координатами. Их расчёт основан на объекте Random. Изначально задаётся время движения, равное нулю. Это необходимо для корректного начала работы условного оператора, который при нулевом значении времени рассчитывает направление(dir) и время движения(wait). Их значения записываются в соответствующие переменные. Далее согласно значению переменной направления через оператор switch case выполняется изменение координат окружности. В случае коллизии фигуры с краем окна переменная времени движения обнуляется и производится пересчёт dir и wait. После окончания времени процедура повторяется. Движение «молекулы» выполняется бесконечно, пока работает программа.

    ЗАКЛЮЧЕНИЕ


    На основании материала, изученного в данной работе, можно сформулировать следующие выводы:

    Возникновение языка C# было обусловлено прогрессом технологий и возрастающими достижениями в области программирования и разработки

    C# относится к С-подобным языкам, поэтому многие синтаксические конструкции являются заимствованными из более ранних реализаций С. Также C# имеет некоторое сходство с Java, так как создан на общем базисе для решения сходной задачи (создание переносимого кода)

    Язык C# выгодно отличается от своих предшественников и конкурентов широким спектром поддерживаемых возможностей и относительной простотой в использовании C# популярен, так как применяется для создания приложений, пользующихся большим спросом (а также вследствие распространения ОС Windows и созданной для неё NET Framework)

    В результате выполнения данной работы изучены возможности языка программирования C#. Согласно заданиям разработаны интерфейсы пользователя, продуманы алгоритмы и написан программный код. Функциональность и работоспособность приложений соответствует заданиям.

    СПИСОК ЛИТЕРАТУРЫ



    1. Агуров, Павел C#. Сборник рецептов / Павел Агуров. - М.: "БХВ-Петербург", 2012. - 432 c.

    2. Албахари, Джозеф C# 3.0. Справочник / Джозеф Албахари , Бен Албахари. - М.: БХВ-Петербург, 2012. - 944 c.

    3. Албахари, Джозеф C# 3.0. Справочник / Джозеф Албахари , Бен Албахари. - М.: БХВ-Петербург, 2013. - 944 c.

    4. Альфред, В. Ахо Компиляторы. Принципы, технологии и инструментарий / Альфред В. Ахо и др. - М.: Вильямс, 2015. - 266 c.

    5. Бишоп, Дж. C# в кратком изложении / Дж. Бишоп, Н. Хорспул. - М.: Бином. Лаборатория знаний, 2013. - 472 c.

    6. Вагнер, Билл С# Эффективное программирование / Билл Вагнер. - М.: ЛОРИ, 2013. - 320 c.

    7. Зиборов, В.В. Visual C# 2012 на примерах / В.В. Зиборов. - М.: БХВ-Петербург, 2013. - 480 c.

    8. Зиборов, Виктор Visual C# 2010 на примерах / Виктор Зиборов. - М.: "БХВ-Петербург", 2011. - 432 c.

    9. Ишкова, Э. А. Самоучитель С#. Начала программирования / Э.А. Ишкова. - М.: Наука и техника, 2013. - 496 c.

    10. Касаткин, А. И. Профессиональное программирование на языке си. Управление ресурсами / А.И. Касаткин. - М.: Высшая школа, 2012. - 432 c.

    11. Лотка, Рокфорд C# и CSLA .NET Framework. Разработка бизнес-объектов / Рокфорд Лотка. - М.: Вильямс, 2010. - 816 c.

    12. Мак-Дональд, Мэтью Silverlight 5 с примерами на C# для профессионалов / Мэтью Мак-Дональд. - М.: Вильямс, 2013. - 848 c.

    13. Марченко, А. Л. Основы программирования на С# 2.0 / А.Л. Марченко. - М.: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2011. - 552 c.

    ПРИЛОЖЕНИЕ 1

    using System;

    using System.Collections.Generic;

    using System.ComponentModel;

    using System.Drawing;

    using System.Data;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    using System.Windows.Forms;
    namespace coursework

    {

    public partial class UserControl1: UserControl

    {

    public UserControl1()

    {

    InitializeComponent();

    }
    private void textBox1_TextChanged(object sender, EventArgs e)

    {
    }
    private void textBox2_TextChanged(object sender, EventArgs e)

    {
    }
    private void textBox3_TextChanged(object sender, EventArgs e)

    {
    }
    private void button1_Click(object sender, EventArgs e)

    private void decidebut_Click(object sender, EventArgs e)

    {

    double X0 = Convert.ToDouble(X0textB.Text);

    double Xk = Convert.ToDouble(XKtextB.Text);

    double Dx = Convert.ToDouble(DXtextB.Text);

    double a = Convert.ToDouble(AtextB.Text);

    ResultText.Text = "Работу выполнил Иванов Алексей" + Environment.NewLine;

    double x = X0;

    while (x <= Xk)

    {

    double t = Math.Pow(x, 0.66) - a;

    double m = Math.Cos(x + Math.Exp(x));

    double n = m * t;

    double y = a + n;

    ResultText.Text += "x=" + Convert.ToString(x) + "; y=" + Convert.ToString(y) + Environment.NewLine;

    x = x + Dx;

    }

    x[i] = Xmin + Step * i;

    y1[i] = Math.Sin(x[i]);

    y2[i] = 9*(x[i]+15*Math.Sqrt(Math.Pow(x[i],3)+Math.Pow(2.5,3)));

    }
    chart1.ChartAreas[0].AxisX.Minimum = Xmin;

    chart1.ChartAreas[0].AxisX.Maximum = Xmax;

    chart1.ChartAreas[0].AxisX.MajorGrid.Interval = Step;
    chart1.Series[0].Points.DataBindXY(x, y1);

    chart1.Series[1].Points.DataBindXY(x, y2);

    }
    private void chart1_Click(object sender, EventArgs e)

    {
    }

    }

    }

    ПРИЛОЖЕНИЕ 2

    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 WindowsFormsApplication1

    {

    public partial class Form1 : Form

    {

    Bitmap bmp;

    Graphics g;

    static int n = 1000;// количество звёзд

    star[] s = new star[n];

    Random r = new Random();

    public Form1()

    {

    InitializeComponent();

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

    {

    s[i] = new star();

    s[i].x = r.Next(10, pictureBox1.Width);

    s[i].y = r.Next(1, pictureBox1.Height);

    s[i].speed = r.Next(1, 10);

    s[i].size = r.Next(1, 5);

    }

    }
    private void Form1_Load(object sender, EventArgs e)

    {

    timer1.Enabled = true;

    }

    private void timer1_Tick(object sender, EventArgs e)

    {

    PrepateGraph();

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

    {

    s[i].move(pictureBox1.Width, pictureBox1.Height, r);

    g.FillEllipse(Brushes.White, (int)s[i].x, (int)s[i].y, (int)s[i].size, (int)s[i].size);

    }

    pictureBox1.BackgroundImage = bmp;

    }

    private void PrepateGraph()

    {

    bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

    g = Graphics.FromImage(bmp);

    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

    g.Clear(Color.Black);

    }

    }

    public partial class star

    {

    public double x, y, speed, size;
    public void move(int maxX, int maxY, Random r)

    {

    y += speed;

    if (y > maxY)

    {

    x = r.Next(1, maxX - 1); y = 0; speed = r.Next(1, 10); size = r.Next(1, 5);

    }

    }

    }

    }

    ПРИЛОЖЕНИЕ 3

    using System;

    using System.Drawing;

    using System.Threading;

    using System.Windows.Forms;
    public class AnimateBall : Form

    {

    private int x, y;

    private Button suspend = new Button();

    private Button resume = new Button();

    private Button abort = new Button();

    Thread t;
    public AnimateBall()

    {

    BackColor = Color.White;

    abort.Text = "Сброс";

    suspend.Text = "Пауза";

    resume.Text = "Продолжить";
    int w = 20;

    suspend.Location = new Point(w, 200);

    resume.Location = new Point(w += 10 + suspend.Width, 200);

    abort.Location = new Point(w += 10 + resume.Width, 200);
    abort.Click += new EventHandler(Abort_Click);

    suspend.Click += new EventHandler(Suspend_Click);

    resume.Click += new EventHandler(Resume_Click);
    Controls.Add(suspend);

    Controls.Add(resume);

    Controls.Add(abort);
    t = new Thread(new ThreadStart(Run));

    t.Start();

    }

    protected void Abort_Click(object sender, EventArgs e)

    {

    t.Abort();

    }

    protected void Suspend_Click(object sender, EventArgs e)

    {

    t.Suspend();

    }

    protected void Resume_Click(object sender, EventArgs e)

    {

    t.Resume();

    }

    protected override void OnPaint(PaintEventArgs e)

    {

    Graphics g = e.Graphics;

    g.FillEllipse(Brushes.Red, 100, y, 4, 4);

    base.OnPaint(e);

    }

    public void Run()

    {

    int dx = 2, dy = 2;

    y = 1;
    while (true)

    {

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

    {

    y += dy;

    Invalidate();

    Thread.Sleep(10);

    }

    dx = -dx; dy = -dy;

    }

    }

    public static void Main()

    {

    Application.Run(new AnimateBall());

    }

    }


    написать администратору сайта