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 - 259
program 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...
скользкая тема. Может не надо... такие игрушки
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 делениями переменные не нужны:
т.е.? Что вы хотите что бы я проверил.Или это тоже медленнее (например, из-за первого нечастого совпадения, не проверял)
Вернуться в Помощь за вознаграждение
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 47