X

Код презентации скопируйте его

Ширина px

Вы можете изменить размер презентации, указав свою ширину плеера!

Двумерные массивы в языке программирования Pascal

Скачать эту презентацию

Презентация на тему Двумерные массивы в языке программирования Pascal

Скачать эту презентацию

Cлайд 1
Автор: учитель информатики МКОУ Плесской средней общеобразовательной школы Юд... Автор: учитель информатики МКОУ Плесской средней общеобразовательной школы Юдин Андрей Борисович Часть 1
Cлайд 2
В математике таблицы чисел, состоящие из строк и столбцов называются матрицам... В математике таблицы чисел, состоящие из строк и столбцов называются матрицами и записываются в круглых скобках. Двумерный массив. Матрицы 1
Cлайд 3
Двумерный массив. Применение. 2 Использование двумерных массивов для построен... Двумерный массив. Применение. 2 Использование двумерных массивов для построения поверхностей.
Cлайд 4
Двумерный массив. Определение. 3 Массив — это пронумерованная последовательно... Двумерный массив. Определение. 3 Массив — это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Каждое из значений, составляющих массив, называется его компонентой  (или элементом массива). Способ организации данных, при котором каждый элемент определяется номером строки и номером столбца, на пересечении которых он расположен, называется двумерным массивом
Cлайд 5
Двумерный массив. Определение 4 1 2 3 4 5 6 1 2 3 В математике: В Pascal: Ai;... Двумерный массив. Определение 4 1 2 3 4 5 6 1 2 3 В математике: В Pascal: Ai;j A[i,j] A[2,4] A[1,2] A[3,5] 7 4 2 7 5 4 4 1 3 8 9 9 1 5 0 6 0 0
Cлайд 6
Двумерный массив. Описание 5 Самый простой способ описания массива a : array ... Двумерный массив. Описание 5 Самый простой способ описания массива a : array [1..10, 1..20] of real; Имя массива Количество строк Количество столбцов Тип данных в массиве a: array [1..10] of array [1.. 20] of real; Описание как массив массивов: Одномерный массив Каждый элемент которого в свою очередь является одномерным массивом
Cлайд 7
Двумерный массив. Описание 6 Const   m=10; n =20; Var   a : array [1.. m, 1..... Двумерный массив. Описание 6 Const   m=10; n =20; Var   a : array [1.. m, 1.. n] of integer; Количество строк и столбцов через константу. В разделе констант указываем число строк и столбцов type t=array[1..m,1..n] of integer; var a : t; Определением нового типа данных. Определяем пользовательский тип , двумерный массив
Cлайд 8
Двумерный массив. Описание 7 const a: array[1..3,1..5] of  integer = ((3,-2,1... Двумерный массив. Описание 7 const a: array[1..3,1..5] of  integer = ((3,-2,1,4,3), (-5,-9,0,3,7), (-1,2,1,-4,0)); Массив констант. Непосредственно в программе указываем значения элементов массива.
Cлайд 9
For i := 1 to 3 do begin For j := 1 to 4 do begin write('A[ ', i, ', ',j, ']=... For i := 1 to 3 do begin For j := 1 to 4 do begin write('A[ ', i, ', ',j, ']= '); readln(a[i, j]) end; Двумерный массив. Заполнение 8 Заполнение массива с клавиатуры: Цикл отвечающий за перебор строк. Берем первую, вторую и так далее строки Цикл отвечающий за перебор ячеек в каждой строке. end;
Cлайд 10
Двумерный массив. Заполнение 9 Блок-схема заполнения с клавиатуры: Цикл отвеч... Двумерный массив. Заполнение 9 Блок-схема заполнения с клавиатуры: Цикл отвечающий за перебор строк. (Внешний цикл) Цикл отвечающий за перебор ячеек в каждой строке. (Внутренний цикл)
Cлайд 11
Двумерный массив. Заполнение 10 Заполнение массива случайными числами: For i ... Двумерный массив. Заполнение 10 Заполнение массива случайными числами: For i := 1 to 3 do begin For j := 1 to 4 do begin a[i, j] := random(21) - 10; write(a[i, j]:6); end; writeln; end; Write без LN выводит элементы массива в строку Когда i-я строка закончилась, пишем пустой WriteLN для перехода на новую строку
Cлайд 12
Двумерный массив. Заполнение 11 j , 1, N Вывод a i , j i , 1, N a i , j= случ... Двумерный массив. Заполнение 11 j , 1, N Вывод a i , j i , 1, N a i , j= случайное[-10;10] Цикл отвечающий за перебор строк. (Внешний цикл) Цикл отвечающий за перебор ячеек в каждой строке. (Внутренний цикл)
Cлайд 13
Двумерный массив. Заполнение 12 Заполнение массива по правилу: For i := 1 to ... Двумерный массив. Заполнение 12 Заполнение массива по правилу: For i := 1 to 3 do begin For j := 1 to 4 do begin a[i, j] :=ФОРМУЛА; write(a[i, j]:6); end; writeln; end; Заполнить произвольный массив размером N x N (N
Cлайд 14
Двумерный массив. Заполнение 13 a11 a22 a23 a32 a33 a14 a41 a44 1 2 3 4 1 2 3... Двумерный массив. Заполнение 13 a11 a22 a23 a32 a33 a14 a41 a44 1 2 3 4 1 2 3 4 Главная диагональ: I=J Побочная диагональ: I+J=N+1 Заполнить произвольный массив размером N x N (N
Cлайд 15
Двумерный массив. Заполнение 14 Фрагмент блок-схемы задачи заполнения побочно... Двумерный массив. Заполнение 14 Фрагмент блок-схемы задачи заполнения побочной диагонали единицами j , 1, N Вывод a i , j i , 1, N a i , j= 0 Ввод N i+j=N+1 a i , j= 1 Да Нет
Cлайд 16
Двумерный массив. Заполнение 15 a11 a22 a33 a44 a55 Удовлетворяет неравенству... Двумерный массив. Заполнение 15 a11 a22 a33 a44 a55 Удовлетворяет неравенству i < j Удовлетворяет неравенству i > j 1 2 3 4 5 1 2 3 4 5
Cлайд 17
Двумерный массив. Заполнение 16 a15 a24 a33 a42 a51 Удовлетворяет неравенству... Двумерный массив. Заполнение 16 a15 a24 a33 a42 a51 Удовлетворяет неравенству i+jn+1 1 2 3 4 5 1 2 3 4 5
Cлайд 18
Двумерный массив. Заполнение 17 a11 a22 a33 a44 a55 1 2 3 4 5 1 2 3 4 5 a42 a... Двумерный массив. Заполнение 17 a11 a22 a33 a44 a55 1 2 3 4 5 1 2 3 4 5 a42 a51 a24 a15 (i+jj) (i+jj) Системы неравенств
Cлайд 19
Двумерный массив. Заполнение 18 Заполнить произвольный массив размером N x N ... Двумерный массив. Заполнение 18 Заполнить произвольный массив размером N x N (N=n+1) and (i
Cлайд 20
Двумерный массив. Сумма элементов 19 Заполнить двумерный массив N x N случайн... Двумерный массив. Сумма элементов 19 Заполнить двумерный массив N x N случайными числами из интервала [-10 ; 10] и найти сумму элементов массива лежащих на главной диагонали. Один или два прохода по массиву? Первый способ. Один проход по массиву ClrScr; Write('ВВеди N = ');Readln(n); s:=0; For i:=1 to n do begin For j:=1 to n do begin a[i,j]:=random(20)-10; write(a[i,j]:4); if (i=j) then s:=s+ a[i,j]; end; writeln; end; writeln('Сумма элементов =',s:5); Заполняем случайными числами и выводим на экран И сразу же находим сумму элементов лежащих на главной диагонали Второй способ. Два прохода по массиву Write(' ВВеди N = ');Readln(n); s:=0; For i:=1 to n do begin For j:=1 to n do begin a[i,j]:=random(20)-10; write(a[i,j]:4); end; writeln; end; For i:=1 to n do For j:=1 to n do if (i=j) then s:=s+ a[i,j]; writeln('Сумма элементов =',s:5); Первый проход. Заполняем массив и выводим его на экран Второй проход. Находим сумму. Замечание. Если нужно что то сделать только с главной диагональю, то можно обойтись без вложенных циклов For i:=1 to n do s:=s+ a[i,i];
Cлайд 21
Двумерный массив. Сумма элементов 20 j , 1, N Вывод a i , j i , 1, N a i , j=... Двумерный массив. Сумма элементов 20 j , 1, N Вывод a i , j i , 1, N a i , j= случайное[-10;10] Ввод N S = 0 i = j S =S + a i , j Вывод S Да Нет Нахождение суммы элементов на главной диагонали за один проход по массиву
Cлайд 22
Двумерный массив. Сумма элементов 21 1 Нахождение суммы элементов на главной ... Двумерный массив. Сумма элементов 21 1 Нахождение суммы элементов на главной диагонали за два прохода
Cлайд 23
Двумерный массив. Сумма элементов 22 i , 1, N S =S + a i , i Вывод S Нахожден... Двумерный массив. Сумма элементов 22 i , 1, N S =S + a i , i Вывод S Нахождение суммы элементов на главной диагонали за два прохода (в случае когда речь идет только о главной диагонали и остальной массив не нужен)
Cлайд 24
Двумерный массив. Минимальный элемент 23 Один или два прохода по массиву? Рас... Двумерный массив. Минимальный элемент 23 Один или два прохода по массиву? Рассуждение второе. Заполнить двумерный массив N x N случайными числами из интервала [-10 ; 10] и найти минимальный элемент лежащий на главной диагонали.
Cлайд 25
Двумерный массив. Минимальный элемент 24 Стандартный способ без анализа задач... Двумерный массив. Минимальный элемент 24 Стандартный способ без анализа задачи Write('ВВеди N = ');Readln(n); For i:=1 to n do begin For j:=1 to n do begin a[i,j]:=random(21)-10; write(a[i,j]:4); end; Writeln; end; m:=a[1,1]; For i:=1 to n do For j:=1 to n do if (a[i,j]
Cлайд 26
Двумерный массив. Минимальный элемент 25 Если немного по рассуждать, можно ув... Двумерный массив. Минимальный элемент 25 Если немного по рассуждать, можно увидеть, что самое «маленькое» число, которое может выдать генератор случайных чисел это 10. Все остальные числа будут меньше его. Т.к. в условии задачи нам точно задан интервал [-10 ; 10]. С анализом исходных данных задачи Write('ВВеди N = ');Readln(n); m:=10; For i:=1 to n do begin For j:=1 to n do begin a[i,j]:=random(21)-10; write(a[i,j]:4); if (a[i,j]
Cлайд 27
Двумерный массив . Максимальный элемент в строке 26 Заполнить двумерный масси... Двумерный массив . Максимальный элемент в строке 26 Заполнить двумерный массив N x N случайными числами из интервала [-10 ; 10] и найти максимальный элемент в каждой строке.
Cлайд 28
Двумерный массив. Максимальный элемент в строке 27 Write('ВВеди N = ');Readln... Двумерный массив. Максимальный элемент в строке 27 Write('ВВеди N = ');Readln(n); For i:=1 to n do begin max:=-10; For j:=1 to n do begin a[i,j]:=random(21)-10; write(a[i,j]:4); if (a[i,j]>max) then max:= a[i,j]; end; write(' MAx = ',max:5); writeln; end; Решение в один проход, с анализом задачи Предполагаем, что самое большое число - 10, левая граница исходного интервала. Перебираем строки Заполняем элемент массива и выводим его на экран Если в строке встречается элемент больше максимального, то он становится максимальным Выводим наибольший элемент в строке
Cлайд 29
Двумерный массив. Максимальный элемент в строке 28 j , 1, N Вывод a i , j i ,... Двумерный массив. Максимальный элемент в строке 28 j , 1, N Вывод a i , j i , 1, N a i , j= случайное[-10;10] Ввод N Мах = - 10 a i , j > Max Max = a i , j Вывод Max Да Нет Нахождение максимального элемента в каждой строке в один проход Конец
Cлайд 30
Двумерный массив. Максимальный элемент в строке 29 ClrScr; Write(‘Введи N = '... Двумерный массив. Максимальный элемент в строке 29 ClrScr; Write(‘Введи N = ');Readln(n); For i:=1 to n do begin For j:=1 to n do begin a[i,j]:=random(21)-10; write(a[i,j]:4); end; writeln; end; Заполняем массив и выводим его на экран For i:=1 to n do begin max:=a[i,1]; For j:=2 to n do if (a[i,j]>max) then max:= a[i,j]; writeln('В ',i,' строке max = ',max:5); end; Перебираем строки Предполагаем, что наибольший элемент в каждой строке стоит на первом месте Идем по строке и если находим элемент больший чем максимальный, то он становится максимальным Вывод наибольшего элемента в строке Стандартным способом, первый проход – заполнение, второй проход – поиск максимального в строках
Cлайд 31
Двумерный массив. Максимальный элемент в строке 30 j , 1, N Вывод a i , j i ,... Двумерный массив. Максимальный элемент в строке 30 j , 1, N Вывод a i , j i , 1, N a i , j= случайное[-10;10] Ввод N 1 j , 2, N i , 1, N Мах = a i , 1 a i , j > Max Max = a i , j Вывод Max Да Нет 1 Начало Конец Нахождение максимального элемента в каждой строке в два прохода
Скачать эту презентацию
Наверх