ВУЗ:
Составители:
Рубрика:
9
Элемент массива считается переменной, он может получать
значения (например, в операторе присваивания), а также участвовать в
выражениях, где он представляет значение, помещенное в
соответствующий элемент данного массива.
Ассортимент операций над элементами массива полностью
определяется типом этих массивов (базовым типом массива).
Эквивалентность и совместимость типов
Два типа являются эквивалентными, если выполнимо хо
тя бы одно
из следующих условий:
1. Эти два типа представляют собой один и тот же
идентификатор типа
2. Первый тип описан с использованием второго типа с
помощью равенства
type T1 = T2 или посредством цепочки
таких равенств
Совместимость типов имеет место, если выполняется хотя бы одно
из следующих условий:
1. Оба типа эквивалентны
2. Оба типа являются либо целыми, либо оба типа являются
вещественными
3. Оба типа являются ограниченными, причем их базовым
типом является один и тот же тип
Ввод и вывод массива
По
д вводом массива понимается ввод значений элементов массива.
Данную операцию удобно реализовать при помощи оператора цикла с
параметром (оператор цикла
For). Чтобы пользователь программы знал,
ввод какого элемента массива ожидает программа, следует организовать
своевременные “подсказки” перед вводом очередного элемента массива. В
подсказке обычно указывают индекс элемента массива.
Под выводом массива понимается вывод на экран значений
элементов массива. Если в программе необходимо вывести значения всех
элементов массива, то для этого также удобно воспользоваться
операт
ором цикла с параметром (оператор цикла
For), переменная-счетчик
которой может быть использован как индекс элемента массива.
10
Типовые алгоритмы обработки массивов
Пример 1
Сформировать массив B из элементов
массива C, кратных трем. Массив C состоит из
25 элементов целого типа.
Особенностью решения задачи является
то, что индексы элементов массивов B и C не
совпадают. Это связано с тем, что не все
элементы массива C включаются в массив B.
Поэтому в качестве индекса массива B возьмем
переменную k, значение которой будем
увеличивать на 1
(k = k + 1) перед записью
нового элемента в массив B. Начальное
значение k = 0. Индекс i массива C будем
изменять с помощью оператора цикла с
параметром.
Проверку на кратность трем будем
производить с помощью встроенной функции
mod, назначение которой выделение остатка
при делении. Если элемент массива C делится
без остатка на три, (то есть, кратен трем), то
его следует включить в массив B, если же нет,
то перейти к следующему элементу массива C.
Программа 1
Var k,I: real;
C,B: array[1 . . 25] of integer;
begin
for I:=1 to 25 do begin
write('Ввод С',i); readln(C[ i ]);
if C[ i ] mod 3 = 0 then begin
k:=k+1; B[ k ]:=C[ i ] end;
end;
writeln('Массив B:');
for I:=1 to k do write(B[ i ]:6); {печать в строку}
writeln; {перевод курсора} End.
НАЧАЛО
K=0; N=25
I=1, N
Печать
Ввод C(I)
нет
да
C(I) mod3=0
K=K+1
B(K)=C(I)
КОНЕЦ
I=1, K
Печать
B(I)
Р
исунок 3. Блок-схема
программы №1
Элемент массива считается переменной, он может получать Типовые алгоритмы обработки массивов значения (например, в операторе присваивания), а также участвовать в выражениях, где он представляет значение, помещенное в НАЧАЛО Пример 1 соответствующий элемент данного массива. Сформировать массив B из элементов Ассортимент операций над элементами массива полностью K=0; N=25 массива C, кратных трем. Массив C состоит из определяется типом этих массивов (базовым типом массива). 25 элементов целого типа. Эквивалентность и совместимость типов Особенностью решения задачи является I=1, N то, что индексы элементов массивов B и C не Два типа являются эквивалентными, если выполнимо хотя бы одно совпадают. Это связано с тем, что не все из следующих условий: элементы массива C включаются в массив B. Печать 1. Эти два типа представляют собой один и тот же Ввод C(I) Поэтому в качестве индекса массива B возьмем идентификатор типа переменную k, значение которой будем увеличивать на 1 (k = k + 1) перед записью 2. Первый тип описан с использованием второго типа с да нового элемента в массив B. Начальное помощью равенства type T1 = T2 или посредством цепочки C(I) mod3=0 значение k = 0. Индекс i массива C будем таких равенств изменять с помощью оператора цикла с нет параметром. Совместимость типов имеет место, если выполняется хотя бы одно K=K+1 Проверку на кратность трем будем из следующих условий: производить с помощью встроенной функции 1. Оба типа эквивалентны mod, назначение которой выделение остатка при делении. Если элемент массива C делится 2. Оба типа являются либо целыми, либо оба типа являются B(K)=C(I) без остатка на три, (то есть, кратен трем), то вещественными его следует включить в массив B, если же нет, 3. Оба типа являются ограниченными, причем их базовым то перейти к следующему элементу массива C. типом является один и тот же тип Программа 1 I=1, K Ввод и вывод массива Var k,I: real; Под вводом массива понимается ввод значений элементов массива. C,B: array[1 . . 25] of integer; Печать Данную операцию удобно реализовать при помощи оператора цикла с B(I) begin параметром (оператор цикла For). Чтобы пользователь программы знал, for I:=1 to 25 do begin ввод какого элемента массива ожидает программа, следует организовать write('Ввод С',i); readln(C[ i ]); своевременные подсказки перед вводом очередного элемента массива. В КОНЕЦ подсказке обычно указывают индекс элемента массива. if C[ i ] mod 3 = 0 then begin Рисунок 3. Блок-схема программы №1 k:=k+1; B[ k ]:=C[ i ] end; Под выводом массива понимается вывод на экран значений элементов массива. Если в программе необходимо вывести значения всех end; элементов массива, то для этого также удобно воспользоваться writeln('Массив B:'); оператором цикла с параметром (оператор цикла For), переменная-счетчик for I:=1 to k do write(B[ i ]:6); {печать в строку} которой может быть использован как индекс элемента массива. writeln; {перевод курсора} End. 9 10
Страницы
- « первая
- ‹ предыдущая
- …
- 3
- 4
- 5
- 6
- 7
- …
- следующая ›
- последняя »