Скачать презентацию 1 Программирование на языке Паскаль Матрицы 2 Скачать презентацию 1 Программирование на языке Паскаль Матрицы 2

1261de611a024c557c58487c1f98249b.ppt

  • Количество слайдов: 16

1 Программирование на языке Паскаль Матрицы 1 Программирование на языке Паскаль Матрицы

2 Матрицы Задача: запомнить положение фигур на шахматной доске. 1 a b c 2 2 Матрицы Задача: запомнить положение фигур на шахматной доске. 1 a b c 2 d e f 3 g 4 h 5 6 1 2 3 4 5 6 7 8 8 8 0 0 2 0 0 0 7 7 0 0 0 0 6 6 0 0 3 0 0 0 5 5 0 0 0 0 4 0 3 3 0 0 0 0 2 2 0 0 0 0 1 1 0 0 0 0 4 c 6 0 0 A[6, 3]

3 Матрицы Матрица – это прямоугольная таблица чисел. Матрица – это массив, в котором 3 Матрицы Матрица – это прямоугольная таблица чисел. Матрица – это массив, в котором каждый элемент имеет два индекса (номер строки и номер столбца). столбец 3 A 1 2 3 4 5 1 1 4 7 3 6 2 2 -5 0 3 8 9 строка 2 15 10 11 12 20 ячейка A[3, 4]

4 Матрицы Объявление: const N = 3; M = 4; var A: array[1. . 4 Матрицы Объявление: const N = 3; M = 4; var A: array[1. . N, 1. . M] of integer; B: array[-3. . 0, -8. . M] of integer; Q: array['a'. . 'd', False. . True] of real; Ввод с клавиатуры: ? Если переставить циклы? j i for i: =1 to N do j: =1 M for j: =1 to M do begin i: =1 N write('A[', i, ', ', j, ']='); read ( A[i, j] ); end; A[1, 1]= A[1, 2]= A[1, 3]=. . . A[3, 4]= 25 14 14 54

5 Матрицы Заполнение случайными числами ? цикл по строкам Какой интервал? for i: =1 5 Матрицы Заполнение случайными числами ? цикл по строкам Какой интервал? for i: =1 to N do цикл по столбцам for j: =1 to M do A[i, j] : = random(25) - 10; Вывод на экран вывод строки for i: =1 to N do begin 12 25 1 13 for j: =1 to M do write ( A[i, j]: 5 ); 156 1 12 447 writeln; 1 456 222 23 end; в той же строке перейти на новую строку ? Если переставить циклы?

Обработка всех элементов матрицы Задача: заполнить матрицу из 3 строк и 4 столбцов случайными Обработка всех элементов матрицы Задача: заполнить матрицу из 3 строк и 4 столбцов случайными числами и вывести ее на экран. Найти сумму элементов матрицы. program qq; const N = 3; M = 4; var A: array[1. . N, 1. . M] of integer; i, j, S: integer; begin { заполнение матрицы и вывод на экран} S : = 0; for i: =1 to N do for j: =1 to M do S : = S + A[i, j]; writeln('Сумма элементов матрицы ', S); end; 6

Создание матрицы 5 x 4, вывод ее на экран по строкам • program Massiv_2; Создание матрицы 5 x 4, вывод ее на экран по строкам • program Massiv_2; const N = 5; { Число строк } M = 4; { Число столбцов } var Table : array [1. . N, 1. . М] of integer; { Заказываем область памяти для хранения двумерного массива из N строк и М столбцов } { Вообще говоря, нигде не определено, что первый индекс - это номер строки, а второй - это номер столбца. Так как выводом на экран занимается программист, он сам решает, как ему удобнее. Нам удобнее считать, что номер строки - первый индекс, а номер столбца - второй } i, j : integer; { Переменные для хранения индексов строки и столбца } begin { Заполнение массива датчиком случайных чисел; } randomize; for i: =1 to N do for j: =l to M do Table[i, j]: =Random(100); { Запись случайного числа в массив на место с номером строки i и номером столбца j } { Вывод матрицы на экран по строкам; } for i: =1 to N do begin for j: =1 to M do write(Table[i, j]); writeln { Переход на новую строку после вывода всех элементов строки i } end; readln end.

Найти максимальный элемент каждой строки массива и его индексы (всего массива и его индексы). Найти максимальный элемент каждой строки массива и его индексы (всего массива и его индексы). • {Так как элементы могут повторяться, то договоримся, что будем запоминать только индексы первого максимального элемента. } program prim 2; uses crt; type mas=array[1. . 100, 1. . 100] of integer; var a: mas; i, j, n: integer; max, min, i 1, j 1, i 2, j 2: integer; begin clrscr; randomize; write('n='); readln(n); for i: =1 to n do begin {Так как тип массива integer, то за начальные значения возьмем. } max: =-32 768; for j: =1 to n do begin {Получаем случайные значения элементов матрицы. } a[i, j]: =random(45)-22; {Выводим элементы матрицы на экран. } write(a[i, j]: 4); {Находим максимальный элемент в каждой строке и его индексы. } if a[i, j]>max then begin max: =a[i, j]; i 1 : =i; j 1 : =j; end; {Печатаем максимальный элемент в каждой строке и его индекс. } write (' max=', max, ' строка=', i 1, ' столбец =', j 1); writeln; end; readln; end. {Для нахождения максимального элемента всего массива необходимо: - перенести начальный максимум на одну строку выше; - перенести печать максимального элемента на две строки вниз. }

 • Найти сумму всех элементов двумерного массива и сумму элементов каждой строки. • • Найти сумму всех элементов двумерного массива и сумму элементов каждой строки. • program prim J; uses crt; type mas=array[1. . 100, 1. . 100] of integer; var a: mas; i, j, n, s, sl : integer; begin clrscr; randomize; write('n='); readln(n); for i: =1 to n do begin for j: =1 to n do begin {Получаем случайные значения элементов матрицы. } a[i, j]=random(45)-22; write(a[i, j]: 4); {Находим сумму элементов. } s: =s+a[i, j]; sl: =sl+a[i, j]; end; {Печатаем сумму всех элементов каждой строки и обнуляем значение суммы. } writeln('сумма строки =', s); s: =0; writeln; end; writeln('сумма всех элем. sl=', sl); readln; end. • • • • • • • var a: array [1. . 5, 1. . 8] of integer; x, y, x 1, y 1: integer; begin randomize; x 1: =1; y 1: =1; for x: =1 to 5 do begin writeln; for y: =1 to 8 do begin a[x, y]: =random(20)-10; write(a[x, y]: 3, ' '); end; writeln; for x: =1 to 5 do for y: =1 to 8 do if a[x 1, y 1]<\/a>") //-->