Массив. ть. В практической деятельности человека часто используются таблицы и списки
Скачать 496 Kb.
|
Массивы В практической деятельности человека часто используются таблицы и списки. Например: Список учеников в журнале; Список среднесуточной температуры месяца; Таблица умножения. Иванов Петров Сидоров Кошкин Мышкин 100 120 120 130 140 140 120 150 160 140 ... 180
Элементы списков и номера строк и столбцов всегда нумеруются В языках программирования подобные типы данных описываются с помощью массивов. Массив это набор однотипных данных, к которым можно обратиться с помощью единственного имени Каждое значение в массиве называется элементом. Номер элемента в списке называется индексом. Элементы представляют собой символьные или числовые значения, которые можно использовать в выражениях ЯП ПАСКАЛЬ В качестве иллюстрации можете представить себе шкаф, имеющий множество нумерованных ящиков. Шкаф – это массив. Ящики – это индексы. Содержимое ящиков – элементы массива. Доступ к содержимому конкретного ящика (элемента массива) осуществляется после указания шкафа –имени массива – и номера ящика – индекса массива. 1 2 3 4 5 Шкаф Одномерный массив Двумерный массив Чтобы представить себе двумерный массив, вспомните зрительный зал кинотеатра. Название кинотеатра – имя массива. Ряд, место - индексы. Человек на определенном месте – элемент массива. Для того, чтобы использовать массив в программе, его нужно описать в разделе описаний: Var имя_массива : array [размер ] of тип_элементов; Имя массива выбираем по основным правилам имен идентификаторов. Размер: [начальный_индекс . . конечный_индекс ] [1..5 ] [10..100 ] [-10..10 ] [нач_индекс . . конечн_индекс , нач_индекс . . конечн_индекс ] Например, Var Name: array [1..30] of string; Temperature : array [1..31] of real; Kino : array [1..25, 1..40] of string; Количество столбцов Количество строк Обращение к конкретному элементу массива осуществляется путем указания имени массива и индекса этого элемента в [ ] Name[15], Temperature[10], Kino[5,6] В качестве индексов массивов можно использовать переменные целого типа: Name[i], Temperature[k], Kino[i,j] Это свойство дает возможность обрабатывать массивы в циклах, в которых индекс массива является одновременно и счетчиком цикла. Элементы массивов используются в выражениях также, как и обычные переменные: Name[15]:= ‘ Иванов ‘; Sum:=Sum+Temperature[10]; Kino[5,6]:=‘Свободно ‘ ; Три этапа работы с массивами 1. Заполнение массива данными 2. Преобразование массива (действия с элементами массива) 3. Вывод массива или отдельных данных на экран Способы ввода данных в массив: С клавиатуры; С помощью генератора случайных чисел; С помощью вычисления элементов. Рассмотрим работу с массивом на примерах: Задача 1. Написать программу, которая сначала должна обеспечить ввод 5 чисел в одномерный массив, затем вычислить их сумму и вывести ее на экран. Program Sum_mas; uses Crt; Var i: integer; Sum : real; M : array [1..5] of Real; begin Clrscr; For i:=1 to 5 do begin write ('m[',i,']='); readln(m[i]); end; sum:=0; For i:=1 to 5 do Sum:=sum+m[i]; Writeln ('Sum=',sum:6:2); readln; end. Начало i:=1, 5 Ввести m[i] Sum:=0 i:=1, 5 Sum:=sum+m[i] Вывести Sum Конец Задача 1. Написать программу, которая вычисляет среднюю за неделю температуру воздуха. Исходные данные должны вводиться во время работы программы. Рекомендуемый вид экрана при работе программы: Введите температуру воздуха за неделю. 1 день= 2 2 день= 0 3 день= -3 4 день= 1 5 день= 3 6 день= -2 7 день= 0 Средняя температура: 0.00 град. Задание для практической работы: Итоги урока: Массив – это структура данных, представляющая собой совокупность элементов одного типа. Массив должен быть объявлен в разделе объявления переменных. Доступ к элементу массива осуществляется путем указания имени массива и индекса (номера) элемента. Для ввода, вывода и обработки массивов удобно применять команды цикла. Составление программ на тему "Массивы" Program Random_mas; uses Crt; Var i: integer; Ran : array [1..10] of integer; begin Clrscr; Randomize; For i:=1 to 10 do begin ran[i]:=random(100); writeln(ran[i]); end; readln; end. Задача 2. Заполнить массив случайными числами и вывести его на экран компьютера. Program Poisk_mas; uses Crt; Var i, x: integer; A : array [1..20] of integer; c: string; begin Clrscr; Randomize; Write ('Zadayte chislo X '); readln (x); c:='v massive net chisla x'; For i:=1 to 20 do begin a[i]:=random(10); writeln(A[i]); if a[i]=x then c:='v massive est chislo x'; end; writeln (c); readln; end. Задача 3. Определить, содержит ли массив A[1..20] случайных чисел число Х, введенное с клавиатуры. Program Max_mas; uses Crt; Var i:integer; max: real; A : array [1..10] of real; begin Clrscr; For i:=1 to 10 do begin a[i]:=sin(i)*sqr(i); writeln(A[i]:8:3); end; max:=A[1]; For i:=2 to 10 do if a[i]> max then max:=a[i]; writeln; writeln ('max=', max:8:3); readln; end. Задача 4. Заполнить массив значениями, вычисляемыми по формуле: a[i]:=sin i *i2 Вывести элементы этого массива на экран компьютера и найти максимальное значение среди них. Задания для практической работы: Задача 2. Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел и выводит количество ненулевых элементов. Перед вводом каждого элемента должна появляться подсказка с номером. Рекомендуемый вид экрана при работе программы: После ввода каждого числа нажмите A[1]= 12 A[2]= 0 A[3]= -3 A[4]= 1 A[5]= 0 В массива 3 ненулевых элемента Задача 3 Написать программу, которая определяет, сколько раз в массиве случайных чисел A[1..100] встречается число Х, введенное с клавиатуры. Задания для практической работы: Задача 1. Написать программу, которая вычисляет среднее арифметическое ненулевых элементов массива М[1..100], элементы которого вычисляются по формуле: М[i]=sin(i)*cos(i) Задача 2. Написать программу, которая проверяет, образуют ли элементы массива Х[1..10], введенного с клавиатуры неубывающую последовательность. Домашнее задание |