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



Pdf көрінісі
бет261/271
Дата04.02.2022
өлшемі7,99 Mb.
#24830
1   ...   257   258   259   260   261   262   263   264   ...   271
Байланысты:
Златопольский Сборник задач по прогр

Рис. П3.1 
Задача может быть решена несколькими способами. Один из них заключа-
ется  в  подсчете  количества  элементов  массива,  меньших  М 
(см. задачу П3.32).  Если  это  количество  равно  k,  то  искомое  место  (ин-
декс) — (+ 1)-е. Недостаток такого способа заключается в том, что при-
ходится  рассматривать  все  элементы  массива,  в  то  время  как  может  ока-
заться, что искомое место находится в начале массива. Более рационально 
применить  метод,  который  использует  человек,  решающий  такую  зада-
чу, —  он  последовательно  сравнивает  первый,  второй  и  т. д.  элементы  с 
числом  М,  и  если  рассматриваемый  элемент  меньше  М,  то  переходит  к 
следующему элементу, в противном случае — прекращает поиск (искомое 
место найдено). 
В программе это оформляется так
искомый_индекс := 1 
нц пока а[искомый_индекс] < М 
  искомый_индекс := искомый_индекс + 1 
кц 
|Вывод ответа 
вывод нс, "Номер элемента, в котором должно находиться число ", М 
вывод "равен ", искомый_индекс 


Приложение 3. Работа с одномерными числовыми массивами 
267 
Самостоятельно проанализируйте: 
 
правильно ли будет работать программа в случае, когда число М мень-
ше первого элемента массива
 
можно ли начинать проверку элементов с конца массива
П3.48.  Обмен местами двух элементов массива с заданными номерами. 
Здесь, как и при обмене значениями двух "простых" величин, необходимо 
использовать вспомогательную переменную. Если индексы обмениваемых 
элементов — 
m1
 и 
m2
, то фрагмент программы выглядит так: 
вспомогательная := a[m1] 
a[m1] := a[m2] 
a[m2] := вспомогательная 
Возможен  также  вариант,  в  котором  вспомогательная  переменная  не  ис-
пользуется. 
П3.49.  Перестановка всех элементов массива в обратном порядке
Ясно, что при решении будут повторяться обмены, т. е. в программе мож-
но  будет  применить  оператор  цикла  с  параметром.  Но  какими  должны 
быть начальное и конечное значение параметра цикла? Для ответа на этот 
вопрос составим табл. П3.5. 


Достарыңызбен бөлісу:
1   ...   257   258   259   260   261   262   263   264   ...   271




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

    Басты бет