Врач-стоматолог принимает пациентов с 8 утра до 2 дня. на каждого пациента отводится по 30 минут. какое количество информации содержит сообщение о том, что петя записался на приём в 11: 30?
Нужно посчитать число вариантов, т.е. максимальное число человек которое может принять врач. Он может принимать в: 8:00, 8:30, 9:00, 9:30, 10:00, 10:30, 11:00, 11:30, 12:00, 12:30, 13:00, 13:30. Т.е. (14-8)*2 = 12 пациентов. Петя записался на прием в 11:30 - это один(!) из возможных равновероятных вариантов, а значит несет информации: бита
Могу в предложить в данном случае использовать goto и метки. Ну, если вы имеете какой то признак неправильных данных, например, это отрицательные значения (предположим, что это неправильные данные) То на этапе, когда вы вводите эти значения, вы должны поставить условный оператор. Т.е. if a<0 tnen begin Writeln('Вы ввели неверные данные'); goto 1 else goto 2; Метку 1 вы ставите в начало алгоритма, т.е. туда, откуда вы хотите начать повторное выполнение программы, а метку 2 поставить в продолжение алгоритма, т.е. на тот случай, если данные были введены верно
1) program lineynoeuravnenie; var a, b: integer; x: real; begin writeln ('Введите коэффициенты a и b'); readln (a, b); x:=-b/a; write ('Решите уравнение', x); end.
2) program veschestvennoe; var a, b, c: integer; d, x1, x2: real; begin writeln ('Введите коэффициент a, b, c'); readln (a, b, c); if a=0 then begin x1:=-c/b; write ('Одно решение', x1), end; d=b*b-4*a*c; if d<0 then write ('Корней нет'); if d=0 then begin x1:=-b/(2*a); write ('Одно решение', x1); end; else begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); write (x1,'',x2); end; end.
8:00, 8:30, 9:00, 9:30, 10:00, 10:30, 11:00, 11:30, 12:00, 12:30, 13:00, 13:30. Т.е. (14-8)*2 = 12 пациентов.
Петя записался на прием в 11:30 - это один(!) из возможных равновероятных вариантов, а значит несет информации:
бита