Отправляет email-рассылки с помощью сервиса Sendsay

Программирование в Turbo PASCAL

  Все выпуски  

Программирование в Turbo PASCAL : массивы


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Служба почтовых рассылок Subscribe.Ru и проект Pascal-2000 mf company

ПРОГРАММИРОВАНИЕ В 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-sub@mail.ru

   Мы ответим на ВСЕ присланные сообщения. Заранее спасибо за любые пожеланиям и рекомендациям по поводу.

Рассылки Subscribe.Ru
Программирование в Turbo PASCAL

Акция: "ДОЛОЙ ОШИБКИ!"

    При компиляции набранного кода или его выполнении программа Pascal выполняет проверку на наличие ошибок и выдает о них сообщения (Error...). Не все знают точно, что они означают и как с ними "бороться". Именно для них и предназначена эта акция. Теперь, если у Вас что-то не получается, а программа находит ошибку, то Вы можете прислать нам ее номер, название или весь Ваш код целиком, не забыв указать обратный e-mail, а мы со своей стороны обязательно постараемся Вам помочь:

!!!>>> Задать вопрос про "ошибку" <<<!!!



http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное