Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37

Внести необходимые изменения в программу

19.05.2016, 23:47. Показов 1434. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Программа не запускается в фри паскале потому что сделана в абс что поменять нужно?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
const
  NUMBER_OF_DIGITS = 16;
  HEX_DIGITS: array[1..NUMBER_OF_DIGITS] of char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
  DEC: array[1..NUMBER_OF_DIGITS] of string = ('0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15');
  Nmax = 100;  
type
  vector = array[1..Nmax] of string;                                     
var
  digitsFile: text; 
  digits: vector;
  digitsNumber: integer; 
  newDigitsFile: text;
  i: integer;
  firstPart, secondPart, allResults: string;
{процедура посимвольного чтения файла}   
procedure loadFromFile(path: string; var digitsFile: text; var digits: vector;var digitsNumber: integer);
  var 
    symbol: char; 
  begin
    digitsNumber := 1; 
    assign(digitsFile, path);
    reset(digitsFile);
    while not eof(digitsFile) do begin
      while not Eoln(digitsFile) do begin
        read(digitsFile, symbol);
        if (symbol <> ' ') then
          digits[digitsNumber] := digits[digitsNumber] + symbol;
        if (symbol = ' ') then
          digitsNumber := digitsNumber + 1;
      end;
      Readln(digitsFile);
    end;
  end;
{функция перевода символов из массива чисел шестнадцатеричной системы}  
function getDecimal(source: string): string;
  var 
    i, j: integer;
    res: string;
  begin
    res := '';
    for i := 1 to length(source) do begin
      for j := 1 to NUMBER_OF_DIGITS do begin
        if source[i] = HEX_DIGITS[j] then begin
          res := res + DEC[j];
        end;
      end;
    end;
    getDecimal := res;
  end; 
{перевод исходного числа в десятичную систему счисления}
function hexToDecimal(source: string): string;
  var 
    i: integer;
    numberStr: string;
    numberVal: integer;
    sum: integer;
    res: string;
    processingString: string;
  begin
    processingString := source;
    if source[1] = '-' then begin
        processingString := Copy(source, 2, length(source) - 1);
        res := res + '-'; 
    end;
    for i := length(processingString) downto 1 do begin
      numberStr := getDecimal(processingString[i]);
      numberVal := StrToInt(numberStr);
      sum := sum + numberVal * Round(Power(16, Length(processingString) - i));
    end;
    res := res + IntToStr(sum);
    hexToDecimal := res;
  end;
  
begin
firstPart := 'Исходные числа: ';
  loadFromFile('Source.txt', digitsFile, digits, digitsNumber);
  for i := 1 to digitsNumber do 
   begin
     firstPart := firstPart + digits[i];
     if i=digitsNumber then break;
     firstPart := firstPart + ' ';
   end; 
secondPart := 'В десятичной СС: ';
   for i := 1 to digitsNumber do
    begin
     secondPart := secondPart + hexToDecimal(digits[i]);
     if i=digitsNumber then break;
     secondPart := secondPart + ' ';
    end;  
allResults:= firstPart + #13#10 + secondPart;
assign (newDigitsFile, 'Results.txt');
rewrite (newDigitsFile);
write (newDigitsFile,allResults);
close(newDigitsFile);
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.05.2016, 23:47
Ответы с готовыми решениями:

Внести изменения в программу
1.Ведите текст, в котором нет цифр. Какой ответ выдаст программа? Внесите изменения в программу так, чтобы на этот случай выдавалось...

Внести изменения в программу рисования
Необходима поправка в программе, сделал некую рисовалку но вместе с цветом ручки меняется цвет квадратика палитры uses GraphABC; var i:...

внести изменения в программу
Срочно! Помогите, пожалуйста, не могу внести изменения в готовую программe ( готовая программа имеет файлы .sln, .exe, .csproj. ) написана...

7
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
20.05.2016, 09:25
Pascal
1
2
uses
  sysutils, math;
1
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
30.05.2016, 21:14  [ТС]
Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
PascalВыделить код
1
2
uses
* sysutils, math;
вот такая ошибка
Миниатюры
Внести необходимые изменения в программу  
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
30.05.2016, 21:25
Лучший ответ Сообщение было отмечено of как решение

Решение

Я же вам уже сказал, что добавить эти строчки в начало программы:
Pascal
1
2
uses
  sysutils, math;
1
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
30.05.2016, 22:01  [ТС]
Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
Я же вам уже сказал, что добавить эти строчки в начало программы:
Pascal
ну я подставил только он теперь неправильно переводит из системы в ситему числа огромные слишком

Добавлено через 24 минуты
ZX Spectrum-128, можете подсказать почему просто очень срочно нужно
0
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
31.05.2016, 11:26
Лучший ответ Сообщение было отмечено of как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
uses
  math,sysutils;
const
  NUMBER_OF_DIGITS = 16;
  HEX_DIGITS: array[1..NUMBER_OF_DIGITS] of char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
  DEC: array[1..NUMBER_OF_DIGITS] of string = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15');
  Nmax = 100;
 
type
  vector = array[1..Nmax] of string;
 
var
  digitsFile: text;
  digits: vector;
  digitsNumber: integer;
  newDigitsFile: text;
  i: integer;
  firstPart, secondPart, allResults: string;
{процедура посимвольного чтения файла}
procedure loadFromFile(path: string; var digitsFile: text; var digits: vector; var digitsNumber: integer);
var
  symbol: char;
begin
  digitsNumber := 1;
  assign(digitsFile, path);
  reset(digitsFile);
  while not eof(digitsFile) do
  begin
    while not Eoln(digitsFile) do
    begin
      read(digitsFile, symbol);
      if (symbol <> ' ') then
        digits[digitsNumber] := digits[digitsNumber] + symbol;
      if (symbol = ' ') then
        digitsNumber := digitsNumber + 1;
    end;
    Readln(digitsFile);
  end;
end;
{функция перевода символов из массива чисел шестнадцатеричной системы}
function getDecimal(source: string): string;
var
  i, j: integer;
  res: string;
begin
  res := '';
  for i := 1 to length(source) do
  begin
    for j := 1 to NUMBER_OF_DIGITS do
    begin
      if source[i] = HEX_DIGITS[j] then begin
        res := res + DEC[j];
      end;
    end;
  end;
  getDecimal := res;
end;
{перевод исходного числа в десятичную систему счисления}
function hexToDecimal(source: string): string;
var
  i: integer;
  numberStr: string;
  numberVal: integer;
  sum: integer;
  res: string;
  processingString: string;
begin
  res:='';
  processingString := source;
  if source[1] = '-' then begin
    processingString := Copy(source, 2, length(source) - 1);
    res := res + '-';
  end;
  sum:=0;
  for i := length(processingString) downto 1 do
  begin
    numberStr := getDecimal(processingString[i]);
    numberVal := StrToInt(numberStr);
    sum := sum + numberVal * Round(Power(16, Length(processingString) - i));
  end;
  res := res + IntToStr(sum);
  hexToDecimal := res;
end;
 
begin
  firstPart := 'Исходные числа: ';
  loadFromFile('Source.txt', digitsFile, digits, digitsNumber);
  for i := 1 to digitsNumber do
  begin
    firstPart := firstPart + digits[i];
    if i = digitsNumber then break;
    firstPart := firstPart + ' ';
  end;
  secondPart := 'В десятичной СС: ';
  for i := 1 to digitsNumber do
  begin
    secondPart := secondPart + hexToDecimal(digits[i]);
    if i = digitsNumber then break;
    secondPart := secondPart + ' ';
  end;
  allResults := firstPart + #13#10 + secondPart;
  assign(newDigitsFile, 'Results.txt');
  rewrite(newDigitsFile);
  write(newDigitsFile, allResults);
  close(newDigitsFile);
  readln;
end.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33411 / 21521 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
01.06.2016, 11:55
Опять же непонятно, в чем состоит задача, и каково содержимое файла Source.txt. Если что, с использованием библиотеки gmp и других возможностей FPC, этот код можно переписать гораздо более компактно.

Цитата Сообщение от of Посмотреть сообщение
он теперь неправильно переводит из системы в ситему числа огромные слишком
Огромные слишком - это насколько огромные? Содержимое файла данных приведи, вместе с точным заданием.
0
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
08.06.2016, 22:31  [ТС]
Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
processingString: string;
Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
res := res + '-';
может кто нибудь сказать что означают эти 2 строки в программе и вообще что значит res i j
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.06.2016, 22:31
Помогаю со студенческими работами здесь

Внести изменения в программу
Дана программа. Нужно Сделать то что находиться в {} скобках. Заранее огромное спасибо. Очень нужно. Пожалуйста. var Form1: TForm1; ...

Внести изменения в программу.
var k,a:integer; begin write('kolvo k ='); read(k); for var n:=1 to k do begin a:=2*n; write(a,' '); end; end.

помогите внести изменения в программу....
нужно изменить программу....ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!! unit Unit1; interface uses Windows, Messages, SysUtils, Variants,...

Как внести изменения в программу Up My Topic?
Иметься программа Up My Topic. Эта программа подымает темы (Up), на форумах, В программе Up My Topic установлены продукты, они все на...

Внести изменения в программу контроллера Direct Logic 06
Нужен человек который знает и умеет программировать Контроллеров Direct Logic 06. Нужно внести изменения в программу или написать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru