Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Pascal ABS
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста. Нужно написать подробно для чего каждая строка нужна. И похоже программа не переводит в шестнадцатеричную систему, в чем ошибка? Есть программа: program pr1; // Программа pr1 function octtoint( s: string ): integer; var i, r: integer; // обьявление переменных // Обьявляем переменные var i, r с типом integer begin // начало блока r := 0; // присваиваем к r значение 0 for i := 1 to length(s) do r := r * 8 + (ord(s[i]) - ord('0')); // присваиваем к r значение r * 8 + (ord(s[i]) - ord('0')) octtoint := r; // присваиваем к octtoint значение r end; // конец блока const digits: string = '0123456789abcdef'; function inttohex( n: integer ): string; var r: string; // обьявление переменных // Обьявляем переменную var r с типом string begin // начало блока r := ''; // присваиваем к r значение '' while (n > 0) do // Пока истинно выражение (n > 0) begin // начало блока r := digits[ n mod 16 + 1 ] + r; // присваиваем к r значение digits[ n mod 16 + 1 ] + r n := n div 16; // присваиваем к n значение n div 16 end; // конец блока inttohex := r; // присваиваем к inttohex значение r end; // конец блока function inttodop( n: integer ): string; var // обьявление переменных i, n2: integer; // Обьявляем переменные i, n2 с типом integer r: string; // Обьявляем переменную r с типом string begin // начало блока n2 := -n; // присваиваем к n2 значение -n2 // присваиваем к n2 значение -n r := ''; // присваиваем к s2 значение '' // присваиваем к r значение '' for i := 0 to 32 do if ( (n2 and (1 shl i)) <> 0 ) then // проверяем условие ( (n2 and (1 shl i)) <> 0 ) // проверяем условие ( (n2 and (1 shl i)) <> 0 ) r := '1' + r else r := '0' + r; // присваиваем к s2 значение '0' + s2 // присваиваем к r значение '0' + r inttodop := r; // присваиваем к inttodop значение r end; // конец блока var // обьявление переменных p, p2: integer; // Обьявляем переменные p, p2 с типом integer t, n: integer; // Обьявляем переменные t, n с типом integer f: TextFile; // Обьявляем переменную f с типом TextFile s, s2: string; // Обьявляем переменные s, s2 с типом string begin // начало блока Assign( f, 'input.txt' ); // присвоить файловой переменной f файловое имя 'input.txt' reset(f); readln( f, s ); // ввести f, s close(f); writeln('Во что переводить?' ); // вывести 'Во что переводить?' writeln('1. Десятичная' ); // вывести '1. Десятичная' writeln('2. Дополнительный код' ); // вывести '2. Дополнительный код' writeln('3. Шестнадцатеричная' ); // вывести '3. Шестнадцатеричная' write( 'Выберите: ' ); // вывести 'Выберите: ' readln(t); // ввести t p := 1; // присваиваем к p значение 1 while (p <= length(s)) do // Пока истинно выражение (p <= length(s)) begin // начало блока p2 := Pos( ',', s, p ); // присваиваем к p2 значение Pos( ',', s, p ) if (p2 <= 0) then // проверяем условие (p2 <= 0) p2 := length(s)+ 1; // присваиваем к p2 значение length(s)+ 1 s2 := copy( s, p, p2-p ); // присваиваем к s2 значение copy( s, p, p2-p ) n := octtoint( s2 ); // присваиваем к n значение octtoint( s2 ) if (t = 1) then // проверяем условие (t = 1) writeln(s2,'=',n); // вывести s2,'=',n if (t = 2) then // проверяем условие (t = 2) writeln(s2,'=', inttodop(n) ); // вывести s2,'=', inttodop(n) if (t = 2) then // проверяем условие (t = 2) writeln(s2,'=', inttohex(n)); // вывести s2,'=', inttohex(n) p := p2+1; // присваиваем к p значение p2+1 end; // конец блока end. // конец блока Задание: Исходный файл содержит числа в восьмеричной системе счисления, отделенные друг от друга запятыми. Составить программу, которая для каждого такого числа из заданного диапазона после знака равенства указывает его значение в десятичной системе счисления, дополнительном коде или в шестнадцатеричной системе счисления по выбору пользователя, например: 00101111 = 33353, 0111 = 73, 10000 = 512, и т. д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2021, 02:00 |
|
||
|
Pascal ABS
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2021, 08:20 |
|
||
|
Pascal ABS
|
|||
|---|---|---|---|
|
#18+
aleks222 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Я охреневаю с таких бессмыссленых комментов к коду ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2021, 08:16 |
|
||
|
Pascal ABS
|
|||
|---|---|---|---|
|
#18+
Cobalt747 aleks222 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Я охреневаю с таких бессмыссленых комментов к коду ))) ТС именно этого и хотел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2021, 10:21 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40081519&tid=2037205]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 292ms |
| total: | 449ms |

| 0 / 0 |
