Вопрос задан 28.04.2019 в 11:23. Предмет Информатика. Спрашивает Шаронина Лиза.

Задание следующего плана: 1)Заполнить числами типизированный файл; 2)Считать эти цифры в байтах;

3)Вывести эти цифры в другой файл.txt; Вот код,который я написал,но не выводятся цифры.Прошу помочь) program ex; const N=200; var a,i,x:integer; f:file of integer; f2:file ; begin Assign(f,'pervuy.txt'); Assign(f2,'vuxod2.txt'); Rewrite(f); for i:=1 to N do Write(f,i*5); Close(f); Reset(f);; Rewrite(f2); for i:=1 to N do begin Read(f,x); a:=x; Write(f2,a); end; end.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ахметов Александр.
Program ex;
const
  N=200;
var
  i,x:integer;
  f:file of integer;
  f2:Text ;
begin
  Assign(f,'pervuy.txt');
  Assign(f2,'vuxod2.txt');
  Rewrite(f);
  for i:=1 to N do Write(f,i*5);
  Close(f); Reset(f);
  Rewrite(f2);
  for i:=1 to N do begin
    Read(f,x);
    Write(f2,x,' ');
    end;
  Close(f); Close(f2)
end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Привет! Похоже, что у тебя есть код на языке Pascal, который предполагает заполнение типизированного файла числами, чтение этих чисел в байтах и вывод этих чисел в другой файл. Однако, ты говоришь, что числа не выводятся. Давай разберемся вместе, в чем может быть проблема.

Открывание файлов

В начале программы у тебя есть две строки кода, отвечающие за открытие файлов `pervuy.txt` и `vuxod2.txt`.

```pascal Assign(f,'pervuy.txt'); Assign(f2,'vuxod2.txt'); ```

В коде, который ты предоставил, отсутствуют проверки на успешное открытие файлов. Убедись, что файлы `pervuy.txt` и `vuxod2.txt` существуют и доступны для записи/чтения. Если файлы не существуют, то их можно создать с помощью процедуры `Rewrite`, как ты делаешь позже в коде.

Запись чисел в файл

После открытия файла `pervuy.txt` ты используешь цикл `for` для записи чисел в файл. Он выглядит следующим образом:

```pascal for i := 1 to N do Write(f, i * 5); ```

Здесь ты используешь процедуру `Write`, чтобы записать числа в файл. Однако, в данном случае, использование `Write` записывает числа в файл как текстовые символы, а не в байтах. Чтобы записать числа в байтах, ты можешь использовать процедуру `BlockWrite`, которая позволяет записывать блоки данных. Измени код следующим образом:

```pascal for i := 1 to N do BlockWrite(f, i * 5, SizeOf(Integer)); ```

Здесь мы используем `BlockWrite` для записи каждого числа в файл `f` в байтах, а не как текстовый символ.

Чтение чисел из файла

После записи чисел в файл `pervuy.txt`, ты пытаешься прочитать эти числа из файла и записать их в файл `vuxod2.txt`. Однако, в коде, который ты предоставил, есть ошибка при чтении чисел из файла. Вот код, который нужно исправить:

```pascal Reset(f); Reset(f2); for i := 1 to N do begin Read(f, x); a := x; Write(f2, a); end; ```

Здесь мы сначала открываем файлы для чтения с помощью `Reset`. Затем, в цикле, мы считываем числа из файла `f` с помощью `Read` и записываем их в переменную `x`. Затем мы присваиваем значение `x` переменной `a` и записываем ее в файл `f2` с помощью `Write`.

Закрытие файлов

В конце программы, не забудь закрыть открытые файлы, чтобы избежать утечки ресурсов. Добавь следующие строки кода в конец программы:

```pascal Close(f); Close(f2); ```

Итоговый код

Вот как будет выглядеть исправленный код:

```pascal program ex; const N = 200; var a, i, x: integer; f: file of integer; f2: file; begin Assign(f, 'pervuy.txt'); Assign(f2, 'vuxod2.txt'); Rewrite(f); for i := 1 to N do BlockWrite(f, i * 5, SizeOf(Integer)); Close(f); Reset(f); Reset(f2); for i := 1 to N do begin Read(f, x); a := x; Write(f2, a); end; Close(f); Close(f2); end. ```

Теперь код должен правильно записывать числа в файл `pervuy.txt`, считывать их в байтах и записывать в файл `vuxod2.txt`. Убедись, что файлы `pervuy.txt` и `vuxod2.txt` доступны и проверь, что числа правильно записываются и считываются.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос