АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Алгоритм пошуку

Читайте также:
  1. XII. ЭЛЕМЕНТЫ ТЕОРИИ АЛГОРИТМОВ
  2. Алгоритм
  3. Алгоритм 65 «Кровотечение в послеродовом периоде»
  4. Алгоритм 72 «Ожоги и травмы глаза, века, конъюнктивы»
  5. Алгоритм MD4
  6. Алгоритм RC6
  7. Алгоритм RSA
  8. Алгоритм Брезенхема для окружности
  9. Алгоритм Брезенхема.
  10. Алгоритм взятия мазка из носа и зева.
  11. Алгоритм вибіркового методу
  12. Алгоритм вставки элемента в список после элемента с указанным ключом

1.Спочатку передбачається, що шуканого елемента в масиві немає (у:= «ні» і k:=0).

2.Організовується цикл відповідно до складеної умови «поки не все переглянув і не знайшов, будь-ласка, шукай», математично це виглядає так: «».

3.У циклі порівнюється поточний елемент із шуканим. У випадку збігу формується повідомлення «є» і запам’ятовується його порядковий номер. Після цього цикл завершується, тому що складена умова вже не виконується.

Пошук потрібного елемента може бути прискорений, якщо елементи масиву впорядковані. У цьому випадку складена умова циклу буде доповнена:

1) - для масиву, впорядкованого за зростанням;

2) - для масиву, впорядкованого за спаданням.

Можливі й інші варіанти задання пошуку. Наприклад, видати порядкові номери всіх елементів таблиці, що мають задану властивість.

 

 

Класичний варіант задання пошуку можна подати алгоритмом:

АЛГ П1 (ціл n, дійсн Таб A[1:n], дійсн L, цілий k, літ y) АРГ n, A, L РЕЗ k, y ПОЧ ціл і і:=1; k:=0; y:=” ні “ поки іу= «ні» пц якщо A[i]=L то k:=і; y:=” є “ інакше і:=і+1 все кц ДРУКУВАТИ y, k КІН   АЛГ П2 (ціл m, n, дійсн Таб A[1:m, 1:n], дійсн L, ціл k1, k2, літу) АРГm, n, A, L РЕЗ k1, k2, y ПОЧ ціл і, j і:=1; k1:=0; k2:=0; y:=” ні “ поки і у=” ні “ пц j:=1 поки і у=” ні “ пц якщо A[i, j]=1 то k1:=i; k2:=j y:=” є “ інакше j:=j+1 все кц і:=і+1 кц ДРУКУВАТИ y, k1, k2 КІН  

 

У НАВЕДЕНИХ АЛГОРИТМАХ ЗАМІСТЬ УМОВИ ТА у= «ні» МОЖНА ВИКОРИСТОВУВАТИ УМОВУ та k=0 ( та у= «ні»), !

Розв’язання задачі можна записати інакше, дещо змінивши формулювання умови виходу з циклу: рухаємося по масиву зліва (і:=1) направо, доки не знайдемо шуканий елемент (тобто, пропускаючи всі елементи, що не дорівнюють шуканому).

Алгоритм мовою Паскаль:

Program Search1; Const n=30; var A:array[1..n] of real; L:real; i:word; begin write(‘ Введіть шуканий елемент’); readln(L); i:=1; while (i<=n) and (A[i] < >L) do i:=i+1; ifA[i]=L then writeln(‘ Елемент знайдено на‘, і, місці‘); else writeln (‘ Елемент не знайдено ‘); end. Program Search2; Const n=2=; k=12; var A:array[1..n, 1..k] of real; L:real; i, j:word; begin write (‘ Введіть шуканий елемент ‘); readln(L); i:=1; j:=1; while (i<=n) and (A[i, j] < >L) do begin while (j<=k) and (A[i, j] < > L) do j:=j+2; if A[I, j] < > L then begin j:=1; i:=i+1; end; end; if A[i, j]=L then begin writeln (‘ Елемент знайдено ‘); writeln(‘ його координати ‘, i:4, j:4); end; else writeln (‘ Елемент не знайдено ‘); end.

 

Контрольні запитання до завдання 6

1.Як пояснюється ситуація, у якій: а) умова істинна, а умова у= «ні» хибна; б) умова хибна, а умова у= «ні» істинна; в) складена умова та у= «ні» хибна?

2.Що відбудеться, якщо в таблиці є кілька елементів, що мають задану властивість?

3.Що відбудеться, якщо складену умову та у= «ні» замінити тільни умовою ?

4.Що відбудеться, якщо складену умову та у= «ні» замінити тільки умовою у= «ні»?

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)