![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
SAB |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 23 Репутация: ![]() ![]() ![]() |
В программе есть цикл, обрабатывающий данные из файла:
Код repeat Read(f_in,d); SinCos(j*2*pi*k/N,s1,c1); A1:=d.Zn*c1; SA:=SA+A1; B1:=d.Zn*s1; SB:=SB+B1; k:=k+1; until k>N-1; В файле более 50000 значений. Такой цикл выполняется несколько томительных секунд. Может кто знает: как ускорить его выполнение? Сообщение отредактировано: volvo - 5.01.2005 14:03 -------------------- Человек должен думать, а компьютер работать.
|
![]() ![]() |
Nightmare |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Репутация: ![]() ![]() ![]() |
Информации, конечно менее, чем необходимо, но попробуем разобраться.
1. Код A1:=d.Zn*c1; SA:=SA+A1; заменить на Код SA := SA + d.Zn*c1; 2. Код k:=k+1; заменить на Код Inc(k); Это так, навскидку. Далее: здесь самая медленная операция - чтение из типизованного файла одного значения, очевидно типа Record. Если есть возможность, нужно убрать это из цикла. Обычно, если идет неоднократное обращение к данным, разделяют загрузку и обработку, но мне почему-то кажется, что здесь это неприменимо. А посему придётся или смириться или давать больше информации. Сообщение отредактировано: volvo - 5.01.2005 14:04 |
![]() ![]() |
![]() |
Текстовая версия | 11.07.2025 8:04 |