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

Пояснення до алгоритму. Внутрішній цикл виконує завдання пошуку максимального елемента в поточному рядку й підрахунок їхньої кількості

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

Внутрішній цикл виконує завдання пошуку максимального елемента в поточному рядку й підрахунок їхньої кількості.

Зовнішній цикл:

1)встановлює початкові значення в комірки для пошуку максимального елемента й підрахунку їхньої кількості в поточному рядку;

2)робить обчислення суми найбільших значень поточного рядка й уміщує результат у масив mS.

 

Приклад 8. Скласти алгоритм множення двох матриць.

Хай А= В= матриці розмірів відповідно m x n і p x q. Якщо кількість стовпчиків матриці А дорівнює кількості рядків матриці В, тобто n=p, то для цих матриць визначена матриця С розміру m x q, названа їхнім добутком: С= де

З визначення випливає правило множення матриць: щоб одержати елемент, що знаходиться в і-му рядку й j-му стовпчику добутку двох матриць, треба елементи і-го рядка першої матриці помножити на відповідні елементи j-го стовпчика другої матриці та одержані добутки додати.

Добуток А*В має зміст тоді, коли матриця А містить у рядках стільки елементів, скільки елементів є в стовпчиках матриці В. Зокрема можна перемножувати квадратні матриці лише однакового порядку.

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

Алгоритм мовою НАМ Алгоритм мовою Паскаль
АЛГ Приклад 8 (ціл m, n, дійсн таб A[1:m, 1:n], B[1:n, 1:q], C[1:m, 1:q]) АРГ m, n, q, A, B РЕЗ C ПОЧ ціл і, j, k дляі від 1 до m пц для k від 1 до q пц { занулення матриці С } С[i, k]:=0 для j від 1 до n пц C[i, k]:=C[i, k]+A[i, j]*B[j, k] кц кц кц { виведення матриці С на екран } для і від1 до m пц для j від 1 до q пц ДРУКУВАТИ C[i, j] кц кц КІН   Program Example_8; const m=10; n=7; q=15; var A:array[1..m, 1..n] of real; B:array[1..n, 1..q] of real; C:array[1..m, 1..q] of real; i, j, k:word; begin for i:=1 to m do for k:=1 to q do begin C[i, k]:=0; for j:=1 to n do C[i, k]:=C[i, k]+A[i, j]*B[j, k]; end; for i:=1 to m do begin for j:=1 to q do write (C[i, j]:8:2); writeln; end; end.  

У матричній алгебрі доводиться часто виконувати дії з матрицями, тому тут знадобиться вищенаведений алгоритм.

 

Приклад 9. Дано квадратну матрицю порядку n. Створити масив В, заповнивши його елементами з матриці по спіралі.

 

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

Алгоритм мовою НАМ Алгоритм мовою Паскаль
АЛГ Приклад 9 (ціл n, дійсн таб A[1:n, 1:n], B[1:n*n]) АРГ n, A РЕЗ В ПОЧ ціл і, j, m, h i:=1; m:=1; h:=n-1 поки i=int(n/2+0.5) пц якщо i>n-i то b[n*n]:=a[i, i] все для j від і до n-i пц b[m]:=a[i, j] b[m+h]:=a[j, n-i+1] b[m+2*h]:=a[n-i+1, n-j+1] b[m+3*h]:=a[n-j+1, i] m:=m+1 кц m:=m+3*h i:=i+1 h:=h-2 кц { виведення елементів масиву В на екран } для і від 1 до n*n пц ДРУКУВАТИ B[i] кц КІН   Program Example_9; const n=10; var A:array[1..n, 1..n] of real; B:array[1..n*n] of real; i, j, k, h:word; begin i:=1; k:=1; h:=n-1; while i<=(n+1) div=do begin ifi>n-i then b[n+n]:=a[i, i]; for j:=i to n-i do begin if i>n-i then b[n+n]:=a[i, i]; b[m]:=a[i, j]; b[m+h]:=a[j, n-i+1]; b[m+2+h]:=a[n-i+1, n-j+1]; b[m+3+h]:=a[n-j+1, i]; inc(m); end; inc(m, 3*h); inc(i); dec(h,z); end; for i:=1 to m do write(B[i]:8:2); writeln; end.  

 

Призначення комірок:

і – індекс рядка матриці А, що змінюється до середини таблиці, причому враховується парний або непарний розмір матриці; jіндекс стовпчика матриці А, змінюється до n-i; mіндекс для формування таблиці В; hкоефіцієнт для визначення місця в таблиці В.

Розглянемо роботу алгоритму на прикладі матриці порядку n=4. Результати роботи наведені в таблиці 2

Матриця А=

 

Щоразу в циклі у масиві В з’являються по 4 елементи з матриці А. Якщо n непарне, останнім елементом у масиві В буде елемент a[i, j] матриці А.

 


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