Anonymní profil Laaca – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Laaca – Programujte.comAnonymní profil Laaca – Programujte.com

 

Příspěvky odeslané z IP adresy 82.208.37.–

Laaca
Pascal › helpnete s úkolem
21. 11. 2007   #55682

Elegantnější je třídit už v průběhu načítání. Načítat do spojového seznamu nebo ještě lépe do binárního stromu.

Pascal › praca so subormi
14. 11. 2007   #54648

Freepascal umí Assign a spol. úplně stejně jako Turbo pascal. Dokonce i pro dlouhé názvy souborů. Chyba je tedy mezi židlí a klávesnicí :-)
Co se týče tvého postupu - uvědom si, že používáš funkce určené pro binární, nikoliv textové soubory. Taky mi není úplně jasné, co po svém programu chceš. Jestli prostě vypsat čísla od 0 do 100, tak musíš provést konverzi z typu Longint na typ String:



uses sysutils, crt;
Var I,F : Longint;
s:string;

Begin
F:=FileCreate ('testik.dat');
If F=-1 then Halt(1);

For I:=0 to 100 do begin
s:=IntToStr(i)+#13#10;
FileWrite(F, s[1], Length(s));
end;

FileClose(f);
end.

Pascal › Líbivá geometrie
4. 11. 2007   #53706

Endžoj:



uses Graph;
const s = 100;
n = 32000;

var gd,gm:integer;
x,y:integer;
a,d,pi2:real;
begin
gd:=vga;
gm:=vgaHi;
InitGraph(gd,gm,'');
a:=0;
pi2:=pi*2;
repeat
D:= (1+Sin(A)) * (1+0.9*Cos(8*A)) * (1+0.1*Cos(24*A)) * (0.9+0.05*Cos(200*A));
X:= Round(D*Cos(A)*S);
Y:= Round(D*Sin(A)*S);
PutPixel(X+320, 400-Y, 2);
A:= A + Pi2/N;
until A >= Pi2;
readln;
CloseGraph;
end.

Nejsem autor, jenom překladatel z jiného jazyka (z Euphorie).

Pascal › pomoc DU
31. 10. 2007   #53440

Zdá se, že redakční systém má ještě mouchy ve zvýrazňování syntaxe, chichichi.

Pascal › pomoc DU
31. 10. 2007   #53439

Buďto to můžeš řešit hrubou silou nebo v rukavičkách.
Hrubou silou znamená, že si uděláš pole 1..10000, budeš tam zapisovat nelezené prvky a pořád ho budeš procházet, jestli tam je prvek na vstupu. Jestli neni, tak ho tam přidáš a postup se opakuje. Algoritmus je jednoduchý, ale pomalý, protože čísla nejsou nijak tříděná a pole se většinou prochází zbytečně dlouho.

var data,prac:array[1..10000] of longint;

a,b,c,p:integer;
je_tam:boolean;
begin
write('Kolik zadas cisel? ');
readln(a);
for b:=1 to a do
begin
write('Zadej hodnotu c.',b,': ');
readln(data);
end;
{Data mame nactena, jdem je zpracovavat}
p:=0;
for b:=1 to a do
begin
je_tam:=false;
for c:=1 to p do
if prac[c]=data then begin je_tam:=true;Break;end;
if je_tam=false then
begin
inc(p);
prac[p]:=data;
end;
end;

writeln('Zadano bylo ',p,' ruznych hodnot.'#13#10'Tady jsou:');
for b:=1 to p do
write(prac,', ');
writeln(#8#8' '); {umaze posledni carku}
readln;
end.


V rukavičkách znamená, že přijímaná data budeš za pochodu řadit podle velikosti, takže procházení, jestli číslo už bylo, bude mnohem rychlejší. Na takovýhle postup se ale pole nehodí. Na to se používají binární vyhledávací stromy, a to je tak o tři levely obtížnější.

Pascal › Had-zajímavý problém
27. 10. 2007   #52848

Na můj vkus je to naprogramovaný trochu divně, já bych to dělal jinak, ale to je jedno.
Problém je uvnitř procedury PohybHada, v řádku i:=i+1;
I se totiž nikde dál v programu nenuluje, takže se pořád zvětšuje a zvětšuje a v řádce xpole[i]:=xHlava;
se vlastně provede xpole[101]:=xHlava; což znamená přetečení pole.

Taky nemáš inicializovaný proměnný, ale to je, předpokládám, tím, jak jsi ze zdrojáku narychlo vyseknul tenhle fragment.

Laaca
Pascal › Unita z Pacalu do dll
25. 10. 2007   #52660

v Turbo pascalu se to dělá takhle: http://www.int21h.ic.cz/?id=63
Jestli ale píšeš program pro windows, tak budeš asi muset použít Freepascal, a to verzi pro windows. S tím ti neporadím, ale vím, že v nápovědě je to dobře popsaný.

Laaca
C / C++ › C++ vs. Pascal
23. 10. 2007   #52434

Pascal zná objekty už od verze 5.5 - ten vyšel tuším, v roce 1990. Object pascal je jenom reklamní trik - je to úplně normální pascal, který tedy má, pravda, trochu rozšířené možnosti ohledně objektového programování, ale nejde o nic zásadního. Standard object pascal v sobě zahrnují Delphi (od verze 1.0), Freepascal a snad i Virtual pascal a GNU pascal.
Jinak - není úplně přesné, že Turbo pascal byl navržen pro výuku programování. Původní pascal od Niclause Wirtha opravdu pro výuku navržen byl. Pro profesionální programování pak stvořil odvozený jazyk Modula-2. Jenže firma Borland řekla, že překladač pro Modulu dělat nebude, a že raději zdokonalí jazyk pascal, aby byl použitelný i pro profesionály. Tak vznikl Turbo pascal.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý