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

  • Цель

  • Листинг (исходный код программы)

  • Результаты работы программы

  • Курсовая по программированию. разработка программного обеспечения на языке высокого уровня c#


    Скачать 1.38 Mb.
    Названиеразработка программного обеспечения на языке высокого уровня c#
    АнкорКурсовая по программированию
    Дата28.06.2022
    Размер1.38 Mb.
    Формат файлаdocx
    Имя файлаКурсовая по программированию.docx
    ТипПояснительная записка
    #618156
    страница2 из 6
    1   2   3   4   5   6

    Содержание


    Введение 5

    1 Среда программирования Visual Studio. Линейные алгоритмы 7

    2 Разветвляющиеся алгоритмы 16

    3 Одномерные массивы 21

    4 Двумерные массивы 25

    5 Классы 29

    6 Свойства и методы класса. Перегрузка операций 32

    7 Наследование 38

    8 Элементы библиотеки Windows Forms. 46

    Заключение 52

    Список использованных источников 53


    Введение


    Со стороны синтаксиса и возможностей языка, С# является как бы промежуточным вариантом между С++ и Visual Basic. Он унаследовал множество элементов из лучших языков на момент своего создания. Например, из языка С он имеет стиль синтаксиса для управляющих конструкций, блоков кода, описания сигнатуры методов и другие. С# делит с Java такие свойства, как отсутствие множественного наследования, отсутствие шаблонов, а также наличие сборщика мусора. Также в качестве заимствований языка C# можно записать ориентированность на создание компонент из Delphi. Но при всем этом C# имеет свой колорит.

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

    Также одной из основных концепций является возможность рассмотрения любого типа данных, даже примитивных типа int, как объекты, что упрощает проблемы дизайна приложений. Это видно уже в реализации упаковки/распаковки.

    В ключевые концепции языка включается не только простота создания программ, но и их поддержка. В связи с этим язык С# включает в себя возможность контроля версий и поддержку XML комментариев. Также для упрощения разработки, помимо автоматической уборщики мусора и безопасной работы с типами данных, в языке С# используется автоматическая инициализация переменных, при которой все типы, размещаемые в стеке, инициализируются нулями. Если объекты размещаются в куче и доступ к ним осуществляется по объектной ссылке, то эти ссылки инициализируются значением null, которая подразумевает указание ссылки на пустоту.

    Еще одной интересной особенностью языка C# является пространство имен, аналогичное использованию пакетов в языке Java, которое позволяет построить иерархическую систему типов. Это позволяет избежать проблем именования и делает программный код более понятным.

    Событийная модель и обратные вызовы в C# представляют собой новую концепцию объектно-ориентированного типа ссылки на функцию. В языке он называется делегатом, и позволяет описывать события компонента без каких-либо возвратных интерфейсов и лишних усилий. Достаточным условием является лишь использование ключевого слова event.

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

    Одновременно с этим, возможность подобной работы с атрибутами позволяет использовать статичные и динамические библиотеки COM, COM+ и DLL в программах, которые работают в среде .NET. Причем доступ к таким библиотекам достигается в одно небольшое выражение. Работу с перечисляемыми типами позволяет обезопасить использование перечислений.

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

    1 Среда программирования Visual Studio. Линейные алгоритмы


    Цель: Изучение среды программирования Visual Studio и основных видов проектов. Знакомство с языком программирования C#.

    Теоретические сведения

    1. Создание проекта

    Для выполнения лабораторных работ рекомендуется использовать среду программирования Visual Studio версии не ниже 2008.

    Интерфейс среды программирования представлен на рис. 1. Для того чтобы начать писать программу необходимо создать проект, для этого нажать на надпись «Создать: Проект…» либо выбрать пункт меню «Файл»  «Создать проект». Откроется окно, в котором можно выбрать тип проекта и указать его название (рис. 2). Для начала изучения языка C# лучше выбирать тип проекта «Консольное приложение».



    Рисунок 1 — Стартовая страница программирования



    Рисунок 2 — Окно создания проекта

    В поле «Имя:» можно ввести название проекта. После нажатия кнопки «Ок» средой программирования будет автоматически сгенерированы несколько файлов, входящих в проект, в том числе файла с настройками и каркас файла с исходным кодом программы, который откроется в рабочей области среды программирования (рис. 3).



    Рисунок 3 — Исходный код и структура проекта

    Несмотря на то, что никаких действий в данном коде пока не описано, его уже можно скомпилировать и запустить. Для этого нужно выбрать пункт меню «Откладка»  «Запуск без откладки» или нажать сочетание клавиш Ctrl F5 (рис. 4).



    Рисунок 4 — Пункт меню для запуска проекта
    2. Операторы ввода-вывода

    Для ввода данных в программу используется функция Console.ReadLine(). Для вывода результатов работы функция Console.WriteLine(значение).

    Рассмотрим простой пример программного кода.

    Console.WriteLine("Введите имя");

    string name = "";

    name = Console.ReadLine();

    Console.WriteLine("Привет, " + name);

    Данная программа сначала выведет на экран сообщение «Введите имя» и будет ждать пользовательского ввода. После нажатия «Enter» программа выведет приветствие того, чьё имя было введено.

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

    int.Parse(Console.ReadLine()) , если необходимо вводить целые числа

    и

    double.Parse(Console.ReadLine()) , если необходимо вводить числа с дробной частью.

    3. Математические функции

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

    Math.Sin(a) — синус a.

    Math.Asin(a) — арксинус a.

    Math.Cos(a) — косинус a.

    Math.Acos(a) — арккосинус a.

    Math.Tan(a) — тангенс a.

    Math.Atan(a) — арктангенс a.

    Math.Pow(a,b) — возведение числа a в степень b.

    Math.Log(a,b) — логарифм числа a по основанию b.

    Math.Log(a) — натуральный логарифм числа a.

    Задание

    Напишите программу для расчёта по двум формулам (результат вычисления по первой формуле должен совпадать со второй).



    Решение

    На рис 5 представлена схема алгоритма.





    Рисунок 5 - Схема алгоритма

    Листинг (исходный код программы)

    namespace Laborat1

    {

    class Program

    {

    static void Main(string[] args)

    {

    double alfa;

    double betta;

    {

    Console.Write("аlfa = ");

    while (!double.TryParse(Console.ReadLine(), out alfa)) ;

    }

    {

    Console.Write("betta = ");

    while (!double.TryParse(Console.ReadLine(), out betta)) ;

    }


    double z1 = (Math.Sin(alfa) + Math.Cos(2 * betta - alfa)) / (Math.Cos(alfa) - Math.Sin(2 * betta - alfa)); //расчёт по формулам

    double z2 = (1 + Math.Sin(2 * betta)) / Math.Cos(2 * betta);

    Console.WriteLine(String.Format("alfa = {0:0.0000}", alfa));

    Console.WriteLine(String.Format("betta = {0:0.0000}", betta));

    Console.WriteLine(z1); //вывод результата

    Console.WriteLine(z2);

    Console.ReadLine();

    }

    }

    }

    Результаты работы программы



    Рисунок 6



    Рисунок 7



    Рисунок 8


    1   2   3   4   5   6


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