ответ:ОБЪЯВЛЕНИЕ МАССИВА
Массивы в Паскале используются двух типов: одномерные и двумерные.
Определение одномерного массива в Паскале звучит так: одномерный массив — это определенное количество элементов, относящихся к одному и тому же типу данных, которые имеют одно имя, и каждый элемент имеет свой индекс — порядковый номер.
Описание массива в Паскале (объявление) и обращение к его элементам происходит следующим образом:
Описание массива в Паскале
Объявление массива
var dlina: array [1..3] of integer;
begin
dlina[1]:=500;
dlina[2]:=400;
dlina[3]:=150;
...
dlina — идентификатор (имя) массива;
для объявления используется служебное слово Array (в переводе с англ. «массив» или «набор»);
[1..3] — в квадратных скобках ставится номер (индекс) первого элемента, затем две точки и индекс последнего элемента массива, т.е. по сути, указывается количество элементов; количество элементов массива называется размерностью массива
of integer (с англ. «из целых чисел») — указывает, к какому типу относится массив, of здесь — служебное слово.
Объявить размер можно через константу:
размер массива через константу
ИНИЦИАЛИЗАЦИЯ МАССИВА
Кроме того, массив может быть сам константным, т.е. все его элементы в программе заранее определены. Описание такого массива выглядит следующим образом:
const a:array[1..4] of integer = (1, 3, 2, 5);
Заполнение последовательными числами:
заполнение массива
Результат:
A[1] = 8, A[2] = 9, A[3] = 10, ..., A[N] = A[N-1] + 1
Ввод с клавиатуры:
Пример: Рассмотрим, как происходит ввод массива в Паскале:
writeln ('введите кол-во элементов: ');
readln(n); {если кол-во заранее не известно, - запрашиваем его}
for i := 1 to n do begin
write('a[', i, ']=');
read(a[i]);
...
end;
...
Объяснение:
begin
var (cost, t, k) : = (arr(15, 70, 125, 230, 440), arr(1, 5, 10, 20, 60), new integer[5]);
var n : = readinteger('n-> ');
for var i : = 4 downto 0 do
begin
k[i] : = n div t[i]; n : = n mod t[i];
end;
if k[0] * cost[0] > = cost[1] then begin k[0] : = 0; inc(k[1]); end;
if k[0] * cost[0] + k[1] * cost[1] > = cost[2] then
begin
k[0] : = 0; k[1] : = 0; inc(k[2]);
end;
if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] > = cost[3] then
begin
k[0] : = 0; k[1] : = 0; k[2] : = 0; inc(k[3]);
end;
if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] + k[3] * cost[3] > = cost[4] then
begin
k[0] : = 0; k[1] : = 0; k[2] : = 0; k[3] : = 0; inc(k[4]);
end;
for var i : = 0 to 4 do writelnformat('{0} билет(ов)- {1} штук(а)', t[i], k[i]);
end.
пример(1):
n-> 37
1 билет(ов)- 0 штук(а)
5 билет(ов)- 0 штук(а)
10 билет(ов)- 0 штук(а)
20 билет(ов)- 0 штук(а)
60 билет(ов)- 1 штук(а)
пример(2):
n-> 35
1 билет(ов)- 0 штук(а)
5 билет(ов)- 1 штук(а)
10 билет(ов)- 1 штук(а)
20 билет(ов)- 1 штук(а)
60 билет(ов)- 0 штук(а)
Поделитесь своими знаниями, ответьте на вопрос:
Зрительный зал представляет собой прямоугольную область зрительских кресел: 12 рядов по 10 кресел. какое минимальное количество бит потребуется для кодирования каждого места в автоматизированной системе?
По формуле Хартли 2^i=N, где N количество вариантов (кресел), i количество бит для кодирования одного варианта.
2^i=120
i=7 бит (округляем в большую сторону)
ответ: 7 бит