Class08:


Вектора

1. Опишите тип R как одномерный массив, элементами которого являются натуральные числа, а индексами - любые литеры.

2. Ответьте на вопросы:
- может ли массив содержать один элемент или ни одного элемента?
- можно ли во время выполнения программы изменить размер массива?
- верно ли, что тип элементов массива может быть любым?
- могут ли элементами некоторого массива быть числа 1, 1.2, 1.44, 2?

3. Найдите ошибки в описании:
Const N = 50;
Type Words = array [0 .. n-1] of letter;
Letter = 'a'..'z';
Vector = array [real] of integer;
Digits = array [true .. false] of (1, 2, 3, 4);

4. Какие операции над массивами допустимы в следующей программе, а какие нет?
program Error;
var x,y : array[1..20] of real;
z,u : array[1..50] of real;
i : integer;
begin read(x,y);
if x < > y then begin z := x; x := y; y := z end
else x := x + y;
for i:=1 to 20 do u[i] := x[i] + y[i];
z := u;
end.

5. Напишите пpогpамму, вычисляющую для вектора x значение
y = x[1] - x[2] + x[3] - ... - x[n-1] + x[n]

6.Количество повтоpений каждого элемента вектора a : array[1..n] при условии что 1 <= a[i] <= k.

const n=10;
k=5;
type number = 1..k;
index = 0..n;
var a : array[index] of number;
count : array[number] of index;
i : index;
j : number;
begin
writeln('Введите ',n,' чисел в диапазоне 1..',k);
for i:=1 to n do read(a[i]);
for j:=1 to k do count[j]:=0;
for i:=1 to n do inc(count[a[i]]);
for j:=1 to k do writeln(j,' - ', count[j]);
end.

7.Задан текст в виде массива символов длины n. Напечатать символы, не встречающиеся в тексте.