ВУЗ:
Составители:
Рубрика:
A:=B;
При отладке программ с массивами не всегда удобно их компоненты каждый раз
вводить заново с клавиатуры. Элементы массивов можно хранить в виде файлов на дис-
ке или (если позволяют тип данных и логика программы) задавать случайным образом.
2.2. Примеры программ с массивами
Пример 1. Ввод и обработка данных (одномерный массив)
program massiv;
const n=1000;
var
vector: array [1..n] of real;
s:real;
i:integer;
begin
for i:=1 to n do
read(vector[i]);{ввод данных с клавиатуры}
{"случайное" заполнение массива:}
{randomize; for i:=1 to n do vector[i]:=random}
s:=0
for i:=n downto 1 do
s:=s+vector[i]*vector[n-i+1];
write(' s=',s)
end.
Пример 2. Работа с многомерным массивом (матрицей)
program simmat;
const n=10;
var
mat: array [1..n,1..n] of integer;
smat, asmat: array [1..n,1..n] of real;
i,j:integer;
begin {блок чтения исходной матрицы}
for i:=1 to n do
for j:=1 to n do readln(mat[i,j]);
{блок расчета} for i:=1 to n do
for j:=1 to n do
begin
smat[i,j]:=(mat[i,j]+mat[j,i])/2; asmat[i,j]:=(mat[i,j]-mat[j,i])/2; smat[j,i]:=smat[i,j];
asmat[j,i]:=-asmat[i,j]
end;
{блок распечатки матриц}
for i:=1 to n do {печать "в строчку"}
A:=B; При отладке программ с массивами не всегда удобно их компоненты каждый раз вводить заново с клавиатуры. Элементы массивов можно хранить в виде файлов на дис- ке или (если позволяют тип данных и логика программы) задавать случайным образом. 2.2. Примеры программ с массивами Пример 1. Ввод и обработка данных (одномерный массив) program massiv; const n=1000; var vector: array [1..n] of real; s:real; i:integer; begin for i:=1 to n do read(vector[i]);{ввод данных с клавиатуры} {"случайное" заполнение массива:} {randomize; for i:=1 to n do vector[i]:=random} s:=0 for i:=n downto 1 do s:=s+vector[i]*vector[n-i+1]; write(' s=',s) end. Пример 2. Работа с многомерным массивом (матрицей) program simmat; const n=10; var mat: array [1..n,1..n] of integer; smat, asmat: array [1..n,1..n] of real; i,j:integer; begin {блок чтения исходной матрицы} for i:=1 to n do for j:=1 to n do readln(mat[i,j]); {блок расчета} for i:=1 to n do for j:=1 to n do begin smat[i,j]:=(mat[i,j]+mat[j,i])/2; asmat[i,j]:=(mat[i,j]-mat[j,i])/2; smat[j,i]:=smat[i,j]; asmat[j,i]:=-asmat[i,j] end; {блок распечатки матриц} for i:=1 to n do {печать "в строчку"}
Страницы
- « первая
- ‹ предыдущая
- …
- 2
- 3
- 4
- 5
- 6
- …
- следующая ›
- последняя »