© М.Е.Макарова
В практической деятельности человека часто используются таблицы и списки. Например: Список учеников в журнале; Список среднесуточной температуры месяца; Таблица умножения. 1.Иванов 2.Петров 3.Сидоров 4.Кошкин 5.Мышкин Элементы списков и номера строк и столбцов всегда нумеруются
В языках программирования подобные типы данных описываются с помощью массивов. это набор однотипных данных, к которым можно обратиться с помощью единственного имени Каждое значение в массиве называется элементом. Номер элемента в списке называется индексом. Элементы представляют собой символьные или числовые значения, которые можно использовать в выражениях ЯП ПАСКАЛЬ
В качестве иллюстрации можете представить себе шкаф, имеющий множество нумерованных ящиков. Шкаф – это массив. Ящики – это индексы. Содержимое ящиков – элементы массива. Доступ к содержимому конкретного ящика (элемента массива) осуществляется после указания шкафа –имени массива – и номера ящика – индекса массива Шкаф
Чтобы представить себе двумерный массив, вспомните зрительный зал кинотеатра. Название кинотеатра – имя массива. Ряд, место - индексы. Человек на определенном месте – элемент массива.
Для того, чтобы использовать массив в программе, его нужно описать в разделе описаний: Var имя_массива : array [ размер ] of тип_элементов; Имя массива выбираем по основным правилам имен идентификаторов. Размер: [начальный_индекс.. конечный_индекс ] [1..5 ] [ ] [ ] [нач_индекс.. конечн_индекс, нач_индекс.. конечн_индекс ] Например, 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. Написать программу, которая сначала должна обеспечить ввод 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 град.
На этом уроке мы узнали: 1.Массив – это структура данных, представляющая собой совокупность элементов одного типа. 2.Массив должен быть объявлен в разделе объявления переменных. 3.Доступ к элементу массива осуществляется путем указания имени массива и индекса (номера) элемента. 4.Для ввода, вывода и обработки массивов удобно применять команды цикла.
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 *i 2 Вывести элементы этого массива на экран компьютера и найти максимальное значение среди них.
Задача 2. Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел и выводит количество ненулевых элементов. Перед вводом каждого элемента должна появляться подсказка с номером. Рекомендуемый вид экрана при работе программы: После ввода каждого числа нажмите A[1]= 12 A[2]= 0 A[3]= -3 A[4]= 1 A[5]= 0 В массива 3 ненулевых элемента
Задача 3 Написать программу, которая определяет, сколько раз в массиве случайных чисел A[1..100] встречается число Х, введенное с клавиатуры.
Выучить конспект, § 31 (33). Задача 1. Написать программу, которая вычисляет среднее арифметическое ненулевых элементов массива М[1..100], элементы которого вычисляются по формуле: М[i]=sin(i)*cos(i) Задача 2. Написать программу, которая проверяет, образуют ли элементы массива Х [1..10], введенного с клавиатуры неубывающую последовательность.