Шуршилина_Ильич
?>

Дан целочисленный массив из 20 элементов. элементы массива могут принимать целые значения от 0 до 1000 включительно. опишите на паскале алгоритм, позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, не делящихся на 9. если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом не кратно 9, то выведите сообщение «не найдено». исходные данные объявлены так, как показано ниже. запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. const n = 20; var a: array [1..n] of integer; i, j, max: integer; begin for i : = 1 to n do readln(a[i]); end.

Информатика

Ответы

Nugamanova-Tatyana840
Program max;
const
  N = 20;
var
  a: array [1..N] of integer;
  i, j, max: integer;
begin
  for i := 1 to N do
    readln(a[i]);
  max := 0;
  j := 0;
  for i := 1 to N do
    if (a[i] div 100 > 0) and (a[i] div 1000 = 0) and (a[i] mod 9 <> 0)
    then {число подходит}
      if a[i] > max
      then
        begin
          max := a[i];
          j := 1; {для отслеживания наличия хотя бы одного числа}
        end;
  if j = 1
  then
    writeln('ответ: ', max)
  else
    writeln('Не найдено');
end.
Yelena_Gennadevna

1. по векторам:

использовать чертежник

алг

нач

сместиться на вектор (1.75,0)

опустить перо

сместиться на вектор (0.5,0)

сместиться на вектор (0,0.5)

сместиться на вектор (1,0)

сместиться на вектор (-1, 1)

сместиться на вектор (0.75,0)

сместиться на вектор (-1,1)

сместиться на вектор (-1,-1)

сместиться на вектор (0.75,0)

сместиться на вектор (-1,-1)

сместиться на вектор (1,0)

сместиться на вектор (0,-0.5)

поднять перо

сместиться в точку (0,0)

кон

2. по точкам:

использовать чертежник

алг

нач

сместиться в точку (1.75,0)

опустить перо

сместиться в точку (2.25,0)

сместиться в точку (2.25,0.5)

сместиться в точку (3.25,0.5)

сместиться в точку (2.25, 1.5)

сместиться в точку (3,1.5)

сместиться в точку (2,2.5)

сместиться в точку (1,1.5)

сместиться в точку (1.75,1.5)

сместиться в точку (0.75,0.5)

сместиться в точку (1.75,0.5)

сместиться в точку (1.75,0)

поднять перо

сместиться в точку (0,0)

кон

aaltuxova16

За каждую итерацию цикла n возрастает на 8. Нам нужно минимум 125 итераций, чтоб получить n > 1000, потому что 4 + 8*125 > 1000, а 4 + 8*124 < 1000. Можно и больше 125 итераций, об этом дальше

За каждую итерацию цикла s растёт на 5, пока не превысит 400. Нам нужно как минимум 125 итераций, как мы выяснили, а для этого стартовое значение s должно быть больше чем

400 - 5*125 = 400 - 625 = -225,

но больше или равно

400 - 5*124 = 400 - 620 = -220.

Ну и на отрезке (-225; -220] максимум найти несложно.

Если число итераций N будет больше 125, то больше будет разница 400 - 5*N , а значит меньше будет стартовое значение S, что нас не устраивает.

ответ: -220

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

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

Дан целочисленный массив из 20 элементов. элементы массива могут принимать целые значения от 0 до 1000 включительно. опишите на паскале алгоритм, позволяющий найти и вывести максимальное значение среди трёхзначных элементов массива, не делящихся на 9. если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом не кратно 9, то выведите сообщение «не найдено». исходные данные объявлены так, как показано ниже. запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. const n = 20; var a: array [1..n] of integer; i, j, max: integer; begin for i : = 1 to n do readln(a[i]); end.
Ваше имя (никнейм)*
Email*
Комментарий*

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

Tatyanaaarzieva72
АлександрАлина
zeltos384
ludmila-malev280
Лихачев Полина1978
bronco-s
polikarpov-70
IPMelnikovR146
stsnab
Mariya694
baulinanatalia7201
mila-vsv
tat72220525
lika080489
vladimir686