Предмет: Информатика, автор: polax2017p52ioa

первая задача:На множестве чисел от 1 до 100 определить количество десятков во введенном пользователем числе. Например: ввели 43, ответ "4 десятка", для 89 - "8 десятков". Использовать case.
Вторая задача: Пользователь вводит двузначное число. Увеличивать его на 1 до тех пор, пока значения разрядов не совпадут. Вывести результат. Например: ввели 27, результат - 33. (repeat)


hermanyanush2owupbd: В простом виде на питоне
a=int(input())
print("%d десятков" % (a // 10 if not (a//100) else 0))
hermanyanush2owupbd: а, ну да, case. C++ чтоли?
polax2017p52ioa: Паскаль...
polax2017p52ioa: А что писать то до этого: a=int(input())
print("%d десятков" % (a // 10 if not (a//100) else 0))
???
hermanyanush2owupbd: Сейчас, поставлю fpc
возможно как-то так
var n : integer;
begin
writeln('Введите n:');
readln(n);
case n of
100: writeln('0 десятков');
else:writeln(n/10,' десятков');
end.
polax2017p52ioa: Спасибо большое
hermanyanush2owupbd: вряд ли будет работать, сейчас протестирую
polax2017p52ioa: Ок
hermanyanush2owupbd: var n : integer;
begin
writeln('Введите n (от н до 100):');
readln(n);
case n of
100: writeln('0 десятков');
else writeln(n div 10,' десятков');
end;
end.
Вот, вроде правильно
polax2017p52ioa: Спасибо, со второй попробую сам)

Ответы

Автор ответа: Аноним
1
// PascalABC.NET 3.3.5, сборка 1636 от 10.03.2018
// Внимание! Если программа не работает, обновите версию!

№1

begin
  var n:=ReadInteger;
  var d:=n div 10;
  case d of
  0,5..10:Writeln(d,' десятков');
  1:Writeln('1 десяток');
  2..4:Writeln(d,' десятка');
  else Writeln('Недопустимое число')
  end;
end.

Пример
42
4 десятка

№2

begin
  var n:=ReadInteger;
  if n mod 10 <> n div 10 then
  repeat
    n+=1
  until n mod 10 = n div 10;
  Writeln('Получено число ',n)
end.

Пример
37
Получено число 44
Похожие вопросы
Предмет: Қазақ тiлi, автор: evelinalobastova036
Предмет: Литература, автор: hshshshxhhywh