структура цикл. 1. Постановка задачи
Скачать 2.26 Mb.
|
1. Постановка задачи Вагон массой m подходит к неподвижной платформе со скоростью V1 и ударяет ее, после чего платформа получает скорость V. Скорость вагона после удара уменьшилась до V2. Вычислить значение массы платформы для ряда значений V: 0,1≤V≤1,5м/с с шагом 0,25м/с. Входные данные: , V0- начальное значение скорости платформы , Vk- конечное значение скорости платформы, dV- шаг вычислений, m – масса вагона, Выходные данные:V- скорость платформы, - масса платформы 2. Математическая модель 0,1≤V≤1,5м/с с шагом 0,25м/с; m=60т; V1=0,2м/с; V2=0,1м/c 3 Начало . Схема алгоритма Конец V=V0 V≤Vk (V1–V2)*m /V m, , , V0 , Vk, dV V, V=V+dV Да Нет 4. Разработка визуальной части проекта На форме располагаем следующие элементы управления: – командную кнопку с именем Command1 и надписью «ПУСК» –поле списка List1 для вывода результата. 5. Кодприложения Private Sub Command1_Click() Dim V0 As Single, Vk As Single, dV As Single, V As Single Dim m As Single, m_ïë As Single, V1 As Single, V2 As Single m = InputBox("Введите массу вагонаm") V1 = InputBox("Введите начальную скорость вагонаV1") V2 = InputBox("Введите скорость вагонапосле столкновения с платформой V2") V0 = InputBox("Введите начальное значение скорости платформыV0") Vk = InputBox("Введите конечное значение скорости платформыVk") dV = InputBox("Введите шаг вычисленийdV") List1.AddItem " V (м/с) m_пл (т) " For V = V0 ToVk Step dV m_пл = (V1 - V2) * m / V List1.AddItem Format(V, "0.00") & " " & Format(m_пл, "0.00") Next EndSub 6. Отладка приложения Контрольный пример, сосчитанный вручную: V0=0,1 м/с; Vk=1,45 м/с; dV=0,25 м/с m=60т; V1=0,2м/с; V2=0,1м/c
Результат вычислений: КОММЕНТАРИЙ К КОДУ ПРИЛОЖЕНИЯ 1 строка. Личная (авторская) программа, написанная для кнопки Command1 (ПУСК) и запускаемаящелчком по этой кнопке. 2строка. Для переменных V0, Vk, dV, V вещественного типа в памяти выделяются четыре пустые ячейки памяти по 4 байта. 3 строка. Для переменных m, m_пл, V1, V2 вещественного типа в памяти выделяются четыре пустые ячейки памяти по 4 байта. 4строка. Ввод массы вагона:число из поля ввода диалогового окна InputBox присваивается переменной m (заносится в ячейку m). 5строка. Ввод начальной скорости вагона: число из поля ввода диалогового окна InputBox присваивается переменной V1 (заносится в ячейку V1). 6строка. Ввод скорости вагона после столкновения с платформой:число из поля ввода диалогового окна InputBox присваивается переменной V2(заносится в ячейку V2). 7строка. Ввод начальное значение скорости платформы:число из поля ввода диалогового окна InputBox присваивается переменной V0 (заносится в ячейку V0). 8строка. Ввод конечное значение скорости платформы: число из поля ввода диалогового окна InputBox присваивается переменной Vk(заносится в ячейку Vk). 9строка. Ввод шага вычислений: число из поля ввода диалогового окна InputBox присваивается переменной dV (заносится в ячейку dV). 10строка. Вывод заголовка таблицы в поле списка ListBox. 11 строка.Переменной цикла V изначальноприсваивается значение ячейки V0 (V=V0). Начало цикла: Число V(заносится в ячейку V), а затем сравнивается со значением ячейки Vk.До тех пор пока V≤Vk выполняется тело цикла (12-13 строки). 12 строка. Выполняется вычисление массы платформы (V1 - V2) * m / V. Полученный результат присваивается переменной m_пл(заносится в ячейку m_пл). 13 строка. Вывод текущего значения ячеек V и m_плв поле списка ListBox. 14 строка. Конец цикла: значение переменной цикла V увеличивается на шаг вычислений dV(получается следующее значение V) и управление передаётся строке 11. 15 строка. Конец программы. |