Одномерный массив
Цель урока: познакомить учащихся с понятием одномерный массив Задачи: дать определение массива дать представление: об описании массива о заполнении массива о выводе массива на экран
Для решения этой проблемы используют специальный тип данных для хранение больших объемов данных. В языке Паскаль они называются: "массивы" Компьютер предназначен для обработки больших объемов информации. Можно ввести столько переменных, сколько данных необходимо обработать, можно даже занести в них значения, но только представьте, какой величины будет текст такой программы, сколько времени потребуется для его составления, как много места для возможных ошибок?
Массив это упорядоченная последовательность данных одного типа, объединенных под одним именем Данные хранятся в последова- тельных ячейках памяти и имеют общее имя
Примеры: словарь (последовательность слов), мультфильм (последовательность картинок) и т.д. Удобно представить себе массив в виде таблицы, где каждая величина находится в собственной ячейке. Положение ячейки в таблице должно однозначно определяться набором координат (индексов). Самой простой является линейная таблица, в которой для точного указания на элемент данных достаточно знания только одного числа (индекса).
Основные понятия: элементами массива Ячейки называются элементами массива индексом Номер элемента массива называется индексом элемента массива Для обращения к конкретному элементу массива необходимо указать имя массива и (в квадратных скобках) индекс элемента. Элементы массива пронумерованы по порядку
A А[3]=2 индекс имя массива значение Пример:
Основные действия по работе с массивами описание массива заполнение массива вывод на экран содержимого массива поиск максимального и минимального элементов массива сортировка массива
:array [a..b] of ; тип данных, хранящихся в массиве конечный индекс начальный индекс обязательное служебное слово имя, с помощью которого будет производиться работа с массивом Описание одномерного массива на языке Pascal
Заполнение массива данными с клавиатуры program Massiv1; const N=10; var MAS:array[1..N] of integer; i:byte; begin{start of a main program} for i:=1 to N do begin{for1} writeln(Введите,i:3,й элемент массива); readln(MAS[i]); end;{end of for1} end.{end of a main program}
Заполнение массива случайными числами program Massiv2; const N=10; var MAS:array[1..N] of integer; i:byte; begin{start of a main program} Randomize; {инициализация счетчика случайных чисел} for i:=1 to N do MAS[i]:=Random(100); end.{end of a main program}
Иногда требуется, чтобы результат работы программы был случайным в определенных пределах. Для реализации такой возможности во многих языках программирования присутствуют встроенные функции, код которых выдает случайные числа. На самом деле числа не совсем случайные, а псевдослучайные. Обычно берется некоторый коэффициент, с помощью вычисляется каждое последующее «случайное» число. В языке программирования Паскаль для генерации псевдо- случайных чисел в заданных диапазонах используется функция random. Перед ее использованием обычно выполняется процедура инициализации датчика случайных чисел - randomize; иначе программа всегда будет выдавать один и тот же результат. Генератор случайных чисел
Randomize задает начальное значение последовательности, от которого вычисляются все последующие. При каждом запуске программы это значение будет разным, а значит и результат работы функции random будет различным. Функция random генерирует случайное число в диапазоне от 0 (включительно) до единицы. Если в скобках указан аргумент, то от 0 до значения указанного в скобках (не включая само значение). Например, выражение random (10), говорит о том, что будет получено любое число в диапазоне [0, 10). Если требуется получать значения в каком-либо другом диапазоне (не от нуля), то прибегают к математической хитрости. Для того чтобы получить случайное число от -100 до 100 достаточно записать такое выражение: random (200) – 100. В результате, сначала будет получено число из диапазона [0, 199], а затем из него будет вычтена сотня. Если случайное число было меньше 100, то результат выражения будет отрицательным.
Пример использования генератора случайных чисел В программы сначала с помощью процедуры randomize инициализируется датчик случайных чисел. Переменной n присваивается случайное значение в диапазоне [5, 12). Значение переменной n используется для определения количества повторений цикла for. В цикле for генерируются случайные числа в диапазоне [0, 50) и выводятся на экран. var n, i, x: integer; begin randomize; n := random (7) + 5; for i := 1 to n do begin x := random (100) - 50; write (x:5) end; readln end.
Вывод на экран содержимого массива program Massiv3; const N=10; var MAS:array[1..N] of integer; i:byte; begin{start of a main program} writeln(Содержимое массива:); for i:=1 to N do write (MAS[i]:5); writeln; end.{end of a main program}