Одномерные и двумерные массивы.


ИЛОВАЙСКАЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 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], введенного с клавиатуры неубывающую последовательность.