русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Поиск элемента в массиве.


Дата добавления: 2014-11-27; просмотров: 1671; Нарушение авторских прав


Одна из важных невычислительных задач — поиск данного значения среди элементов массива. Такой поиск называется также поиском по ключу. На практике поиск осуществляется в упорядоченном массиве, причем имеются различные алго­ритмы поиска. В данном примере осуществим поиск путем сплошного перебора. Если элемент найден, то напечатаем его номер, если нет, то выдадим соответствующее сообщение. Су­щественным является то, какой из одинаковых элементов массива, равных данному, нас интересует: первый встретив­шийся при поиске или последний. В этом примере будем ис­кать первый. Поиск осуществляется в цикле, и как только элемент найден, надо выйти из цикла. Для досрочного выхода из цикла forиспользуем оператор goto.Если досрочный выход не произойдет, то значит, элемент, равный данному, в масси­ве отсутствует. В таком случае выдача сообщения об отсутст­вии элемента происходит сразу после цикла поиска. Следова­тельно, чтобы обойти печать номера элемента, надо использо­вать еще один оператор gotoи еще одну метку в программе.

Программа поиска данного элемента в массиве:

program E15;

label 1 , 2;

const n = 7;

var a : array [1 .. n ] of real; x : real; i : integer;

Begin

writeln('введите элементы массивов');

fori: = 1 to n do

read (a [ i ]);

writeln;

write('введите число для поиска в массиве, х = ');

readin (x);

for i: = 1 to n do

if a [ i ] = x then goto 1 ;

writeln('такого числа в массиве нет");

goto 2;

1 : write('номер элемента массива, равного данному ', i)

2: end.

 

Если искать не первый по порядку равный ключу элемент, а последний, то надо использовать цикл обратного пересчета: fori: =n downto 1 do.

Вопросы и задания

1. Чем отличается массив от файла?

2. Для чего необходимо описание массива?

3. Что надо сделать, чтобы начать решать на компьютере задачу, формулировка которой начинается со слов: «Дано п чисел...»?



4. Может ли массив содержать разнородные данные?

5. Можно ли в примере программы Е12 ограничиться одним оператором цикла?

6. Что надо изменить в программе Е13, чтобы осуществлялся поиск не наибольшего, а наименьшего элемента массива?

7. Какие изменения в программу Е13 надо внести, чтобы одновременно со значением наибольшего числа определялся его порядковый номер?

8. Объясните работу двойного цикла в программе Е14.

9. Измените программу Е15 так, чтобы вместо цикла пересчетпри поиске элемента использовался цикл пока.Примените переменную-флажок, которая до цикла имела бы нулевое значение, а в случае нахождения необходимого элемента изменила бы значение на 1. Как при этом обойтись без операторов goto?

 

10. В заданной последовательности целых чисел определите количество и сумму элементов, кратных 10.

11. Дано и чисел. Найдите сумму чисел, больших заданного числа а.

12. В заданном массиве замените нулем наибольший элемент.

13. Найдите полупроизведение всех положительных элементов массива.

14. Найдите сумму квадратов неотрицательных элементов и количество положительных чисел в заданном целочисленном одномерном массиве.

15. В заданной вещественной последовательности поменяйте местами первый и наименьший элементы.

16. Дано п чисел. Замените все отрицательные числа их модулями.

17. Вычислите среднее арифметическое наибольшего и наименьшего из n чисел.



<== предыдущая лекция | следующая лекция ==>
Упорядочение массива по возрастанию. | Writeln


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.095 сек.