Разработка оконного приложения в среде Microsoft Visual Studio "Расчет конического соединения"

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

http: ///

http: ///

Содержание

  • Введение
  • 1. Анализ предложенной области

1.1 Преимущества конических соединений

1.2 Виды языков программирования

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

  • 2. Задачи проектирования программной системы
    • 3. Процесс создания программы (проектирование программы)
    • 3.1 Проектирование интерфейса
    • 3.2 Ход разработки программы
  • 4. Реализация программы
  • 5. Тестирование программы
  • Заключение
  • Список литературы
  • Приложение
  • Введение
  • В современном мире разработка программного обеспечения превратилась в одну из самых дорогостоящих индустрий и любые узкие места в технологическом процессе его создания могут привести к нежелательным результатам. Удлинение сроков разработки программного обеспечения чревато удорожанием конечного продукта, а не выявленные в ходе тестирования ошибки приводят как минимум к снижению его производительности. Примитивные ошибки, невнятные сообщения и неряшливый интерфейс раздражают пользователей, которые в итоге выбирают более качественный продукт конкурента, а фирма рискует потерять не только клиентов, но и свою долю рынка. Поэтому, качество программного обеспечения приобретает первостепенное значение
  • Актуальность темы курсового проекта заключается в том, что в наше время разработка прикладных программ играет огромную роль в различных сферах индустрии. Курсовой проект играет огромную роль в закрепление навыков проектирования прикладных программ с помощь средств Visual Studio 2010 на таком языке как C#.
  • Целью моей курсовой работы является разработка оконного приложения для расчёта конического соединения.
  • 1. Анализ предложенной области
  • Коническим соединением — называют соединение наружного и внутреннего конусов, имеющих одинаковые номинальные углы конуса или одинаковые номинальные конусности. Конические соединения по сравнению с цилиндрическими имеют ряд преимуществ и в некоторых случаях являются незаменимыми. Они могут быть подвижными, неподвижными и плотными.
  • Конические соединения широко применяют в машинах, приборах, аппаратах, трубопроводах. На качество конических соединений влияют погрешности углов и отклонения формы сопрягаемых поверхностей. Для повышения точности центрирования, нагрузочной способности, износостойкости и герметичности соединений необходимо обеспечить равномерный контакт сопрягаемых поверхностей.
  • Конические соединения служат для передачи вращающих моментов, центрирования соединяемых деталей, регулирования в процессе сборки величины зазора или натяга путем взаимных осевых смещений соединяемых деталей и уплотнения стыков. Аналогично цилиндрическим соединениям они подразделяются на три разновидности: подвижные соединения с гарантированным зазором
  • Эти соединения широко применяют в машинах, приборах, аппаратах, трубопроводах. На качество конических соединений влияют погрешности углов и отклонения формы сопрягаемых поверхностей. Для повышения точности центрирования, нагрузочной способности, износостойкости и герметичности соединений необходимо обеспечивать равномерный контакт сопрягаемых поверхностей. Однако это весьма трудоемкая операция и при ней нарушается взаимозаменяемость парных конусов, поэтому взаимную притирку применяют только при очень высоких требованиях к точности и герметичности соединений. по сравнению с цилиндрическими обеспечивают возможность большего числа повторных сборок. Эти соединения считают перспективными. Расчеты их аналогичны расчетам цилиндрических соединений
  • На рисунке (рис. 1) показана схема конического соединения, также конические соединения по сравнению с цилиндрическими обеспечивают возможность большего числа повторных сборок. Эти соединения считают перспективными. Расчеты их аналогичны расчетам цилиндрических соединений
  • Рисунок 1. Схема конического соединения
  • Коническое соединение характеризуется конической посадкой и базорасстоянием этого соединения. Для конических соединений установлены посадки с натягом, зазором и переходные. Величина получаемого зазора или натяга определяется разностью диаметров внутреннего и наружного конусов в их поперечных сечениях, совмещаемых после фиксации взаимного осевого положения сопрягаемых деталей.
  • 1.1 Преимущества конических соединений

1. Обеспечивает необходимую посадку.

2. Обеспечивает необходимое центрирование.

3. Легкость разборки.

Расчет конического соединения.

1 В конических соединениях втулка запрессовывается в конец вала.

Рисунок 2 втулка запрессовывается в конец вала

2 расчетные формулы для метрических единиц, соединение показано на рисунке 3

Рисунок 3. Коническое соединение

Расчет конусности приведен в формуле 1.

Формула 1. Расчет конусности.

Расчет конусного градиента приведен в формуле 2.

Формула 2. Расчет конусного градиента.

Расчет среднего диаметра приведен в формуле 3.

Формула 3. Расчет среднего диаметра.

Расчет требуемого давления в соединении приведен в формуле 4.

Формула 4. Расчет требуемого давления в соединении.

Расчет требуемой силы сжатия приведен в формуле 5.

Формула 5. Расчет требуемой силы сжатия.

Расчет усилия для разрыва соединения приведен в формуле 6.

Формула 6. Расчет усилия для разрыва соединения.

прикладной конусный градиент сжатие

Расчет проверки прочности приведен в формуле 7.

p? pA

формула 7. Расчет проверки прочности.

Где:

T

крутящий момент [Нм]

d

малый диаметр вала [мм]

D

больший диаметр вала [мм]

p

контактное давление в соединении [МПа]

pA

допустимое давление [MПa]

L

длина втулки [мм]

U

зажимной коэффициент U = от 0,008 до 0,1 [-]

ks

запас прочности при смещении [-]

ф

угол трения ф = arctg ф

1.2 Виды языков программирования

Формализованный язык программирования предназначен для:

описания программ и алгоритмов решения задач на ЭВМ. Языки программирования являются искусственными. В них синтаксис и семантика строго определены.

Поэтому они не допускают свободного толкования выражения, что характерно для естественного языка.

Языки программирования разделяются на две основные категории языки высокого уровня и языки низкого уровня:

§ Язык высокого уровня [high-level language] - Язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами транслятора либо интерпретатора. К языкам высокого уровня относят Фортран, ПЛ/1, Бейсик, Паскаль, Си, Ада и др.

§ Язык низкого уровня, [low-level language ] - Язык программирования, предназначенный для определенного типа ЭВМ и отражающий его внутренний машинный код (см. ниже также «машинный язык «, «машинно-ориентированный язык «и «язык ассемблера «).

Различают также следующие виды языков программирования:

§ Алгоритмический язык [algorithmic language ] - Совокупность символов, соглашений и правил, используемых для однозначного описания алгоритмов и обычно являющаяся часть языка программирования;

§ Неалгоритмический язык [nonalgorithmic language] - Язык программирования, тексты которого не содержат указаний на порядок выполнения операций и служат лишь исходным материалом для синтеза алгоритма решения задачи;

§ Формальный язык [formal language] - Язык программирования, построенный по правилам некоторого логического исчисления или формальной грамматики [formal grammar ], представляющей собой систему правил построения в заданном алфавите конечных знаковых последовательностей, множество которых образует формальный язык;

§ Исходный язык [source language] - Язык программирования, на котором написана программа, в отличие от машинного языка, на котором программы выполняются компьютером. Исходные языки классифицируются на языки высокого уровня и языки низкого уровня.

§ Машинный (абсолютный) язык, язык ЭВМ [computer (machine) language] - Язык программирования, предназначенный для представления программ в форме, обеспечивающей возможность их выполнения техническими средствами;

§ Машинозависимый (машинно-ориентированный) язык, машинозависимый язык программирования [computer-sensitive (computer-oriented) language] - Язык программирования, учитывающий структуру и характеристики ЭВМ определенного типа или конкретной ЭВМ;

§ Машиннонезависимый язык [machine-independent language] - Язык программирования, структура и средства которого не связаны ни с какой конкретной ЭВМ и позволяют выполнять составленные на нем программы на любой ЭВМ, снабженной трансляторами (см. ниже) с этого языка;

§ Символический язык, язык символического кодирования [symbolic language] - Язык программирования, ориентированный на конкретные ЭВМ и основанный на кодировании машинных операций при помощи определенного набора символов;

§ Гибридный (комбинированный) язык [hibrid language] - Язык программирования, использующий также средства другого языка;

§ Графический язык [graphic language ] - Язык, предназначенный для написания программ машинной графики и пользования ими.

§ Базовый язык [base language] - Машинный язык, общий для семейства ЭВМ (язык программирования в СУБД с автономным языком).

§ Общий язык [common language] - Машинный язык, общий для группы ЭВМ и используемых ими внешних устройств;

§ Эталонный язык [reference language ] - Язык, являющийся основой для всех его конкретных версий, являющихся вариантами адаптации эталонного языка к определенным условиям применения и назначения;

§ Язык ассемблера, ассемблер [assembler language ] - Универсальный язык программирования, относящийся к категории языков низкого уровня, структура которого определяется форматами команд, данными машинного языка и архитектурой ЭВМ. Используется программистами в тех случаях, когда невозможно применение языка высокого уровня или требуются эффективные программы в машинных кодах.

§ Декларативный (непроцедурный) язык [declararative (nonprocedural) language] - Язык программирования, который позволяет задавать связи и отношения между объектами и величинами, но не определяет последовательность выполнения действий (например, языки Пролог, QBE);

§ Императивный (процедурный) язык [imperative language] - Язык программирования, который позволяет в явной форме (при помощи задания выполняемых операторов) определять действия и порядок (последовательность) их выполнения;

§ Язык функционального программирования, функциональный язык [functional language] - Декларативный язык программирования, основанный на понятии функций, которые задают зависимость, но не определяют порядок вычислений.

§ Специализированный язык [special language] - Язык программирования, ориентированный на решение определенного круга задач;

§ Язык описания страниц [PDL — Page Description Language] - Специализированный язык, предназначенный для печатающих устройств. Предусматривает возможность использования изображений в формате, независимом от параметров устройства отображения. Наиболее известным языком такого типа является PostScript.

§ Автономный язык [freestanding language] - Специализированный язык высокого уровня, в замкнутых СУБД («СУБД с автономным языком «);

§ Язык конструирования интерактивных технологий — В СУБД — язык, предназначенный для описания технологических процессов обработки данных с учетом разделения характера операций по их типам, а также обеспечения диалога с администратором системы;

§ Язык манипулирования данными, ЯМД [DML — Data Manipulation Language] - В СУБД — язык, предназначенный для обращения к базе данных и выполнения поиска, чтения и модификации ее записей;

§ Язык обработки списков [list language] - Специализированный язык, предназначенный для описания процессов обработки данных, представленных в виде списков объектов;

§ Язык описания данных [DDL — Data Description Language ] - Язык, предназначенный для описания «концептуальной схемы» базы данных;

§ Язык описания хранения данных [DSDL — Data Storage Description Language ] - Язык, предназначенный для описания физической структуры (схемы) базы данных;

§ Язык описания страниц [page description language] - Система для кодировки документов, которая позволяет точно описать ее внешний вид после подготовки к выводу на печать или на дисплей. Примером использования такого языка служит PDF (Portable Document Format), разработанный Adobe для хранения и представления изображений страниц.

§ Язык представления знаний [KRL — Knowledge Representation Language] - Декларативный или декларативно-процедурный язык, предназначенный для представления знаний в памяти ЭВМ (например, языки Лисп и Пролог);

§ Язык публикаций [publication language ] - Язык, используемый для публикации алгоритмов и программ;

§ Язык спецификаций [specification language] - Декларативный язык для задания спецификаций программ;

§ Проблемно-ориентированный язык [problem-oriented language] - Язык программирования, предназначенный для решения определенного класса задач (проблем);

§ Процедурный (процедурно-ориентированный) язык [procedure-orinted language] - Проблемно-ориентированный язык, который облегчает выражение процедуры, как точного алгоритма;

§ Язык реального времени [real-time language] - Язык, используемый для программирования задач, в которых критическим является время реакции ЭВМ на сигналы, требующие от нее немедленных действий (например, язык Ада);

§ Язык управления пакетом [batch control language ] - Набор команд, директив, квалификаторов и правил их использования для управления пакетной обработкой данных;

§ Язык управления заданиями [job-control language ] - Язык, на котором записывается последовательность команд, управляющих выполнением задания. В отличие от обычных языков программирования, в которых объектами описания являются элементы, связанные с решением отдельной задачи, в языках управления заданиями преобразуемыми объектами являются целые программы и выходные потоки данных, обработанных этими программами.

§ Общесетевой командный язык [CNCL — Common Network — Command language ] - Стандартный в рамках вычислительной сети язык диалогового (интерактивного) поиска данных, предназначенный для унификации работы пользователей с неоднородными базами данных, управляемых различными СУБД;

§ Системный язык [system language ] - Язык общения оператора ЭВМ с вычислительной системой, представляющий собой совокупность команд оператора и сообщений системы;

§ Язык общего назначения, универсальный язык [universal programming language] - Язык программирования, ориентированный на решение задач практически из любой области и объединяющий на единой методической основе наиболее существенные свойства и средства современных машино- и проблемноориентированных языков программирования (например, язык ассемблера, ПЛ/1 и др.); Язык ориентированный на пользователя [user-oriented language ] - Слабоформализованный язык программирования, близкий к естественному языку;

§ Язык меню [menu language ] - Язык диалога пользователя с системой, основанный на использовании меню.

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

Язык C# появился на свет в июне 2000 г. в результате кропотливой работы большой группы разработчиков компании Microsoft, возглавляемой Андерсом Хейлсбергом (Anders Hejlsberg). Этот человек известен как автор одного из первых компилируемых языков программирования для персональных компьютеров IBM -- Turbo Pascal. Наверное, на территории бывшего Советского Союза многие разработчики со стажем, да и просто люди, обучавшиеся в той или иной форме программированию в вузах, испытали на себе очарование и удобство использования этого продукта. Кроме того, во время работы в корпорации Borland Андерс Хейлсберг прославился созданием интегрированной среды Delphi (он руководил этим проектом вплоть до выхода версии 4. 0).

Авторы C# стремились создать язык, сочетающий простоту и выразительность современных объектно-ориентированных языков (вроде Java) c богатством возможностей и мощью C++. По словам Андерса Хейлсберга, C# позаимствовал большинство своих синтаксических конструкций из C++. В частности, в нем присутствуют такие удобные типы данных, как структуры и перечисления (другой потомок C++ -- Java -- лишен этих элементов, что создает определенные неудобства при программировании). Синтаксические конструкции С# унаследованы не только от C++, но и от Visual Basic. Например, в С#, как и в Visual Basic, используются свойства классов. Как C++, С# позволяет производить перегрузку операторов для созданных вами типов Java не поддерживает ни ту, ни другую возможность). С# -- это фактически гибрид разных языков. При этом С# синтаксически не менее (если не более) чист, чем Java, так же прост, как Visual Basic, и обладает практически той же мощью и гибкостью, что и C++.

Особенности-С#: — Встроенная поддержка автоматической генерации XML-документации. Автоматическое освобождение динамически распределенной памяти.- Возможность отметки классов и методов атрибутами, определяемыми пользователем. Это может быть полезно при документировании и способно воздействовать на процесс компиляции (например, можно пометить методы, которые должны компилироваться только в отладочном режиме).- Полный доступ к библиотеке базовых классов. NET, а также легкий доступ Windows-API — Указатели и прямой доступ к памяти, если они необходимы. Однако язык разработан таким образом, что практически во всех случаях можно обойтись и без этого.- Поддержка свойств и событий в стиле VB. Простое изменение ключей компиляции. Позволяет получать исполняемые файлы или библиотеки компонентов. NET, которые могут быть вызваны другим кодом так же, как элементы управления ActiveX. (компоненты. СОМ).- Возможность использования С# для написания динамических web-страниц ASP. NET. Одной из областей, для которых не предназначен этот язык, являются критичные по времени и высокопроизводительные программы, когда имеет значение, занимать исполнение цикла 1000 или 1050 машинных циклов, и освобождать ресурсы требуется немедленно. C++ остается в этой области наилучшим из языков низкого уровня. В С# отсутствуют некоторые ключевые моменты, необходимые для создания высокопроизводительных приложений, в частности подставляемые функции и деструкторы, выполнение которых гарантируется в определенных точках кода.

2. Задачи проектирования программной системы

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

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

Сама программа должна соответствовать следующим пунктам:

1. Правильность — должна функционировать в соответствии с техническим заданием;

2. Точность — значит, что при вводе точных значений данных мы должны получать точные результаты, а не приближенные их значения;

3. Совместимость — значит, что программа должна подходить к различным видам операционных систем и прикладных программ (в которые она может встраиваться);

4. Надежность — программа должна быть защищена, а также должна присутствовать система самоконтроля действий;

5. Универсальность — программа должна работать при любых допустимых вариантах исходных данных;

6. Защищенность — значит, что у программы должны присутствовать средства для защиты данных от внешнего воздействия, или предотвращающие их утерю в процессе расчетов;

7. Полезность — значит, что проводимые в системе расчеты должны приносить пользу как производственным рабочим, так и обучающимся, а для личного пользования особой полезности не наблюдается;

8. Эффективность — значит, что программа должна работать с максимально эффективной отдачей для пользователя;

9. Проверяемость — значения и расчеты, приведенные в программе должны быть проверяемы без каких бы то ни было ошибок или изменений;

10. Адаптируемость — значит, что программа должна адаптироваться под различные режимы работы и различных пользователей.

Для разработки данной программы использовалась среда разработки Microsoft Visual Studio 2010.

Данная программа обладает следующими минимальными требованиями:

Операционная система: Windows XP/Vista/7/8;

Минимальное количество оперативной памяти: 128 мб;

Видеоадаптер: 64 мб;

Процессор: 300 MHz и высше;

Жесткий диск: 30 Mb;

Устройства ввода клавиатура и манипулятор мышь;

Net. Framework версии 2. 0;

3. Процесс создания программы (проектирование программы)

Для того что бы нам начать написание программы нужно сделать следующие

1. Запустить Visual Studio 2010.

2. В строке меню выбрать Файл, Создать, Проект.

3. На панели установленные шаблоны развернуть Visual C#, а затем выбрать Окна.

4. В центральной области выбрать Консольное приложение (или другое в зависимости от задачи в нашем случае выбрать Создание формы).

5. В окне Имя укажите имя проекта, а затем нажмите кнопку ОК.

В обозревателе решений появится новый проект.

6. Если Program. cs не открыто, в редактор кода открыть контекстное меню для Program. cs в Обозреватель решений, а затем выбрать «Перейти к коду».

В моем случае Обозреватель выглядит следующим образом рисунок 4.

Рисунок 4 структура проекта.

3.1 Проектирование интерфейса

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

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

3.2 Ход разработки программы

Для того что бы нам приступить к разработке программы, нужно запустить приложение Visual Studio 2010:

Пуск- все программы- Microsoft Visual Studio 2010.

Следующим пунктом, нам необходимо создать новый проект приложения Windows Forms C#

Для этого, нажимаем, файл-создать-новый проект, в установочных шаблонах выбираем C# и выбираем Windows Forms.

Должно появиться окошко, как показано на рисунке 5.

Рисунок 5. Начальное окно Windows Forms.

Для того что бы наша форма приобрела корректный вид, на неё нужно добавить кнопки и прочие функциональные вещи (картинку, текстовые боксы) Все это делается, переходом на вкладку панель элементов, панель элементов показана на рисунке 6

Рисунок 6 Вкладка панель элементов.

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

4. Реализация программы

Для создания программы нужно запрограммировать каждый элемент данной формы.

Для начала определим тип входных данных в нашем случае это тип Double.

namespace Conic

{

public partial class Form1: Form

{

string[] _size = {"[мм]", «[д]"};

string[] _force = {"[Н]", «[фт сл]"};

string[] _moment = {"[Нм]", «[фн фт]"};

string[] _pressure = {"[МПа]", «[фт/кв. д]"};

public void calc (double D, double Dd, double L, double T, double pa, double v, double ks)

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

catch

{

MessageBox. Show («Неправильно введенные данные!»);

}

И нужно конечно реализовать решение самих формул, это сделано следующим образом.

double C = (D — Dd) / L;

double tg = C / 2;

double ds = (D + Dd) / 2;

double cos = Math. Cos (Math. Atan (tg));

double p = (2000 * ks * T * cos) / (Math. PI * ds * ds * L * v);

double Fs = Math. PI * ds * L * p * (tg + v) / (1 — tg * v);

double Fs1 = Math. PI * ds * L * p * (v — tg) / (1 + tg * v);

tb_C. Text = Convert. ToString (C);

tb_tg. Text = Convert. ToString (tg);

tb_ds. Text = Convert. ToString (ds);

tb_p. Text = Convert. ToString (p);

tb_Fs. Text = Convert. ToString (Fs);

tb_Fs1. Text = Convert. ToString (Fs1);

5. Тестирование программы

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

Основная цель выделения отладки и тестирования как отдельных этапов создания программы заключается в том, чтобы обратить внимание на обязательность обеих стадий и на необходимость специального планирования временных затрат по каждой из них в отдельности. Никогда не делайте вывода, что программа правильна, лишь на том основании, что она не отвергнута машиной, полностью транслирована и выдала численные результаты. Ведь все, что достигнуто в данном случае,-- это получение некой выходной информации, не обязательно правильной. В программе все еще может оставаться большое количество логических ошибок, а между тем задача, которая ставится при написании программы, -- это не просто получение ответов, но получение правильных ответов. Поэтому обычно бывает, необходима («ручная» проверка машинных результатов). После того как отладка полностью завершена, даже в программе опытного программиста существует примерно одна ошибка на 20--30 написанных: операторов. Эти ошибки могут быть как катастрофическими по своим последствиям, так и незначительными и могут быть связаны как с неправильным алгоритмом, так и с несущественными ошибками кодирования. Таким образом, отлаженная программа -- это программа, для которой просто не нашлось подходящего набора тестовых данных, чтобы привести ее к отказу.

Проведем анализ и тестирование нашей программы.

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

Проведем тестирование программы.

Следующим пунктом проверим, работает ли переключение c метрической системы единиц в Британскую систему единиц результаты на рисунке 8.

Рисунок 8 британская система единиц.

Все в порядке, программа переключает систему единиц с метрической на британскую.

Проверка на правильность ввода данных показана на рисунке 9.

Рисунок 9. Проверка ввода данных.

Все отлично программа не позволит ввести не корректные данные.

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

Заключение

В ходе курсового проекта были показаны достоинства языка программирования C#, можно было увидеть, что язык C# очень прост и легок в «понимание» и создание программ. Я считаю, что данный язык программирования можно рекомендовать для начала обучения программирования в высших учебных заведениях как альтернатива таким языкам программирования как Pascal и С++.

В ходе выполнения данного курсового проекта мною были закреплены и получены новые знания по языку программирования C# а также по программной среде Visual Studio 2010 что в итоге позволило реализовать проект по расчету конического соединения.

Список литературы

1. Агуров П. C#. Разработка компонентов в MS Visual Studio 2005/2008. — СПб.: БХВ-петербург, 2008. — 480с

2. Брайан Керниган, Деннис Ритчи. Язык программирования C -- Москва: Вильямс, 2006. -- 304 с.

3. Гейн А. Г. Основы информатики и вычислительной техники / А. Г. Гейн. — М.: Просвещение, 1992. — 245 с.

4. Могилев А. В. Информатика: учеб. пособие для вузов / А. В. Могилев, Н. И. Пак, Е. К. Хеннер; под ред. Е. К. Хеннера. — М.: Академия, 2000. — 346 с.

5. Павловская Т. А. C#. Программирование на языке высокого уровня. Учебник для вузов. — СПб.: Питер, 2007. — 432с

Приложение. Листинг программы

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 Conic

{

public partial class Form1: Form

{

string[] _size = {"[мм]", «[д]"};

string[] _force = {"[Н]", «[фт сл]"};

string[] _moment = {"[Нм]", «[фн фт]"};

string[] _pressure = {"[МПа]", «[фт/кв. д]"};

public void calc (double D, double Dd, double L, double T, double pa, double v, double ks)

{

double C = (D — Dd) / L;

double tg = C / 2;

double ds = (D + Dd) / 2;

double cos = Math. Cos (Math. Atan (tg));

double p = (2000 * ks * T * cos) / (Math. PI * ds * ds * L * v);

double Fs = Math. PI * ds * L * p * (tg + v) / (1 — tg * v);

double Fs1 = Math. PI * ds * L * p * (v — tg) / (1 + tg * v);

tb_C. Text = Convert. ToString (C);

tb_tg. Text = Convert. ToString (tg);

tb_ds. Text = Convert. ToString (ds);

tb_p. Text = Convert. ToString (p);

tb_Fs. Text = Convert. ToString (Fs);

tb_Fs1. Text = Convert. ToString (Fs1);

}

public Form1()

{

InitializeComponent ();

cbMetricSys. SelectedIndex = 0;

}

private void cbMetricSys_SelectedIndexChanged (object sender, EventArgs e)

{

label7. Text = _size[cbMetricSys. SelectedIndex];

label8. Text = _size[cbMetricSys. SelectedIndex];

label9. Text = _size[cbMetricSys. SelectedIndex];

label10. Text = _moment[cbMetricSys. SelectedIndex];

label11. Text = _pressure[cbMetricSys. SelectedIndex];

label21. Text = _size[cbMetricSys. SelectedIndex];

label22. Text = _pressure[cbMetricSys. SelectedIndex];

label23. Text = _force[cbMetricSys. SelectedIndex];

label24. Text = _force[cbMetricSys. SelectedIndex];

}

private void button1_Click (object sender, EventArgs e)

{

double D;

double Dd;

double L;

double T;

double pa;

double v;

double ks;

try

{

D = Convert. ToDouble (tb_D. Text);

Dd = Convert. ToDouble (tb_D_. Text);

L = Convert. ToDouble (tb_L. Text);

T = Convert. ToDouble (tb_T. Text);

pa = Convert. ToDouble (tb_pa. Text);

v = Convert. ToDouble (tb_v. Text);

ks = Convert. ToDouble (tb_ks. Text);

calc (D, Dd, L, T, pa, v, ks);

}

catch

{

MessageBox. Show («Неправильно введенные данные!»);

}

}

}

}

ПоказатьСвернуть
Заполнить форму текущей работой