Пример решения задачи с использованием массивов

Задача: даны два n-мерных вектора. Найти сумму этих векторов.

Решение задачи:

1. Входными данными в этой задаче будут являться два одномерных массива. Размер этих массивов может быть произвольным, но определенным. Т.е. мы можем описать заведомо большой массив, а в программе определить, сколько элементов реально будет использоваться. Элементы этих массивов могут быть целочисленными. Тогда описание будет выглядеть следующим образом:
var a,b: array [1..100] of integer;

2. Выходными данными будут элементы результирующего массива, назовем его c. Тип результирующего массива также должен быть целочисленным.

3. Кроме трех массивов нам потребуется переменная – параметр цикла и индекс массива, назовем ее i, а также переменная n для определения количества элементов в каждом массиве.

4. Ход решения задачи:

- определим количество элементов (размерность) массивов, введем значение n;

- введем массив a;

- введем массив b;

- в цикле, перебирая значения индекса i от 1 до n, вычислим последовательно значения элементов массива c по формуле: c[i]=a[i]+b[i];

- выведем на экран полученный массив.

Текст программы:

Program summa;

Var a, b, c: array [1..100] of integer; I, n: byte;

Begin

Write(‘введите размерность массивов:’);

Readln(n);

For i:=1 to n do

Readln (a[i]); {ввод массива a}

For i:=1 to n do

Readln (b[i]); {ввод массива b}

For i:=1 to n do

C[i]:=a[i]+b[i]; {вычисление суммы массивов}

For i:=1 to n do

write (c[i],’ ‘); {вывод массива с}

end.

Вопросы для повторения

1. В чем отличие простых и структурированных типов данных? К каким типам данных относится массив?

2. Что называется массивом?

3. Как в Паскале описываются переменные типа массив?

4. Может ли массив содержать один элемент? А ни одного?

5. Можно ли во время выполнения программы изменить размер массива (количество элементов, определенное во время описания)?

6. Верно ли, что тип элементов массива может быть любым?

7. Могут ли в одном массиве храниться элементы:
1, 2.3, ‘а’, -5.23, 0, ‘слово’, -2?

8. Может ли типом индекса быть тип integer или real?

9. Какие из приведенных описаний являются неправильными и почему?
· var a: array [1..20] of integer;
· type myarray=array [1..20];
var b: myarray;
· var sd: array [1..n] of integer;
· var dd: array[1] of integer;

10. Сколько элементов в каждом из следующих массивов:
· var mb: array [2..20] of integer;
· type myarray1= array [0..8] of integer;
myarray2= array [-5..5] of integer;
var aa: myarray1;
bb: myarray2;

11. Используя описание массивов из предыдущего пункта, определить, какие из приведенных обращений к элементам массивов неправильные и почему?


· mb[3];
· myarray1[2];
· aa[6];
· bb[6];
· aa[0];
· bb[0];
· bb[-3];
· aa[-3]


Лабораторная работа №5

Тема: Одномерные массивы


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: