Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2017-11-18 | 798 |
5.00
из
|
Заказать работу |
Среда программирования предоставляет большой набор компонентов (элементов управления), каждый из которых имеет определенный набор свойств и событий. В рамках проводимых занятий студенты изучают и используют ограниченный набор элементов управления, поэтому здесь приводятся сведения как раз об этих элементах. В таблице 2 приведены основные свойства используемых элементов интерфейса.
Таблица 2. Основные свойства элементов интерфейса
Свойство | Обозначение |
Имя элемента | Name |
Заголовок | Text |
Размер (задается двумя полями – шириной и высотой) | Size (Width, Height) |
Расположение на форме (задается двумя полями – координатами X и Y верхнего левого угла элемента) | Location (x, y) |
Шрифт | Font |
Цвет переднего плана | ForeColor |
Цвет фона | BackColor |
Компонент метка (Label). Компонент находится в списке Common Controls палитры компонентов. Метка предназначена для вывода в свое поле текста или изображения, которые пользователь не может редактировать в процессе выполнения приложения. Метка используется, как правило, для вывода надписи, идентифицирующей объект на форме.
Основное свойство метки – Text (выводимая строка) типа SystemString. Например:
this->label1->Text=”Поле ввода”;
Свойство TextAlign позволяет выравнивать текст в поле компонента, пользователь может выбрать из выпадающего списка способ выравнивания (слева, справа, по центру).
Свойство WordWrap задает возможность автоматического переноса символов в начало следующей строки (без нажатия клавиши Enter).
Свойство BorderStyle задает окантовку метки, которая выбирается из выпадающего списка (возможны три значения: без окантовки, окантовка одной линией, окантовка под трехмерное пространство).
Компонент имеет большое количество событий, основным из которых является событие Click – щелчок кнопкой мыши на метке. Остальные события на практике обычно используются редко.
Компонент однострочный текстовый редактор (TextBox). Однострочный текстовый редактор предназначен для ввода, вывода или редактирования текстовой строки или строк. Его основное свойство – Text (отображаемая строка) типа SystemString. Например: this->textBox1->Text=”Строка текста”;. Содержимое текстовой строки может быть считано в переменную double y следующим образом:
y=Convert::ToDouble(this->textBox1->Text);
Свойство TextAlign позволяет выравнивать текст в поле компонента, пользователь может выбрать из выпадающего списка способ выравнивания (слева, справа, по центру).
Свойство WordWrap задает возможность автоматического переноса символов в начало следующей строки (без нажатия клавиши Enter).
Свойство Lines позволяет задавать строки (с помощью диалогового окна), выводить строки, вводить строки.
Свойство MultiLine задает режим многострочного ввода.
Свойство ReadOnly определяет возможность пользователя изменять текст в поле компонента: при значении этого свойства true – изменять нельзя, при значении false – можно.
Свойство ScrollBars позволяет ввести полосы прокрутки. Используется при многострочном режиме, когда строки не помещаются в отведенное пространство редактора. Вид полос прокрутки выбирается из выпадающего списка.
Основные методы компонента следующие:
AppendText – добавление текста к текущему тексту;
Clear – удаление текста из поля ввода/вывода;
Copy – копирование выбранной строки в буфер памяти;
Cut – вырезка отмеченного множества строк из поля ввода/вывода и помещение их в буфер памяти;
Focus – установка фокуса ввода на компонент;
Hide – установка компонента в невидимое состояние;
Paste – замена текущего выбранного участка текста содержимым буфера памяти;
Select – выборка заданного текста внутри компонента;
SelectAll – выборка всего текста внутри компонента;
Show – установка компонента в видимое состояние;
Undo – отмена последней операции редактирования в поле компонента.
Компонент кнопка Button. Основное назначение кнопки – поддержка щелчка мыши для управления программами. При нажатии на кнопку вызывается обработчик события Click, в который помещается код реализации алгоритма управления.
Среди основных свойств можно выделить Text – текст, отображаемый на кнопке, Size – размеры кнопки.
Основные события
Click – щелчок мышью на кнопке,
Enter – нажатие на клавишу Enter при наведенном на кнопку фокусе,
MouseHover – возникает, когда курсор мыши находится над кнопкой,
MouseLeave – возникает, когда курсор мыши покидает кнопку.
Предпоследнее событие может использоваться для изменения свойств кнопки, например, ее выпячивания для информации пользователя о выбранной кнопке. Последнее событие может использоваться в противовес предыдущему событию для возвращения кнопке исходных свойств.
Кнопка имеет большое количество методов. Среди них отметим
Hide() – делает кнопку невидимой (свойству Visible (видимость) присваивает значение false),
Focus() – наводит фокус на кнопку (делает ее активной),
Select() – выполняет те же действия, что и Focus,
Show() – делает кнопку видимой (свойству Visible присваивает значение true).
15.5 Лабораторная работа №1. Освоение среды визуального программирования на примере создания приложения для вычисления значения определенного интеграла
В ходе выполнения первой лабораторной работы, выполняемой в среде визуального программирования, студенты должны освоить принципы работы в визуальной среде программирования с использованием простейших компонентов этой среды.
Задание на лабораторную работу предусматривает вычисление значения определенного интеграла для заданной подынтегральной функции тремя методами (по методу прямоугольников, трапеций и парабол). Выбор такого задания объясняется тем, что на занятиях в первом семестре были изложены простейшие методы численного интегрирования, студенты реализовывали их во время лабораторных работ, поэтому основное внимание может быть сосредоточено на освоении среды визуального программирования и принципов написания программ при реализации событийно-ориентированногоподхода.
Используя написанную программу, студенты могут провести несложные исследования, в ходе которых они получат зависимость точности получаемых результатов от интервала интегрирования при фиксированном числе разбиений или количества разбиений для вычисления интеграла с заданной точностью. В ходе проведения экспериментов студенты на практике могут убедиться в удобстве использования визуальной среды, т.к. проведение нового эксперимента не требует каждый раз запуска программы на выполнение, исходные данные и результаты представляются в удобной форме.
Первая часть работы предусматривает вычисление интеграла при заданных пределах интегрирования и заданном количестве разбиений (интервалов).
Во второй части работы (при наличии времени) те же интегралы вычисляются с учетом заданной точности (начальное количество разбиений может браться из первой части работы).
Последовательность действий при выполнении первой работы может быть следующей.
При выполнении второй части работы (вычисление интеграла с заданной точностью) необходимо на форму нанести окно для ввода точности, кнопку для ввода точности, а также кнопки, для которых инициализировать событие щелчок на кнопке (Click), обработка которого будет состоять в вычислении интеграла с точностью соответствующим методом. Под каждой из кнопок разместить текстовые окна для вывода результатов. Целесообразно разместить также поля для вывода информации о количестве разбиений интервала интегрирования для получения интеграла с заданной точностью по каждому из трех используемых методов. Для этого следует выполнить следующие два пункта 10 и 11.
10. При выполнении второй части лабораторной работы (вычисление интеграла с
точностью) на форму следует нанести метку Label4 (заголовок третьего столбца
объектов), выводящую заголовок (Вычисление интеграла с точностью), элемент
textBox7 для ввода точности, метку Label5 (Точность), кнопку Button6 для ввода
точности, а также три кнопки Button7, Button8, Button9, при нажатии которых
будут вычисляться те же интегралы, но с учетом точности. Под каждой из кнопок
следует разместить элементы textBox8, textBox9, textBox10 для вывода полученных
результатов.
окна сведений об объекте, выбрав вкладку Events (события), инициализировать
событие щелчок на кнопке (Click), при этом в текст модуля будут добавлены заго-
ловки методов-обработчиков этих событий. Разработать и вставить в обработчики
событий необходимый программный код.
Окончательный вид формы может выглядеть следующим образом (рис.4).
Рис.4 Вид формы при выполнении первой лабораторной работы
Обработчик события button6_Click должен обеспечивать считывание нового исходного данного (точности) из поля ввода textBox7 и преобразование этого значения из строкового представления в числовой тип (использовать метод Parse).
Обработчики событий button7_Click, button8_Click, button9_Click должны обеспечивать вычисление интеграла с точностью соответствующим методом и вывод результата в поле вывода. При этом должны использоваться ранее написанные функции вычисления интегралов указаными методами при фиксированном количестве разбиений.
При написании обработчиков событий (кода программы) следует иметь в виду, что вся информация, размещаемая в текстовых окнах и других элементах интерфейса, представляет собой объект-строку класса String. Поэтому, если содержимое строки представляет собой число, используемое далее в вычислениях, то его надо преобразовать к числовому типу. Аналогично надо поступить и при выводе результатов вычислений: значение числового типа преобразовать в строку.
Объект-строка String размещается в регулируемой куче, поэтому переменная этого типа объявляется следующим образом String ^s; Переменной этого типа можно присваивать значения того же типа, если они были уже созданы s=a;. Значение переменной s можно присваивать и с помощью конструктора, использующего утилиту gcnew, которая выделяет память под объект и может в качестве присваиваемого значения использовать тип, отличный от типа String.При этом присваиваемое значение будет преобразовано к типу String.
При использовании числовых типов следует иметь в виду, что данные этих типов представляют собой структуры, имеющие в своем составе методы обработки этих данных, в частности преобразования числа в строку и обратное преобразование. Метод Parse() преобразует строковое представление числа в эквивалентное ему число с плавающей запятой. Метод ToString() преобразует числовое значение данного экземпляра в эквивалентное ему строковое представление.
В качестве примера приведем тексты функций вычисления значения подынтегрального значения и функции вычисления интеграла при заданном числе разбиений методом средних прямоугольников.
// функция, вычисляющая значение подынтегральной функции
double f(double x)
{ return x*x*x;}
)//вычисление интеграла методом средних прямоугольников
double pram(double a, double b,int n)
{
double dx,sum,x,integ;
int i;
dx=(b-a)/n;
a=a+dx/2;
sum=0;
for (i=0;i<n;i++)
{
x=a+i*dx;
sum+=f(x);
}
integ=dx*sum;
return integ;
}
Обработчики событий, заключающихся в нажатии на кнопки 1 (ввод данных) и 2 (вычисление интеграла методом прямоугольников), выглядят следующим образом:
//Ввод данных
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
String ^s=this->textBox1->Text;
a=a.Parse(s);
s=this->textBox2->Text;
b=b.Parse(s);
s=this->textBox3->Text;
n=n.Parse(s);
}
//Вычисление интеграла методом прямоугольников без точности
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
String ^s;
double integ;
integ=pram(a,b,n);
s=integ.ToString();
this->textBox4->Text=s;
}
В заключении приводится текст обработчика события щелчок на кнопке 7 (вычисление интеграла с точностью методом прямоугольников):
//Вычисление интеграла методом прямоугольников с точностью
private: System::Void button7_Click(System::Object^ sender, System::EventArgs^ e)
{
double integ1,integ2;
int n1;
String ^s;
integ2=pram(a,b,n);
n1=n;
do
{
integ1=integ2;
n1*=2;
integ2=pram(a,b,n1);
}while(fabs(integ1-integ2)>eps);
s=integ2.ToString();
this->textBox8->Text=s;
}
15.6 Задания для самостоятельной работы
1. Составить приложение для вычисления приближенных значений определённого интеграла (см. таблицу ниже) тремя предложенными методами (прямоугольников, трапеций, парабол). Пределы интегрирования a и b, а также число N подынтервалов задавать при вводе.
2. Дополнить разработанное приложение вычислением интеграла с заданной точностью. Обеспечить ввод точности, вывести полученные значения интеграла и количество разбиений для каждого метода.
Таблица 3.
№ | Подынтегральная функция |
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!