ТОП 10:

Табличный способ организации данных. Понятие массива и матрицы.



Составитель Курилов И. А.

Массивы: Виды массивов, работа с матрицами и т. д.

В данной книжки приводится теоретический материал по основным понятиям данного раздела информатики, основные операции работы с массивами на двух языках, а в конце приводятся задания для самопроверки учащимся по темам, позволяющие самостоятельно и заранее подготовиться к контрольно-зачетным занятиям. (Издание 1-ое, 24.09.2007).

 

Структурный тип: массив.

Табличный способ организации данных. Понятие массива и матрицы.

а) Табличный способ организации данных.

С табличным способом организации данных (таблицами) мы встречаемся каждый день.

Пример: Классный журнал, схема зрительного зала, дневник и т.д.

Табличным способом организации данных называется таблица, состоящая из строк (строки) и столбцов.

а) таблицу обозначают буквой латинского алфавита

б) строки считаются сверху вниз, столбцы слева на право

в) таблица, состоящая из одной строки называется линейной, а остальные прямоугольными.

Пример:

Таблица (матрица) А: 7 2 3 34

4 5 0 -3

1 3 8 1,2

 

- Каждый элемент обозначается Х(i, j).

Например А(1,1)=7; А(2,3)=0 и т.д. (так хранится и используется табличная информация в памяти компьютера).

 

б) Массив и матрица. Заполнение, вывод.

Массив – это табличный способ организации данных на языке программирования.

Матрица – это числовой массив.

 

QBasic:

Оператор DIM (DIMENSION-размерность, объем, протяженность) – это оператор массива.

Основная функция: выделение места в памяти для некоторого числа переменных (постоянных).

Примеры:

100 DIM K(12)- означает в памяти зарезервировано место для 12 переменных с именем К-К(1),…

110 DIM В (2,12) – означает в памяти выделена таблица из 2 строк и 12 столбцов

(* бывают также операции над отдельные элементы массива).

Заполнение массива.

Массив заполняется с помощью цикла и применением оператором INPUT, если массив переменный и операторов DАТА. READ, если массив постоянный.

а) заполнение переменного массива (одномерный)

Пример:

10 DIM A(10)

20 FOR I=1 TO 10

30 INPUT A(I)

40 NEXT I

б) заполнение постоянного массива (одномерный)

Пример:

10 DIM A(10)

20 DATA 2,3,8,6,0,-3,14,6.5,3.1,10

30 FOR I=1 TO 10

40 READ A(I)

50 NEXT I

Примечание: Операторы DATA (данные с англ.) и READ (читать с англ.) –записывают и считывают данные в массив или просто в ячейку памяти:

120 DATA 1,2,3

130 READ A,B,C

в) заполнение двумерных массивов (переменного и постоянного)

Пример:

10 DIM A(2,5) 10 DIM A(2,5)

20 FOR I=1 TO 2 20 DATA 2,3,8,6,0,1,1,2,7,9

30 FOR j=1 TO 5 30 FOR I=1 TO E

40 INPUT A(I, j) 40 FOR j=1 TO 5

50 NEXT j 50 READ A (I, j)

60 NEXT I 60 NEXT j, I

 

Примечание: Есть также понятие произвольный массив – размерность задается в ходе запуска программы

Пример:

10 INPUT N

20 DIM A(N)

(* может быть только переменный)

 

Вывод элементов массива

Производится оператором PRINT и циклом, если более 1-го элемента

Пример:

70 FOR I=1 TO 2

80 FOR j=1 TO 5

90 PRINT A(I, j);

100 NEXT j

110 PRINT

120 NEXT I

Turbo Pascal:

Для работы с массивами в Turbo Pascal нужно:

а) определить переменные и т. д.

б) назвать массив

в) описать массив (раздел var)

г) ввести данные в память

 

Рассмотрим одномерные массивы, их общая запись:

const n=a; {a – число}

var dim:array[1..n] of real; {или другой тип переменных}– это описание массива с названием и определением чисел.

Общая запись двумерного массива:

const n=a; m=b;

var dim:array[1..n, 1..m] of real; {или другой тип переменных}, где n – строки, а m – столбцы.

 

Ввод постоянного массива

type a=array[1..3] of string[10]

const name: mas(‘a’,’bb’,’ccc’);

const n=5

a: array[1..n,1..n] of integer=((1,2,3),(4,5,6));

Ввести (вывести) данные можно сразу все* или по одному:

а) for I:=1 to n do

read (dim[i]);

б) for I:=1 to n do

begin

write(‘dim[‘,i,’]=’);

readln(dim[i]);

end;

 

*имеется ввиду с помощью оператора randomize(генератор случайных чисел – компьютер сам загадывает числа в выбранном диапазоне);

randomize;

for i:=1 to 10 do

x[i]:=random(100);

Аналогичная запись для 2-х-мерного массива.

 

 

в) Общий алгоритм программ с массивами.

Общего алгоритма для всех программ использующих массив естественно нет, можно лишь приближенно привести пример для большинства задач с массивами решающих в школе

- выделение в памяти места для таблицы (массива)

-считывание и заполнение массива

-работа над массивом

-вывод нужных результатов

Блок работы над массивом является главным, так как это часть программы, по сути, является всей задачей, над которой вам придется работать.

 

общий вид блок-схема:

 

             
   
 
   
 
 
 
   

 


г) Примеры программ

QBasic:

Пример 1: «Сложение всех элементов массива (постоянного)»

10 REM Сложение всех элементов массива

20 DIM C(2,10)

30 DATA 1,2,3,4,5,6,7,8,9,10

40 DATA 11,12,13,14,15,16,17,18,19,20

50 FOR I=1 TO 2

60 FOR K=1 TO 10

70 READ C(I, K)

80 NEXT K

90 NEXT I

100 LET T=0

110 FOR I=1 TO 2

120 FOR K=1 TO 10

130 LET T=T+C(I, K)

140 NEXT K

150 NEXT I

160 PRINT T

170 END

 

Пример 2: «Обнуление например нечетных значений массива»

180 FOR M=1 TO 10 STEP 2

190 LET A(M)=0

200 NEXT M

 

блок-схема:

           
   
 
 
 
 
 
   

 

 


Домашнее задание:

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

б) подсчитать элементы переменного одномерного массива меньше некоторого введенного значения N.

в) программа ввода таблицы температур и вывод чисел, когда была температура Т.

г) у массива А(3,5) увеличить 1 строку на 1, 2-ю, 3-ю на 3.

Turbo Pascal:

Сортировка.

     
 
 
 


Периметр матрицы.

     
 
 
 


Перестановки в матрице.

     
 
 
 


Повороты матрицы.

                 
 
 
   
 
   
 
 
 
   
 
   


Транспонирование матрицы.

Транспонирование матрицы – это симметричный обмен ячейками, относительно главной диагонали.

 
 

 
 


Составитель Курилов И. А.

Массивы: Виды массивов, работа с матрицами и т. д.

В данной книжки приводится теоретический материал по основным понятиям данного раздела информатики, основные операции работы с массивами на двух языках, а в конце приводятся задания для самопроверки учащимся по темам, позволяющие самостоятельно и заранее подготовиться к контрольно-зачетным занятиям. (Издание 1-ое, 24.09.2007).

 

Структурный тип: массив.

Табличный способ организации данных. Понятие массива и матрицы.

а) Табличный способ организации данных.

С табличным способом организации данных (таблицами) мы встречаемся каждый день.

Пример: Классный журнал, схема зрительного зала, дневник и т.д.

Табличным способом организации данных называется таблица, состоящая из строк (строки) и столбцов.

а) таблицу обозначают буквой латинского алфавита

б) строки считаются сверху вниз, столбцы слева на право

в) таблица, состоящая из одной строки называется линейной, а остальные прямоугольными.

Пример:

Таблица (матрица) А: 7 2 3 34

4 5 0 -3

1 3 8 1,2

 

- Каждый элемент обозначается Х(i, j).

Например А(1,1)=7; А(2,3)=0 и т.д. (так хранится и используется табличная информация в памяти компьютера).

 

б) Массив и матрица. Заполнение, вывод.

Массив – это табличный способ организации данных на языке программирования.

Матрица – это числовой массив.

 

QBasic:

Оператор DIM (DIMENSION-размерность, объем, протяженность) – это оператор массива.

Основная функция: выделение места в памяти для некоторого числа переменных (постоянных).

Примеры:

100 DIM K(12)- означает в памяти зарезервировано место для 12 переменных с именем К-К(1),…

110 DIM В (2,12) – означает в памяти выделена таблица из 2 строк и 12 столбцов

(* бывают также операции над отдельные элементы массива).

Заполнение массива.

Массив заполняется с помощью цикла и применением оператором INPUT, если массив переменный и операторов DАТА. READ, если массив постоянный.

а) заполнение переменного массива (одномерный)

Пример:

10 DIM A(10)

20 FOR I=1 TO 10

30 INPUT A(I)

40 NEXT I

б) заполнение постоянного массива (одномерный)

Пример:

10 DIM A(10)

20 DATA 2,3,8,6,0,-3,14,6.5,3.1,10

30 FOR I=1 TO 10

40 READ A(I)

50 NEXT I

Примечание: Операторы DATA (данные с англ.) и READ (читать с англ.) –записывают и считывают данные в массив или просто в ячейку памяти:

120 DATA 1,2,3

130 READ A,B,C

в) заполнение двумерных массивов (переменного и постоянного)

Пример:

10 DIM A(2,5) 10 DIM A(2,5)

20 FOR I=1 TO 2 20 DATA 2,3,8,6,0,1,1,2,7,9

30 FOR j=1 TO 5 30 FOR I=1 TO E

40 INPUT A(I, j) 40 FOR j=1 TO 5

50 NEXT j 50 READ A (I, j)

60 NEXT I 60 NEXT j, I

 

Примечание: Есть также понятие произвольный массив – размерность задается в ходе запуска программы

Пример:

10 INPUT N

20 DIM A(N)

(* может быть только переменный)

 

Вывод элементов массива

Производится оператором PRINT и циклом, если более 1-го элемента

Пример:

70 FOR I=1 TO 2

80 FOR j=1 TO 5

90 PRINT A(I, j);

100 NEXT j

110 PRINT

120 NEXT I

Turbo Pascal:

Для работы с массивами в Turbo Pascal нужно:

а) определить переменные и т. д.

б) назвать массив

в) описать массив (раздел var)

г) ввести данные в память

 

Рассмотрим одномерные массивы, их общая запись:

const n=a; {a – число}

var dim:array[1..n] of real; {или другой тип переменных}– это описание массива с названием и определением чисел.

Общая запись двумерного массива:

const n=a; m=b;

var dim:array[1..n, 1..m] of real; {или другой тип переменных}, где n – строки, а m – столбцы.

 

Ввод постоянного массива

type a=array[1..3] of string[10]

const name: mas(‘a’,’bb’,’ccc’);

const n=5

a: array[1..n,1..n] of integer=((1,2,3),(4,5,6));

Ввести (вывести) данные можно сразу все* или по одному:

а) for I:=1 to n do

read (dim[i]);

б) for I:=1 to n do

begin

write(‘dim[‘,i,’]=’);

readln(dim[i]);

end;

 

*имеется ввиду с помощью оператора randomize(генератор случайных чисел – компьютер сам загадывает числа в выбранном диапазоне);

randomize;

for i:=1 to 10 do

x[i]:=random(100);

Аналогичная запись для 2-х-мерного массива.

 

 

в) Общий алгоритм программ с массивами.

Общего алгоритма для всех программ использующих массив естественно нет, можно лишь приближенно привести пример для большинства задач с массивами решающих в школе

- выделение в памяти места для таблицы (массива)

-считывание и заполнение массива

-работа над массивом

-вывод нужных результатов

Блок работы над массивом является главным, так как это часть программы, по сути, является всей задачей, над которой вам придется работать.

 

общий вид блок-схема:

 

             
   
 
   
 
 
 
   

 


г) Примеры программ

QBasic:

Пример 1: «Сложение всех элементов массива (постоянного)»

10 REM Сложение всех элементов массива

20 DIM C(2,10)

30 DATA 1,2,3,4,5,6,7,8,9,10

40 DATA 11,12,13,14,15,16,17,18,19,20

50 FOR I=1 TO 2

60 FOR K=1 TO 10

70 READ C(I, K)

80 NEXT K

90 NEXT I

100 LET T=0

110 FOR I=1 TO 2

120 FOR K=1 TO 10

130 LET T=T+C(I, K)

140 NEXT K

150 NEXT I

160 PRINT T

170 END

 

Пример 2: «Обнуление например нечетных значений массива»

180 FOR M=1 TO 10 STEP 2

190 LET A(M)=0

200 NEXT M

 

блок-схема:

           
   
 
 
 
 
 
   

 

 


Домашнее задание:

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

б) подсчитать элементы переменного одномерного массива меньше некоторого введенного значения N.

в) программа ввода таблицы температур и вывод чисел, когда была температура Т.

г) у массива А(3,5) увеличить 1 строку на 1, 2-ю, 3-ю на 3.

Turbo Pascal:







Последнее изменение этой страницы: 2016-09-20; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.206.48.142 (0.038 с.)