Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2011, 20:10   #1
evg94
Пользователь
 
Регистрация: 07.09.2011
Сообщений: 10
По умолчанию типизированный файл,последовательность Фибоначчи

задача на использование файлов в Паскале. Создать типизированный файл, элементами которого являются 12 первых членов последовательности Фибоначчи.

программа выводит на экран числа, но не пишет их в файл...

Код:
program Fibannachchi;
  const
    n=12;
  type
    fil= file of integer;
    matrix=array [1..n] of integer;
  var
    i:integer;
    a:matrix;
    f:fil;
begin
  assign (f, 'c:\fiba.txt');
  rewrite(f);
  a[1]:=1;
  a[2]:=1;
  write (a[1],' ', a[2], ' ');
   for i:=3 to n do
     begin
     a[i]:=a[i-2]+a[i-1];
     write (a[i],' ');
     end;
  close (f);
end.
evg94 вне форума Ответить с цитированием
Старый 14.09.2011, 20:14   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Я не вижу в этой программе записи в файл. http://pascal.guti.ru/files.html , например, коротко все основные операции с файлами.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2011, 20:25   #3
evg94
Пользователь
 
Регистрация: 07.09.2011
Сообщений: 10
По умолчанию

Код:
 write (f, a[1],' ', a[2], ' ');
Код:
write (f, a[i],' ');
ошибка: нельзя преобразовать выражение типа char к типу integer
evg94 вне форума Ответить с цитированием
Старый 14.09.2011, 20:34   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Это типизированный файл. Не текстовый. В file of integer могут содержаться только целые числа соответственно)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2011, 20:53   #5
evg94
Пользователь
 
Регистрация: 07.09.2011
Сообщений: 10
По умолчанию

чет у меня ничего не сходится..... то ли я торможу, то ли просто что то не понимаю)
evg94 вне форума Ответить с цитированием
Старый 14.09.2011, 21:08   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну текстовый файл — в нем может находиться, что угодно, можно легко открыть текстовым редактором и прочитать, отредактировать и т.д В них можно записывать, что угодно и читать как угодно (любые типы данных, по ссылке подробнее описано как оттуда читается).

Типизированный — в него можно записать только данные соответствующего типа (указанного при объявлении). Точнее записано-то там может быть, что угодно (можно попробовать написать что-то в файле с помощью Блокнота и потом попытаться прочитать как типизированный), но читать программа их будет так, как указано (если вначале в одной программе записали целые числа, а потом в другой программе читаем как с плавающей запятой, то числа получим совсем другие либо вообще ошибку). т.к. все компоненты содержат одинаковое число байт (как массив, все данные одного типа), то можно легко по файлу перемещаться от 1 компонента к другому (в текстовом это невозможно\не нужно).

Как-то так.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.09.2011 в 21:12.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2011, 21:16   #7
evg94
Пользователь
 
Регистрация: 07.09.2011
Сообщений: 10
По умолчанию

теперь программа запоминает последнее число
Код:
program Fib12;
  const
    n=12;
  type
    matrix=array [1..n] of integer;
  var
    i:integer;
    a:matrix;
    f:text;
begin
  a[1]:=1;
  a[2]:=1;
  write (a[1],' ', a[2], ' ');
   for i:=3 to n do
     begin
     a[i]:=a[i-2]+a[i-1];
     write (a[i],' ');
       begin
        assign (f, 'c:\fiba.txt');
        rewrite(f);
        write (f, a[i]);
        close (f);
       end;
     end;

end.

Последний раз редактировалось evg94; 14.09.2011 в 21:28.
evg94 вне форума Ответить с цитированием
Старый 14.09.2011, 21:33   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Файл перед циклом открой и закрой в конце. Ты его каждый раз уничтожаешь и заново.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.09.2011, 21:38   #9
evg94
Пользователь
 
Регистрация: 07.09.2011
Сообщений: 10
По умолчанию

Код:
program Fib12;
  const
    n=12;
  type
    matrix=array [1..n] of integer;
  var
    i:integer;
    a:matrix;
    f:text;
begin
  a[1]:=1;
  a[2]:=1;
  write (a[1],' ', a[2], ' ');
    begin
      assign (f, 'c:\fiba.txt');
      rewrite(f);
      writeln (f, ' первые 12 членов последовательности Фибоначчи');
      write (f, a[1], ' ',a[2], ' ');
    end;
   for i:=3 to n do
     begin
     a[i]:=a[i-2]+a[i-1];
     write (a[i],' ');
     write (f, a[i], ' ');
     end;
close (f);
end.
как то так) начало работать) возможно где то перемудрила) но вроде все по заданию)

Последний раз редактировалось evg94; 14.09.2011 в 21:42.
evg94 вне форума Ответить с цитированием
Старый 14.09.2011, 22:02   #10
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Осталось чуток.
Типизированный (компонентный) файл это когда твоя файловая переменная определена так:
Код:
var fcomp : file of matrix;
Это если по тексту программы.
Тогда запись полученного массива делать просто. Сразу за последним циклом:
Код:
write(fcomp,a);
close(fcomp);
Это ближе к теме задания
Как-то так, ...
ViktorR на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
типизированный файл s2dentishe Помощь студентам 2 08.04.2011 16:34
Последовательность Фибоначчи. Сумма в последовательности Фибоначчи, сравниваемая с числом N Neitrosha Помощь студентам 5 05.04.2011 09:19
Типизированный файл с натуральными числами. Числа, встречающиеся 1 раз переписать в другой файл [Паскаль] mifomen Помощь студентам 7 16.12.2010 22:00
типизированный файл, элементами которого являются отдельные буквы, составляющие последовательность Inferno777 Помощь студентам 18 28.06.2009 14:10
Последовательность Фибоначчи Natasha AA Общие вопросы Delphi 2 23.09.2008 23:18