Перевод систем счисления - 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.

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

  1. Объявлены переменные: f, s, s1, a, c, n.
  2. Файл input.txt открывается на чтение.
  3. Считывается строка из файла и сохраняется в переменной s.
  4. Удаляются лишние пробелы в строке s.
  5. В цикле обрабатываются все пробелы в строке s.
  6. Формируется строка s1, которая содержит число, следующее за пробелом.
  7. Определяется длина строки s1 и сохраняется в переменной n.
  8. Строка s1 преобразуется в число и сохраняется в переменной a.
  9. Число a записывается в файл f.
  10. Удаляются первые pos(' ',s) символов из строки s.
  11. Цикл повторяется до тех пор, пока есть пробелы в строке s.
  12. Записывается сообщение Файл input.txt переписан.
  13. Файл f закрывается.
  14. Вводится символ для завершения работы программы.

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


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

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

5   голосов , оценка 4.2 из 5
Похожие ответы