debi12345 писал(а):вызывает запутанность и забагованность написанных программ
Предлагаете запретить использовать асм в паскале?
Модератор: Модераторы
debi12345 писал(а):вызывает запутанность и забагованность написанных программ
stanilar писал(а):Предлагаете запретить использовать асм в паскале?
debi12345 писал(а):Попробуйте тупой способ :
1) скачать и установить последний ODBC-драйвер для Постгрес
2) DLL-ки из каталога куда он установился (c:\Program Files\psqlODBC\0903\bin\),
скопируйте в каталог Вашей проги или, если не поможет -
в системный каталог (c:\Windows\System32\)

А причем тут ODBC? Автор вопроса, я думаю использует библиотеки прямого доступа к PostgreSQL.

azsx писал(а):Если к этому еще добавить qnx и вытекающие няшки реал времени - так нафиг ваще эти военные с их приборами и замещением, лет десять только учится надо. Интересно, но голодно будет.

Сегодня случайно наткнулся на вакансию по Postgre в московской компании НПО РусБИТех, а там на их сайте Центры боевой подготовки.

ну как сказать "не очень", 66% от вашего варианта (если отсечь все лишнее), 34% на дороге не валяются.
Lazarus 1.4.4
FPC 2.6.4
WinXP SP3 (virtualbox...)
run1
Test1 - 2213
Test2 - 3124
Test3 - 2133
run2
Test1 - 2173
Test2 - 2854
Test3 - 2153
run3
Test1 - 2173
Test2 - 2874
Test3 - 2083
run4
Test1 - 2293
Test2 - 2914
Test3 - 2073
run5
Test1 - 2143
Test2 - 2754
Test3 - 2043
Lazarus 1.6RC2
FPC 3.0.0
Debian 8 (gnome 3)
run1
Test1 - 263
Test2 - 387
Test3 - 256
run2
Test1 - 266
Test2 - 386
Test3 - 259
run3
Test1 - 266
Test2 - 389
Test3 - 258
run4
Test1 - 264
Test2 - 387
Test3 - 263
run5
Test1 - 266
Test2 - 391
Test3 - 259program project1;
uses
  {$ifdef Win32}
    Windows;
  {$else}
    Unix, BaseUnix ;
  {$endif}
const Count=100000000;
procedure Test1;
var i: Integer; s: String;
begin
  for i:=1 to Count do
    case Ord(i mod 3=0) or Ord(i mod 5=0) shl 1 of
    0: s:='number';
    1: s:='Fizz';
    2: s:='Buzz';
    3: s:='FizzBuzz';
    end;
end;
procedure Test2;
var i: Integer; s: String;
begin
  for i:=1 to Count do begin
    s := '';
    if (i mod 3) = 0 then
      s := 'Fizz';
    if (i mod 5) = 0 then
      s := s + 'Buzz';
//ранее не было... Т.е. о FizzBuzz забыли...
    if (i mod 15) = 0 then
      s := s + 'FizzBuzz';
    if s = '' then
      s := 'number';
  end;
end;
type
   rez = (fFizz, fBuzz, fFizzBuzz, fnoFizzBuzz);
function Check(a_value: integer): rez;
var
  a, b, c: integer;
begin
  result := fnoFizzBuzz;
  a := a_value mod 3;
  b := a_value mod 5;
  c := a_value mod 15;//каюсь... не дошло ранее.
  if a  = 0 then
    result := fFizz;
  if b = 0 then
    result := fBuzz;
  if c = 0 then
    result := fFizzBuzz;
end;
procedure Test3;
var
  i, z : integer;
  s: String;
begin
  z := Count -1;
  i := 0;
//разница не большая между repeat и for.
{  repeat
    case Check(i) of
    fFizz: s:='Fizz';
    fBuzz: s:='Buzz';
    fFizzBuzz: s:='FizzBuzz';
    fnoFizzBuzz: s:='number';
    end;
    inc(i);
  until i > z;}
  for i:=0 to z do
    case Check(i) of
    fFizz: s:='Fizz';
    fBuzz: s:='Buzz';
    fFizzBuzz: s:='FizzBuzz';
    fnoFizzBuzz: s:='number';
    end;
end;
{$ifdef Unix}
function Clock: Int64;
var Dummy: tms;
begin
 Clock := FpTimes(Dummy);
end;
{$endif}
var
    t : integer;
begin
  Write('Test1: ');
  {$ifdef Win32}
    t := Windows.GetTickCount;
  {$else}
    t:= Clock;
  {$endif}
  Test1;
  {$ifdef Win32}
    t:=Windows.GetTickCount-t;
  {$else}
    t:= Clock - t;
  {$endif}
  WriteLn(t);
  Write('Test2: ');
  {$ifdef Win32}
    t := Windows.GetTickCount;
  {$else}
    t:= Clock;
  {$endif}
  Test2;
  {$ifdef Win32}
    t:=Windows.GetTickCount-t;
  {$else}
    t:= Clock - t;
  {$endif}
  WriteLn(t);
  Write('Test3: ');
  {$ifdef Win32}
    t := Windows.GetTickCount;
  {$else}
    t:= Clock;
  {$endif}
  Test3;
  {$ifdef Win32}
    t:=Windows.GetTickCount-t;
  {$else}
    t:= Clock - t;
  {$endif}
  WriteLn(t);
end.
Как раз на это очень сильно обратили внимание.Обратите внимание в оригинале не важен язык программирования, консоль или gui
Ранее писали: что на собесе надо говорить: пишу на всем, если что гугл поможет...python, java...
скользкая тема. Может не надо... такие игрушки


 Буду готовиться. Кстати, с 3 делениями переменные не нужны:
 Буду готовиться. Кстати, с 3 делениями переменные не нужны:function Check(a: integer): rez;
begin
  Result:=fnoFizzBuzz;
  if      a mod 15=0 then Result:=fFizzBuzz
  else if a mod 3=0 then Result:=fFizz
  else if a mod 5=0 then Result:=fBuzz;
end;

кто его знает. Цифры не я придумал. Что написало то и списал.мистика
добавьте и посмотрите на время. Не думаю что сильно что то изменится. Хотя... Должно быть больше?!Кстати, с 3 делениями переменные не нужны:
т.е.? Что вы хотите что бы я проверил.Или это тоже медленнее (например, из-за первого нечастого совпадения, не проверял)
Вернуться в Помощь за вознаграждение
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1