Напишите программу, которая случайным образом выбирает дежурных: выводит два случайных числа в диапазоне от 1 до n, где n- количество учеников вашего класса. с какой проблемой вы можете столкнуться? нужно сделать в паскале. заранее !

Hiccjhcvkjxg Hiccjhcvkjxg    3   16.07.2019 09:40    27

Ответы
shamsi3000 shamsi3000  21.09.2020 09:38
// PascalABC.NET 3.0, сборка 1150 от 22.01.2016
var
  n,n1,n2:integer;
begin
  Write('Количество учеников: '); Read(n);
  Randomize;
  n1:=Random(n)+1;
  n2:=n1;
  while n2=n1 do n2:=Random(n)+1;
  Writeln('Номера дежурных: ',n1,', ',n2)
end.

Тестовое решение:
Количество учеников: 35
Номера дежурных: 2, 26
ПОКАЗАТЬ ОТВЕТЫ
Catlove333 Catlove333  21.09.2020 09:38
Var n,d1,d2:integer;
begin
  writeln('Укажите сколько человек в классе:');
  readln(n);
  Randomize;
  d1:=Random(1,n);
  d2:=Random(1,n);
  while d1=d2 do d2:=Random(1,n);
  writeln('Дежурными назначены: ',d1,' и ',d2);
 end.

цикл   while d1=d2 do d2:=Random(1,n); сделан, чтобы исключить возможность совпадения номеров (когда генератор случайных чисел одинаковые номера выдаст)
ПОКАЗАТЬ ОТВЕТЫ
veronika121416 veronika121416  22.01.2024 04:51
Привет! Я рад выступить в роли школьного учителя и помочь тебе с этим заданием по программированию на Паскале. Давай разберемся с ним шаг за шагом.

Для начала, нам понадобится использовать некоторые функции для генерации случайных чисел в Паскале. Для этого ты можешь использовать встроенную функцию "random" и операцию нахождения остатка от деления на число.

Вот сама программа для выбора дежурных:

```pascal
program RandomDuty;

var
n, randomStudent1, randomStudent2: integer;

begin
// Вводим количество учеников
writeln('Введите количество учеников в классе:');
readln(n);

// Генерируем случайных дежурных
randomStudent1 := random(n) + 1;
randomStudent2 := random(n) + 1;

// Выводим результат
writeln('Дежурными становятся ученик номер ', randomStudent1, ' и ученик номер ', randomStudent2);

// Конец программы
end.
```

Теперь пошагово разберем каждую часть программы и поясним ее:

1. Вводим количество учеников:
- Данная строка используется для того, чтобы пользователь мог ввести количество учеников в классе.
- Функция "writeln" выводит текст в консоль.
- Функция "readln" считывает число, которое пользователь вводит в консоли, и присваивает его переменной "n".

2. Генерируем случайных дежурных:
- В этой части программы мы используем функцию "random(n)", которая генерирует случайное целое число в диапазоне от 0 до "n-1".
- Учитывая, что нам нужны номера учеников в диапазоне от 1 до "n", мы добавляем 1 к результату функции "random(n)".

3. Выводим результат:
- Функция "writeln" используется для вывода сообщения о том, какие ученики становятся дежурными.
- Выводим номера учеников, выбранных случайным образом, используя переменные "randomStudent1" и "randomStudent2".

И это весь код! Теперь ты можешь скомпилировать и запустить программу, чтобы проверить, как она работает.

Касательно проблем, с которыми мы можем столкнуться, вот несколько возможных ситуаций:

1. Некорректный ввод количества учеников:
- Если пользователь введет некорректное значение (например, отрицательное число или символы), то программа может работать некорректно или вообще завершиться с ошибкой.
- Для предотвращения такой ситуации, ты можешь добавить проверку на корректность ввода и сообщить пользователю об ошибке.

2. Дубликаты выбранных номеров:
- Из-за случайной генерации, есть вероятность того, что случайно выбранные номера могут совпасть.
- Можно добавить проверку на совпадение и повторно сгенерировать номера, если они совпадают.

Надеюсь, это помогло! Если у тебя возникнут еще вопросы, не стесняйся обращаться. Удачи в программировании!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика