Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 Mб
Скачать

Void cPerevozkaPredmetovDlg::OnButton2() //кнопка «Очистить»

{ m_label1.SetCaption(""); m_label2.SetCaption(""); m_label3.SetCaption("");

m_label4.SetCaption(""); m_label5.SetCaption("");

m_edit1=""; m_edit2=""; m_edit3=""; m_edit4=""; m_edit5="";

m_edit6=0; m_edit7=0; m_edit8=0; m_edit9=0; m_edit10=0;

m_edit11=0; m_edit12=0;m_edit13=0;m_edit14=0; m_edit15=0; m_edit16=0;

UpdateData(0); //обновление объектов формы

}

Void cPerevozkaPredmetovDlg::OnButton3() //кнопка «Перевезти»

{ float tekst, maxst=0; char x1, x2, x3, x4, x5, y1, y2, y3, y4, y5; //объявления

UpdateData(1); //обновление значений назначенных объектам переменных

for(x1=0;x1<=1;x1++) //циклы перебора всех вариантов перевозок

for (x2=0; x2<=1; x2++)

for (x3=0; x3<=1; x3++)

for (x4=0; x4<=1; x4++)

for (x5=0; x5<=1; x5++)

if ((x1*m_edit6+x2*m_edit7+x3*m_edit8+x4*m_edit9 +x5*m_edit10)

<=m_edit16) //допустимый вариант перевозки

{ tekst=x1*m_edit11+x2*m_edit12+x3*m_edit13+x4*m_edit14+

x5*m_edit15; //стоимость перевозимых предметов

if(tekst>maxst) //запоминание лучшего варианта перевозки

{ maxst=tekst;y1=x1;y2=x2;y3=x3;y4=x4;y5=x5;}

} //конец циклов перебора всех вариантов перевозки предметов

//вывод лучшего варианта перевозки в поля меток

m_label1.SetCaption((y1*m_edit6*m_edit11> 0) ? "перевозить": "");

m_label2.SetCaption((y2*m_edit7*m_edit12> 0) ? "перевозить": "");

m_label3.SetCaption((y3*m_edit8*m_edit13> 0) ? "перевозить": "");

m_label4.SetCaption((y4*m_edit9*m_edit14> 0) ? "перевозить": "");

m_label5.SetCaption((y5*m_edit10*m_edit15>0) ? "перевозить": "");

}

BOOL CPerevozkaPredmetovDlg::OnInitDialog() //инициализация формы

{ ... //неизменяемая часть функции

OnButton2(); //вызов функции обработки кнопки «Очистить»

returnTRUE;

}

8.2. Задачи для программирования

При работе информация вводится и выводится в текстовые поля с надписями, каждая задача оформляется в виде приложения в отдельной папке под номером задачи, например: z_4_2. Если есть варианты, то для каж­дого варианта создается кнопка его вызова. Условие задачи указывает­ся на первой форме или на отдельной форме, вызываемой кнопкой, или в начале текста программы в виде комментария.

8.2.1. Числовые типы, оператор присваивания

  1. Поменять местами значение целых переменных х и у, не используя дополнительные переменные.

  2. Вычислить значения выражений:

а) not odd (n) при n = 0;

б) t and (p mod 3 = 0) при t = True, p = 101010;

в) (х у <>0) and (у > х) при х = 2, у = 1;

г) (х у <>0) or (у > х) при х = 2, у = 1;

д) a or (not b) при а = False, b = True.

8.2.2. Алгоритмы линейной структуры

Алгоритм линейной структуры ‑ алгоритм, в котором блоки вы­пол­няются последовательно друг за другом, в порядке, заданном схемой. Такой порядок выполнения называется естественным.

  1. Вычислить площадь треугольника со сторонами a, b, c по формуле Герона: , где.

  2. Вычислить для усеченного конуса площадь поверхности и объем.

  3. Вычислить координаты центра тяжести трех материальных точек с массами и координатамипо формулам:;.

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