Delphi тили боюнча суроолорду берсеңер болот
Delphi тилинде программалоо программалоо тили
#2 18 October 2010 - 12:32
Ээ мага өтө чоң сандар менен иштөө кызык, мисалы 4096 битүү.
Кантип иштеш керек?
Кантип иштеш керек?
үмүтсүз - шайтан
#3 19 October 2010 - 10:53
Универде жургондо эжекем окуп ааааал деп какшаса да болбой койгом да...Delphi эмес Word ду ончулук уйронуп алайынчы ээ...анан келем суроом менен
˙·٠•●♥●•٠·˙
Жалгызым менин, жаркылдагым менин... ˙·٠•●♥●•٠·˙
#4 06 November 2010 - 21:21
Сурооңу тагыраак берсен жакшы болот
Эмгектене билүү – адам үчүн түгөнгүс байлык.
#5 08 November 2010 - 10:52
Ээ мага өтө чоң сандар менен иштөө кызык, мисалы 4096 битүү.
Кантип иштеш керек?
Кантип иштеш керек?
Мисалы бул процедуранын жардамында 415 санынын да фактериалын эсептесен болот. Тагыраак айтканда 10 000 орундуу сандар менен иш алып бара алат:
procedure Str2Number(s: string; var n: TNumber);
var
i, j, l: integer;
begin
if s = '' then
begin
setlength(n.int, 0);
setlength(n.frac, 0);
exit;
end;
l := length(s);
if s[1] = '-' then
begin
s := copy(s, 2, l);
l := l - 1;
n.######n := false;
end
else
n.######n := true;
j := pos('.', s);
if j > 0 then
begin
setlength(n.int, j - 1);
for i := 1 to j - 1 do
n.int[i - 1] := strtoint(s[j - i]);
setlength(n.frac, l - j);
for i := 1 to l - j do
n.frac[i - 1] := strtoint(s[l - i + 1]);
end
else
begin
setlength(n.int, l);
for i := 1 to l do
n.int[i - 1] := strtoint(s[l - i + 1]);
setlength(n.frac, 0);
end;
end;
function Num2Array(var n: TNumber; var a: TMathArray): integer;
var
i: integer;
begin
result := length(n.frac);
setlength(a, length(n.int) + result);
for i := 0 to length(a) - 1 do
if i < result then
a[i] := n.frac[i]
else
a[i] := n.int[i - result];
end;
procedure MultiplyArray(var a1, a2, a: TMathArray);
var
i, j: integer;
b: boolean;
begin
{checking for zero, 1}
for i := length(a2) - 1 downto 0 do
begin
for j := length(a1) - 1 downto 0 do
begin
a[j + i] := a[j + i] + (a2[i] * a1[j]);
end;
end;
repeat
b := true;
for i := 0 to length(a) - 1 do
if a[i] > 9 then
begin
b := false;
try
a[i + 1] := a[i + 1] + 1;
except
setlength(a, length(a) + 1);
a[i + 1] := a[i + 1] + 1;
end;
a[i] := a[i] - 10;
end;
until b;
end;
procedure Array2Num(var n: TNumber; var a: TMathArray; frac: integer; ######n:
boolean);
var
i: integer;
begin
setlength(n.frac, frac);
setlength(n.int, length(a) - frac);
for i := 0 to length(a) - 1 do
begin
if i < frac then
n.frac[i] := a[i]
else
n.int[i - frac] := a[i];
end;
n.######n := ######n;
end;
function Number2Str(var n: TNumber): string;
var
i: integer;
s: string;
begin
result := '';
for i := 0 to high(n.int) do
result := inttostr(n.int[i]) + result;
if length(n.frac) <> 0 then
begin
for i := 0 to high(n.frac) do
s := inttostr(n.frac[i]) + s;
result := result + '.' + s;
end;
while (length(result) > 1) and (result[1] = '0') do
delete(result, 1, 1);
if pos('.', result) > 0 then
while (length(result) > 1) and (result[length(result)] = '0') do
delete(result, length(result), 1);
if not n.######n then
result := '-' + result;
setlength(n.int, 0);
setlength(n.frac, 0);
end;
procedure DisposeNumber(var n: TNumber);
begin
setlength(n.int, 0);
setlength(n.frac, 0);
end;
function ulFact(First: string): string;
var
n1, n2: TNumber;
i: integer;
a, a1, a2: TMathArray;
max: integer;
begin
Str2Number('1' , n1);
Str2Number('1' , n2);
Num2Array(n1, a1);
Num2Array(n2, a2);
max := strtoint(First);
for i := 1 to strtoint(First) do
begin
if As######ned(OnProgress) then
OnProgress((i / max) * 100);
setlength(a, length(a1) + length(a2) + 1);
MultiplyArray(a1, a2, a);
setlength(a1, 0);
setlength(a2, 0);
a1 := a;
Str2Number(inttostr(i), n2);
Num2Array(n2, a2);
end;
Array2Num(n1, a1, 0, true);
result := Number2Str(n1);
DisposeNumber(n1);
end;
Эмгектене билүү – адам үчүн түгөнгүс байлык.
#7 22 November 2010 - 18:37
lifeview
Tnumber,TMathArray кайдан алам?
Tnumber,TMathArray кайдан алам?
Бул аргументтер негизги модулда implementation бөлүгүндө жарыяланат.
type
TMathArray = array of integer;
type
TNumber = record
int, frac: TMathArray;
######n: boolean;
end;
var n1, n2: TNumber;
Эмгектене билүү – адам үчүн түгөнгүс байлык.
#8 09 February 2011 - 23:53
иии жакшы болббодубу мен файл м-н иштешти жакшы билбейм кантип аны ачып сактасам болот анан опреторлордун да кызматтарын жазып койсоз жакшы болмок
#9 05 March 2011 - 21:22
файлдар менен иштөө үчүн бир файлдык өзгөрмөнү жарыялап алуу керек жана аны физикалык файл менен байланыштыруу керек. Андан кийин файлды ачып алып маалыматтарды жазса болот. Файлдар менен иштөө аяктагандан кийин аны созсуз жабуу керек. Мисалы
var f:TextFile;
begin
As######nFile(f,' c:\asan.txt'); //байланыштыруу
RewriteFile(f); //Файлды ачуу
CloseFile(f); //Файлды жабуу
end;
var f:TextFile;
begin
As######nFile(f,' c:\asan.txt'); //байланыштыруу
RewriteFile(f); //Файлды ачуу
CloseFile(f); //Файлды жабуу
end;
Эмгектене билүү – адам үчүн түгөнгүс байлык.
#10 06 March 2011 - 00:00
Delphi жонундо суроо бер макул алгоритм RSA жонундо айтып берчи кантип Delphi боюнча жазаса болот открытый жана закрытый ключ деген бул эмне мен билем себеби программисмин кызык болуп жатат билесинби?
Жизнь – это не те дни, которые прошли, а те, которые запомнились.
#11 02 November 2011 - 21:19
Delphi жонундо суроо бер макул алгоритм RSA жонундо айтып берчи кантип Delphi боюнча жазаса болот открытый жана закрытый ключ деген бул эмне мен билем себеби программисмин кызык болуп жатат билесинби?
Билсен абдан сонун экен. Бул теманын максаты, ошо билгенинди билбегендерге жеткирүү.
Эмгектене билүү – адам үчүн түгөнгүс байлык.
#12 02 November 2011 - 21:59
мен билем да бирок жакшы билбейм кандай чон иштерди жаратсан болот???
- Милдет! Намыс! Ата Мекен!
#13 16 November 2011 - 15:01
мен билем да бирок жакшы билбейм кандай чон иштерди жаратсан болот???
Каалагандай ишинди автоматташтырсан болот.
Эмгектене билүү – адам үчүн түгөнгүс байлык.

Супер-Инфо
super.kg
видео














