Марюк-Мубариз
?>

Информатика 9 класс Написать программы на языке паскаль для решения следующих задач. 1. Известен результат спортсмена в беге на 100 метров. Определите установил ли он мировой рекорд если на момент забега мировой рекорд составляет 8 с2. Даны координаты точки. Определить, находится ли она в lll четверти ​

Информатика

Ответы

ilez03857

1)

var time: real;

begin

write('введите время забега за 100 метров');

readln(time);

if (time < 8) then writeln('новый мировой рекорд')

else writeln('мировой рекорд не удалось преодолеть');

end.

2)

var x, y: real;

begin

write('введите координаты точки');

readln(x, y);

if (x < 0 and y < 0) then writeln('точка лежит в 3 четверти')

else writeln('точка лежит в другой координатной четверти');

end.

ravshandzon3019835681

Linq используется для генерации последовательности

using System.Linq;

Длина последовательности задаётся тут.

private static int Size => 7

Разберём главный код.

По умолчанию Rand имеет большой разброс. Поэтому мы хотим его ограничить, но так, чтобы мы точно не знали значения max и min. (чтобы искать по-честному). Этого можно не делать, но будут страшные значения генерироваться.

Для этого генерируем случайно крайние значения диапазона генерации.

int seedMin = new Random().Next(1, 40);

int seedMax = new Random().Next(seedMin + 5, seedMin + 40);

Далее генерируем саму последовательность.

var arr = Enumerable  //Класс из Linq для работы с перечислениями

              .Repeat(0, Size) // Задаём количество

              .Select(_ => new Random().Next(seedMin, seedMax)) // Для каждого элемента генерируем случайное значение

              .ToArray(); // Делаем массивом

Ну а теперь, можно заняться поиском и вычислением.

int max = arr[0], min = arr[0]; // Предполагаем max и min первым элементом

foreach (var el in arr) {

        max = Math.Max(el, max); //  Если очередной больше - заменяем max

        min = Math.Min(el, min); //  Если очередной меньше - заменяем min

}

Теперь мы нашли минимальным и максимальный элементы. Нам надо убрать их из последовательности ровно по одному разу. Для этого создаём переменные-флаги типа bool. Если наткнёмся на max или min при расчете, то пропустим их и отметим, что уже встречали.

Создадим переменную для произведения и приравняем к 1 (если 0, то произведение будет 0).

int product = 1;

bool maxIsCatched = false, minIsCatched = false;

Ищем произведение.

foreach (var el in arr)

          {

              if (!maxIsCatched && el == max) // Если не встречали до этого и встретили сейчас

              {

                  maxIsCatched = true; //Запоминаем факт встречи

                  continue; // Пропускаем шаг

              }

              if (!minIsCatched && el == min) // По аналогии но с min

              {

                  minIsCatched = true;

                  continue;

              }

              product *= el; // Это всё равно, что написать  product = product * el

          }

Далее просто выводим результаты.

Сначала выводим сгенерированную последовательность.

Затем найденные max, min и product.

PrintArr(arr);

Console.WriteLine($"Max: {max}; Min: {min}; Product: {product}.");

Метод для печати последовательности написан самостоятельно и выглядит так.

private static void PrintArr<T>(IEnumerable<T> arr)

{

     foreach (var el in arr) // Перебираем

     {

          Console.Write(el); // Печатаем

           Console.Write(" ");

     }

     Console.WriteLine();

}

<T> используется для того, чтобы не зависеть от значений последовательности. Туда можно запихнуть любой массив или список.

IEnumerable<T> - обобщение для любой перечислимой коллекции.

Хохлов

10

Объяснение:

Смотри вложение. Клетки: [B], [S] робот пройдёт более 2-х раз -> эти клетки не подойдут под условие. Почему? Потому что каждый цикл робот смещается на 3 клетки влево – через [B], в каждом цикле, робот уже проходит 2 раза, а в следующем цикле он делает это ещё раз, тем самым проваливая условие для данной клетки; [S] – аналогично, поскольку робот, в каждом цикле, пересечёт данную клетку, выходя из клетки [F] в клетку [G].

Для простоты, приведу список клеток из 2 цикла:

[G] станет [S];

[A] станет [B];

[C] станет [D];

[B] станет [E];

[S] станет [F].

Во втором цикле [G] левее на 3 клетки, а её позицию из 1 цикла, теперь, занимает клетка [S].

Нетрудно понять, что ровно 2 раза робот пройдёт только по клетке [C] – [C] станет [D] и больше не будет пройдена роботом.

Остальные клетки робот пройдёт более или менее 2 раз.


Робот движется по клетчатому полю в соответствии с заданной программой. для записи программы использ

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

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

Информатика 9 класс Написать программы на языке паскаль для решения следующих задач. 1. Известен результат спортсмена в беге на 100 метров. Определите установил ли он мировой рекорд если на момент забега мировой рекорд составляет 8 с2. Даны координаты точки. Определить, находится ли она в lll четверти ​
Ваше имя (никнейм)*
Email*
Комментарий*

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

Vladimirovich-Aleksandrovna96
motor2218
sensenagon50
Alekseeva_Khlistov
zakaz1
sychevao19975
byfetvostochniy
sev-94428
Ольга тимур
Alekseevna1811
aananasAnastiya1270
murin
Nastyaches4
elenaowchinik4842
kuk-nina