|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Алгоритм «варіант 1»АЛГ Варіант 1 (ціл n, дійсн таб a[1:n, 1:n], дійсн maxg, maxp, ціл kmg, kmp) АРГ n, a РЕЗ maxg, maxp, kmg, kmp ПОЧ ціл і maxg:=a[1, 1]; maxp:=a[1, n] для і від 1 до n пц якщо a[i, i] > maxg то maxg:=a[i, i] Все якщо a[i, n+1 – i]> maxp то maxp:=a[i, n+1 – i] Все пц kmg:=0; kmp:=0 для і від 1 до n пц якщо a[i, i]=maxg то kmg:=kmg+1 Все якщо a[i, n+1 – i] = maxp то kmp:=kmp+1 Все кц якщо kmg>kmp то ДРУКУВАТИ (‘ більше макс. Елементів на головній діагоналі ‘, maxg, kmg) інакше якщо kmg<kmp то ДРУКУВАТИ (‘ більше макс. Елементів на побічній діагоналі ‘, maxp, kmp) то ДРУКУВАТИ (‘ кількість максимальних елементів на обох діагоналях однакова ‘) Все Все КІН
Алгоритм «варіант 2» АЛГ Варіант 2 (ціл n, дійсн таб a[1:n, 1:n], дійсн maxg, maxp, ціл kmg, kmp) АРГ n, a РЕЗ maxg, maxp, kmg, kmp ПОЧ ціл і maxg:=a[1, 1]; maxp:=a[1, n]; kmg:=1; kmp:=1 для і від 1 до n пц якщо a[i, i] > maxg то maxg:=a[i, i] kmg:=1 Інакше якщо a[i, i]=maxg то kmg:=kmg+1 Все Все якщо a[i, n+1 – i] >maxp то maxp:=a[i, n+1 – i] kmp:=1 Інакше якщо a[i, n+1 – i]=maxp то kmp:=kmp+1 Все Все кц якщо kmg>kmp то ДРУКУВАТИ (‘ більше макс. Елементів на головній діагоналі ‘, ‘max=’, maxg, ‘ їх кількість >’, kmg) інакше якщо kmg<kmp то ДРУКУВАТИ (‘ більше макс. Елементів на побічній діагоналі ‘, ‘ max=’, maxp, ‘ їх кількість >’, kmp) інакше ДРУКУВАТИ (‘ кількість максимальних елементів на обох діагоналях однакова ‘) Все Все КІН
Пояснення до алгоритмів Для доступу до елементів головної та бічної діагоналей досить одного циклу. В алгоритмі «варіант 1», розв’язування завдання подане у вигляді двох циклів. Спочатку в першому циклі ми шукаємо максимальні елементи на головній та бічній діагоналях, а потім у другому циклі рахуємо, скільки їх. Потім проводимо порівняння і видаємо результат. Алгоритм «варіант 2» виконаний нфективніше, тому що розв’язує завдання за один прохід, тобто використовується лише один цикл.
Then begin writeln (‘ більше максимальних елементів на побічній діагоналі ‘); writeln (‘max=’< A[maxp, n+1 – maxp], ‘ їх кількість >‘, countp); End else if countp<countg Then begin writeln (‘ більша кількість максимальних елементів на головній діагоналі ‘); writeln (‘max=’, A[maxp, maxp], ‘ їх кількість >‘, countg); End else writeln (‘ кількість максимальних елементів на діагоналях однакова ‘); end.
Вправа 2. Дано матрицю порядку n. Знайдіть, кількість мінімальних елементів, що знаходяться нижче головної діагоналі. Алгоритм має вигляд: АЛГ Приклад 2 (ціл n, дійсн таб a[1:n, 1:n], дійсн minng, ціл kmng) АРГ n, a РЕЗ minng, kmng ПОЧ ціл і minng:=a[2, 1]; kmng:=1 для і від 3 до n пц для j від 1 до i – 1 пц якщо a[i, j]<minng то minng:=a[i, j] kmng:=1 Інакше якщо a[i, j]=minng то kmng:=kmng+1 Все Все кц кц ДРУКУВАТИ (‘ кількість У мін. елементів нижче гол. діагоналі = ‘, kming) КІН
Зверніть увагу, що зовнішній цикл працює від 3. Це пов’язано з тим, що нижче головної діагоналі у другому рядку один елемент у 1-му стовпчику, а решта – у рядках з більшим номером. Алгоритм мовою Паскаль: Program Example2; const n=10; var A: array [1..n, 1..n] of real; i, j: word; min: real; count: word; Begin count:=0; min:=A[2, 1]; for i:=3 to n do for j:=1 to i – 1 do if A[i, j]<min Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |