Отримання знань

дистанційна підтримка освіти школярів


Написати контрольний тест

“Допоміжні алгоритми. Функція def у Python – 8 клас”

на test.edu.vn.ua



Пошук найбільшого та найменшого серед кількох значень

Задача “Min.py”   

  Дано цілі числа a, b, c і d. Знайти найменше серед них.

  Контрольні приклади

        1) a= 12, b=35, c= 0, d= -2    =>     min= -2

        2) a= -12, b=140, c= -700, d= 41    =>     min= -700

Розв’язання

    Порівнювати відразу 4 числа складно. Якщо всі числа - різні, то потрібно буде прописати 4 складені умови:

         якщо (a<b) і (a<c) і (a<d)
                   то min=a
         все

         якщо (b<a) і (b<c) і (b<d)
                  то min=b
         все

         якщо (c<a) і (c<b) і (c<d)
                  то min=c
         все

         якщо (d<a) і (d<b) і (d<c)
                    то min=d
         все

  Якщо ж серед даних чотирьох чисел є однакові, то умови значно ускладняються.

   Спробуємо іншу ідею: по черзі розглядатимемо пари чисел та шукатимемо серед них найменше.

   Розглянемо перший контрольний приклад: a= 12, b=35, c= 0, d= -2

          1 крок. Розглядаємо пару a= 12, b=35. Оскільки 12<35, то min=12.

          2 крок. Порівнюємо знайдене значення min=12 із наступним числом c=0. 0<12, тому min=0.

          3 крок. Нове значення min=0 порівнюємо з 4-им числом d= -2. Оскільки -2<0, то min= -2.

   Для розв’язання задачі таким способом потрібно просто вміти знаходити менше серед 2-ох чисел і послідовно застосовувати його до пар заданих значень.

   Розглянемо допоміжний алгоритм знаходження меншого серед 2-ох значень та його переклад мовою Python.

Допоміжний алгоритм Програма мовою Python
 алг ціл Менше2 (ціл x, y)
         арг x, y
 поч
         якщо x<y
                   то m=x
                   інакше m=y
         все
         знач= m
 кін    
 def Menshe2(x,y):
         if  x<y:
              m=x
         else:
              m=y
         return m

  Основний алгоритм та його переклад мовою Python матиме вигляд:

Основний алгоритм Програма мовою Python
 алг Менше4 (ціл a, b, c, d, ціл min)
         арг a, b, c, d
         рез min
 поч
         min= Менше2(a, b)
         min= Менше2(min, c)
         min= Менше2(min, d)
 кін
 a=input(‘a=’)
 b=input(‘b=’)
 c=input(‘c=’)
 d=input(‘d=’)
 min= Menshe2(a,b)
 min= Menshe2(min,c)
 min= Menshe 2(min,d)
 print 'min=', min

Задача “Min2.py”

  Дано кількість чисел N і самі числа. Знайти найменше серед них.

  Контрольний приклад
     N=5
        12
        -96
        7
        23
       -104
    min= -104

Розв’язання

  Розв’язання задачі аналогічне попередній. Але, оскільки дано N чисел, то потрібно організувати цикл, який буде повторюватись разів (i<=N). У циклі будемо зчитувати чергове число x і порівнювати його з поточним значенням min.

   Перед циклом слід задати початкове значення змінної min. Якщо шукають найменше число, то за початкове значення навпаки беруть дуже велике число і в процесі роботи програми його поступово зменшують.

     Візьмемо, наприклад, min= 1000000. Але тоді вхідні числа не повинні будуть перевищувати задане значення.

     Розглянемо основний алгоритм та його переклад мовою Python.

     Попередньо введемо позначення:

         N – кількість чисел
         i – лічильник по числах
         x – поточне значення числа

Основний алгоритм  Програма мовою Python
 алг Менше_серед_N (ціл N)
         арг N
         рез min
 поч
         ціл i, x
         min=1000000
         i=1
         поки i<=N
         пц
               чит (x)
               min=Менше2(min, x)
               i=i+1
         кц
 кін    
 N=input(‘N=’)
 min=1000000
 i=1
 while i<=N:
          x=input()
          min= Menshe2(min,x)
          i=i+1
 print 'min=', min

В системі: гості - (1); користувачі - (0)