Тема 5. Массивы

advertisement
Дисциплина «Программирование»
Специальность 08080165 «Прикладная информатика (в экономике)»
Институт информатики, инноваций и бизнес-систем
Кафедра информатики, инженерной и компьютерной графики
Люлько Виктор Иванович, старший преподаватель
Тема 5. Массивы. Использование и
описание (объявление) массивов. Ввод
данных в массивы. Форматы вывода.
Реализация алгоритмов с
использованием одномерных массивов.
Требования к знаниям, умениям и навыкам
После изучения темы студент должен
 иметь представление о возможностях использования
массивов для размещения данных
 уметь реализовывать алгоритмы с использованием
одномерных массивов и использовать форматы вывода
для вывода данных из массивов
2
Содержание
1. Ключевые понятия
2. Учебный материал
3
Ключевые понятия
 Массив
 Одномерный массив
 Многомерный массив
 Описание (объявление) массива
4
Учебный материал
Основные задачи лекции
 Знакомство с понятием массива и его размерности
 Знакомство с правилами описания (объявления)
массивов
 Изучение возможностей использования средств языка
программирования для реализации основных
алгоритмов с использованием одномерных массивов
5
Учебный материал
Понятие массива
 Массив представляет собой совокупность
последовательно расположенных в памяти областей
памяти с однотипными данными. Эти области памяти
называются элементами массива (аналогом одного
элемента массива может служить переменная).
 Массив имеет имя, являющееся общим для всех
элементов массива. Доступ к отдельному элементу
массива осуществляется по номеру (или индексу) этого
элемента. В качестве индексов чаще всего используются
значения целого типа.
6
Учебный материал
Одномерные и многомерные массивы
 Массивы могут быть одномерными и многомерными.
 В одномерном массиве каждому его элементу
соответствует один индекс, в многомерном –
соответствуют несколько индексов.
 Из многомерных массивов на практике чаще всего
используются двумерные массивы, каждому элементу
которых соответствуют два индекса.
 Доступ к элементу массива осуществляется по индексу
или индексам этого элемента, указываемым в
квадратных скобках после идентификатора массива,
например, ab[k]:=a*a; v[i,k]:=z[i]*ab[k+9];
7
Учебный материал
Описание (объявление) массивов (начало)
 Примеры описаний (объявлений) массивов:
Var z: Array [1..20] of Real;
ab: Array [10..100] of Integer;
v: Array [1..20,1..10] of Real;





8
Здесь z и ab являются одномерными массивами, v – двумерным
массивом.
Каждый из элементов массива ab – целое число типа Integer,
каждый и элементов массивов z и v – вещественное число типа Real.
Массив z состоит из 20 элементов (нижняя граница индексов –1,
верхняя граница – 20),
массив ab состоит из 91 элемента (нижняя граница индексов –10,
верхняя граница – 100),
массив v состоит из 200 элементов (из 20 строк по 10 элементов в
каждой).
Учебный материал
Описание (объявление) массивов (окончание)
 При описании (объявлении) массивов могут быть
использованы именованные константы, например:
Const N=20;
Var z: Array [1..N] of Real;
Использование в таких случаях именованных констант
позволяет изменять используемые в разных местах
программы значения границ индексов массивов, изменяя
лишь значения соответствующих именованных констант
в области описания (объявления).
9
Учебный материал
Ввод данных в массивы
 При вводе значений массива можно указывать только
элемент массива с индексами, например:
Readln(z[10],z[i+k],v[k,i+1]);
10
Учебный материал
Форматы вывода и их использование для вывода данных
из массивов
 При выводе значений массива можно указывать только
элемент массива с индексами, например:
Writeln(z[1],z[i+1],v[i,k]);
 При выводе нескольких элементов массивов в строке
рекомендуется использовать форматы вывода,
например: Writeln(ab[i+10]:5,v[i,k]:8:2);
11
Учебный материал
Реализация алгоритмов с использованием одномерных
массивов (начало)
 Пример суммирования элементов одномерного массива:
s:=0;
for i:=1 to 20 do s:=s+z[i];
12
Учебный материал
Реализация алгоритмов с использованием одномерных
массивов (продолжение)
 Поиск в массиве обычно сводится к определению
номеров элементов массива, отвечающих заданному
критерию, и выполнению каких-либо действий с
использованием найденных элементов и (или) номеров
этих элементов. Простейшим из таких действий
является, например, вывод номеров элементов массива,
отвечающих заданному критерию.
13
Учебный материал
Реализация алгоритмов с использованием одномерных
массивов (продолжение)
 Например, при выполнения фрагмента программы
min:=z[1]; {1-й элемент массива тоже может
быть минимальным}
imin:=1;
for i:=1 to 20 do
if z[i]<min then begin min:=z[i];
imin:=i end;
writeln(imin);
будет определен и выведен номер первого из элементов
массива, имеющих минимальное значение.
14
Учебный материал
Реализация алгоритмов с использованием одномерных
массивов (продолжение)
 Сортировка элементов массива обычно сводится к
перестановкам элементов массива в соответствии
условиями сортировки. На практике чаще всего
используется сортировка по возрастанию или по
убыванию значений элементов массива.
15
Учебный материал
Реализация алгоритмов с использованием одномерных
массивов (продолжение)
 Ниже приведен пример фрагмента программы,
выполняющего сортировку по убыванию значений
элементов одномерного массива, состоящего из 10
элементов:
for n:=9 downto 1 do
for i:=1 to n do
if z[i]<z[i+1] then
begin s:=z[i];
z[i]:=z[i+1];
z[i+1]:=s end;
16
Использование материалов презентации
Использование данной презентации, может осуществляться только при условии соблюдения требований законов РФ
об авторском праве и интеллектуальной собственности, а также с учетом требований настоящего Заявления.
Презентация является собственностью автора. Разрешается распечатывать копию любой части презентации для
личного некоммерческого использования, однако не допускается распечатывать какую-либо часть презентации с
любой иной целью или по каким-либо причинам вносить изменения в любую часть презентации. Использование
любой части презентации в другом произведении, как в печатной, электронной, так и иной форме, а также
использование любой части презентации в другой презентации посредством ссылки или иным образом допускается
только после получения письменного согласия автора.
17
Download