Одномерные и двумерные массивы.
ИЛОВАЙСКАЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 14Харцызского городского советаДонецкой Народной Республики Урок подготовил и провел учитель информатикиИловайской ОШ № 14Донецкой Народной РеспубликиФоменко Александр АндреевичИловайск, 2016 г. 9 – А класс В практической деятельности человека часто используются таблицы и списки.Например:Список учеников в журнале;Список среднесуточной температуры месяца;Таблица умножения. ИвановПетровСидоровКошкинМышкин 100
120
120
130
140
140
120
150
160
140
...
180 60 50 40 30 20 10 10 54 48 42 36 30 24 18 12 6 6 45 40 35 30 25 20 15 10 5 5 36 32 28 24 20 16 12 8 4 4 27 24 21 18 15 12 9 6 3 3 18 16 14 12 10 8 6 4 2 2 9 8 7 6 5 4 3 2 1 1 9 8 7 6 5 4 3 2 1 Элементы списков и номера строк и столбцов всегда нумеруются В языках программирования подобные типы данных описываются с помощью массивов. это набор однотипных данных, к которым можно обратиться с помощью единственного имени Каждое значение в массиве называется элементом.Номер элемента в списке называется индексом. Элементы представляют собой символьные или числовые значения, которые можно использовать в выражениях ЯП ПАСКАЛЬ В качестве иллюстрации можете представить себе шкаф, имеющий множество нумерованных ящиков. Шкаф – это массив.Ящики – это индексы.Содержимое ящиков – элементы массива.Доступ к содержимому конкретного ящика (элемента массива) осуществляется после указания шкафа –имени массива – и номера ящика – индекса массива. 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.Написать программу, которая сначала должна обеспечить ввод 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 день= 22 день= 03 день= -34 день= 15 день= 36 день= -27 день= 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]= 12A[2]= 0A[3]= -3A[4]= 1A[5]= 0В массива 3 ненулевых элемента Задача 3Написать программу, которая определяет, сколько раз в массиве случайных чисел A[1..100] встречается число Х, введенное с клавиатуры. Выучить конспектЗадача 1.Написать программу, которая вычисляет среднее арифметическое ненулевых элементов массива М[1..100], элементы которого вычисляются по формуле:М[i]=sin(i)*cos(i)Задача 2.Написать программу, которая проверяет, образуют ли элементы массива Х[1..10], введенного с клавиатуры неубывающую последовательность.