Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 1
Регистрация: 24.10.2013
Сообщений: 200
1

Типизированиые файлы

03.12.2013, 12:57. Показов 736. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан файл, компоненты которого являются действительными числами. Найти: наименьшее из значений компонент с четными номерами. Размер файла не известен.

Добавлено через 1 час 26 минут
помогите пожалуйста. очень нужно((((
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2013, 12:57
Ответы с готовыми решениями:

Типизированиые файлы
Дан файл, компоненты которого являются действительными числами. Найти: наименьшее из значений...

Типизированиые файлы
Дан файл, компоненты которого являются действительными числами. Найти: наименьшее из значений...

Типизированиые" файлы
Дан файл, компоненты которого являются действительными "числами." Найти: наименьшее из значений...

Написать программу, преобразующую XML-файлы в DDF-файлы
Нужно написать программу, преобразующую XMLфайлы в DDFфайлы... Посоветуйте с чего начать? Есть ли...

19
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
03.12.2013, 13:01 2
Рассказывай подробно - какие конкретно телодвижения ты делала на пути к своему "оченьнужно" и что при этом вызвало проблему ..
0
2 / 2 / 1
Регистрация: 24.10.2013
Сообщений: 200
03.12.2013, 13:15  [ТС] 3
const
FileName = 'data.txt';
N = 10;
var
F : File of Integer;
i, Num, NumMax : Integer;
begin
//Связываем файловую переменную с именем файла.
AssignFile(F, FileName);
//Создаём/пересоздаём файл и открываем его в режиме "только запись".
Rewrite(F);
//Инициализация генератора случайных чисел.
Randomize;
//Создаём N случайных целых чисел и записываем их в файл.
for i := 1 to N do begin
Num := -50 + Random(101); //-50..50.
Write(F, Num);
end;
//Открываем ранее созданный файл в режиме чтение/запись.
Reset(F);
//Читаем последовательно элементы файла и ищем среди элементов с нечётными номерами
//наибольший по модулю.
i := 1; //Счётчик элементов.
NumMax := 0;
while not Eof(F) do begin
Inc(i);
Read(F, Num);
if i = 2 then
NumMin := Num
else if (i mod 2 = 0) and (Num < NumMin) then
NumMin := Num;
end;
//Закрываем файл.
CloseFile(F);
//Показ результатов.
if i >= 2 then
ShowMessage('Наименьший из элементов с чётными порядковыми номерами: ' + FloatToStr(NumMin))
else
ShowMessage('В файле менее двух элементов.');
end;
нашла я вот какую программу. ну меня смущает одно что в делфи нет таких вводов и выводов Write(F, Num);Read(F, Num);
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
03.12.2013, 13:25 4
Цитата Сообщение от Juliaa Посмотреть сообщение
в делфи нет таких вводов и выводов Write(F, Num);Read(F, Num);
Как это нет ? Оно тебе так и сказало "во мну нет таких вводов и выводов" ?)

Цитата Сообщение от Juliaa Посмотреть сообщение
var
F : File of Integer;
Integer - это, по-твоему, действительный тип данных ?
0
2 / 2 / 1
Регистрация: 24.10.2013
Сообщений: 200
03.12.2013, 13:31  [ТС] 5
Ну я думаю что да
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
03.12.2013, 13:36 6
А тип Real ты думаешь что нет ?)
0
2 / 2 / 1
Регистрация: 24.10.2013
Сообщений: 200
03.12.2013, 13:42  [ТС] 7
вещественный тип
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
03.12.2013, 13:45 8
Вещественный тип как раз и предназначен для хранения действительных чисел, к коим относятся и целые и нецелые числа.
0
2 / 2 / 1
Регистрация: 24.10.2013
Сообщений: 200
03.12.2013, 13:49  [ТС] 9
Ну а в моем случае как программу исправить???
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
03.12.2013, 13:54 10
Про Integer и Real я с кем только что разговаривал, сам с собой ?
0
2 / 2 / 1
Регистрация: 24.10.2013
Сообщений: 200
03.12.2013, 14:00  [ТС] 11
Delphi
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
F : File of Integer;
 i, Num, NumMax,NumMin : real;
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
 
begin
 AssignFile(F, FileName);
  //Создаём/пересоздаём файл и открываем его в режиме "только запись".
  Rewrite(F);
  //Инициализация генератора случайных чисел.
  Randomize;
  //Создаём N случайных целых чисел и записываем их в файл.
  for i := 1 to N do begin
    Num := -50 + Random(101); //-50..50.
    Write(F, Num);
  end;
  //Открываем ранее созданный файл в режиме чтение/запись.
  Reset(F);
  //Читаем последовательно элементы файла и ищем среди элементов с нечётными номерами
  //наибольший по модулю.
  i := 1; //Счётчик элементов.
  NumMax := 0;
  while not Eof(F) do begin
   Inc(i);
    Read(F, Num);
    if i = 2 then
      NumMin := Num
    else if (i mod 2 = 0) and (Num < NumMin) then
      NumMin := Num;
  end;
  //Закрываем файл.
  CloseFile(F);
  //Показ результатов.
   if i >= 2 then
    ShowMessage('Наименьший из элементов с чётными порядковыми номерами: ' + FloatToStr(NumMin))
  else
    ShowMessage('В файле менее двух элементов.');
end;
Выходит ошибка теперь Write(F, Num);

Добавлено через 1 минуту
и вот куда мне вывести оконтательное четное число???
 Комментарий модератора 
Добавлены теги кода. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует поместить этот код в теги: [DELPHI] - [/DELPHI]. Это можно сделать вручную или можно выделить код и на панели редактирования сообщения нажать кнопку: "DELPHI".

 Комментарий модератора 
Кодировка исправлена.
Если при копировании текста в редакторе и вставке его в окно сообщения, русский текст превращается в кракозябры, например, такие:
Íà 0 äåëèòü íåëüçÿ
то поступить надо так. В редакторе следует переключиться на русскую раскладку клавиатуры. Выделить текст, скопировать его в буфер обмена. Затем - вставить текст из буфера обмена в окно сообщения. В этом случае при добавлении текста в буфер обмена будет задана русская кодовая страница CP1251 (windows-1251). Соответственно, при вставке будет использована эта же страница. И русский текст будет передан правильно.
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
03.12.2013, 14:03 12
Файл-то типа интеджер, как был так и остался, а ты туда риэл-данные тычешь

Добавлено через 2 минуты
Цитата Сообщение от Juliaa Посмотреть сообщение
куда мне вывести оконтательное четное число?
Да куда захочешь - туда и выводи..
В задании это не оговаривается, посему нет предела для фантазии)
0
2 / 2 / 1
Регистрация: 24.10.2013
Сообщений: 200
03.12.2013, 14:06  [ТС] 13
ладно спасибо. все равно конечно я не поняла как это все исправить.
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
03.12.2013, 14:16 14
Значит не сдашь.
0
2 / 2 / 1
Регистрация: 24.10.2013
Сообщений: 200
03.12.2013, 14:24  [ТС] 15
Судьба значит такая
0
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
05.12.2013, 09:48 16
Цитата Сообщение от Juliaa Посмотреть сообщение
Выходит ошибка теперь Write(F, Num);
Juliaa, выше подсказали, что файл типа Integer, а ты пытаешься в этот файл записать данные типа Real, а не Integer. Поэтому и ошибка возникает. Кстати, при обнаружении этой ошибки компилятор тебе написал почти то же самое, только на английском языке. Надо читать, что пишет компилятор, переводить и разбираться. Сейчас ошибки простые и читатели темы сами догадываются в чём причина. Но могут быть более сложные ситуации, поэтому, если вопрос касается ошибки, то следует публиковать также и текст, которым компилятор сопровождает эту ошибку.

Учитывая, что в задании сказано:
Цитата Сообщение от Juliaa Посмотреть сообщение
Дан файл, компоненты которого являются действительными числами.
то программу следует подправить таким образом:
Delphi
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
var
  F : File of Extended;
  Num, NumMin : Extended;
  i : Integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  AssignFile(F, FileName);
  //Создаём/пересоздаём файл и открываем его в режиме "только запись".
  Rewrite(F);
  //Инициализация генератора случайных чисел.
  Randomize;
  //Создаём N случайных вещественных чисел и записываем их в файл.
  for i := 1 to N do begin
    Num := (Random - 0.5) * 100; //-50.XXX..50.XXX.
    Write(F, Num);
  end;
  //Открываем ранее созданный файл в режиме чтение/запись.
  Reset(F);
  //Читаем последовательно элементы файла и ищем среди них наименьший элемент.
  i := 0; //Счётчик элементов.
  NumMin := 0;
  while not Eof(F) do begin
    Read(F, Num);
    Inc(i);
    if i = 2 then
      NumMin := Num
    else if (i mod 2 = 0) and (Num < NumMin) then
      NumMin := Num;
  end;
  //Закрываем файл.
  CloseFile(F);
  
  //Показ результатов.
  if i >= 2 then
    ShowMessage('Наименьший из элементов с чётными порядковыми номерами: ' + FloatToStr(NumMin))
  else
    ShowMessage('В файле менее двух элементов.');
end;
0
2 / 2 / 1
Регистрация: 24.10.2013
Сообщений: 200
05.12.2013, 14:06  [ТС] 17
AssignFile(F, FileName);- выходит ошибка
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.12.2013, 14:10 18
Напиши вместо FileName конкретное имя файла, например
Delphi
1
AssignFile(F, 'my_file');
0
2 / 2 / 1
Регистрация: 24.10.2013
Сообщений: 200
05.12.2013, 14:20  [ТС] 19
так же ошибка. ничего не изменилось
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.12.2013, 14:41 20
Какая та же? На что указывает и что пишет? Если берете только код от Mawrat, , то там еще не объявлена N.
Вот так я написал
Delphi
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
var
  F : File of Extended;
  Num, NumMin : Extended;
  i : Integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var n:integer;
begin
  AssignFile(F, 'my_file');
  n:=20;
  //Создаём/пересоздаём файл и открываем его в режиме "только запись".
  Rewrite(F);
  //Инициализация генератора случайных чисел.
  Randomize;
  //Создаём N случайных вещественных чисел и записываем их в файл.
  for i := 1 to N do begin
    Num := (Random - 0.5) * 100; //-50.XXX..50.XXX.
    Write(F, Num);
  end;
  //Открываем ранее созданный файл в режиме чтение/запись.
  Reset(F);
  //Читаем последовательно элементы файла и ищем среди них наименьший элемент.
  i := 0; //Счётчик элементов.
  NumMin := 0;
  while not Eof(F) do begin
    Read(F, Num);
    Inc(i);
    if i = 2 then
      NumMin := Num
    else if (i mod 2 = 0) and (Num < NumMin) then
      NumMin := Num;
  end;
  //Закрываем файл.
  CloseFile(F);
  
  //Показ результатов.
  if i >= 2 then
    ShowMessage('Наименьший из элементов с чётными порядковыми номерами: ' + FloatToStr(NumMin))
  else
    ShowMessage('В файле менее двух элементов.');
end;
end.
и нет никаких синтаксических ошибок
Вложения
Тип файла: rar 1234.rar (3.3 Кб, 2 просмотров)
0
05.12.2013, 14:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2013, 14:41
Помогаю со студенческими работами здесь

Найти все RTF файлы, захешировать эти файлы MD5 и SHA1. Потов захешированые файлы поместить в документ
Найти все RTF файлы, захешировать эти файлы MD5 и SHA1. Потов захешированые файлы поместить в...

Пропали файлы на флешке.Вместо них файлы и папки со странными именами
Вставил флешку с программами(пользовался ей недавно) и тут такое.... Ни одну папку открыть не...

Заголовочные файлы .h, файлы исходного когда c/c++ и установление связи между ними
Всем добрый вечер!) Относительно недавно стал изучать c/c++, хочу полюбопытствовать ,так как...

Не могу открыть файлы Word, jpeg, pdf - файлы повреждены
Помогите, пожалуйста, по-глупости словила вирус. Теперь не открываются файлы Word, jpeg, pdf, пишет...

Как в IntelliJ IDEA скомпилировать исходные файлы в файлы классов
Учусь делать апелты &lt;html&gt; &lt;body&gt; &lt;applet code=&quot;aplet.class&quot;,width=&quot;300&quot; height=300&gt; ...

Почему не отправляются файлы docx, txt и прочие текстовые файлы?
Архивы и картинки проверял- отправляются на сервер, а текстовые файлы- нет. Что нужно, чтоб они...


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

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