Написать программу на c++. Указать количество учеников, после чего вывести случайное число из этого количества. После чего ученику можно поставить оценку (2,3,4,5) либо же отсутствие (Н). Дополнительные условия.
Сделать ошибку ввода оценки (если вводим число 1 или больше 5). Так же один и тот же номер ученика не может выпадать дважды.
В конечном итоге вывести номер ученика и его оценку (либо отсутствие).
Внимание! Если программа не работает, обновите версию!
function gcd(a,b:integer):integer; // НОД
begin
while b<>0 do begin a:=a mod b; Swap(a,b) end;
Result:=a
end;
procedure RedFrac(var a,b:integer); // сокращение дроби
begin
var (sgna,sgnb):=(Sign(a),Sign(b)); // мы должны учитывать знак!
(a,b):=(Abs(a),Abs(b));
var d:=gcd(a,b);
a:=(a div d)*sgna; b:=(b div d)*sgnb
end;
begin
var (a,b):=ReadInteger2('Введите числитель и знаменатель 1-й дроби:');
var (c,d):=ReadInteger2('Введите числитель и знаменатель 2-й дроби:');
(a,b):=(a*c,b*d);
RedFrac(a,b);
Writeln('Результат умножения: ',a,' / ',b)
end.
Пример
Введите числитель и знаменатель 1-й дроби: 32 1024
Введите числитель и знаменатель 2-й дроби: 60 300
Результат умножения: 1 / 160
В качестве бонуса - решение на базе входящей в состав PascalABC.NET библиотеки численных методов
uses NumLibABC;
begin
var (a,b):=ReadInteger2('Введите числитель и знаменатель 1-й дроби:');
var (c,d):=ReadInteger2('Введите числитель и знаменатель 2-й дроби:');
Writeln('Результат умножения: ',Frc(a,b)*Frc(c,d))
end.
Общее количество символов: 50*85*15= 63750
Один символ кодируется 8 битами или 1 байтом, следовательно объем текста = 63750 байт = 62,26 Кбайт
Задача 2.
Количество символов на странице: 60*64 = 3840
Разделив объем текста (в байтах) на количество символов на странице получим количество страниц: (9*1024)/3840 = 2,4
Следовательно ответ: 3 страницы
Задача 3.
Время передачи файла можно определить разделив объем файла( переведя в биты) на скорость передачи
t= (9*1024*8)/256 = 288 сек.
Задача 4.
В тексте содержится 51 символ, на каждый символ приходится 1 байт, следовательно фраза содержит 51 байт информации.