Строка из натуральных чисел - QBasic

Узнай цену своей работы

Формулировка задачи:

Дана строка построенная из последовательных натуральных чисел от 1 до 4027 (12345678910111213141516171819 ... 4027) написать программу, которая запрашивает номер цифры этой строки и выдает эту цифру на экран для справки: длина такой строки равна 15001 цифр.
Листинг программы
  1. REM
  2. REM Строка 12345678910111213141516 ... 4027
  3. REM (длина 15001 цифр)
  4. REM
  5. DECLARE FUNCTION STO$ (n!)
  6. DECLARE FUNCTION M$ (n!)
  7. CLS
  8. DIM SHARED s AS STRING
  9. FOR i = 1 TO 4027
  10. s = s + STO(i)
  11. NEXT
  12. DO
  13. INPUT "N = "; n
  14. LOOP UNTIL n <= 15001
  15. PRINT M(n)
  16. END
  17. FUNCTION M$ (n)
  18. M = MID$(s, n, 1)
  19. END FUNCTION
  20. FUNCTION STO$ (n)
  21. STO = LTRIM$(STR$(n))
  22. END FUNCTION

Решение задачи: «Строка из натуральных чисел»

textual
Листинг программы
  1. uses sysutils;
  2.  
  3. var
  4.   s : string;
  5.   i, n : integer;
  6.  
  7. begin
  8.   n := 21;
  9.   i := 1;
  10.   repeat
  11.     s := inttostr(i);
  12.     n := n - length(s);
  13.     inc(i);
  14.   until n <= 0;
  15.   writeln('digit = ', copy(s, length(s) + n, 1));
  16. end.

Объяснение кода листинга программы

В этом коде используется язык программирования QBasic.

  1. Переменная n инициализируется значением 21.
  2. Переменная i инициализируется значением 1.
  3. В цикле repeat происходит следующее: a. Переменная s получает значение строки, представляющей число i. b. Длина строки s вычитается из значения переменной n. c. Значение переменной i увеличивается на 1.
  4. Цикл повторяется до тех пор, пока значение переменной n не станет меньше или равным нулю.
  5. В конце программы выводится значение переменной s с дополнительным n символами, где n - это отрицательное значение переменной n. Таким образом, этот код генерирует строку натуральных чисел от 1 до 20 и выводит последний символ этой строки с отрицательным знаком.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы