Методические материалы к урокам по программированию массивы Преподаватель информатики


Скачать 424.65 Kb.
НазваниеМетодические материалы к урокам по программированию массивы Преподаватель информатики
страница1/4
ТипУрок
  1   2   3   4


СОГЛАСОВАНО
Зав.каф. «Физики и информатики»

__________________ Африна Е.И.

___ ______________________2006

НИР 2005 / 2006

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

Преподаватель информатики

Давыдова Вера Васильевна


Гимназия №1567


Май 2006 г.

СОДЕРЖАНИЕ



  1. Введение.

  2. Определение массива.

  3. Ввод / вывод массивов:

- общие сведения;

- ввод / вывод одномерных массивов;

- ввод / вывод двумерных массивов;

- решение задач на построение и преобразование массивов.

  1. Обработка числовых массивов:

- вычисление суммы элементов массива;

- нахождение минимального / максимального значений в массиве;

- решение задач по обработке числовых массивов.

  1. Обработка символьных массивов.

  2. Сортировка массивов:

- сортировка выбором;

- сортировка обменами.

Введение
Многие задачи, которые решаются с помощью компьютера, связаны с обработкой больших объемов информации, представляющей совокупность данных, объединенных единым математическим содержанием или связанных между собой по смыслу. Примером таких организованных совокупностей данных являются координаты, задающие положение точки в пространстве, матрица коэффициентов, определяющая систему линейных уравнений, значения некоторой функции в произвольных точках, коэффициенты многочлена и т.д. Такие данные удобно представлять в виде линейных или прямоугольных таблиц. В линейной таблице каждому ее элементу соответствует порядковый номер. Для элемента прямоугольной таблицы должны быть указаны два номера: номер по вертикали (номер строки) и номер по горизонтали (номер столбца). В высшей математике табличные величины называют соответственно векторами и матрицами. В программировании для представления таких данных используются массивы.
Определение массива
Если в программе используется группа однотипных переменных (например, оценки каждого школьника в классе, дневная температура в течение месяца и т.д.), то такую группу однородных объектов удобно представить в виде массива переменных.
Массив – это упорядоченная совокупность однотипных данных.
Отдельные переменные в массиве называются элементами. Каждый элемент массива имеет свой порядковый номер – индекс, поэтому совокупность элементов является упорядоченной.
В Basic’e используются массивы одномерные и двумерные.
В одномерных массивах каждый элемент имеет один индекс, определяющий порядковый номер элемента в массиве.
В двумерных массивах каждый элемент имеет два индекса, один из которых определяет номер строки, а другой – номер столбца, на пересечении которых находится элемент массива.
В математике аналогом одномерного массива является одномерная таблица или вектор, двумерного массива – прямоугольная таблица или матрица.
Например:

  1. имеется многочлен ax+ ax+…+a; коэффициенты многочлена образуют линейную таблицу или вектор aa… a a, где каждый элемент имеет свой порядковый номер 0, 1,…, n-1, n




a0

a1

a2

a3

.

.

.

an-1

an




  1. имеется система уравнений

ax+ ax+ ax = b

ax+ ax+ ax = c

ax+ ax+ ax = d

коэффициенты системы уравнений образуют прямоугольную таблицу или матрицу,

где положение каждого элемента определяется номером строки и номером столбца


a11

a12

a13

a21

a22

a23

a31

a32

a33


.

Массив характеризуется именем, размерностью, размером и типом данных.
Имя массива, как и имя любой переменной, представляет собой последовательность латинских букв и цифр, где первый символ – буква. Число символов в имени – не более 40.

Например: А, Z1, PRIMER, NUMBER, …

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

Элемент одномерного массива обозначается переменной с одним индексом: А(2), А(I), Z1(K+3).

Элемент двумерного массива обозначается переменной с двумя индексами: PRIMER(2,1), NUMBER(I,J), …,

где первый индекс – номер строки, второй индекс – номер столбца.
В качестве индексов можно использовать: константы,

переменные,

арифметические выражения.

Например: А(1); А(I); А(К+5);

С(3,4); С(I,J); С(I+1,3*J).
Если в качестве индексов используются переменные или выражения, то значения переменных должны быть определены до обращения к ним, а арифметические выражения должны быть вычислены и из результата выделена целая часть, так как индексы могут принимать только целые значения.
Размер массива – это общее количество элементов в массиве.
По умолчанию размер любого массива принимается равным 10 (по каждой размерности). Размер массива определяется граничными значениями индексов. Минимальное значение индексов равно 0. С учетом этого количество элементов в одномерном массиве равно значению верхней границы индекса плюс 1.

Например: в массиве А(10) верхняя граница индекса равна 10, значит количество элементов в массиве 10+1=11.

В двумерном массиве количество элементов равно произведению увеличенных на единицу значений верхних границ индексов.
Например: в массиве С(5,7) верхние границы индексов равны 5 и 7, значит количество элементов в массиве (5+1)*(7+1)=48.
С помощью оператора OPTION BASE можно установить начальные значения индексов, отличные от 0. Оператор используется один раз до описания массивов.

Формат оператора: OPTION BASE<n>.

Например: OPTION BASE 1 устанавливает начальные значения индексов, равные 1.
Тип данных в массиве задается в имени массива так же, как и тип переменной задается в имени переменной - к имени массива (переменной) добавляется специальный символ:

% - целые числа; А% (10);

! - вещественные числа одинарной точности; А! (10);

действует по умолчанию: А (10);

 - вещественные числа двойной точности; А (10);

$ - символьные данные; А$ (10).

Примечание: для указания типов данных можно использовать операторы описания типов переменных DEFINT, DEFSNG, DEFDBL, DEFSTR в формате

<имя оператора> <буква1> - <буква2>,

где < буква1>, < буква2> - любая из букв латинского алфавита; обычно эти операторы размещаются в начале программы.

Переменные, имена которых начинаются с букв из указанного интервала, имеют тип, определенный именем оператора: INT – целый, SNG – вещественный одинарной точности, DBL - вещественный двойной точности, STR – символьный.
Например: DEFSTR К, N ‘Массивы, имена которых начинаются с буквы K, L, M или DIM LETTER (20) ‘или N, содержат данные символьного типа.

В программе для каждого массива необходимо задать имя, тип данных, размерность, размер.
Для этого используется оператор описания массивов DIM (Dimansion).

Формат записи оператора:

DIM <имя1>(i1[,j1]), <имя2>(i2[,j2]), …

где <имя1>, <имя2>, … - имена массивов;

i1, j1, i2, j2, … - верхние границы индексов.
В одном операторе DIM можно описать один и более массивов, перечисляются массивы через запятую. Оператор DIM можно записать в любом месте программы, но до первого обращения к элементам этого массива. Рекомендуется операторы описания массивов размещать в начале текста программы.
Например: DIM А% (9), В (4,5), С$ (10)
А% - одномерный массив из 10 целых чисел;

В – двумерный массив из 30 вещественных чисел одинарной точности;

С$ - символьный массив из 11 элементов.
Выполняя оператор DIM, интерпретатор BASIC’a выделяет для объявленных массивов соответствующее количество ячеек памяти. Количество выделяемых ячеек памяти определяется размером массива и типом данных, так как для хранения значений определенного типа отводится фиксированное число байтов:

для целых значений – 2 байта,

для вещественных одинарной точности – 4 байта,

для вещественных двойной точности – 8 байтов,

для символьных – 1 байт.
Элементы массива располагаются в памяти один за другим в последовательных ячейках.

Оператор DIM только резервирует ячейки памяти под массивы. Заполняются ячейки конкретными значениями программно - путем перебора ячеек в цикле (см. Ввод/вывод массивов).
При задании размеров массива необходимо помнить следующее:

максимальный размер массива – 65535 байт, максимальный номер индекса – 32768.
Примечание

В QB4.5 можно использовать следующий формат записи оператора DIM:

DIM <переменная> [<границы>] [AS<тип>] [, <переменная> [<границы>] AS<тип>]],

где <границы> - это верхняя и нижняя границы индексов;

As<тип> - тип элементов массива.

Формат записи границ:

[<меньшая> TO] большая [, [<меньшая> TO] большая] …
Например:

DIM PRIM (8,3) AS INTEGER или

DIM PRIM% (0 TO 8, 0 TO 3) или

DIM PRIM (8, 0 TO 3) AS INTEGER;

DIM NAME$ (-4 TO 10).
Возможные значения границ находятся в пределах от - 32768 до + 32767.
Ввод/вывод массивов
Ввод значений элементов массива можно выполнять с помощью операторов:

- INPUT (в режиме диалога);

- READ (из блока данных DATA);

- LET (при наличии формулы или с использованием стандартной функции RND(x))
Примечание: каждый элемент массива можно рассматривать как переменную, имеющую имя массива и индекс; поэтому над каждым элементом массива допустимы те же действия, что и над переменными.
Вывод значений элементов массива можно выполнять с помощью оператора PRINT.

В программе процесс ввода/вывода массива реализуется с помощью цикла:

для одномерного массива – простой цикл;

для двумерного массива – вложенный цикл.

Примечание: для двумерного массива можно использовать простой цикл, если вводить полностью отдельные строки или столбцы.
Для двумерного массива процесс ввода/вывода может выполняться по строкам или по столбцам.

При вводе/выводе по строкам в качестве параметра внешнего цикла используется переменная, определяющая номер строки, а в качестве параметра внутреннего цикла – переменная, определяющая номер столбца.

При вводе/выводы по столбцам – наоборот.
Формат оператора RND(x) для заполнения массива:

  1. RANDOMIZE TIMER – включить генератор случайных чисел;

  2. MASODN(I) = INT(RND(1)*(B-A)+A) – заполнить одномерный массив целыми случайными числами из диапазона от А до В;

  3. MASDVN(I, 7) = INT(RND(1)*(B-A)+A) – заполнить двумерный массив целыми случайными числами из диапазона от А до В;




A – B – диапазон для выбора случайных чисел.
Ввод/вывод одномерных массивов
Рассмотрим пример формирования одномерного массива с использованием оператора INPUT:

REM Ввод / вывод одномерного массива

CLS ‘Очистка экрана

DIM A%(9) ‘Определение одномерного массива

FOR I = 0 TO 9 ‘Заполнение массива числами,

INPUT A%(I) ‘вводимыми с клавиатуры

NEXT I

FOR I = 0 TO 9 ‘Вывод значений элементов массива на экран (столбиком).

PRINT A%(I) ‘Для вывода значений элементов массива на экран в строку

NEXT I ‘в операторе PRINT используется символ «;».

END


Рассмотрим пример формирования одномерного массива с использованием операторов DATA, READ:

REM Ввод / вывод одномерного массива

DATA 15,8,21,13,32,7,4,46,7,9

CLS ‘Очистка экрана

DIM A%(9) ‘Определение одномерного массива

FOR I = 0 TO 9 ‘Заполнение массива числами из оператора READ A%(I) ‘DATA и вывод значений элементов массива на

PRINT A%(I); ‘экран (в строчку)

NEXT I

END

Рассмотрим пример формирования одномерного массива с использованием функции генератора случайных чисел RND:

REM Ввод / вывод одномерного массива

CLS ‘Очистка экрана

DIM A%(9) ‘Определение одномерного массива

FOR I = 0 TO 9 ‘Заполнение массива случайными числами из LET A%(I) = INT(RND(1)*(90 - 10) + 10) ‘диапазона от 10 до90 и вывод значений

PRINT A%(I); ‘элементов массива на экран (в строчку)

NEXT I

END

Ввод/вывод двумерных массивов
Рассмотрим пример формирования двумерного массива:

REM Ввод / вывод двумерного массива

CLS ‘Очистка экрана

OPTION BASE 1 ‘Установка начального значения индексов

PRINT “Введите количество строк и столбцов:”

INPUT M,N

DIM PRIM%(M,N) ‘Определение двумерного массива из M строк и ‘N столбцов

FOR I = 1 TO M ‘Заполнение массива случайными числами из

FOR J = 1 TO N ‘диапазона от 10 до90 и вывод значений

LET PRIM%(I,J) = INT(RND(1)*(90 - 10) + 10) ‘элементов массива на экран (по строкам):

PRINT PRIM%(I,J); ‘- вывод элементов одной строки

NEXT J

PRINT ‘- перевод курсора на новую строку

FOR Q = 1 TO 100000: NEXT Q ‘организация задержки вывода (пустой цикл)

NEXT I
FOR J= 1 TO N ‘Вывод значений элементов исходного массива

FOR I= 1 TO M ‘на экран (по столбикам) с использованием

LOCATE I + M + 2, J*4 ‘оператора LOCATE

PRINT PRIM%(I,J)

NEXT I

FOR Q = 1 TO 100000: NEXT Q ‘организация задержки вывода (пустой цикл)

NEXT J

END

Решение задач на построение и преобразование массивов
Задание 1 / 10б. Даны целые числа A1, A2, A3. Получить целочисленную матрицу Bij, для которой Bij = Ai - 3A j ; i,j = 1, 2, 3.
Задание 2 / 10б. Даны целые числа A1, …, A5, B1, …, B7. Получить новую матрицу Cij, для которой Cij = Aj / (1 + |Bi| ), i = 1, 2, …, 7, j = 1, 2, …, 5.
Задание 3 / 10б. Получить целочисленную матрицу Aij, для которой Aij = i + 2j; i = 1, 2, 3, 4, 5; j = 1, 2, 3, 4, 5, 6, 7.
Задание 4 / 15б. Дана целочисленная квадратная матрица Aij размера n x n. Получить две новые квадратные матрицы Bij,Cij размера n x n, для которых
Bij =
Задание 5 / 20б. Получить действительную квадратную матрицу Aij порядка n x n (n <= 7), первая строка которой задается формулой A1j = 2j + 3, вторая строка задается формулой

, а каждая следующая строка есть сумма двух предыдущих.
Задание 6 / 20б. Дана целочисленная матрица размера m x n. Получить новую матрицу перестановкой столбцов исходной матрицы - первого с последним, второго с предпоследним и т.д.

Задание 7 / 15б. Дана целочисленная матрица размера m x n. Получить новую матрицу перестановкой строк исходной матрицы - первой с последней, второй с предпоследней и т.д.
Задание 8 / 20б. Дана целочисленная матрица размера m x n. Даны целые числа k, q (1 <= k <= m, 1 <= q <= m). Поменять местами строки с номерами k и q, сохранив порядок следования остальных строк
Задание 9 / 15б. Даны действительные числа A1, …, An. Получить новую матрицу порядка n:

A1 A2 A3 … An-2 An-1 An

A2 A3 A4 … An-1 An A1

A3 A4 A5 … An A1 A2

………………………………………………….

An A1 A2 … An-3 An-2 An-1

Задание 10 / 5б. Построить квадратную матрицу порядка n:

1 0 0 0 0 0

1 1 0 0 0 0

1 1 1 0 0 0

1 1 1 1 0 0

1 1 1 1 1 0

1 1 1 1 1 1
Задание 11 / 5б. Построить квадратную матрицу порядка n:

1 1 1 1 1 1

0 1 1 1 1 0

0 0 1 1 0 0

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0


Задание 12 / 15б. Построить квадратную матрицу порядка n:

1 1 1 1 1 1

0 1 1 1 1 0

0 0 1 1 0 0

0 0 1 1 0 0

0 1 1 1 1 0

1 1 1 1 1 1

Задание 13 / 5б. Построить квадратную матрицу порядка n:

1 0 0 0 0 0

0 2 0 0 0 0

0 0 3 0 0 0

0 0 0 4 0 0

………………………………………..

0 0 0 0 0 n

Задание 14 / 5б. Построить квадратную матрицу порядка n:

0 0 0 0 0 1

0 0 0 0 2 0

0 0 0 3 0 0

0 0 4 0 0 0

………………………………………..

n 0 0 0 0 0
Абрамов, №№ 367, 368, 369, 371, 372, 676А, 676Б, 682, 688, 692Б, 692В, 692Е, 694А, 694Б.

__________________________________________________________________________________
  1   2   3   4

Похожие:

Методические материалы к урокам по программированию массивы Преподаватель информатики iconКонкурс проводится по следующим номинациям: использование информационных...
«Новосибирскийнациональный исследовательский государственный университет», Высшим колледжем информатики Университета, Институтом...

Методические материалы к урокам по программированию массивы Преподаватель информатики iconМетодическое пособие по курсу excel каспийск 2014
Автор: Латифов Абдулатиф Саидович К. п наук старший преподаватель кафедры «Вычислительной техники» дгту. Преподаватель информатики...

Методические материалы к урокам по программированию массивы Преподаватель информатики iconЛекция 12 Двумерные массивы
Многомерные массивы задаются указанием каждого измерения в квадратных скобках, например, оператор

Методические материалы к урокам по программированию массивы Преподаватель информатики iconДвумерные массивы
Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Их можно представить в виде прямоугольной...

Методические материалы к урокам по программированию массивы Преподаватель информатики iconУрок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час)
Цель урока: систематизация и развитие знаний по использованию массивов в программах на Паскале

Методические материалы к урокам по программированию массивы Преподаватель информатики iconМетодические материалы по учебной и профессиональной практике Специальность...
Автор-составитель: Л. П. Диденко, преподаватель кгаоу спо «Канский педагогический колледж»

Методические материалы к урокам по программированию массивы Преподаватель информатики iconЛабораторная работа №1 (одномерные массивы) 27
Лабораторная работа №6 (статические массивы, знакомство с графическим режимом. Возможно будет изменена) 49

Методические материалы к урокам по программированию массивы Преподаватель информатики iconМетодические указания по решению типовых задач 16 Методические указания...
Составители: Е. П. Спиридонова методист колледжа, к э н., Л. В. Трушина преподаватель колледжа, Т. И. Ополоник, преподаватель колледжа,...

Методические материалы к урокам по программированию массивы Преподаватель информатики iconРабота с базами данных для студентов III курса
Рецензенты: преподаватель математики и информатики высшей квалификационной категории фгоу спо «Омкпт»

Методические материалы к урокам по программированию массивы Преподаватель информатики iconМетодические материалы студенту-заочнику юридического факультета 5 курса
При этом необходимо иметь в виду, что вопросы носят ориентировочный характер и в ходе зачета или экзамена преподаватель может ставить...

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск