Перевод систем счисления - Free Pascal
Формулировка задачи:
Исходный текстовый файл содержит числа в шестнадцатеричной системе счисления,
отделенные друг от друга хотя бы одним пробелом. Составить программу, которая под
каждым шестнадцатеричным числом в файле указывает его значение в десятичной системе
счисления, например 237 4C 0 D
567 76 0 13
Решение задачи: «Перевод систем счисления»
textual
Листинг программы
var f:text; s,s1:string; a,c,n:integer; begin assign(f,'input.txt');//файл в папке с программой reset(f); readln(f,s); close(f); s:=s+' '; while pos(' ',s)>0 do delete(s,pos(' ',s),1); append(f); writeln(f,''); while pos(' ',s)>0 do begin s1:='$'+copy(s,1,pos(' ',s)-1); n:=length(s1)-1; val(s1,a,c); write(f,a:n,' '); delete(s,1,pos(' ',s)); end; write('Файл input.txt переписан'); close(f); readln end.
Объяснение кода листинга программы
- Объявлены переменные: f, s, s1, a, c, n.
- Файл input.txt открывается на чтение.
- Считывается строка из файла и сохраняется в переменной s.
- Удаляются лишние пробелы в строке s.
- В цикле обрабатываются все пробелы в строке s.
- Формируется строка s1, которая содержит число, следующее за пробелом.
- Определяется длина строки s1 и сохраняется в переменной n.
- Строка s1 преобразуется в число и сохраняется в переменной a.
- Число a записывается в файл f.
- Удаляются первые pos(' ',s) символов из строки s.
- Цикл повторяется до тех пор, пока есть пробелы в строке s.
- Записывается сообщение
Файл input.txt переписан
. - Файл f закрывается.
- Вводится символ для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д