Пекарь Ольга 9 «б» 2011 Цель: формирование представления о массиве, о способах описания массива, о способах ввода/вывода элементов массива. Каждое значение в массиве называется элементом. Номер элемента в списке называется В качестве иллюстрации можете представить себе дом, имеющий множество нумерованных этажей. 1 2 3 4 5 дом – это массив. этажи – это индексы. Содержимое этажей – элементы массива. Доступ к содержимому конкретного этажа (элемента массива) осуществляется после указания дома (имени массива) и номера этажа (индекса массива). Чтобы представить себе двумерный массив, вспомните зрительный зал кинотеатра. Название кинотеатра – имя массива. Ряд, место - индексы. Человек на определенном месте – элемент массива. Для того, чтобы использовать массив в программе, его нужно описать в разделе описаний: Var (имя_массива ): array [инд1..индN ] of тип_элементов ; Инд1 - индекс первого элемента ИндN - индекс последнего элемента Диапазон индексов определяет максимально возможное количество элементов в массиве – размер массива В гостиничном доме 18 комнат . Известна площадь каждой комнаты. Для хранения значений площадей можно использовать массив , состоящий из 18 целых чисел. Индекс каждого элемента – порядковый номер комнаты в гостиничном журнале. Например, элемент хранит площадь комнаты под пятым номером. Описание этого массива может выглядеть так: Var A: array[1..18] of integer; Этот массив можно описать и так(задав диапазон константами n1 и n2): Const n1=1; n2=18; Var A: array[n1..n2] of integer; команда вывод For i:=1 to 5 do write (A[i]); 12345 For i:=1 to 5 do write (A[i], ‘, ‘); 1,2,3,4,5 For i:=1 to 5 do write(A[i], ‘; ‘); 1;2;3;4;5; For i:=5 downto 1 do write(A[i], ‘; ‘); 5;4;3;2;1; For i:=1 to 3 do writeln(A[i]); 1 2 3 For i:=1 to 3 do write(A[i]:4); Элементы массива в программах используются так же, как обычные переменные. Элементам типа integer можно присваивать результат выполнения операций +, - , *, div, mod, /. Для элемента типа real возможны операции +, -, *, /. : Составим программу, которая формирует массив из 12 случайных целых чисел , принадлежащих промежутку [-40; 40], и вычисляет сумму положительных чисел. Var A: array[1..12[ of integer; I, s: integer; Begin For i:=1 to 12 do A[i]:=random(81)-40; (формирование массива) S:=0; For i:=1 to 12 do if A[i]>0 then s:=s+A[i]; For i:=1 to 12 do write(A[i]:4); Writeln; Writeln(‘Сумма положительных чисел =’,s); End. При работе с массивами нередко приходится выполнять различные преобразования их элементов, например преобразовывать единицы измерения, изменять значения элементов, менять местами элементы в массиве. : Составить программу, которая формирует массив из 15 случайных чисел от 0 до 20, меняет местами 3 и 12 элементы и выводит значения элементов до и после обмена. Var A: array[1..15] of integer; B, i: integer; Begin For i:=1 to 15 do A[i]:=random(21); For i:=1 to 15 do write (A[i]:4); Writeln; B:=A[3]; A[3]:=A[12]; A[12]:=B; for I:=1 to 15 do write(A[i]:4); End. При обработке информации постоянно приходится сталкиваться с задачами поиска данных. Эти задачи весьма разнообразны: от поиска номера до проверки правильного ответа. Эти алгоритмы одни из наиболее часто выполняемых. : В массиве хранится рост 12 учеников класса. Составить программу, которая определяет , есть ли в классе ученик ростом 172см. , и выводит его номер по списку. Решение любой задачи с помощью компьютера содержит несколько этапов: I. Определение исходных данных(что дано?) II. Определение результатов(что надо найти?) III. Описание переменных(определение типов данных) IV. Составление алгоритма решения задачи V. Написание и откладка программы Var r: array[1..20[ of integer; VI. Тестирование программы : Составить программу, которая осуществляет ввод в массив значений сопротивления n резисторов и расчёт общего сопротивления электрической цепи при её последовательном соединении резисторов. n, i, Rs: integer; Begin Write(‘введите количество резисторов(<=20)’); Readln(n); Writeln(‘введите сопротивление в омах’); For i:=1 to n do read(r[i]); Rs:=r[1]; For i:=2to n do Rs:=Rs + R[i]; Writeln(‘общее сопротивление цепи = ’, Rs, ‘ ом’); End.