М А С С И В Ы. © МОУ СОШ 13. 22 Массив это множество однотипных элементов, объединённых общим именем и занимающих в компьютере определённую область памяти.

Презентация:



Advertisements
Похожие презентации
М А С С И В Ы. © МОУ СОШ Массив это множество однотипных элементов, объединённых общим именем и занимающих в компьютере определённую область памяти.
Advertisements

Массивы в Pascal Одномерные массивы. Массивы Один из самых распространенных способов организации данных – табличный. Таблицы могут состоять из 1 строки.
Одномерные массивы Решение задач. Табличный способ организации данных Одномерные и двумерные массивы.
A[1,1]A[1,2]A[1,3]A[1,4]A[1,5] A[2,1]A[2,2]A[2,3]A[2,4]A[2,5] A[3,1]A[3,2]A[3,3]A[3,4]A[3,5] A[4,1]A[4,2]A[4,3]A[4,4]A[4,5] Двумерный массив можно представить.
Алгоритмизация и программирование. Практическая работа в Pascal Задача 1.
Методическое пособие по массивам Одномерные массивы Одномерные массивы Двухмерные массивы Двухмерные массивы.
Язык программирования Паскаль 9 часть. Массивы.
Тема: «Понятие квадратная матрица» :17:47.
Часть 1 В математике таблицы чисел, состоящие из строк и столбцов называются матрицами и записываются в круглых скобках. Двумерный массив. Матрицы 1.
Тема: «Понятие массива. Назначение. Тип. Размер. Размерность. Одномерный массив» :56:36.
Массивы – структурированный тип данных, состоящий из фиксированного числа элементов одинакового типа, имеющих общее имя. Массив.
Массивы Вариант 1 Program upr1; Var s,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (введите очередное число'); Readln(a); S: =s+a; End;
1 Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений,
Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
Двумерные массивы. Массивы Двумерный массив (матрица) – это массивы, положение элементов в которых описывается двумя индексами или прямоугольная таблица,
Одномерные массивы целых чисел. 9 класс
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений, объединенных.
Линейные (одномерные) массивы. Линейным массивом можно назвать совокупность одинаковых компонент, имеющим один индекс. I12345 A[i]
1 Программирование на языке Паскаль Матрицы. 2 Задача: запомнить положение фигур на шахматной доске abcdefgh
Транксрипт:

М А С С И В Ы. © МОУ СОШ 13

22 Массив это множество однотипных элементов, объединённых общим именем и занимающих в компьютере определённую область памяти. Одномерные массивы Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным, или одномерным. Или это таблица, состоящая только из одной строки.

33 Массив в Паскале := array [ ] of ; Каждый элемент массива в общем виде описывается как А[I], где А - имя массива, I - номер или индекс массива (0<=I<=N), A[I] - значение элемента массива. Пример объявления массива: program mas1; var a: array [1..10] of integer; i: integer; Begin..

44 Способы заполнения массива. 1) по формуле; 1) по формуле; 2) ввод с клавиатуры. 2) ввод с клавиатуры. 3) заполнение константами: Const F = 5; //в разделе 3) заполнение константами: Const F = 5; //в разделе B : array [1..F] of integer = (5,4,-2, 8, 13); //описания Сonst B : array [1..F] of integer = (5,4,-2, 8, 13); //описания Сonst Заполнить массив К(13) константами. Найти количество эл-тов, кратных 7 и сумму эл-тов < 7. Распечатать массив. mas_s14.pas

55 Пример 6. Набрать программу нахождения суммы всех элементов массива. Program massiv; Const n=10; Var a:array[1..n] of integer; s, i: integer; Begin s:=0; WriteLn('Исходный массив:'); For i:=1 to n do begin a[ I ]:=random(10); s:=s + a[ I ]; Write('a[, i, ']=, a[ I ],' '); end; WriteLn('Сумма эл-тов S = ', s); end. Изменить программу так, чтобы: 1) массив состоял из 15 элементов вещественного типа; 2) сумма элементов выводилась на отдельной строке. 3) значения элементов массива должны меняться в интервале от 0 до 5; 4) при запуске программы формировалась новая последовательность случайных чисел; 5) в результате выполнения программы должно быть найдено произведение всех элементов массива, а не их сумма. 6) распечатать массив в столбец. Massiv.pas

66 Задача 7: Сформировать массив М из 15 целых чисел вводом с клавиатуры. Заменить элементы < 5 пятёрками. Вычислить сумму элементов и среднее арифметическое. Распечатать массив. алг 7 (цел таб M[1:15], цел S,N; вещ SR) арг M[i] рез S,SR нач S:=0, SR:=0, N=15 для I от 1 до N ввод M(i) если M(i) < 5 то M(i) = 5 всё S:=S+M(i) кц для I от 1 до N вывод M(i) кц SR:=S/N (вычисление среднего арифметического) вывод S, SR кон !!! Составить программу самостоятельно. Mas7.pas

77 Задача 8: Заполнить одномерный массив случайными числами. Найти МАХ элемент и его номер. Распечатать массив в строку. алг 8 (вещ таб V[1:N], вещ МАХ, цел I, Imax;) арг V[i]; N=20 рез MAX, Imax нач Заполнить и распечатать исходный массив. МАХ = V(1); Imax = 1 для I от 1 до N если MAX < V(i) то MAX = V(i); Imax = i всё кц вывод MAX, Imax кон Max_1. pas !!! Составить программу самостоятельно.

8 ПОДГОТОВКА К САМОСТОЯТЕЛЬНОЙ РАБОТЕ ( ОДНОМЕРНЫЙ МАССИВ ). ПОДГОТОВКА К САМОСТОЯТЕЛЬНОЙ РАБОТЕ ( ОДНОМЕРНЫЙ МАССИВ ). 1. Заполнить массив F(55) по формуле 2*I + i/3. Найти : произведение элементов 100. Распечатать массив в строку. 2. Заполнить целочисленный массив В(7) вводом с клавиатуры. Найти сумму отрицательных элементов. Найти сумму отрицательных элементов. Распечатать массив. Распечатать массив. 3. Заполнить массив С (10) константами: 14, 33, -8, 77, 55, 62, 38, -13, 99, -21. Найти количество отрицательных чисел и вывести на печать числа, кратные 11. Найти количество отрицательных чисел и вывести на печать числа, кратные MAS_S11 MAS_S12 MAS_S13

9 ДОПОЛНИТЕЛЬНЫЕ ЗАДАЧИ: 9 1. Сумму элементов массива с i1-го по i2-й (i1 и i2 вводить с клавиатуры). 2. Произведение всех четных элементов массива, имеющих четны номера. 3. Произведение элементов, имеющих нечетное значение. И сумму элементов, имеющих нечетные индексы. 4. Индексы тех элементов, значения которых больше значения предыдущего элемента (начиная со второго). 5. Найти пару соседних элементов с суммой, равной заданному числу. 6. Есть ли в данном массиве два соседних положительных элемента? Найти номера первой (последней) пары. sosedn.pas

10 ДОПОЛНИТЕЛЬНО: 1-й МАССИВ. 1. Для одномерного массива определить и вывести на экран номер первого элемента с наибольшим значением и номер последнего элемента с наименьшим значением. 2. Найти одинаковые элементы массива и их индексы. 3. Найти максимальное количество подряд идущих совпадающих элементов. (С2_08)

1111 Двумерные массивы Двумерный массив – таблица, состоящая из нескольких строк. Элемент матрицы обозначается как A(I,J), где А имя массива, I индекс (номер) строки, J индекс (номер) столбца.. В Паскале двумерный массив кодируется : : array [, ] of ]. var a : array[1..3, 1..5] of real;

1212 Соотношение индексов в квадратной матрице I=J элементы матрицы расположены на главной диагонали I< J элементы матрицы расположены над главной диагональю I>J элементы матрицы расположены под главной диагональю I+J = N+1 элементы матрицы расположены на побочной диагонали (N количество строк или столбцов в квадратной матрице) I+J < N+1 элементы матрицы расположены над побочной диагональю I+J > N+1 элементы матрицы расположены под побочной диагональю.

1313 З АДАЧА 9: Заполнить и распечатать в виде таблицы двумерный массив А(4,4). Вычислить: 1) сумму элементов главной диагонали S; 2) произведение элементов 4-го столбца P4; 3) сумму элементов 2-й строки S1. алг вычисление суммы и произведения (цел таб А[1:4,1:4], цел S,S2,P4) рез S,S2,P4 арг А [i,j] нач S:=0, S2:=0, P4:=1 1) сформировать массив А [1:4,1:4] случайными числами 2) распечатать исходный массив (от 0 до 7) для I от 1 до 4 S:= S + A [i, i] P4:=P4 * A[i,4] S2:=S2+A[2,i] кц вывод S, P4, S2 кон MAS_9.pas

1414 Program MAS_9; Uses CRT; Const N=4; var a: array [1..4, 1..4] of integer ;{ = (1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16); } var S,S2,P4,i,j: integer; BEGIN ClrScr; RANDOMIZE; S:=0; S2:=0; P4:=1; for i:=1 to N do begin for j:=1 to N do begin a[i,j]:=random(7); write(a[i,j],' '); end; writeln; end; for i:=1 to N do begin S:=S+a[i,i]; P4:=P4*a[i,4]; S2:=S2+a[2,i]; end; writeln; writeln('S= ',S, ' P4=',P4, ' S2=',S2); readln; END.

1515 ЗАДАЧА 10: Создать массивL (4,4) по формуле: L(i, j) = I 2 - 2*j. Найти количество положительных элементов главной диагонали. Найти сумму элементов, кратных 7. Распечатать массив в виде таблицы. MAS_10. pas !!! Составить алгоритм и программу самостоятельно.

1616 З АДАЧА 11: Найти максимальные элементы двумерного массива и их количество. Распечатать массив в виде таблицы. алг кол-во МАХ (ваш таб А[1:3,1:3], вещ МАХ, цел К) арг А [i,j] рез MAX, K нач MAX:=0, K:=0 сформировать массив А[1:3,1:3] вводом с клавиатуры MAX:=A[1,1], K=1 для I от 1 до 3 для J от 1 до 3 если А[i,j] = MAX то К:=K+1 все если A[i,j] > MAX то MAX:=A[i,j], K:=1 все вывод А[i,j] кц перевод строки кц вывод MAX, K кон KOL_MAX.pas

1717 Program KOL_MAX; Uses Crt; const n=3; var A:array[1..N,1..N] of real; i,j,k:integer; MAX: real; BEGIN ClrScr; MAX:=0; K:=0; writeln(' ввести значения таблицы'); for i:=1 to N do for j:=1 to N do read (a[i,j]); (*подсчёт МАХ и печать таблицы *) max:=a[1,1]; for i:=1 to n do for j:=1 to n do begin if a[i,j] = max then k:=k+1; if a[i,j] > max then begin max:=a[i,j]; k:=1 end; writeln; writeln ('печать исходной таблицы'); for i:=1 to n do begin for j:=1 to n do write (a[i,j]:5:2,' '); writeln; end; writeln; writeln('MAX= ',MAX:5:2); write('K= ',k) END.

18 ЗАПИСИ (тип данных). ЗАПИСЬ - представляет собой совокупность ограниченного числа данных различного типа. В записи под одним именем объединяются данные разных типов. Запись удобно использовать для объявления табличных данных. В отличие от массива, компоненты записи могут иметь разные типы, и доступ к ним осуществляется не по индексу, а по составному имени. Например, оформление ведомости (список фамилий, имён, оценок … var a:array[1..3] of record name : string; c : integer; end;

19 Program ZAP_; Uses Crt; var a:array[1..3] of record name:string; oc:integer; end; i:integer; c:char; begin ClrScr; for i:=1 to 3 do begin a[i].name:=''; {очистка ячейки для каждой фамилии} writeln('ввод фамилии (пробел в конце)'); repeat read(c); a[i].name:=a[i].name+c until c=' '; {считана фамилия} writeln('ввести имя (пробел в конце)'); repeat read(c); a[i].name:=a[i].name+c until c=' '; {считано имя} write('оценка '); readln(a[i].oc); end; writeln; writeln('печать списка'); for i:=1 to 3 do writeln(a[i].name,' ',a[i].oc); readkey; end.