Отлажено с PascalABC.Net
Program Answer;//Создаем программу
//Создаем необходимые переменные
var Massive : array[0..4] of integer;//Массив сгенерированных чисел
var PositiveCnt, NegativeCnt, NeutralCnt :
integer;//Количество чисел относящиеся к определенной группе
var t : boolean;//Определяет есть ли в массиве отрицательное четное число
begin//Начинаем цепочку действий программы
Massive[0] := Random(-10, 10);//Генерируем случайное число от -10 до 10
Massive[1] := Random(-10, 10);//Генерируем случайное число от -10 до 10
Massive[2] := Random(-10, 10);//Генерируем случайное число от -10 до 10
Massive[3] := Random(-10, 10);//Генерируем случайное число от -10 до 10
Massive[4] := Random(-10, 10);//Генерируем случайное число от -10 до 10
//Выводим полученные значения
writeln('Список значений: ');
writeln(Massive[0].ToString());
writeln(Massive[1].ToString());
writeln(Massive[2].ToString());
writeln(Massive[3].ToString());
writeln(Massive[4].ToString());
//Вычисляем количество положительных значений
if (Massive[0] > 0) then PositiveCnt := PositiveCnt + 1;
if (Massive[1] > 0) then PositiveCnt := PositiveCnt + 1;
if (Massive[2] > 0) then PositiveCnt := PositiveCnt + 1;
if (Massive[3] > 0) then PositiveCnt := PositiveCnt + 1;
if (Massive[4] > 0) then PositiveCnt := PositiveCnt + 1;
//Вычисляем количество отрицательных значений
if (Massive[0] < 0) then NegativeCnt := NegativeCnt + 1;
if (Massive[1] < 0) then NegativeCnt := NegativeCnt + 1;
if (Massive[2] < 0) then NegativeCnt := NegativeCnt + 1;
if (Massive[3] < 0) then NegativeCnt := NegativeCnt + 1;
if (Massive[4] < 0) then NegativeCnt := NegativeCnt + 1;
//Вычисляем количество нулевых значений
if (Massive[0] = 0) then NeutralCnt := NeutralCnt + 1;
if (Massive[1] = 0) then NeutralCnt := NeutralCnt + 1;
if (Massive[2] = 0) then NeutralCnt := NeutralCnt + 1;
if (Massive[3] = 0) then NeutralCnt := NeutralCnt + 1;
if (Massive[4] = 0) then NeutralCnt := NeutralCnt + 1;
//Выводим количество положительных значений
writeln('Количество положительных значений: ' + PositiveCnt.ToString());
//Выводим количество отрицательных значений
writeln('Количество отрицательных значений: ' + NegativeCnt.ToString());
//Выводим количество нулевых значений
writeln('Количество нулевых значений: ' + NeutralCnt.ToString());
//Определяем есть ли в массиве четное, отрицательное число
if (Massive[0] < 0) and (Massive[0] mod 2 = 0) then t := true
else if (Massive[1] < 0) and (Massive[1] mod 2 = 0) then t := true
else if (Massive[2] < 0) and (Massive[2] mod 2 = 0) then t := true
else if (Massive[3] < 0) and (Massive[3] mod 2 = 0) then t := true
else if (Massive[4] < 0) and (Massive[4] mod 2 = 0) then t := true;
writeln('В массиве есть одно четное, отрицательное число? - ' +
t.ToString());
end.//Завершаем цепочку действий программы
Вывод:
Список значений:
-9
9
-7
2
-9
Количество положительных значений: 2
Количество отрицательных значений: 3
Количество нулевых значений: 0
В массиве есть одно четное, отрицательное число? - False
за интересное задание!
Передача информации — физический процесс, посредством которого осуществляется перемещение знаков (сведений предоставлять информацию) в или осуществляется физический доступ субъектов к знакам.
Передача информации — заблаговременно организованное техническое мероприятие, результатом которого становится воспроизведение информации, имеющейся в одном месте (так называемый источник информации), в другом месте (приёмник информации). Данное мероприятие предполагает предсказуемый срок получения указанного результата; «информация» здесь понимается в техническом аспекте, как осмысленное множество символов, чисел, параметров абстрактных или физических объектов, без достаточного «объёма» которого не могут быть решены задачи управления, выживания, развлечения, совершения финансовых операций, каких-либо действий, в т.ч. преступных, и т.д.
Объяснение:
Создать файл 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);
Объяснение:
Программа:
Pascal:
1.
const N = 10;
var
pol, otr, nul, i: integer;
arr: array[1..N] of integer;
begin
randomize;
for i := 1 to N do begin
arr[i] := random(-10, 10);
if arr[i] > 0 then inc(pol);
if arr[i] = 0 then inc(nul);
if arr[i] < 0 then inc(otr);
end;
writeln('Массив: ',arr);
writeln('Положительных чисел: ', pol);
writeln('Нулей: ', nul);
writeln('Отрицательных чисел: ', otr);
end.
2.
const N = 10;
var
t: boolean;
pol, otr, nul, i: integer;
arr: array[1..N] of integer;
begin
randomize;
for i := 1 to N do begin
arr[i] := random(-10, 10);
if arr[i] > 0 then inc(pol);
if arr[i] = 0 then inc(nul);
if arr[i] < 0 then begin
t := True;
inc(otr);
end;
end;
writeln('Массив: ',arr);
writeln('Положительных чисел: ', pol);
writeln('Нулей: ', nul);
writeln('Отрицательных чисел: ', otr);
writeln(t);
end.