Задача. Вычислить сумму элементов массива A[20]. Массив задать случайным образом числами в диапазоне от –5 до 5. Вывести на экран заданный массив и искомую сумму.
const n=10;
type massiv=array[1..n] of integer;
var a:massiv;
i, summa:integer;
begin
Randomize;
For i:=1 to 10 do
begin
A[i]:=-5+Random(10);
Write(A[i]:5);
end;
writeln; {пропустим пустую строчку для разделения исходных данных и результатов}
for i:=1 to n do
summa:=summa+a[i];
writeln('summa=', summa:5:3);
end.
Задача. Поменять указанные элементы местами. Позиции элементов, которые необходимо поменять местами, ввести с клавиатуры, проверив, не выходят ли введенные индексы за границы массива.
const n=10;
type massiv=array[1..10] of integer;
var a:massiv;
i,j,pos1,pos2,tmp:integer;
begin
Randomize;
for i:=1 to 10 do
begin
a[i]:=-5+Random(11);
Write(A[i]:5);
end;
writeln('Введите позиции элементов, которые желаете поменять местами');
readln(pos1,pos2);
if (((pos1>0)AND(pos1<=n))AND((pos2>0)AND(pos2<=n))) then
{это условие проверяет, принадлежат ли введенные с клавиатуры значения диапазону индексов элементов}
Begin
tmp:=a[pos1];
a[pos1]:=a[pos2];
a[pos2]:=tmp;
End
Else Writeln('Введены несуществующие индексы элементов массива, обмен не выполняется');
writeln;
{пропустив пустую строчку, выводим массив, полученный в результате обмена}
for i:=1 to n do
writeln('a[',i,']=',a[i]:3);
readln;
end.
Задачи для самостоятельного решения по теме «Одномерные массивы»
1. Запомнить в элементах массива сумму всех предыдущих элементов, включая данный (самостоятельно).
2. Изменить знак у максимального по модулю элемента массива.
3. Заменить все четные элементы на их квадраты, а нечетные удвоить.
4. Вычесть из положительных элементов элемент с номером k1, а к отрицательным прибавить элемент с номером к2, нулевые элементы оставить без изменения.
5. К четным элементам прибавить число А, а из элементов с четными номерами вычесть В.
Контрольные вопросы по теме «Одномерные массивы»
1. Указать особенности программ, использующих массивы.
2. Какие операторы языка можно применить для описания массивов?
3. В чем состоит особенность организации цикла при обработке массивов?
4. В чем состоит особенность использования приемов программирования при обработке массивов?