Решаем задачи Абрамян на Паскале. Proc 30

Proc30. Описать функцию DigitN($$K$$, $$N$$) целого типа, возвращающую $$N$$-ю цифру целого положительного числа $$K$$ (цифры в числе нумеруются справа налево). Если количество цифр в числе $$K$$ меньше $$N$$, то функция возвращает -1. Для каждого из пяти данных целых положительных чисел $$K_1, K_2, …, K_5$$ вызвать функцию DigitN с параметром $$N$$, изменяющимся от 1 до 5.

Решение:

Немного модифицированное решение от olegst1975:

 

Другие задачи из раздела Proc можно посмотреть здесь.

Комментарии:

Комментарии 6

  • [/crayon]

  • Объясните, пожалуйста, почему после вывода пяти цифр (включая ‘-1’) в результате выводится шестой цифрой ноль?

    • при k=12345
      5 4 3 2 1 выводится в 15 строке «If (n>=i) then Write(k mod 10,’ ‘)»
      а 0 это выводиться в 29 строке в Writeln(dn(k));
      тоесть dn(k) = 0;
      но по сути в Function dn вы не задаёте значение вывода.
      И уж совсем по брюзжать в задании просят созать функцию DigitN(K, N), которое выдаёт n-ую цифру числа k 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *