В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
DragaoMad
DragaoMad
11.12.2020 13:10 •  Информатика

Які види циклів розрізняють в інформатиці (цикли за розміщенням відносно інших елементів)?

Показать ответ
Ответ:
denis403
denis403
28.04.2022 23:05
1. PascalABC.NET 3.3
const n=5;
begin
 writeln('До:');
 var a:=MatrRandom(n,n,-10,10); a.Println(5);
 var b:=a.ElementsWithIndexes.Select(k->k[2]>k[1]?0:k[0]).ToArray;
 writeln('После:');
 a:=MatrGen(n,n,(i,j)->b[i*n+j]); a.Println(5);
end.

Пример:
До:
   -7    3    8   -6   -5
   -2    6   -1   -6   -8
    5    7    2  -10    0
    9    3   -8    5   -6
   -4    1    1    0  -10
После:
   -7    0    0    0    0
   -2    6    0    0    0
    5    7    2    0    0
    9    3   -8    5    0
   -4    1    1    0  -10

2.
const n=5;
var 
a:array[1..n,1..n] of integer;
i,j:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:4);
  end;
  writeln;
 end;
for i:=1 to n do
 for j:=i+1 to n do a[i,j]:=0;
writeln('Полученный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do write(a[i,j]:4);
 writeln;
 end;
end.

Пример:
Исходный массив:
  62  25  21  54  22
  71  39  41  49  63
  26  93  50  79  35
  81  45  40  99  45
  46  87  63  36  15
Полученный массив:
  62   0   0   0   0
  71  39   0   0   0
  26  93  50   0   0
  81  45  40  99   0
  46  87  63  36  15
0,0(0 оценок)
Ответ:
baltan1978
baltan1978
06.06.2022 17:10
Сначала задача должна быть решена геометрически. Очевидно, что круг войдет в прямоугольник если его диаметр D будет меньше, чем меньшая из сторон этого прямоугольника min(a,b). Вот и все решение.

По этому решению составляем алгоритм:
1. Ввести a, b, D
2. Найти m - минимум (a,b)
3. Если D<m, то вывести сообщение "Войдет", иначе вывести сообщение "Не войдет".
4. Завершить работу.

Осталось написать программу.

1. Современное решение

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

begin
  var (a,b,d):=ReadReal3('Введите через пробел a,b,D:');
  var m:=Min(a,b);
  if D<m then Writeln('Войдет')
  else Writeln('Не войдет')
end.

Пример
Введите через пробел a,b,D: 14.5 11 10.6
Войдет

2. "Школьный" вариант - так писали наши отцы и деды

var
  a,b,D,m:real;

begin
  Write('Введите через пробел a,b,D: ');
  Read(a,b,d);
  if a<b then m:=a
  else m:=b;
  if D<m then Writeln('Войдет')
  else Writeln('Не войдет')
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота