teya07
?>

В алфавите 16букв. Каков информационный вес одной буквы?

Информатика

Ответы

veronikagrabovskaya
 --- gfortran 6.3 ---
program prog1
integer N, k, i, j
real a(10,10)
read *, N
print *, 'Матрица:'
do i = 1,N
 do j = 1,N
   a(i,j) = sin(1.0*i+1.0*j/2)
 end do
end do
do i = 1, N
 print *, (a(i,j), j=1,N)
end do
k = 0
do i = 1, N
 do j = 1, N
  if(a(i, j) > 0) k = k+1
 end do
end do 
print *, k
end

Результат:
4
Матрица:
   0.997494996 0.909297407 0.598472118 0.141120002
   0.598472118 0.141120002 -0.350783229 -0.756802499
  -0.350783229 -0.756802499 -0.977530122 -0.958924294
  -0.977530122 -0.958924294 -0.705540299 -0.279415488
      6
Viktorovna_Yurevna
1. Чтобы найти количество чисел, кратных восьми, на заданном интервале [a;b], надо найти на этом интервале ближайшее к a число и потом прибавлять к нему по восемь, пока не пройдем весь интервал, считая, сколько чисел Но это глуповатый Он просто и бездумно программируется, но как считали раньше, когда компьютеров не было?
Определим остаток от деления а на 8. Если он нулевой, то a - первое из найденных чисел. Остаток от деления 121 на 8 равен 1, т.е. нам не повезло. Тогда прибавим к значению а число 8 и вычтем найденный остаток.121+8-1=128. Это и есть наше первое число. Сужаем интервал [128;400]. Чтобы найти, сколько на нем чисел, кратных 8, надо разделить нацело 400-128 на 8 и прибавляем к результату единицу. Получаем 35 - это и есть ответ.
Программу составим универсальную, которая будет находить на интервале [a;b] количество чисел, кратных m.

PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var (a,b):=ReadInteger2('Введите через пробел границы интервала:');
  var m:=ReadInteger('Укажите число для поиска кратных ему:');
  var r:=a mod m;
  if r>0 then a:=a+8-r;
  Writeln('Количество чисел равно ',(b-a) div m +1)
end.

Пример
Введите через пробел границы интервала: 121 400
Укажите число для поиска кратных ему: 8
Количество чисел равно 35

2. В этой задаче все совсем просто. Читаем очередное число p, находим остаток от деления p на восемь. Если он ненулевой, проверяем, чтобы остаток от деления p на 10 был равен двум. Если и это верно, добавляем p к накапливаемой сумме s. Так поступаем n раз.

begin
  var n:=ReadInteger('n=');
  var s:=0;
  var p:integer;
  for var i:=1 to n do begin
    Read(p);
    if p mod 8 <> 0 then
      if p mod 10 = 2 then s:=s+p
    end;
  Writeln('Сумма отобранных чисел равна ',s)
end.

Пример
n= 8
127 32 222 45 80 832 702 29
Сумма отобранных чисел равна 924

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

В алфавите 16букв. Каков информационный вес одной буквы?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Сергеевна-Иван1045
migor72
mmreznichenko
slava-m-apt
bronco-s
xachen
sunrise
yaelenatu
Ерохин
info46
tarigor
masum-2011687
Dmitrievna405
andrey
oafanasiev41