Snikers2018
20.02.2021 13:23

1. Дан прямоугольник со сторонами a см и b см соответственно. Составьте программу, которая находит периметр и площадь прямоугольника питон


1. Дан прямоугольник со сторонами a см и b см соответственно. Составьте программу, которая находит п

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Kirka3118
06.06.2023 19:41

Объяснение:

В общем алгоритм такой.

Пусть мы имеем массив a[1..n, 1..n] из n*n элементов,

i - номер строки, j - номер столбца.

Спускаемся вниз по строкам до строки, номер которой отличается от того,

n - четное или нечетное.

В общем случае это номер i_ser, равный n делить на 2, и округленный до целого вниз.

Например, если n = 4, i_ser = 2, если n = 7, то i_ser = 3.

Для i от 1 до i_ser делать

 начало

   Для j от 1 до i делать

     // здесь мы получаем нужные нам координаты i, j

 конец

Если i_ser нечетно, то отдельно проходимся по строке с номером i_ser+1

Если i_ser нечетно то

 начало

   i_ser = i_ser + 1

Для j от 1 до i_ser делать

     // здесь мы получаем нужные нам координаты i_ser, j

 конец

 

i_ser = i_ser + 1      

Для i от i_ser до n делать

 начало

   Для j от 1 до n - i + 1 делать

     // здесь мы получаем нужные нам координаты i, j

 конец

0,0(0 оценок)
Ответ:
Iriska91l23
26.08.2020 17:32
1. Современный вариант (коротко, быстро и наглядно, кто знает). Так уже начали учить в некоторых школах.

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ArrRandom(ReadInteger('n='),1,300).Println.
      Where(k->(k>=100) and ((k mod 100) div 10=0));
  if s.Count>0 then Writeln(s.Max) else Writeln('Нет элементов')
end.

Пример
n= 15
76 283 171 140 113 65 185 35 202 42 93 51 205 76 138
205

2. А так по-прежнему учат в большинстве школ. Стиль "80-х годов века". Долго, длинно, можно наделать ошибок, но по-другому эти учителя сами не могут.

const
  nn=100;
var
  i,n,max:integer;
  a:array[1..nn] of integer;
begin
  Write('n=');
  Read(n);
  Randomize;
  max:=0;
  for i:=1 to n do begin
    a[i]:=Random(300)+1;
    Write(a[i],' ');
    if (a[i]>=100) and ((a[i] mod 100) div 10=0) then
      if a[i]>max then max:=a[i]
    end;
  Writeln;
  if max>0 then Writeln(max)
  else Writeln('Нет элементов')
end.

Пример
n=15
219 68 131 115 104 169 80 288 143 108 124 214 50 101 1
108
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота