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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2011, 22:31   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

думаю, что ожидался примерно такой вариант решения:
Код:
program Fib12;
  const
    n=12;
  type
    matrix=array [1..n] of integer;
  var
    i:integer;
    a:matrix;
    f:file of integer;
begin
  a[1]:=1;
  a[2]:=1;
  write (a[1],' ', a[2], ' ');
  assign (f, 'c:\fiba.bin');
  rewrite(f);
  write (f, a[1]);
  write (f, a[2]);
  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.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.09.2011, 13:14   #12
Serj_D
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 13
По умолчанию

Тогда уж так :
Код:
Program LR;
Uses
    Crt;
Const
     MAX=20;
Type
    TMatrix=Array [1..MAX] Of Integer;
Var
   i:Integer;
   arrA,arrB:TMatrix;
   f:File Of TMatrix;
Begin
     arrA[1]:=1;
     arrA[2]:=1;
     Assign (f, 'c:\data.mtx');
     Rewrite(f);
     For i:=3 To MAX Do
         arrA[i]:=arrA[i-2]+arrA[i-1];
     Write (f, arrA);
     Close (f);
//------------------------------------//
     Reset(f);
     Read(f,arrB);
     ClrScr;
     For i:=1 To MAX Do
         Write (arrB[i],' ');
     WriteLn;
     Close(f);
End.
Serj_D вне форума Ответить с цитированием
Старый 16.09.2011, 01:31   #13
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Serj_D Посмотреть сообщение
Тогда уж так :
И почему оно лучше?
Что за странная блажь записывать последовательность в файл одной переменной? Кому это и для чего нужно - рассматривать последовательность, как матрицу?.. Последовательность - никак не матрица, и записывать ее в файл нужно почленно.

Не надо с такой уверенностью говорить то, о чем не имеешь представления (тем более, новичкам). И отучись совать CRT и чистить экран везде, где не требуется..
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 16.09.2011, 09:04   #14
Serj_D
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от TinMan Посмотреть сообщение
И почему оно лучше?
Тем, что есть отдельно запись и отдельно считывание из файла. Задача то на "работу с файлами", нэ ?

Цитата:
Сообщение от TinMan Посмотреть сообщение
Что за странная блажь записывать последовательность в файл одной переменной? Кому это и для чего нужно - рассматривать последовательность, как матрицу?.. Последовательность - никак не матрица, и записывать ее в файл нужно почленно.
Массив он и в Африке массив, хоть одномерный, хоть дву-, трёх, n-мерные. Почему бы не записать сразу целиком ?
(А вообще нужно смотреть на условия задачи, как и что писать; в конкретно этом случае — не принципиально.)

Цитата:
Сообщение от TinMan Посмотреть сообщение
И отучись совать CRT и чистить экран везде, где не требуется..
О, действительно. Больше не к чему было придраться, так хоть к очистке экрана, да ?
Serj_D вне форума Ответить с цитированием
Старый 16.09.2011, 11:45   #15
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от Serj_D Посмотреть сообщение
Тем, что есть отдельно запись и отдельно считывание из файла. Задача то на "работу с файлами", нэ ?
Нэ.
В условии сказано: "создать файл".

Цитата:
Массив он и в Африке массив, хоть одномерный, хоть дву-, трёх, n-мерные. Почему бы не записать сразу целиком ?
(А вообще нужно смотреть на условия задачи, как и что писать; в конкретно этом случае — не принципиально.)
Если на то пошло - скажи, где в условии про массив? Боюсь, принципиально. Сам сказал - смотреть на условие. Тебе его повторить? "Создать типизированный файл, элементами которого являются 12 первых членов последовательности Фибоначчи. " Обрати внимание на выделенные слова.

Цитата:
О, действительно. Больше не к чему было придраться, так хоть к очистке экрана, да ?
Ну, не все же ругать, надо было что-то и полезное сказать. Совет хоть и бесплатный, но ценный. Когда-нибудь поймешь.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 16.09.2011, 12:21   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Serj_D

1) я полность согласен со всеми замечаниями, высказанными TinMan

2) могу немного пояснить.
Цитата:
Массив он и в Африке массив, хоть одномерный, хоть дву-, трёх, n-мерные. Почему бы не записать сразу целиком ?
(А вообще нужно смотреть на условия задачи, как и что писать; в конкретно этом случае — не принципиально.)
это и принципиально. Вы банально не сможете открыть и прочитать массив из типизированного файла, если не знаете сколько в нём элементов и какого они типа.
Да и в целях обучения лучше понимать, что является ТИПОМ типизированного файла. я не уверен, что новичок сможет правильно понять, что в случае file of TMatrix в файле может быть неограниченно МНОГО матриц заданного типа... (Вы то это, надеюсь, понимаете!)

Цитата:
О, действительно. Больше не к чему было придраться, так хоть к очистке экрана, да ?
ну это была не придирка, а совет.
Дело в том, что нормальный модуль CRT имеется только в DOS. При попытке откомпилировать данный текст программы, например в Delphi, прийдётся убрать все упоминания CRT и функций, вызванных из него.
Впрочем, конечно, бывают задачи, где использование этих функция функционально оправдано. В данном случае я в этом острой необходимости не вижу...
впрочем, соглашусь, к сути решаемой задачи использование CRT никак не относится.


p.s. Serj_D, поймите, что замечания на ваше решение делают не для того, чтобы показать, какой Вы плохой код написали, а для того, чтобы помочь автору топика и Вам разобраться в решении. Поэтому замечания не надо встречать в штыки!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.09.2011, 15:07   #17
Serj_D
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от TinMan Посмотреть сообщение
Если на то пошло - скажи, где в условии про массив? Боюсь, принципиально. Сам сказал - смотреть на условие. Тебе его повторить? "Создать типизированный файл, элементами которого являются 12 первых членов последовательности Фибоначчи. " Обрати внимание на выделенные слова.
Ага, повторить. =) Я решил, что ты совершенно к другому придираешься.

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
это и принципиально. Вы банально не сможете открыть и прочитать массив из типизированного файла, если не знаете сколько в нём элементов и какого они типа.
Да, но мы то знаем.

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Дело в том, что нормальный модуль CRT имеется только в DOS. При попытке откомпилировать данный текст программы, например в Delphi, прийдётся убрать все упоминания CRT и функций, вызванных из него.
ТС сказал : "В Паскале". При чём тут Delphi ? Изначальный язык среды Delphi — Object Pascal, который давно переименовали в Delphi, что бы не путаться. Зачем же сейчас опять всё запутывать ?

По большому счёту, очистка экрана была нужна мне, я её просто забыл убрать вместе со всем тем, что убирал перед тем, как выложить текст.

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Serj_D, поймите, что замечания на ваше решение делают не для того, чтобы показать, какой Вы плохой код написали, а для того, чтобы помочь автору топика и Вам разобраться в решении.
Я же и не обещал, что напишу полностью рабочую программу за ТС’а, да ещё и без ошибок. Пусть смотрит на все варианты и сам уж делает так, как посчитает нужным.

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Поэтому замечания не надо встречать в штыки!
Да нормально я реагирую.
Нужно было в принципе никакого кода не выкладывать. Всё что я хотел, это сказать, что стоит сделать отдельно запись в файл и отдельно считывание, перед выводом на экран. Именно так, обычно, это учителя и требуют делать. Нужно было просто написать словами, а то ТС молчит, зато прибежала толпа и придралась к той части кода, которая, в данном случае, абсолютно не важно как написана.
Serj_D вне форума Ответить с цитированием
Старый 16.09.2011, 15:14   #18
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Всё что я хотел, это сказать, что стоит сделать отдельно запись в файл и отдельно считывание, перед выводом на экран.
Как Вы не поймёте! принципиальные отличия не в этом.
А в том, file of Integer или file of TMatrix !

я лично считаю, что Вы ошибаетесь, когда говорите "Тогда уж так :" (пост #12)
Это не то, что нужно автору топика.


впрочем, согласен. обсуждать здесь нечего. Sapienti sat.

Последний раз редактировалось Serge_Bliznykov; 16.09.2011 в 15:17.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.09.2011, 15:30   #19
Serj_D
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Как Вы не поймёте! принципиальные отличия не в этом.
А в том, file of Integer или file of TMatrix !
Да блин. Не важно это. Я не для этого пример написал, а для :

Код:
какой то код
rewrite
какой то код
write
какой то код
reset
read
какой то код
Всё. Ни код вне указанных команд, ни конкретные аргументы (по одному аргументу сохраняем или нет) НЕ ВАЖНЫ ! Важен сам принцип : пишем отдельно, считываем отдельно, выводим на экран отдельно.
Вы же придираетесь к тому, что, в данном случае, роли не играет.

Поэтому и написал, что изначально лучше бы указал словами, без всяких примеров, а то вы не на то смотрите, на что надо.
Serj_D вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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