Navigation bar
  Print document Start Previous page
 121 of 144 
Next page End  

121
длина = <mх> 
минимальный маршрут:
<n1> <n2> <n3> <n4>
длина = <mn>
Простейший способ решения этой задачи заключается в организации перебора всех замк-
нутых маршрутов, проходящих через заданные точки и выбора среди минимального и максималь-
ного по длине маршрутов.
Программа                     
Алгоритм
мин. и макс. маршруты          
алг «мин. и макс. маршруты» 
cls                             
нач
n = 4                            
        п = 4
dim x(n),y(n),r(n,n)                
   dim x(n),y(n),r(n,n)
? «координаты точек»              
       вывод («координаты точек»)
gosub vvdan 'ввод данных           
       ввод-координат-точек
restore mrshrt 'маршруты          
       загрузка-маршрутов
? «маршруты:»                      
   вывод («маршруты:»)
mr = 1*2*3                        
       mr =1*2*3
mx = 0                             
       тх = 0
for l = 1 to mr                      
       от l = 1 до mr
read k1, k2, k3, k4                  
           ввод k1, k2, k3, k4
dl = r(kl,k2) + r(k2,k3)             
           dl = r(kl,k2) + r(k2,k3)
d3 = r(k3,k4) + r(k4,kl)             
           d3 = r(k3,k4) + r(k4,k1)
d = dl + d3                        
           d = d1 + d3
? kl; k2; k3; k4, d                  
           вывод (k1; k2; k3; k4, d)
if mx = 0 then                      
        если тх = 0 то
mx = d: mn = d
        mx = d: mn = d
ml = kl: m2 = k2 
        ml = k1: m2 = k2
m3 = k3: m4 = k4
        m3 = k3: m4 = k4
nl = kl: n2 = k2
        n1 = k1: n2 = k2
n3 = k3: n4 = k4 
        n3 = k3: n4 = k4
elseif d > mx then
инеc d > mx то
mx = d
        mx = d
ml = kl: m2 = k2 
        m1 = k1: m2 = k2
m3 = k3: m4 = k4
        m3= k3: m4 = k4
elseif d < mn then
инеc d < mn то
mn = d
       mn = d
nl = kl: n2 = k2
       n1 = k1: n2 = k2
n3 = k3: n4 = k4
n3 = k3: n4 = k4
end if
         кесли
next 1
      кцикл
? «максимальный маршрут:»  
   вывод («максимальный маршрут:»)
? ml; m2; m3; m4 
   вывод (m1; m2; m3; m4)
? «длина =»; mx
   вывод («длина =»; mx)
? «минимальный маршрут:» 
   вывод («минимальный маршрут:»)
? nl; n2; n3; n4
   вывод (n1; n2; n3; n4)
? «длина =»; mn
  вывод («длина =»; mn)
end
кон
vvdan: 'ввод данных
алг «ввод данных»
restore tchks
    загрузка-точек
for k = 1 to n
       от k = 1 до п
read x(k),y(k) 
          ввод x(k),y(k)
? x(k),y(k)
          вывод x(k),y(k)
Сайт создан в системе uCoz