Реферат Курсовая Конспект
A[56]; A[i+7]; A[i div j] . - раздел Менеджмент, Использование значений массивов, ввод и вывод значений массивов Можно Ввести И Значения Отдельных Элементов, А Не Всего Массива. Так, Операто...
|
Можно ввести и значения отдельных элементов, а не всего массива. Так, операторами:
Read(A[3]); { ввод значение третьего элемента вектора А }
Read(B[6,9]);{ ввод значение элемента, расположенного в шестой строке девятого столбца матрицы В }
Оба значения набираются на одной строке экрана, начиная с текущей позиции расположения курсора.
Вводить и выводить значения из массивов целесообразно поэлементно, используя в цикле операторы Readln, Write, Writeln и оператор присваивания.
Program Vvod_Vivod; | |
Var i:integer; | |
A:Array[1..20] of Real; | |
B:Char; | |
Begin | |
Writeln('Введите числа в массив: '); | |
FOR i:=1 TO 20 DO | |
begin Write('A[',i,']= '); Readln(A[i]) end; | |
Writeln('Массив заполнен, будете выводить'); | |
Write('значения на экран? ("Y"-да, "N"-нет)=>'); | |
Readln(B); | |
IF UpCase(B)="Y" THEN | {если прописной вариант введенной} |
FOR i:=1 TO 20 DO Writeln('A[',i,']=',A[i]:6:2); | {буквы является "Y", то} |
Readln | |
End. |
Двумерные массивы
Одномерный массив (вектор) имеет вид таблицы из одной строки, ячейки которой заполнены значениями. Рассматривая ДВУМЕРНЫЙ массив, можно провести аналогию с таблицей, имеющей несколько строк и столбцов. Если отдельный элемент одномерного массива обозначали именем массива с индексом (А[i]), то для обозначения элемента двумерного массива (матрицы) потребуются два индекса: один - для указания номера строки, другой - для указания номера столбца, на пересечении которых находится нужный элемент: А[i,j]. Двумерные массивы описываются сходно с массивами одномерными:
Const Str=4; Stolb=5; |
Var A:Array[1..Str,1..Stolb] of Real; |
Заполнение двумерных массивов данными и вывод данных из двумерного массива осуществляется с использованием двух циклов, один из которых вложен в другой. Внутренний цикл перебирает индексы столбцов, наружный - индексы строк:
FOR i:=1 TO Str DO |
FOR j:=1 TO Stlb DO Readln(A[i,j]); |
............... |
FOR i:=1 TO Str DO |
FOR j:=1 TO Stlb DO Writeln('A[',i,',',j,']=',A[i]:6:2); |
здесь Str - число строк, Stlb - число столбцов.
Пример:
В программе необходимо описать двухмерный массив целых чисел:
4 0 7
2 1 5
Описание этого массива в соответствии с первым способом выглядит следующим образом:
Type mas = Array[1..2,1..3] Of Byte;
Var M : mas;
Для второго способа имеем:
Var M : Array[1..2,1..3] Of Byte;
Для обращения в программе к элементу во второй строке и третьем столбце используется запись M[2,3].
В качестве индексов массива могут использоваться выражения, частным случаем которых является константа или переменная, например:
Min := A[2*i]+1.3; {присвоить переменной Min значение элемента A c номером i*2, увеличенное на 1.3}
Sum := Sum - C[k]; {уменьшить значение в переменной Sum на значение из элемента C c номером k}
Rez := B[4] + 5.2; {присвоить переменной Rez значение элемента B c номером 4, увеличенное на 5.2}
Пример описания трехмерного массива:
Var A : Array[char,boolean,1..10 ] of Real;
В этом случае при использовании в программе элемента A [i,j,k] индексы i,j,k должны быть следующих типов: i - символьного, j - логического, k - интервального.
Для ввода и вывода числовых значений элементов массива используются циклы.
Например,
цикл For k := 1 To 13 Do Read(C[k]);организует ввод 13 значений элементов массива С,
а цикл For k := 1 To 13 Do Write(C[k],' '); –вывод этих элементов.
Начальные значения элементов массива могут быть введены сразу с описанием массива как типизированная константа в разделе Const. При этом могут применяться также две формы описания:
Type имя типа = Array[тип индекса] Of базовый тип элементов;
Const имя константы : имя типа = (список констант);
или
Const имя константы : Array[тип индекса] Of базовый тип элементов = (список констант);
При описании типизированной константы типа "многомерный массив" константы каждой строки заключаются в отдельные скобки. Например, описание двухмерного массива со следующими начальными значениями:
2 3 15 4
7 18 23 5
1 9 11 10
32 16 6 4
будет выглядеть следующим образом:
Const M : Array[1..4,1..4] Of Byte = (( 2, 3, 15, 4), ( 7, 18, 23, 5), ( 1, 9, 11, 10), (32, 16, 6, 4));
В языке Паскаль допускается использование массива в целом только в операторе присваивания вида:
M1 := M2;
где M1, M2 - два однотипных массива одинаковой размерности.
Полная переменная
Массив можно рассматривать не только как группу однотипных переменных, но и как единое целое, как одну переменную. Значением этой особой переменной является весь массив. Такую переменную называют ПОЛНОЙ.
Если полные переменные А и В имеют один и тот же тип (были описаны одинаково) и всем элементам массива "А" были присвоены значения, то для присвоения полной переменной "В" точно такого же значения достаточно выполнить оператор присваивания В:=А.
Значения полных переменных одного и того же типа могут быть использованы только в операторах присваивания.
Нельзя использовать полные переменные в качестве аргументов арифметических операций.
Над значениями полных переменных в Паскале не выполняются операции сравнения.
Если в левой части оператора присваивания стоит полная переменная, то в правой части может фигурировать только полная переменная того же типа. Например, при наличии в программе следующего описания переменных
VAR X:Real;
Y:Array[1..1] of Real;
недопустимы операторы присваивания
X:=Y; Y:=X; X:=Y+0.5; Y:=3.14159;
Примеры использования массивов
1. Попарное суммирование элементов массивов А и В.
Program Prim1; |
Const N=10; |
Var i:integer; |
A,B,C:Array[1..N] of Real; |
Begin |
FOR i:=1 TO N DO |
begin |
Write('A[',i,']= '); Readln(A[i]); |
Write('B[',i,']= '); Readln(B[i]) |
end; |
FOR i:=1 TO N DO C[i]:=A[i]+B[i]; |
Writeln('----------------------------------'); |
FOR i:=1 TO N DO Writeln('C[',i,']=',C[i]:6:1); |
Readln |
End. |
2. Объединить в массиве “С” массивы “А” и “В” так, чтобы их элементы чередовались: элементы из массива “А” занимали нечетные ячейки, а элементы массива “В” - четные.
Program Prim2; |
Const N=10; |
Var i:integer; |
A,B:Array[1..N] of Real; |
C:Array[1..N*2] of Real; |
Begin |
FOR i:=1 TO N DO |
begin |
Write('A[',i,']= '); Readln(A[i]); |
Write('B[',i,']= '); Readln(B[i]) |
end; |
FOR i:=1 TO N DO |
begin |
C[2*i-1]:=A[i]; |
C[2*i]:=B[i] |
end; |
Writeln('------------------------------'); |
FOR i:=1 TO 2*N DO Writeln('C[',i,']=',C[i]:6:1); |
Readln |
End. |
3. Пример программы ввода-вывода одномерного массива
program priimer1;
uses crt;
– Конец работы –
Эта тема принадлежит разделу:
Массивы Одномерные массивы Понятие о массиве... Описание массивов... Действия над элементами массива...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: A[56]; A[i+7]; A[i div j] .
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов