М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Facegga
Facegga
24.02.2020 04:34 •  Информатика

Решить подпрограмму в паскале, дано: массивы а1(n1,m1),a2(n2,m2),a3(n3,m3). вычислить х=х1+х2+х3 и y1+y2+y3, где х1,х2,х3-количество нулей в каждом из массивов а1,а2,а3 соответственно, а y1,y2,y3-количество элементов в каждом из этих массивов,лежащих в интервале [1,12]. определение количества нулей в массиве и количества элементов, лежащих в этом интервале, оформить в виде подпрограммы.

👇
Ответ:
Лизунчик011
Лизунчик011
24.02.2020
Const CSize1=7;
      CSize2=6;
      CSize3=5;
type TMas1=array[1..CSize1,1..CSize1] of integer;
     TMas2=array[1..Csize2, 1..CSize2] of integer;
     TMas3=array[1..Csize3, 1..CSize3] of integer;

var A1:TMas1;
    A2:TMas2;
    A3:TMas3;
    i,j,x, y:byte;

function zero(i:integer):boolean;
begin
zero:=false;
if i=0 then zero:=true;
end;

function interval(i:integer):boolean;
begin
interval:=false;
if (i<=12) and (i>=1) then interval:=true;
end;

begin
X:=0;
Y:=0;
randomize;
for i:=1 to CSize1 do
 begin
 for j:=1 to CSize1 do
  begin
  A1[i, j]:=random(50);
  write(A1[i, j]:3);
  if zero(A1[i, j]) then inc(x);
  if interval(A1[i,j]) then inc(y);
  end;
 writeln;
 end;
writeln('Kol-vo 0 =', x);
writeln('Kol-vo v intervale=', y);
writeln;
x:=0;
y:=0;
for i:=1 to CSize2 do
 begin
 for j:=1 to CSize2 do
  begin
  A2[i, j]:=random(50);
  write(A2[i,j]:3);
  if zero(A1[i,j]) then inc(x);
  if interval(A2[i,j]) then inc(y);
  end;
 writeln;
 end;
writeln('Kol-vo 0 =', x);
writeln('Kol-vo v intervale=', y);
writeln;
x:=0;
y:=0;
for i:=1 to CSize3 do
 begin
 for j:=1 to CSize3 do
  begin
  A3[i, j]:=random(50);
  write(A3[i,j]:3);
  if zero(A3[i,j]) then inc(x);
  if interval(A3[i,j]) then inc(y);
  end;
 writeln;
 end;
writeln('Kol-vo 0 =', x);
writeln('Kol-vo v intervale=', y);
writeln;
x:=0;
y:=0;
end.
4,7(27 оценок)
Открыть все ответы
Ответ:
LittlePanda3
LittlePanda3
24.02.2020
Современный компьютер может обрабатывать числовую, текстовую, графическую, звуковую и видео информацию. Все эти виды информации в компьютере представлены в двоичном коде, т. е. используется алфавит мощностью два (всего два символа 0 и 1). Связано это с тем, что удобно представлять информацию в виде последовательности электрических импульсов: импульс отсутствует (0), импульс есть (1). Такое кодирование принято называть двоичным, а сами логические последовательности нулей и единиц - машинным языком. Суть кодирования заключается в том, что каждому символу ставят в соответствие двоичный код от 00000000 до 11111111 или соответствующий ему десятичный код от 0 до 255.
4,5(8 оценок)
Ответ:
kadri1
kadri1
24.02.2020
Современные версии программного обеспечения (и в том числе, для языка Паскаль) позволяют в короткие сроки создавать очень короткие, наглядные и эффективные решения.

// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
begin
  var a:=ArrRandom(20,-99,99); a.Println;
  a.Where(x->x<0).Concat(a.Where(x->x>=0)).Println
end.

Тестовое решение
88 94 55 -38 43 -72 3 -26 -1 -23 84 93 40 -8 -25 77 4 39 -50 3
-38 -72 -26 -1 -23 -8 -25 -50 88 94 55 43 3 84 93 40 77 4 39 3

Замечание:
Если стоит задача получить именно массив, а потом его вывести, можно написать так:
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
begin
  var a:=ArrRandom(20,-99,99); a.Println;
  a:=a.Where(x->x<0).Concat(a.Where(x->x>=0)).ToArray;
  a.Println
end.
4,6(13 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ