Информатика 10-11. Книга 2. Практика алгоритмизации и программирования. Шауцукова Л.З. - 64 стр.

UptoLike

Составители: 

Пример 5.4. Из партии шин отобрать две шины, диаметры которых отличаются не
более, чем на D см, а весне более, чем на W грамм.
Система тестов
Данные Результат
Допуски
N
теста
Проверяемый
случай
N
шины
Диаметр Вес
диам. вес
Otvet
1 Есть такие
шины
1
2
3
4
103
100
99
101
98
100
101
99
1 1 "2-я и 3-я
шины"
2 Нет таких
шин
1
2
3
100
98
100
100
100
98
1 1 "Подходящих
шин нет"
Школьный АЯ
алг МоиШины (арг цел N, арг вещ таб Диам[1 : N] , Вес[1 : N] ,
арг вещ ДопДиам, ДопВес, рез цел Шина1, Шина2,
рез лит Otvet)
нач цел i, j, лит Flag
i:=1; Flag:="Нет"
нц пока (i< =N-1) и (Flag="Нет") | цикл по первой шине из
пары
j:=i+1
нц пока (j< =N) и (Flag="Нет") | цикл по второй шине из
пары
если (abs(Диам[i] - Диам[j]) <= ДопДиам) | условие соче-
и (abs(Вес[i] - Вес[j]) <= ДопВес ) | таемости шин
то Flag:="Да"; Шина1:=i; Шина2:=j
иначе j:=j+1
все
кц
i:=i+1
кц
если Flag="Да"
то Otvet := "По параметрам подходят друг другу "
+ Шина1 + "-ая и " + Шина2 + "-ая шины."
иначе Otvet := "Шин, подходящих друг другу, в партии нет."
все
кон
Исполнение алгоритма
Обозначения проверяемых условий:
(i <= N-1) и (Flag = "Нет") => (1)
(i < N) и (Flag = "Нет") => (2)
(abs(Диам[i] - Диам[j]) <= ДопДиам)
Блок-схема (фрагмент)
 Пример 5.4. Из партии шин отобрать две шины, диаметры которых отличаются не
               более, чем на D см, а вес — не более, чем на W грамм.

                               Система тестов

                                        Данные                  Результат
   N     Проверяемый
 теста      случай        N                       Допуски
                               Диаметр     Вес                    Otvet
                        шины
                                                 диам.   вес

   1      Есть такие      1       103       98     1       1   "2-я и 3-я
             шины         2       100      100                    шины"
                          3        99      101
                          4       101       99

    2     Нет таких       1       100      100     1      1    "Подходящих
             шин          2        98      100                   шин нет"
                          3       100       98


Школьный АЯ
алг МоиШины (арг цел N, арг вещ таб Диам[1 : N] , Вес[1 : N] ,
                арг вещ ДопДиам, ДопВес, рез цел Шина1, Шина2,
                рез лит Otvet)
нач цел i, j, лит Flag
  i:=1; Flag:="Нет"
  нц пока (i< =N-1) и (Flag="Нет") | цикл по первой шине из
пары
    j:=i+1
     нц пока (j< =N) и (Flag="Нет") | цикл по второй шине из
пары
        если (abs(Диам[i] - Диам[j]) <= ДопДиам) | условие соче-
            и (abs(Вес[i] - Вес[j]) <= ДопВес )    | таемости шин
          то Flag:="Да"; Шина1:=i; Шина2:=j
          иначе j:=j+1
        все
     кц
    i:=i+1
  кц
  если Flag="Да"
     то Otvet := "По параметрам подходят друг другу "
                + Шина1 + "-ая и " + Шина2 + "-ая шины."
     иначе Otvet := "Шин, подходящих друг другу, в партии нет."
  все
кон
            Исполнение алгоритма

     Обозначения проверяемых условий:
(i <= N-1) и (Flag = "Нет")       => (1)               Блок-схема (фрагмент)
(i < N) и (Flag = "Нет")        => (2)
(abs(Диам[i] - Диам[j]) <= ДопДиам)