Цель работы: формирование навыков и умений по составлению линейныx алгоритмов на языке Visual Basic. формирование навыков по вводу, редактированию, тестированию на компьютере линейныx алгоритмов. Линейные алгоритмы 9
Слайд #2
№26.В бочке количеством 4 000 литров наxодится К литров бензинаОдновременно включаются два насоса.Первый насос подает в бочку каждую минуту Р1 бензина а второй насос выкачует Р2 литров бензинаР1>Р2Вычислить через сколько минут бочка будет полная. Постановка задачи Модель решения задачи v = S - k – количество свободного места в бочке t = v / (P1 - P2) - время заполнения бочкиР1>P2 10
Слайд #3
S=4000 Начало Ввод k If k>=S Ввод Р1,Р2 If P1>P2 V=s-k T=v/(P1-P2) При такиx условияx бочка никогда не наполнится Вывод k,P1,P2,t Конец да да нет 11 1 2 3 4 5 6 7 8
Слайд #4
Программарешения задачи на Visual Basic Private Sub Form_Load() Dim k As Integer 'переменная для хранения кол-ва литров бензина в бочке Dim P1 As Integer 'переменная для хранения кол-ва литров закачиваемых первым насосом Dim P2 As Integer 'переменная для хранения кол-ва литров выкачиваемых вторым насосом Dim t As Integer 'переменная для хранения времени заполнения бочки Dim v As Integer Const S = 4000 'константа – объем бочки 1: k = InputBox("Введите кол-во литров бензина, находящееся в бочке", , 3000) 'Пользователь вводит кол-во литров бензина в бочке If k >= S Then GoTo 1 'если введенное значение больше объяма бочки, то просим пользователя ввести еще раз кол-во литров бензина в бочке P1 = InputBox("Введите кол-во подаваемых литров бензина в час первым насосом ", , 120) 'Пользователь вводит кол-во литров закачиваемых первым насосом P2 = InputBox("Введите кол-во выкачиваемых литров бензина в час вторым насосом", , 80) 'пользователь вводит кол-во литров выкачиваемых вторым насосом If P1 > P2 Then 'если закачивается больше чем выкачивается, то v = S - k 'находим кол-во свободного места в бочке t = v / (P1 - P2) 'время заполнения бочки 'выводим сообщение с ответом задачи MsgBox "В бочке было: " & k & " литров бензина, при условии, что первый насос подает в бочку " & P1 & " литров бензина в час, а второй выкачивает " _ & P2 & " литров бензина в час, то время затраченное на заполнение бочки составит: " & t & " часов" End 'закрываем программу Else 'иначе, если выкачивается больше бензина чем закачивается, то: MsgBox "При таких условиях бочка никогда не наполнится!" 'выводим сообщение End 'закрываем программу End If End Sub 12
Слайд #5
a) Р=120, Р2=80, K=3000 120>80 4000-3000=1000- количество свободного места в бочке 1000/(120-80)=1000/40=25ч – время заполнения бочки b) Р=130, Р2=200, K=3000 130>200 - При таких условиях бочка никогда не наполнится! Камеральная отладка Результаты выполнения, полученные на ПК 13 a) Р=120, Р2=80, K=3000 25ч – время заполнения бочки b) Р=130, Р2=200, K=3000- При таких условиях бочка никогда не наполнится!