Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
образец выч. практики.docx
Скачиваний:
32
Добавлен:
18.09.2019
Размер:
4.28 Mб
Скачать

Часть 2. Считать из файла sys.Txt систему линейных алгебраических уравнений и решить её. Рассчитать определитель матрицы свободных коэффициентов. Ответ сохранить в файл sysx.Txt в виде:

x1 = «число»

x2 = «число»

x3 = «число»

x4 = «число»

Определитель = «число»

Часть 2.

2. Практические задания.

Перед запуском программ следует ознакомиться с приложением 1.

Задание №1.3.

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

Пример: R1 = 10, R2 = 15. Ответ: 25

Внешний вид формы:

Рисунок №2.1

На форме расположены следующие компоненты:

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

  2. TextBox – присутствует для ввода данных. В этой программе используется для ввода расчётных данных.

  3. Button – присутствует для вызова события. В этой программе используется для вызова таких событий как вычислить (см. блок-схему).

Окно программы в работе:

Рисунок №2.2

Рисунок №2.3

Рисунок №2.4

Описание блок-схемы процедуры button1_Click_1,

Преобразование текста из элемента textBox1 в вещественную переменную R1 с помощью процедуры floar::Parse. Аналогично R2. Нахождение обратных величин для R1,R2. Нахождение R (сопротивление – искомая величина). Вывод R в элемент textBox3 при помощи функции ToString().

Событие Click для кнопки «Вычислить» вызывает процедуру button1_Click_1.

private: System::Void button1_Click_1(System::Object^ sender, System::EventArgs^ e) { float R,R1,R2;

R1=float::Parse(textBox1->Text);

R2=float::Parse(textBox2->Text);

R=(R1+R2);

textBox4->Text=R.ToString()+" Ом";}

Рисунок №2.5

3. Практические задания.

Задание № 2.3.

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

Внешний вид формы:

Рисунок №3.1

Label – 4 штуки. Присутствует для отображения какой-то информации. В этой программе присутствует для записи условия, а также для вывода результата, о том что число больше или меньше исходного.

GroupBox – 2 штуки. Присутствует для группировки объектов. Здесь присутствует для отдельного разделения пунктов «ввода данных» и «найти».

RadioButton – 2 штуки. Присутствует для выбора действия. В данной программе используется для выбора что находить минимум или максимум. При установке круга в соответствующем из пунктов вычисляется минимум или максимум для двух чисел.

Button – 2 штуки. Присутствует для вызова события. В данной программе присутствует для вызова определенного события по щелчку одной из кнопок «Найти», «Очистить» или «Выход».

TextBox – 2 штуки. Присутствует для ввода данных.

Окно программы во время работы:

Рисунок №3.2

Рисунок №3.3

Рисунок №3.4

В начале работы программы кнопки «Найти», «Очистить» неактивны. Также неактивен компонент GroupBox2. Это связано с тем, что находить и очищать пока нечего. Как только будет введено одно из чисел А или B сразу становятся активными вышеназванные кнопка «Очистить» и компонент GroupBox2. Введя числа и выбрав, что мы будем находить максимум или минимум мы получим результат в представленном на рисунке 2.3.

Исходный код приведен в приложении Б.

Блок-схема алгоритма программы

конец

Close()

начало

Рисунок №3.5

Событие возникающее при нажатии на клавишу «Выход». Приводит к выходу из программы.

начало

groupBox2->Enabled=false

button1->Enabled=false

button2->Enabled=false

конец

Рисунок №3.6

Событие возникающее при загрузке формы. Становятся неактивными кнопки «Найти» и «Очистить», а также компонент groupBox2.

начало

e->KeyChar=Char(0)

Да

! ((e->KeyChar>='0')&&(e->KeyChar<='9')||(e->KeyChar==',')||(e->KeyChar==char(8))||(e->KeyChar=='-'))

button2->Enabled=true

Нет

конец

Рисунок №3.7

Событие возникающее при вводе данных в поле TextBox. Срабатывает «Защита от дурака», тоесть вводить в поле можно только цифры,запятую,минус. Также данные можно удалить используя клавишу Backspace. Если же была нажата клавиша буквы, то попросту в поле TextBox не будет ничего введено. Аналогичное событие имеет textBox2_KeyPress.

начало

button1->Enabled=true

конец

Рисунок №3.8

начало

button1->Enabled=true

конец

Рисунок №3.9

Событие возникающеее при постановке переключателя в пункт Минимум. В результате становится неактивной кнопка «Найти»

1

2

1

конец

начало

label4->Text="ОШИБКА! числа равны"

Нет

Да

a==b

Нет

Нет

label4->Text="B - min"

Да

b<a

Нет

label4->Text="A - min"

Да

a<b

Да

radioButton2->Checked

Нет

Нет

label4->Text="B - max"

Да

b>a

Нет

label4->Text="A - max"

Да

a>b

Да

radioButton1->Checked

a=float::Parse(textBox1->Text)

b=float::Parse(textBox2->Text)

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Рисунок №3.10

Рисунок №3.11

Проверка работы программы

Рисунок №3.12

Рисунок №3.13

Программа работает правильно.