ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
