Упражнение №3. Напишите программу, которая создаёт массив из 100 случайных чисел в диапазоне от 0 до 1000 (включительно). Затем находит и выводит:
Минимальный элемент в массиве (самый маленький из всех).
Максимальный элемент в массиве (самый большой из всех).
Среднее арифметическое всех чисел массива (сумма всех элементов, разделенная на количество элементов).
Подсказки:
Случайные числа генерируются так:
ГСЧ =Новый ГенераторСлучайныхЧисел;// создали генератор случайных чисел
СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0,1000);// сгенерировали случайное число, указав диапазон
Используйте справочник по языку 1С при выполнении упражнения - ссылка.
Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
Общий план
Создать массив из 100 случайных чисел от 0 до 1000.
Пробежаться по каждому из этих чисел и выбрать самое маленькое (минимум) и самое большое (максимум). Заодно подсчитать сумму всех чисел.
Разделить сумму чисел на их количество и получить среднее арифметическое.
Вывести пользователю минимальный и максимальные элементы, среднее арифметическое.
Подсказка
объявить генератор случайных чисел ГСЧ
объявить пустой массив Числа
цикл от 1 до 100:{
генерировать случайное число (при помощи ГСЧ) от 0 до 1000
добавить это число в массив Числа
}
Минимум = Числа[0]
Максимум = Числа[0]
Сумма =0
цикл для А от 0 до (количество элементов массива Числа)-1:{
ТекущийЭлемент = Числа[А]
если ТекущийЭлемент меньше Минимум, тогда
Минимум = ТекущийЭлемент
если ТекущийЭлемент больше Максимум, тогда
Максимум = ТекущийЭлемент
Сумма = Сумма + ТекущийЭлемент
}
СреднееЗначение = Сумма /(количество элементов Числа)
вывести Минимум, Максимум и СреднееЗначение
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Упражнение №4. Напишите программу, которая делает сортировку массива из предыдущего упражнения методом пузырька по возрастанию. Затем выводит отсортированный массив пользователю.
Подсказка:
К примеру, был у нас массив: 1, 60, 20, 30, 0 После сортировки по возрастанию он будет выглядеть так: 0, 1, 20, 30, 60
В этом весь смысл. Сортировки бывают самые различные - быстрые и не очень. Но в данном задании я предлагаю вам в учебных целях воспользоваться широко известным среди программистов алгоритмом "Сортировка методом пузырька".
Суть этого алгоритма можно представить как выталкивание более лёгких пузырьков (меньших чисел) на поверхность (как можно ближе к первому элементу). В вышеприведённом примере 0 (ноль) в результате сортировки оказался вытолкнут на самый верх (крайне левая позиция, первый элемент в массиве).
Чтобы алгоритм заработал - просто перебирайте все числа массива, сравнивайте соседние и если левый сосед больше правого, меняйте их местами. Как только получится, что после очередного прохода массива вы не смогли сделать ни одной перестановки - готово. Массив отсортирован и его можно выводить пользователю.
Ещё более подробно о сортировке пузырьком можно прочитать здесь.
В эталонном решении я реализую "упрощённую" версию алгоритма (через бесконечный цикл), чтобы его суть стала понятна начинающим программистам.
Общий план
Создать массив из 100 случайных чисел от 0 до 1000.
Пробежаться по всем соседним числам этого массива и менять их местами, если левый сосед больше правого, как бы выпихивая более легкие (меньшие) элементы наверх (влево).
Снова пробежаться по всем соседним числам и менять их местами ...
Снова пробежаться по всем соседним числам и менять их местами ...
И так бегать пока в результате очередного "пробегания" не произойдёт ни одной перестановки. Как только такой момент наступит, то это будет означать, что массив отсортирован и пора его вывести пользователю.
Вывести все элементы массива пользователю.
Подсказка
объявить генератор случайных чисел ГСЧ
объявить пустой массив Числа
цикл от 1 до 100:{
сгенерировать случайное число от 0 до 1000
добавить это число в массив
}
объявить бесконечный цикл
{
БылиПерестановки =Ложь
цикл для Шаг от 0 до (количество элементов массива Числа)-2:{
если Числа[Шаг]> Числа[Шаг +1] тогда
{
обменять элементы местами
БылиПерестановки =Истина}}
если БылиПерестановки =Ложь тогда
прервать бесконечный цикл
}
вывести элементы массива Числа
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Упражнение №5. Напишите программу, которая генерирует случайное число от 1 до 15 (включительно), а затем вычисляет и выводит пользователю значение факториала этого числа.
Подсказка:
Вычислить факториал числа очень просто. Для этого нужно просто перемножить все целые числа в диапазоне от 1 до этого числа.
К примеру, чтобы вычислить факториал 5 перемножим 1 * 2 * 3 * 4 * 5 и получим 120. Значит факториал 5 равен 120.
Ещё более подробно о вычислении факториала можно прочитать здесь.
Общий план
Сгенерировать случайное число. Перемножить все числа от 1 до этого числа друг с другом, тем самым получив значение факториала. Вывести его пользователю.
Подсказка
объявить генератор случайных чисел ГСЧ
генерировать случайное Число от 1 до 15
Факториал =1
цикл для Шаг от 1 до Число:{
Факториал = Факториал * Шаг
}
вывести Факториал
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Второй модуль - самый сложный в школе. Если вы не программировали ранее - приготовьтесь к тому, что не сможете решить некоторые из задач с первого раза и без подсказок.
Поэтому вовремя останавливайтесь и спрашивайте преподавателя, если что-то не понятно даже с подсказками.
В крайнем случае, пройдите все оставшиеся модули школы, а затем вернитесь с новыми силами к решению задач второго модуля.