Создать файл X компонентами которого являются элемента массива M. Переписать из файла X в файл Y все компоненты, которые стоят на четных местах. Прочитать файл Y.
M = (0,1; 5,6; 0.8; 2,4; 7,3; 6,8; 0,5; 2,3;)
Решение
Описание переменных:
M - массив-константа;
x, y - переменные, связанные с типизированными файлами;
n - считанное из файла очередное число;
i - счетчик.
Алгоритм решения задачи:
Создать константу-массив, присвоив ей заданные значения массива.
Связать файловые переменные с соответствующими файлами.
Открыть файл X на запись. Записать в него все элементы массива. Закрыть файл.
Открыть файл X на чтение, а файл Y на запись. Присвоить счетчику значение 1. Пока не будет достигнут конец файла X, считывать из него очередное число. Если при этом счетчик имеет четное значение, то записывать число в файл Y. После считывания и проверки на четность номера очередного числа, увеличивать счетчик на 1. После того как файл X будет прочитан, закрыть оба файла.
Открыть файл Y на чтение. Пока не будет достигнут его конец, считывать из него очередное число и выводить его на экран. После завершения цикла закрыть файл.
Программа на языке Паскаль:
const M: array[1..8] of real = (0.1, 5.6, 0.8, 2.4, 7.3, 6.8, 0.5, 2.3);
var
x,y : file of real;
n: real;
i: byte;
begin
assign(x,'x.dat');
assign(y,'y.dat');
rewrite(x);
for i:=1 to 8 do
write(x, M[i]);
close(x);
reset(x);
rewrite(y);
i := 1;
while not EOF(x) do begin
read(x, n);
if not odd(i) then
write(y, n);
i := i + 1;
end;
close(x);
close(y);
reset(y);
while not EOF(y) do begin
read(y, n);
write(n:5:1);
end;
writeln;
close(y);
Объяснение:
Передача информации — физический процесс, посредством которого осуществляется перемещение знаков (сведений предоставлять информацию) в или осуществляется физический доступ субъектов к знакам.
Передача информации — заблаговременно организованное техническое мероприятие, результатом которого становится воспроизведение информации, имеющейся в одном месте (так называемый источник информации), в другом месте (приёмник информации). Данное мероприятие предполагает предсказуемый срок получения указанного результата; «информация» здесь понимается в техническом аспекте, как осмысленное множество символов, чисел, параметров абстрактных или физических объектов, без достаточного «объёма» которого не могут быть решены задачи управления, выживания, развлечения, совершения финансовых операций, каких-либо действий, в т.ч. преступных, и т.д.
Объяснение:
n = 50; {Максимальное количество чисел в последовательности}
t = -77;{Число-ограничитель, означающее конец ввода}
type
ta = array[1..n] of integer;
var
a: ta; {массив членов последовательности}
az: ta; {массив, содержащий номера нулей в последовательности}
kz: integer; {количество членов в массиве az}
i, iz, p, n1, n2: integer;
flag: boolean;
begin
{Вводим числа и сразу же отслеживаем номера нулей в последовательности}
Writeln('Вводите последовательность чисел, окончание ввода по -77');
i := 0; iz := 0;
repeat
Read(p);
if p <> t then begin
i := i + 1;
a[i] := p;
if p = 0 then begin
iz := iz + 1;
az[iz] := i;
end
end
until p = t;
kz := iz;
Writeln('Вывод последовательностей');
{1. До первого встреченного нуля}
for i := 1 to az[1] - 1 do Write(a[i], ' ');
Writeln;
{2. Остальные промежутки}
for iz := 1 to kz do
begin
for i := az[iz] + 1 to az[iz + 1] - 1 do Write(a[i], ' ');
Writeln;
end
end.
Тестовое решение:
Вводите последовательность чисел, окончание ввода по -77
1 2 3 0 5 6 7 0 0 10 11 12 13 0 15 16 17 18 19 20 -77
Вывод последовательностей
1 2 3
5 6 7
10 11 12 13