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

  • Оборудование

  • Условие задачи Составить программу, которая по введенному радиусу R

  • Выполнение 1. Запустить MS Visual Studio

  • 3. Настройка элементов управления типа Label .

  • 4. Элемент управления Button .

  • 6. Программирование события клика на кнопке « Вычислить» . 6.1. Вызов программного кода.

  • 6.2. Ввод программного кода обработки события. В методе button1_Click вписываем код обработки события. Листинг метода следующий: 7 ...

  • 6.3. Корректировка программного кода.

  • Ввод только цифровых значений

  • 7. Запуск программы на выполнение.

  • Преподователь Белозёров В.О.

  • Составление программ линейной структуры с#. Разработка программ линейной структуры


    Скачать 1.05 Mb.
    НазваниеРазработка программ линейной структуры
    Дата14.01.2022
    Размер1.05 Mb.
    Формат файлаpdf
    Имя файлаСоставление программ линейной структуры с#.pdf
    ТипЛабораторная работа
    #331220

    1
    Лабораторная работа № 1
    Тема: Разработка программ линейной структуры.
    Цель работы: Разработка программы линейной структуры в среде Visual
    Studio на языке C#
    Оборудование:IBM – совместимые компьютеры.
    Место проведения: Компьютерный класс.
    Техника безопасности: См. инструкцию.
    Математические функции
    В языке Си Шарп предоставляется целый класс математических методов. Это класс -
    Math
    . В этом классе методы статические. Для его подключения нужно прописать в начале: using System;
    Для вызова метода, необходимо прописать:
    Math
    .Функция();
    В классе
    Math имеется 25 методов математических вычислений.
    Обратите внимание на то, что вычисление синуса, косинуса и так далее вычисляется в радианах
    . Поэтому если вам нужны градусы, нужно конвертировать!!! int gradus = 30; double radian = gradus *
    Math
    .PI / 180;
    А вычисление Акр синуса, косинуса и так далее. Нужно вычислять от -1 до 1. Поэтому: double x = 0.5; double gradus =
    Math
    .Acos(x) * 180 /
    Math
    .PI;
    Math
    .Abs
    Возвращаем абсолютное число, имеет 7 перегрузок.
    То есть метод принимает разные типы переменных. int i =
    Math
    .Abs(x);
    Math
    .Acos Арк Косинус. Определяется угол, косинус которого равен указанному числу. double i =
    Math
    .Acos(0.5);
    Math
    .Asin
    Арк Синус. Также определяет угол. double i =
    Math
    .Asin(0.5);
    Math
    .Atan
    Арк Тангенс. Возвращает угол, значение которого было указано double i =
    Math
    .Atan(0.5);
    Math
    .Cos
    Возвращает косинус угла. double x =
    Math
    .Cos(1.04);
    Math
    .Cosh Возвращает гиперболический косинус угла. double x =
    Math
    .Cosh(radian);
    Math
    .Exp
    Экспонента. double x =
    Math
    .Exp(2);
    Math
    .Log
    Вычисление логарифма. X - число которое нужно найти, Osn - основание логарифма. double x =
    Math
    .Log(X,Osn);
    Math
    .Log10 Вычисление десятичного логарифма. double x =
    Math
    .Log10(10)
    Math
    .Max
    Возвращает из 2-х чисел большее число. Имеет 11 перегруженых методов. int x =
    Math
    .Max(10,20);
    Math
    .Min
    Возвращает из 2-х чисел меньшее число. Имеет 11 перегруженых методов. int x =
    Math
    .Min(10,20);
    Math
    .PI
    Возвращает число Пи. double pi =
    Math
    .PI;
    Math
    .Pow
    Вычисляет число возведенное в степень: a x
    double i =
    Math
    .Pow(a, x);
    Math
    .Sin
    Возвращает синус угла. double p =
    Math
    .Sin(0.5);

    2
    Math
    .Sinh
    Возвращает гиперболический синус угла. double p =
    Math
    .Sin(0.5);
    Math
    .Sqrt
    Возвращает квадратный корень. double r =
    Math
    .Sqrt(7);
    Math
    .Tan
    Возвращает тангенс угла. double p =
    Math
    .Tan(1.04);
    Math
    .Tanh Возвращает гиперболический тангенс угла. double p =
    Math
    .Tanh(1.04);
    Условие задачи
    Составить программу, которая по введенному радиусу
    R
    находит площадь поверхности шара. Программу реализовать как
    Windows Forms Application
    Площадь поверхности шара вычисляется по формуле: где
    R
    – радиус шара,
    π
    константа равная
    3.1415
    В программе используются следующие элементы управления:

    Label
    метка для вывода сообщений;

    Button
    – кнопка для выполнения расчета;

    TextBox
    – поле ввода, предназначенное для ввода значения
    R
    Выполнение
    1.
    Запустить MS Visual Studio.
    Создать проект по шаблону
    Windows Forms Application
    Сохранить проект под любым именем.
    2. Размещение элементов управления на форме.
    Из вкладки «
    Common Controls
    » выносим на форму четыре элемента управления
    (рис. 1):

    два элемента управления типа
    Label
    (метка);

    элемент управления типа
    Button
    (кнопка);

    элемент управления типа
    TextBox
    (строка ввода).

    3
    Рис. 1. Элементы управления
    Label
    ,
    Button
    ,
    TextBox
    Автоматически создаются четыре объекта с именами label1
    , label2
    , button1
    и textBox1
    . По этим именам можно будет иметь доступ к свойствам этих объектов.
    Форма приложения будет иметь вид, как показано на рис. 2.

    4
    Рис. 2. Форма приложения после размещения label1
    , label2
    , button1
    и textBox1
    3. Настройка элементов управления типа
    Label
    .
    Выделяем элемент управления (объект) label1
    . В палитре
    Toolbox изменяем свойство
    Text
    , набираем «
    R =
    «.
    Точно так же изменяется свойство
    Text для элемента управления label2
    (рис. 3).
    Вводим текст «
    Площадь поверхности шара =
    «.
    Рис. 3. Изменение свойства
    Text в label1
    4. Элемент управления
    Button
    .
    Аналогично к label1
    выделяем элемент управления (объект) button1
    . В свойстве
    Text вводим строку «
    Вычислить
    «.
    5. Корректировка вида формы.
    Изменяем название формы. Для этого выделяем форму. В свойстве
    Text формы вводим текст «
    Площадь поверхности шара
    «.
    После корректировки форма будет иметь вид, как показано на рисунке 4.

    5
    Рис. 4. Вид формы после корректировки
    6. Программирование события клика на кнопке «
    Вычислить»
    .
    6.1. Вызов программного кода.
    В программе нужно обработать событие, которое генерируется когда пользователь делает клик «мышкой» на кнопке «
    Вычислить
    «.
    После нажатия на кнопке «
    Вычислить
    » формируется фрагмент кода, который будет обрабатываться нашим приложением. Во время обработки сначала определяется значение введенного радиуса
    R
    , затем делается расчет по формуле и вывод результата.
    Чтобы вызвать фрагмент кода обработки события на кнопке button1
    нужно выполнить такие действия:

    выделить кнопку button1
    (рис. 5 — 1);

    перейти к вкладке
    Events
    (события) в окне свойств (рис. 5 — 2);

    сделать двойной щелчок «мышкой» напротив события «
    Click
    » (рис. 5 —
    3).
    Рис. 5. Последовательность вызова фрагмента кода обработки события
    Click
    В итоге, откроется вкладка программного кода, который размещен в файле
    «
    Form1.cs
    » (рис. 6).

    6
    Рис. 6. Метод обработки события клика на кнопке button1
    Листинг программного кода следующий: 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
    { public
    Form1()
    {
    InitializeComponent();
    } private void button1_Click(
    object sender,
    EventArgs e)
    {
    }
    }
    }
    6.2. Ввод программного кода обработки события.
    В методе button1_Click вписываем код обработки события. Листинг метода следующий:

    7
    ...
    private void button1_Click(
    object sender,
    EventArgs e)
    { const double
    Pi = 3.1415; double
    R,S;
    R =
    Double
    .Parse(textBox1.Text);
    S = 4 * Pi * R * R; label2.Text =
    "Площадь поверхности шара = "
    + S.ToString();
    }
    В коде описываются две переменные
    R
    и
    S
    типа double
    . Также описывается константа
    Pi
    Для преобразования из текстового типа string в тип double используется метод
    Parse
    . Таким образом заполняется значение переменной R.
    R =
    Double
    .Parse(textBox1.Text.ToString());
    Подобным образом можно преобразовывать данные и других типов. Например, для типа int можно написать:
    int
    d;
    d =
    Int32
    .Parse(
    "100"
    );
    // d = 100
    Результат вычисления площади поверхности шара выводится в label2.Text
    Преобразование в тип string осуществляется с помощью метода
    ToString()
    6.3. Корректировка программного кода.
    В коде, описанном в пункте 6.2 нету защиты от некорректного ввода значения
    R
    . Поэтому метод button1_Click нужно переписать следующим образом: private void button1_Click(
    object sender,
    EventArgs e)
    { try
    { double a, b; a =
    Double
    .Parse(textBox1.Text.ToString()); b = 4 *
    Math
    .PI *
    Math
    .Pow(a, 2); label1.Text =
    "Площадь шара = "
    + b.ToString();
    } catch
    (
    FormatException ex)
    {
    //label2.Text = "Ошибка - " + ex.Message;
    //MessageBox.Show("Ошибка выполнения");
    MessageBox
    .Show(
    "Ошибка выполнения"
    ,
    "Сообщение"
    ,
    MessageBoxButtons
    .OK,
    MessageBoxIcon
    .Error);

    8
    }
    }
    Сообщение об ошибке при возникновении исключительной ситуации
    (Рисунок7)
    Рисунок 7
    Блок try
    {
    } catch
    (...)
    {
    }
    позволяет осуществить программный перехват критической (исключительной) ситуации, которая может возникнуть в результате ввода некорректного значения в поле textBox1
    (например «абракадабра»).
    В этом случае в свойстве ex.Message буде выведено сообщение:
    Ошибка – Input string was not in a correct format.
    Ввод только цифровых значений
    Для элемента TextBox, наоборот, недопустимыми значениями будут буквы, в обработчике события KeyPress для текстового поля TextBox укажите код: if (!char.IsDigit(e.KeyChar) )
    { e.Handled = true;
    MessageBox.Show("Поле ввода не может содержать буквы");
    }

    9
    Ввод только текста
    В тело обработчика события KeyPress для текстового поля TextBox укажите следующий код (для элемента TextBox недопустимыми значениями будут цифры): if (char.IsDigit(e.KeyChar) )
    { e.Handled = true;
    MessageBox.Show("Поле ввода не может содержать цифры");
    }
    7. Запуск программы на выполнение.
    После этого можно запустить нашу программу на выполнение и протестировать ее работу при любых значениях
    R
    Варианты задания (в соответствии с номером компьютера)
    1.
    Вычислить площадь треугольника. S=1/2*a*h
    2.
    Вычислить площадь трапеции S=(a+b)/2*h
    3.
    Вычислить площадь поверхности и объем цилиндра S=2π*r(h+r); v=π*r
    2
    *h
    4.
    Вычислить площадь трапеции S=(a+b)/2*h
    5.
    Вычислить площадь поверхности и объем шара v=3/4π*r
    3
    ; s=4*π*r
    2 6.
    Вычислить объем цилиндра v=π*r
    2
    *h
    7.
    Вычислить объем полого цилиндра v=π*h*(r1 2
    -r2 2
    )
    8.
    Вычислить площадь конуса s=1/3*π* r
    2
    *h
    9.
    Вычислить общее сопротивление из двух параллельно соединенных резисторов. Rобщ=(R1*R2)/(R1+R2)
    10.
    Вычислить объем усеченного конуса v= 1/3*π*h*(r1 2
    +r1*r2+
    r2 2
    )
    11.
    Вычислить объем шарового сегмента v=1/3* π*h
    2
    *(3*R-h)

    10 12.
    Вычислить объем шарового слоя V=1/2* π*h*(R
    2
    +r
    2
    +1/3*h
    2
    )
    13.
    Вычислить объем шарового сектора V=2/3* π*R
    2
    *h
    14.
    Вычислить объем правильной треугольной пирамиды V=(h*a
    2
    )/(4*
    3
    )
    15.
    Вычислить площадь кольца
    S = π (R
    2
    - r
    2
    );
    16.
    Вычислить эллипса
    S = π a b;

    11 17.
    Вычислить площадь параллелограмма
    S = b h;
    Студент должен знать: Среду программирования Visual Studio на языке C#
    Студент должен уметь: Создать программу для решения поставленной задачи, сохранить и откомпилировать проект.
    Преподователь Белозёров В.О.


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