Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 26
1

Программа создания файла из 10 значений типа integer

13.12.2018, 13:21. Показов 1587. Ответов 5

Author24 — интернет-сервис помощи студентам
Здравствуйте! Возникла проблема с написанием программы. Приведу условие: "составить программу в среде Lazarus, которая создает файл из 10 значений типа integer. Прочитайте файл и вычислите сумму его элементов. Тип record не используйте". Я планирую реализовать вывод значений на экран с помощью TMemo и кнопки. Также уверен, что для решения данной задачи используется функция AssignFile. Буду признателен за любые подсказки. Прилагаю некоторые наброски:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 const n=10;
var
  Form1: TForm1;
  a,i:integer;
  f:file of integer;
 
procedure TForm1.Memo1Change(Sender: TObject);
begin
 clrscr;
randomize;
assignfile(f,'c:\Users\Lazarus #1\F1.txt');
rewrite(f);
for i:=1 to n do
 begin
  a:=random(100);
  write(f,a);
 end;
P. S. При отладке выдает ошибку, думаю, я выбрал для реализации не очень удачную процедуру. Есть ли альтернативные варианты?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2018, 13:21
Ответы с готовыми решениями:

Составить процедуру для ввода данных в массив A(n) типа integer. Данные вводятся из типизированного файла типа integer, начиная с k-ой по n-ую
Составить процедуру для ввода данных в массив A(n) типа integer. Данные вводятся из типизированного...

Из двух файлов типа integer создать третий файл типа integer
я маюсь с ффайлами уже замучился задание Из двух файлов типа integer создать третий файл типа...

Создать файл, состоящий из 20 значений типа integer
Прочитать файл заменив компонент с номером 15 присвоив ему значение 99. Выведите содержимое файла...

Создать файл, состоящий из неопределенного количества значений типа Integer
Помогите пожалуйста составить программу в Delphi или в Lazarus, не могу даже представить с чего...

5
Модератор
9267 / 6045 / 2380
Регистрация: 21.01.2014
Сообщений: 25,812
Записей в блоге: 3
13.12.2018, 14:56 2
Цитата Сообщение от Apexis Посмотреть сообщение
Я планирую реализовать вывод значений на экран с помощью TMemo и кнопки
Pascal
1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
var i: integer
begin
 for i := 1 to 10 do
  Memo1.Lines.Add(IntToStr(Random(100)));
 Memo1.Lines.SaveToFile('c:\Users\Lazarus #1\F1.txt');
end;
1
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 26
14.12.2018, 15:00  [ТС] 3
Поискал на просторах интернета информацию... Вот что получилось собрать. Однако выдает класс исключения. В чем моя ошибка? Код прилагаю:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button1Click(Sender: TObject);
  var i: integer;
     f: file of integer;
  begin
   assignfile(f,'D:\1\F1.txt');
   rewrite(f);
   for i := 1 to 10 do
    Memo1.Lines.Add(IntToStr(Random(100)));
   Memo1.Lines.SaveToFile('D:\1\F1.txt');
 end;
 
end.
Выделяет следующую строку после остановки программы:
raise EFCreateError.createfmt({SFCreateError}'Unable to create file "%s"',[AFileName])
0
0 / 0 / 0
Регистрация: 01.12.2018
Сообщений: 26
14.12.2018, 15:18  [ТС] 4
Программа создания файла из 10 значений типа integer

Для этой программы важен также компонент reset и closefile, которые будут сначала открывать файл и выводить его на экран, а затем его закрывать. Должно прописываться после цикла for:
reset(f);
closefile(f);
Из-за ошибки ничего не выходит.
0
Эксперт Pascal/Delphi
6810 / 4567 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
14.12.2018, 16:21 5
Лучший ответ Сообщение было отмечено Apexis как решение

Решение

Цитата Сообщение от Apexis Посмотреть сообщение
Есть ли альтернативные варианты?
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
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
const
  n = 100;
var
  a, i: integer;
  f: file of integer;
  sum: double;
  s: string;
begin
  randomize;
  s := '';
  assignfile(f, 'F1.dat');
  rewrite(f);
  for i := 1 to n do
  begin
    a := random(n);
    Write(f, a);
  end;
  closefile(f);
  sum := 0;
  reset(f);
  while not EOF(f) do
  begin
    Read(f, a);
    s := s + IntToStr(a) + ' ';
    sum := sum + a;
  end;
  Memo1.Lines.Add(s);
  Memo1.Lines.Add(FloatToStr(sum));
  closefile(f);
end;
 
end.
0
600 / 548 / 210
Регистрация: 24.01.2012
Сообщений: 1,349
14.12.2018, 20:10 6
Цитата Сообщение от Apexis Посмотреть сообщение
assignfile(f,'D:\1\F1.txt'); rewrite(f);
Этого делать не нужно. Именно эти строки мешают записать файл командой savetofile.
0
14.12.2018, 20:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2018, 20:10
Помогаю со студенческими работами здесь

Составить программу, которая создает файл, состоящий из N значений типа integer.
Составить программу, которая создает файл, состоящий из N значений типа integer. Прочитать файл и...

Составьте прогамму, которая создает файл, состоящий из 10 значений типа integer
Завтра сдавать экзамен, не могу сделать, помогите! Составьте прогамму, которая создает файл,...

Вывод из файла типа integer данных
Хочу из файла типа integer вывести числа в Мемо, но вместо них выводятся рандомные числа (какя то...

Как из ini-файла вывести значение типа integer в memo?
Записываю значение типа String: ini.WriteString('Section1', 'C', 'String'); Вытаскиваю его в...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru