Массивы Материалы к урокам по программированию. МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным.

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



Advertisements
Похожие презентации
Материалы к урокам по программированию Автор: Судакова Лариса Владимировна, учитель биологии и информатики МОУ СОШ 37 г. Буя Костромской области.
Advertisements

Двумерные массивы. Задачи обработки двумерных массивов.
Массивы цели: освоить теоретические знания о массивах и научиться : организовывать данные в виде таблиц; обосновывать выбор типа элемента массива; описывать.
Тема: «Понятие массива. Назначение. Тип. Размер. Размерность. Одномерный массив» :56:36.
Массивы – структурированный тип данных, состоящий из фиксированного числа элементов одинакового типа, имеющих общее имя. Массив.
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] Двумерный массив можно представить.
Тема урока: Одномерные массивы. - Где в жизни мы можем встретиться с таблицами?
Шутилина Л.А., 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]
Автор: учитель информатики МКОУ Плесской средней общеобразовательной школы Юдин Андрей Борисович Часть 1.
Это обозначаемая одним именем последовательность однотипных элементов. Массив -
Это обозначаемая одним именем последовательность однотипных элементов. Массив -
Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
1 Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений,
Индекс – величина, характеризующая положение элемента, относительно начала массива. МАССИВЫ Конечная, упорядоченная по номерам совокупность значений, объединенных.
1 Программирование на языке Паскаль Матрицы. 2 Задача: запомнить положение фигур на шахматной доске abcdefgh
Двумерным массивом называется совокупность данных, каждое значение которых, зависит от его положения в строке и в столбце.
Язык программирования Pascal Массивы А. Жидков. Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс).
ОДНОМЕРНЫЕ МАССИВЫ. РАБОТА С ЭЛЕМЕНТАМИ СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ.
Массивы Массив используется для обработки упорядоченного набора величин одного типа, обозначенного одним именем. Доступ к элементам массива осуществляется.
Упорядоченный набор данных одного типа называется массивом. Каждый элемент массива описывается в общем виде как A[i], где A – имя массива, i – номер элемента.
Транксрипт:

Массивы Материалы к урокам по программированию

МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным типам данных, т.е. создаётся новый тип данных, состоящий из элементов какого-то определённого стандартного типа данных. Могут быть одномерными и двумерными.

Одномерные массивы (линейные) Материалы к урокам по программированию Упорядоченная последовательность элементов одного типа. У каждого элемента есть свой индекс (номер)

1, 2 …5 номер элемента А имя массива Значения Индексы А[3]=9 Имя массива Индекс Значение

Способы описания массивов: 1.Через описание переменных 2.Через введение нового типа данных 1 способ: Var : array[ ] of ; В [ диапазон индексов ] указывается номер первого элемента и номер последнего элемента Например, var a:array[1..17] of Real; одномерный массив из 17 действительных чисел

Способы описания массивов: 2 способ: Type = array [диапазон индексов] of ; Var : ; Например: Type mas = array[1..10]of integer; Var a:mas;

Заполнение массива Заполнение массива можно производить: с клавиатуры; через датчик случайных чисел; через оператор присваивания (по формуле)

Способ 1 Ввод: For i:=1 to n do readln(a[i]); Вывод: For i:=1 to n do writeln(a[i]);

Способ 2 Через датчик или генератор случайных чисел RANDOM(i). Randomize; For i:=1 to n do begin а[i]:=random(m); Write(a[i]:8); end;

Способ 3 По формуле: For i:=1 to n do а[i]:=i*3;

Пример. Поиск элементов с заданными свойствами. Заполнить одномерный массив 50 целыми случайными числами из промежутка [-200; 200], определить: сумму всех элементов; сумму отрицательных чисел; количество чисел кратных 5. Program Poisk; Var а: array[1..50] of integer; i,S,S1,n: integer; Begin { заполнение массива} For i:=1 to 50 do begin a[i]:=random(400)-200; write(a[i]:8); end; S:=0; for i:=1 to 50 do S:=S+ a[i]; writeln( сумма всех элементов S=',S) ;

S1:=0; For i:=1 to 50 do if a[i]

Двумерные массивы Элементы одного типа Располагаются в таблице Каждый элемент имеет два индекса: номер строки и номер столбца

В математике квадратные и прямоугольные таблицы часто называют матрицами а 1 1 а 12 а 13 а 14 а 15 а 1 6 а 21 а 22 а 23 а 24 а 25 а 26 а 31 а 32 а 33 а 34 а 35 а 36 Первый индекс – номерстроки Второй номерстолбца М N Матрица имеет размер М*N

Описание двумерного массива :array [диапазон индексов строк, :array [диапазон индексов строк, диапазон индексов столбцов] of диапазон индексов столбцов] of Например, Например, Var a: array [1..10, 1..15] of integer Var a: array [1..10, 1..15] of integer Описание матрицы в разделе var аналогично описанию одномерного массива, только теперь необходимо указывать диапазон изменения столбцов и строк.

Запись: [i,j] a[I,j] a – имя массива i – номер строки j – номер столбца а [2,3] Например, а [2,3] указывает на элемент во 2-ой строке и 3-ем столбце а 11 а 12 а 13 а 14 а 15 а 16 а 21 а 22 а 23 а 24 а 25 а 26 а 31 а 32 а 33 а 34 а 35 а 36

При решении задач с использованием двумерных массивов организуются вложенные циклы: For i:=1 to m do begin {изменяется номер строки} {изменяется номер строки} For j:=1 to n do begin For j:=1 to n do begin {изменяется номер столбца} {изменяется номер столбца}

Для ввода матрицы в память существует много способов, это зависит от направления задачи. Рассмотрим два самых распространенных способа:

Writeln(Введите элементы матрицы по строкам); Writeln(В конце каждой строки нажимайте ENTER); For i:=1 to n do begin For i:=1 to n do begin For j:= 1 to m do Read(a[i,j]); For j:= 1 to m do Read(a[i,j]); end; end;End.

{заполнение массива} For i:=1 to n do begin For j:=1 to m do For j:=1 to m do a[i,j]:=random(10); a[i,j]:=random(10); end; end; {вывод массива на экран} For i:=1 to n do begin For j:=1 to m do For j:=1 to m do write(a[i,j]:8); write(a[i,j]:8); Writeln; Writeln; end; end; Пример 2. Заполнение случайными числами

Некоторые понятия: Главная диагональ i = j i = j Побочная диагональ i + j = n+1 i + j = n+1 а 11 а 12 а 13 а 14 а 21 а 22 а 23 а 24 а 31 а 32 а 33 а 34 а 41 а 42 а 43 а 44 а 11 а 12 а 13 а 14 а 21 а 22 а 23 а 24 а 31 а 32 а 33 а 34 а 41 а 42 а 43 а 44

Некоторые понятия: Над главной диагональю i < j i < j Под главной диагональю i > j i > j а 12 а 13 а 14 а 23 а 24 а 34 а 21 а 31 а 32 а 41 а 42 а 43

Вычисление суммы элементов квадратной матрицы:

Program Summa; const n=7; var a:array [1..n,1..n] of integer; i, j, S: integer; Begin For i:=1 to n do begin For j:=1 to n do For j:=1 to n do a[i,j]:=random(100) - 50; a[i,j]:=random(100) - 50; end; end; For i:=1 to n do begin For j:=1 to n do For j:=1 to n do write(a[i,j]:8); write(a[i,j]:8); Writeln; Writeln; end; end;

S:=0; For i:=1 to n do begin For j:=1 to n do For j:=1 to n do S:=S+a[i,j] ; S:=S+a[i,j] ; end; end; writeln(сумма всех элементов S=,S); Вычисление суммы всех элементов квадратной матрицы:

Вычисление суммы элементов главной диагонали квадратной матрицы: S:=0; For i:=1 to n do begin For j:=1 to n do For j:=1 to n do If i=j then S:=S+a[I,j] If i=j then S:=S+a[I,j] end; end; Writeln ( сумма главной диагонали =, S); End.

Символьный и строковый типы данных

Символьный тип Тип данных Char Переменная типа Char хранит один символ Символьная константа задается указанием символа, который записывается между апострофами. Например, переменная а описана как переменная типа Char: a:=M a:=! a:= a:=M a:=! a:=

Chr(х) Функция Chr(х) возвращает символ, соответствующий целочисленному аргументу (согласно коду ASCII, коды от 0 до 255) Program zs; Uses crt; Uses crt; Var Var x:byte; x:byte; begin begin clrscr; clrscr; For x:=1 to 255 do For x:=1 to 255 do Write(x,'-',Chr(x),' '); Write(x,'-',Chr(x),' '); Readln; Readln; End. End.

Ord(х) Функция Ord(х) возвращает код символьного аргумента (согласно коду ASCII, коды от 0 до 255) Program zs1; Program zs1; Uses crt; Uses crt; Var Var a:char; a:char; begin begin clrscr; clrscr; For a:='A' to 'Z' do (For a:=',' to '?' do) For a:='A' to 'Z' do (For a:=',' to '?' do) Write(a,'-',Ord(a),' '); Write(a,'-',Ord(a),' '); Readln; Readln; End. End.

Строковый тип String Строковый тип описывается с помощью зарезервированного слова StringVar :string[максимальная длина строки] :string[максимальная длина строки]

Пример описания строковой переменной: Var s1:string[10]; s1:string[10]; s2:array[1..10] of char; s2:array[1..10] of char; s3:string; s3:string; length(s1)Функция length(s1) выдает текущую длину строки

Источники информации по теме: (могут быть полезны учителю и ученику) Карасев П.Н. Информатика (программирование). 11 класс. Поурочные планы. – Волгоград: Учитель – АСТ, Низов В.А. Сборник задач и упражнений по программированию с решениями на Паскале. – Кострома: РЦ НИТ «Эврика-М», Окулов С.М. Основы программирования. – М.: БИНОМ. Лаборатория знаний, (особенно полезен материал по методам сортировки данных)