Перевести код из Питона во Фри Паскаль: path=input("Enter a path here")
res = path.split('\\')
for r in res:
print(r)
Или сделайте сами на Фри Паскале: В операционной системе Windows путь к файлу состоит из имени логического диска и названий каталогов, в которых находится этот файл. Части пути разделены знаками "\" (обратный слэш). Требуется разбить заданный путь к файлу на части — имя диска и названия каталогов.
Входные данные
Входная строка содержит путь к файлу.
Выходные данные
Программа должна вывести имя диска и названия всех каталогов, составляющих путь. Каждый элемент выводится в отдельной строке.
Данный перевод возможен двумя : прямой перевод и через десятичную систему.
Сначала выполним прямой перевод.
Выполним прямой перевод из шестнадцатиричной в двоичную вот так:
AD45EF16 = A D 4 5 E F = A(=1010) D(=1101) 4(=0100) 5(=0101) E(=1110) F(=1111) = 1010110101000101111011112
Окончательный ответ: AD45EF16 = 1010110101000101111011112
Теперь выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
Знаковый бит в переводе не участвует!
2∙165+13∙164+4∙163+5∙162+14∙161+15∙160 = 2∙1048576+13∙65536+4∙4096+5∙256+14∙16+15∙1 = 2097152+851968+16384+1280+224+15 = 296702310
Так как число знаковое и имеет знаковый бит, то результат будет иметь отрицательный знак
Получилось: AD45EF16 =-296702310
Переведем число -296702310 в двоичное вот так:
Целая часть числа находится делением на основание новой системы счисления:
2967023 2
-2967022 1483511 2
1 -1483510 741755 2
1 -741754 370877 2
1 -370876 185438 2
1 -185438 92719 2
0 -92718 46359 2
1 -46358 23179 2
1 -23178 11589 2
1 -11588 5794 2
1 -5794 2897 2
0 -2896 1448 2
1 -1448 724 2
0 -724 362 2
0 -362 181 2
0 -180 90 2
1 -90 45 2
0 -44 22 2
1 -22 11 2
0 -10 5 2
1 -4 2 2
1 -2 1
0
Перевод чисел из одной системы счисления в другую
В результате преобразования получилось:
-296702310 = 10110101000101111011112
Вы указали что размер вашего числа 1 байт.
Уберем лишние биты с учётом знакового бита вот так:
10110101000101111011112 = 111011112
Так-как введенное Вами число отрицательное то необходимо перевести его из прямого кода в дополнительный.
Для этого сначала выполним преобразование из прямого кода в обратный инвертированием всех битов кроме знакового, затем получим прямой код добавлением 1 бита.
1 1 1 0 1 1 1 1 прямой код
1 0 0 1 0 0 0 0 обратный код
+ 1 +1 бит
1 0 0 1 0 0 0 1 дополнительный код
Окончательный ответ: AD45EF16 = 100100012 (1 байт)
удачи
FOR i = 1 TO 100
percents = FIX(x * p / 100) ' здесь у нас есть переменная percents, которой присваиваются округленные функцией fix проценты (насколько я знаю, в паскале аналогичная функция называется Round)
x = x + percents 'тут всё понятно - переменной X присваивается она сама и годовые проценты по вкладу
IF x >= y THEN 'проверяем, не равен или не превысил ли наш вклад ожидаемую сумму
PRINT i 'в цикле For можно не заморачиваться с отслеживанием лет, переменная i сама подсчитает количество итераций-лет
END 'завершаем программу
END IF
NEXT i ' конец цикла
Можно ещё чисто для себя добавить в условие вывод переменной X, чтобы было нагляднее.