Задача:
Напишите программу, которая генерирует случайный набор из 15 чисел и выводит их в порядке убывания. JavaScript.
План:
- Алгоритм решения
- Код программы
- Примеры входных данных и ожидаемых результатов
- Объяснение кода программы
- Блок-схема
Алгоритм решения:
-
Генерация случайных чисел:
- Создать пустой массив
numbers. - Запустить цикл, который выполняется 15 раз:
- Генерировать случайное число от 1 до 100 с помощью
Math.random()иMath.floor(). - Добавить сгенерированное число в массив
numbers.
- Генерировать случайное число от 1 до 100 с помощью
- Создать пустой массив
-
Сортировка чисел по убыванию:
- Использовать метод
sort()для массива. - Передать функцию сравнения
(a, b) => b - aдля сортировки по убыванию.
- Использовать метод
-
Вывод отсортированных чисел:
- Вывести заголовок "Random numbers in descending order:".
- Использовать метод
forEach()для перебора всех чисел в отсортированном массиве. - Вывести каждое число в консоль.
-
Выполнение программы:
- Вызвать функцию
generateRandomNumbers()для создания массива случайных чисел. - Вызвать функцию
sortDescending()для сортировки полученного массива. - Вызвать функцию
displayNumbers()для вывода отсортированных чисел.
- Вызвать функцию
Код программы на языке JavaScript:
Код JavaScript
function generateRandomNumbers() {
const numbers = [];
for (let i = 0; i < 15; i++) {
numbers.push(Math.floor(Math.random() * 100) + 1);
}
return numbers;
}
function sortDescending(numbers) {
return numbers.sort((a, b) => b - a);
}
function displayNumbers(numbers) {
console.log("Random numbers in descending order:");
numbers.forEach(number => console.log(number));
}
const randomNumbers = generateRandomNumbers();
const sortedNumbers = sortDescending(randomNumbers);
displayNumbers(sortedNumbers);
Примеры входных данных и ожидаемых результатов:
Пример 1:
Входные данные: (генерируются случайно)
Ожидаемый результат:
Random numbers in descending order:
98
87
76
65
54
43
32
21
19
17
15
13
11
9
7
Пример 2:
Входные данные: (генерируются случайно)
Ожидаемый результат:
Random numbers in descending order:
100
95
89
78
72
67
61
55
49
43
37
31
25
19
13
Пример 3:
Входные данные: (генерируются случайно)
Ожидаемый результат:
Random numbers in descending order:
93
88
82
77
71
66
60
54
48
42
36
30
24
18
12Объяснение кода программы:
-
Определение функции
generateRandomNumbers:Эта функция создает пустой массивfunction generateRandomNumbers() { const numbers = []; for (let i = 0; i < 15; i++) { numbers.push(Math.floor(Math.random() * 100) + 1); } return numbers; }numbers, затем в цикле генерирует 15 случайных чисел от 1 до 100 и добавляет их в массив. Возвращает заполненный массив. -
Определение функции
sortDescending:Функция принимает массив чисел и сортирует его в порядке убывания, используя методfunction sortDescending(numbers) { return numbers.sort((a, b) => b - a); }sort()с компаратором. -
Определение функции
displayNumbers:Эта функция выводит заголовок и затем каждое число из массива в консоль.function displayNumbers(numbers) { console.log("Random numbers in descending order:"); numbers.forEach(number => console.log(number)); } -
Генерация случайных чисел:
Вызывается функцияconst randomNumbers = generateRandomNumbers();generateRandomNumbers(), и результат сохраняется в переменнуюrandomNumbers. -
Сортировка чисел:
Вызывается функцияconst sortedNumbers = sortDescending(randomNumbers);sortDescending()с аргументомrandomNumbers, отсортированный массив сохраняется вsortedNumbers. -
Вывод отсортированных чисел:
Вызывается функцияdisplayNumbers(sortedNumbers);displayNumbers()с аргументомsortedNumbersдля вывода отсортированных чисел в консоль.