Д. М. Златопольский Санкт-Петербург «бхв-петербург» 2011 удк



Pdf көрінісі
бет256/271
Дата04.02.2022
өлшемі7,99 Mb.
#24830
1   ...   252   253   254   255   256   257   258   259   ...   271
Вариант  задачи.  Поиск  индекса  первого  элемента  массива,  равного  неко-
торому числу. 
Для решения такого варианта задачи можно в приведенной чуть выше про-
грамме  использовать  величину  логического  типа 
первый
,  принимающую 
значение "истина" (
да
), если элемент, равный заданному числу, встретился 
в массиве впервые, и "ложь" (
нет
) — в противном случае: 
|Встреченный элемент будет первым 
первый := да 
искомый_индекс := 0 
нц для i от 1 до n 
  если а[i] = значение 
    то 
     |Проверяем, впервые ли встретилось 
     |в массиве заданное число 
     если первый = да 
       |Если впервые 
       то 
         |Найден искомый элемент массива 


Приложения 
252 
         |Запоминаем его индекс 
         искомый_индекс := i 
         |Другие элементы, равные заданному числу, 
         |уже будут не первыми 
         первый := нет 
     все 
  все 
кц 
|Вывод результата 
если искомый_индекс > 0 
  то 
   вывод нс, "Индекс этого элемента: ", искомый_индекс 
  иначе 
   вывод нс, "Такого числа в массиве нет" 
все 
Так как искомое значение может оказаться в начале массиве, то после его 
нахождения  продолжать  проверку  остальных  элементов  массива  нерацио-
нально.  Желательно  прекратить  обработку  массива  после  нахождения  ис-
комого элемента. Для этого следует использовать оператор цикла с услови-
ем. Каким должно быть это условие? Можно рассуждать так. Необходимо 
рассматривать элементы до тех пор, пока не встретится заданное число или 
пока он не будет исчерпан: 
искомый_индекс := 1 
нц пока искомый_индекс <= n и а[искомый_индекс] <> значение 
  искомый_индекс := искомый_индекс + 1 
кц 
|Вывод результата 
если искомый_индекс <= n 
  то 
   вывод нс, "Индекс этого элемента: ", искомый_индекс 
  иначе 
   вывод нс, "Такого числа в массиве нет" 
все 
Внимание! Такое оформление допустимо для программ на школьном алго-
ритмическом языке и на языке Си. В программе на языке Бейсик (вариант 
QBasic) при выполнении программы может появиться сообщение об ошиб-
ке, связанное с выходом за пределы массива. Дело в том, что на этом языке 
вторая часть сложного условия будет проверяться даже тогда, когда первая 

Достарыңызбен бөлісу:
1   ...   252   253   254   255   256   257   258   259   ...   271




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет