ПРОГРАММИРОВАНИЕ В TURBO PASCAL |
Доброго времени суток, уважаемые! Тема данной рассылки - массивы.
МАССИВЫ
646 | 78,3 | -0,5 | 69 | 0 |
Конечно, можно каждое число обозначить своим именем, но можно для всей совокупности чисел ввести одно обобщающее имя, а индексом отметить конкретное число, например : А1, А2, А3, А5.
Массив - совокупность конечного числа данных одного типа, упорядоченных по значениям индекса. Каждый элемент массива обозначается именем массива с индексом. В языке Паскаль индекс заключается в квадратные скобки. Для рассмотренного примера элементами массива А являются : A[1]=646, A[2]=78,3, A[3]=-0,5, A[4]=69, A[5]=0.
Если в программе используется массив, то он должен быть описан либо в разделе переменных VAR, либо в разделе типов TYPE. Рассмотрим сначала описание массива в разделе переменных VAR. Например:
CONST P : array [1..N] of integer =
(21,33,25,68,72,39,5,12,34,56);
VAR
MAS: array[1..5] of real; {real - базовый тип}
index: array[2..7] of integer;
name: array[1..15] of string[25];
Если несколько массивов имеют одинаковый тип индексов и одинаковый базовый тип, то допускается в описании объединять массивы в список, например
VAR A, B, C: array[1..5] of real;
В качестве индекса может быть выражение, частным случаем которого является константа или переменная. Элемент массива - называется переменной с индексом. В отличие от нее переменная без индекса называется простой переменной.
Элементы массива могут стоять как в левой части оператора присваивания, так и в выражениях. Над элементами массива можно производить те же операции, которые допустимы для данных его базового типа. Примеры использования элементов массива в разделе операторов:
B[5]:=B[3]+1;
Sum:=Sum+C[k];
P1:=A[2* i+1];
Ввод и вывод численных значений массива
-
Ввод массивов. Ввод
нескольких массивов одного размера можно
осуществлять в одном цикле (For I:=1 to N do Readln (A[I], B[I]).
Однако такой способ ввода часто является
причиной ошибок. Более естественно вводить
сначала все элементы одного массива, затем
другого. Для этого ввод каждого массива нужно
осуществлять в отдельном цикле.
Если вводимые массивы имеют разные размеры, то второй способ является практически единственно возможным.
WriteLn (' Вывод массива А ');
For I:=1 to N do Write(A[I]:3);
WriteLn;
При вводе двух или нескольких одномерных массивов одного размера часто удобно вывести их как расположенные параллельно столбцы:
...
WriteLn (' Вывод массивов А и В ');
For I:=1 to N do WriteLn(A[I]:5, B[I]:5);
...
Вывод двух или более массивов различных размеров, как правило, осуществляется в строку. Вывод нового массива начинается с новой строки. Если массив А ( или В ) не умещается в одной строке, вывод будет автоматически продолжен в следующей.
Пример:
Суммирование элементов массива, удовлетворяющих
заданному условию. Найдем сумму элементов
массива Р, содержащего n элементов,
удовлетворяющих заданному условию, (для
определенности пусть условие имеет вид Pi>T,
где T - заданное число).
Program Mas;
Uses Crt;
Const N=10;
P : array [1..N] of integer = (21,33,25,68,72,39,5,12,34,56);
Var I, T, S : integer;
Begin ClrScr;
Write ('Введите число :');ReadLn(T);
S:=0;
For I:=1 to N do
If P[i]<=T then S:=S+P[i];
WriteLn ('Сумма элементов массива, равна ',S);
end.
Предлагаем Вам самим выбрать ТЕМУ для следующей рассылки. Если у Вас есть какие-либо вопросы по программированию в Pascal или же Вы наоборот хотите поделиться своими навыками, то вот наш адрес:
Мы ответим на ВСЕ присланные сообщения. Заранее спасибо за любые пожеланиям и рекомендациям по поводу.
Акция: "ДОЛОЙ ОШИБКИ!"
При компиляции набранного кода или его выполнении программа Pascal выполняет проверку на наличие ошибок и выдает о них сообщения (Error...). Не все знают точно, что они означают и как с ними "бороться". Именно для них и предназначена эта акция. Теперь, если у Вас что-то не получается, а программа находит ошибку, то Вы можете прислать нам ее номер, название или весь Ваш код целиком, не забыв указать обратный e-mail, а мы со своей стороны обязательно постараемся Вам помочь:
!!!>>>
Задать вопрос про "ошибку" <<<!!!
http://subscribe.ru/
E-mail: ask@subscribe.ru |
В избранное | ||