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

Пояснення до алгоритму. В комірці k ведеться підрахунок довжини, що виходить із ланцюжка елементів масиву А

Читайте также:
  1. Загальні пояснення до виконання реферату
  2. Ілюстрації. Кількість ілюстрацій повинна бути достатньою для пояснення тексту, що викладається.
  3. На відміну від прогнозу і гіпотеза і версія можуть бути націлені (і в більшості випадків націлюються) не на повідомлення про якесь явище, а на його пояснення, хоча і можливе.
  4. Покрокове виконання алгоритму
  5. Поняття алгоритму
  6. Поняття алгоритму. Основні властивості алгоритмів
  7. Пояснення вчителя.
  8. Пояснення гри. Вибір способу шикування гравців для пояснення гри і місце керівника.
  9. Пояснення до алгоритму
  10. Пояснення до алгоритму
  11. Пояснення до алгоритму
  12. Пояснення до алгоритму

В комірці k ведеться підрахунок довжини, що виходить із ланцюжка елементів масиву А. При порушенні ланцюжка довжина звіряється із вмістом комірки m, у якій повинна бути максимальна довжина. Якщо вміст комірки k більший за вміст комірки m, то вона, розміщується в комірці m. Поточна довжина ланцюжка встановлюється 1.

Після виходу з циклу довжина останньої отриманої зростаючої послідовності ще раз порівнюється з максимальною і за необхідності значення замінюється на цю довжину.

 

В ЦЬОМУ АЛГОРИТМІ МОВОЮ ПАСКАЛЬ МИ ВПЕРШЕ ЗАСТОСУВАЛИ ПРОЦЕДУРУ inc, ЩО ЗБІЛЬШУЄ ЗНАЧЕННЯ СВОГО ПАРАМЕТРУ НА 1, ТОБТО inc(i) ОЗНАЧАЄ і:=і+1!

 

Приклад 6. Дано квадратну матрицю порядку n. Необхідно виконати перестановку стовпчиків (рядків) матриці:

а) першого стовпчика з останнім, другого – з передостаннім і т.д.;

б) перший рядок з останнім рядком, другий – з передостаннім і т.д.

Алгоритми мають вигляд:

Алгоритм мовою НАМ Алгоритм мовою Паскаль
АЛГ приклад 6а (ціл n, дійсн таб A[1:n, 1:n]) АРГ n, A РЕЗ А ПОЧ ціл і, j, n1, дійсн R n1:=int(n/2) для j від 1 до n1 пц для і від 1 до n пц R:=A[i, j]; A[i, j]:=A[i, n+1-j]; A[i, n+1-j]:=R кц кц { виведення результуючої матриці } для і від1 до n пц для j від 1 до n пц ДРУКУВАТИ A[i, j] кц кц КІН У прикладі 6б, після ПОЧ послідовність команд буде такою: n1:=int(n/2) для і від1 до n1 пц для j від1 до n пц R:=A[i, j]; A[i, j]:=A[n+1-i, j]; A[n+1-i, j]:=R кц кц   Program Example 6a; const n=10; var A:array[1..n, 1..n] of real; R:real; i, j:byte; begin for j:=1 to n div 2 do for i:=1 to n do begin R:=A[i, j]; A[i, j]:=A[i, n+1-j]; A[i, n+1-j]:=R; end; for i:=1 to n do begin for j:=1 to n do write (A[i, j]:8:2); writeln; end; end.   Для варіанта 6б перша пара циклів буде такою: for i:=1 to n div 2 do for j:=1 to n do begin R:=A[i, j]; A[i, j]:=A[n+1-i, j]; A[n+1-i, j]:=R; end;

 

Приклад 7. Дано дійсну матрицю А розміром m x n. Знайти суму найбільших значень елементів її рядків.

Алгоритм має вигляд:

Алгоритм мовою НАМ Алгоритм мовою Паскаль
АЛГ Приклад 7 (ціл L, n, дійсн таб A[1:L, 1:n], дійсн таб m[1:L]) АРГL, n, A РЕЗ М ПОЧ ціл і, j, ціл К, дійсн maxs S:=0 дляі від1 до L пц maxs:=A[i, 1]; k:=0 дляj від 1 до n пц якщо A[i, j]>maxs тоmaxs:=A[i, j]; k:=1 інакше якщо maxs:=A[i, j] то k:=k+1 все все кц m[i]:=maxs*k кц { виведення масиву на екран } для і від 1 до L пц ДРУКУВАТИ m[i] кц КІН   Program Example_7; const n=10; k=7; var A:array[1..n, 1..k] of real; i, j:word; jmax:word; max:array[1..n] of real; S:real; count:word; begin S:=0; for i:=1 to n do begin jmax:=1; count:=0; for j:=1 to k do begin if A[i, j]>A[i, jmax]; then begin jmax:=j; count:=1; end elseif A[i, j]=Ai, jmax] then inc (count); end; max[i]:=count*A[i, jmax]; end; for i:=1 to n do writeln(m[i]:8:2); end.  

 


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 сек.)