Pascal:
1.
var a,b:Integer;
x:Double;
begin
writeln('Введите a, b: ');
readln(a,b);
x:=a+b;
writeln(a,'+',b,'=',x);
x:=a*b;
writeln(a,'*',b,'=',x);
end.
2.
var a,b:Integer;
begin
writeln('Введите оценки за две КР: ');
readln(a,b);
if (a+b)>= 8 then writeln('Молодец!')
else writeln('Подтянись!')
end.
Python:
1.
a, b = int(input('Введите a')), int(input('Введите b'))
x = a+b
print(str(a) + '+' + str(b) + '=' + str(x))
x = a*b
print(str(a) + '*' + str(b) + '=' + str(x))
2.
a, b = int(input('Введите первую оценку')), int(input('Введите вторую оценку'))
if a+b >= 8:
print('молодец!')
else:
print('подтянись!')
Если с днем рождения все понятно: в году максимум 366 дней и требуется определить нужный, то непонятно, как быть с загаданным учеником - их условно пронумеровать и спрашивать о номере?
Поэтому принимаем такое решение. Мы делим список учеников на два части (например, написав сведения о каждом на отдельной карточке и разложив эти карточки на две равные кучки по 560/2 = 280 человек в каждой. Затем задаем вопрос: загаданный ученик находится в первой кучке? По результатам ответа кучку, содержащую загаданного ученика, снова делим пополам. Процесс повторяем пока не останется одна карточка. Аналогично поступаем с датами рождения.
Тогда количество вопросов определится, как степень числа 2, дающая число, не меньшее количества учеников (дней рождения).
2⁹ < 560 < 2¹⁰, поэтому ученик будет угадан максимум за 10 вопросов.
2⁸ < 366 < 2⁹, поэтому день рождения будет угадан максимум за 9 вопросов.
В сумме потребуется задать не более 9+10 = 19 вопросов.
Конечно, можно придумать более продвинутую систему, когда на карточках учеников будут указаны одновременно и даты их рождения, тогда количество вопросов можно снизить.