PASCAL Дан текстовый файл numere.txt, который содержит, во-первых, ненулевое натуральное значение n (n <= 30000), а во-вторых, n целых значений, состоящих не более чем из 4 цифр, разделенных одним или несколькими пробелами. Требуется вычислить сумму четных элементов во второй строке файла. 2. Текстовый файл bac.txt содержит в одной строке не более 1000 ненулевых натуральных чисел с не более чем 4 цифрами каждое, числа, разделенные пробелом. Напишите программу на языке Pascal, которая считывает с клавиатуры натуральное число null n (n <= 999) и числа в файле bac.txt и отображает на экране, разделенные пробелом, все числа в файле, которые делятся на n. файл не содержит такого номера, тогда на экране появится сообщение НЕ СУЩЕСТВУЕТ. Пример: если файл bac.txt содержит числа: 3 100 40 70 25 5 80 6 3798,
для n = 10 на экране отобразится: 100 40 70 80
i = 8 бит
I = 240 бит
I = 30 байт
I ≈ 0,02 Кбайта
i = 16 бит
I = 480 бит
I = 60 байт
I ≈ 0,05 Кбайт
Объяснение:
1 байт = 8 бит
1 Кбайт = 1024 байт
I = К * i где
I - информационный объём сообщения
K - количество символов в сообщении
i - количество бит для кодирования 1 символа (информационный вес символа)
Считаем количество символов, расположенных между кавычками, включая пробелы и знаки препинания.
К = 30
В зависимости от кодировки, информационный вес символа, создаваемого на компьютере, может быть равен:
i = 8 бит (1 байт)
или
i = 16 бит (2 байта)
Если i = 8 бит (1 байт), то
I = 30 * 8 = 240 бит
I = 30 * 1 = 30 байт
I = 30 байт = 30 / 1024 ≈ 0,02 Кбайта
Если i = 16 бит (2 байта), то
I = 30 * 16 = 480 бит
I = 30 * 2 = 60 байт
I = 60 байт = 60 / 1024 ≈ 0,05 Кбайт
const
m: array[1..8, 1..8] of byte =
((0, 1, 1, 1, 0, 0, 0, 0),
(1, 0, 0, 0, 1, 0, 1, 0),
(1, 0, 0, 0, 1, 1, 0, 0),
(1, 0, 0, 0, 0, 1, 1, 0),
(0, 1, 1, 0, 0, 0, 0, 1),
(0, 0, 1, 1, 0, 0, 0, 1),
(0, 1, 0, 1, 0, 0, 0, 1),
(0, 0, 0, 0, 1, 1, 1, 0));
var
n, i, j, k: integer;
a: array[0..100, 1..8] of int64;
begin
read(n);
a[0, 1] := 1;
for k := 1 to n do
for i := 1 to 8 do
for j := 1 to 8 do
if m[i, j] = 1 then
a[k, i] := a[k, i] + a[k - 1, j];
write(a[n, 8]);
end.