Goto page Previous 1, 2, 3 Next
RoMan Mandziejewicz
Guest
Thu Jun 12, 2014 3:47 pm
Hello bartekltg,
Thursday, June 12, 2014, 4:38:22 PM, you wrote:
Quote:
Jak to jest z tablicami (DIM) w tym języku? Podobno ograniczone są do 64k.
Da się posortować w tym języku tablicę o wielkości 7x100000?
Przy takiej wielkości używa się już baz danych do sortowania (szybciej
będzie zaindeksować).
Że co?
Że masz zastrzeżenia co do tego, że indeksowanie bazy
"Bazy"? Zbiór danych;
7x100000
Quote:
jest szybsze od jej fizycznego posortowania?
To jest zależne od rozmiaru pojedyńcxzego klocka.
I umiejętności programisty... I użytych narzędzi. Bo sortowanie takiej
tablicy w pamięci banalne nie jest.
Quote:
Posortowanie intów (czy kwaternionów na doublach;)) będzie
znacznie szybsze (do tego znacząco mniej pamięciożerne,
a potem użycie tej struktury znów będzie znacznie szybsze*)
Jeśli natomiast klockiem jest kilobajtowi struktura,
a do tego jej porównanie jest szybkie, to posortowanie
listy indeksów/wskaźników będzie szybsze, bo omijamy spore
kopiowania.
...a, no chyba że w QBasic..
Zapomnij o QBasic. Nawet w dużych systemach nie sortuje się już baz
fizycznie, zawsze przez indeks - tak jest szybciej. Choć niekoniecznie
użytkownik/programatoł (programista wie) musi o tym wiedzieć.
Nikt nie mówił o _bazie_. Pytacz ma małą (no, chyba, że siedzi na
atmedze 'tablicę'. Baz się nie sortuje, bo najczęściej klocek
jest tam duży, a potrzebujemy _wielu_ indeksów.
Pytacz chciał to robić w QBasicu... Ja, mając takie narzędzia jak mam,
niemal z zamkniętymi oczami zassałbym dane do bazy (bo jakoś one są
zapisane, nieprawdaż?) i za chwilę byłyby posortowane „z palca” -
komendami xBase, nawet bez pisania programu.
Ewentualnie program musiałbym napisać do samego zaimportowania danych.
Quote:
Bazy danych i ich zastosowania to szczególny dział programowania.
I poza nim cały czas sortuje się bezpośrednio dane gdy jest to
szybsze, bo nierzadko jest to szybsze.
Zresztą, nie ma co wierzyć, każdy może sam sprawdzić.
Różnie bywa, zależy od skali.
[...]
--
Best regards,
RoMan
Nowa strona:
http://www.elektronika.squadack.com (w budowie!)
Robert Wańkowski
Guest
Thu Jun 12, 2014 3:57 pm
"JK"
Quote:
Czy ty czasem nie mylisz QBasic (DOS) z VBasic (Visual Basic, Windows)?
Nie, problem próbowano rozwi±zać w Excelu (VB), ale to sortowanie jest
specyficzne i muszę to zrobić sam. A potrafię jedeynie co¶ napisać w
Basic-u.
Robert
bartekltg
Guest
Thu Jun 12, 2014 5:18 pm
On 12.06.2014 16:52, Robert Wańkowski wrote:
Quote:
"John Smith"
Co¶ więcej o systemie powiesz? Z reguły każda implementacja Basic-a
jest inna.
Na pewno da się posortować tablicę tej wielko¶ci, z tym zastrzeżeniem,
że je¶li RAMu nie starczy, to będzie to trwało odpowiednio długo.
System to XP, RAM ile¶ tam GB.
To czemu qbasic?
Quote:
Niby taki program działa. Zapisuję warto¶ć 33 i j± oczytuję.
DIM Tablica(100000,
Tablica(100000,

= 33
PRINT Tablica(100000, 8)
Ale w wielu miejscach czytałem w tym tonie podobne stwierdzenia:
"Najmniejsza tablica moze zajmowac 1 bajt, najwieksza 64KB.
A pisz± to o Twojej wersji QBasica? Bo ta uwaga możę dotyczy
interpretera w MS-DOS?
BTW, Dla danych powyżęj pewnej wielko¶ći lepiej użyć pamięci
dynamicznej.
Visual Basic na pewno to umożliwiał, Q chyba też:
http://rosettacode.org/wiki/Arrays#Dynamic
Quote:
Z danych tych mozna wyliczyc, ze tablica typu SINGLE PRECISION moze miec
najwyzej 16384 elementy (64x1024/4).
Deklaracja DIM kub(30,30,30) usiluje stworzyc tablice o 29791 elementach
(31x31x31), a to jest ok. 13000 elementow wiecej niz pozwala na to jezyk
QBasic."
http://infgeo.strefa.pl/Kl2/qbasic.htm
To jest o tym dosowym starociu.
Quote:
Dlatego chciałem zapytac m±drzejszych czy obliczenia i sorotwanie na
takiej ilo¶ci danych zrobię w QBasic-u.
Quote:
Problem chyba tu już opisywałe¶.
Je¶li wybór QBasica bierze się z tego, że ten język znasz
to ¶ci±gnij choćby to:
http://www.visualstudio.com/downloads/download-visual-studio-vs#DownloadFamilies_4
darmowa wersja visual basica, starsza, ale dzięki temu pójdzie pod
windows XP.
Na zachętę:
http://social.msdn.microsoft.com/Forums/vstudio/en-US/d88d332d-5fce-4f2a-bb9d-eb7b2e13e356/maximum-size-of-an-array-vbnet?forum=vbgeneral
http://msdn.microsoft.com/en-us/library/x397t1yt%28VS.71%29.aspx
żadnych problemów z ograniczeniem wielko¶ci. Ile RAMu i przestrzeni
adresowej, taka tablica.
pzdr
bartekltg
bartekltg
Guest
Thu Jun 12, 2014 5:39 pm
On 12.06.2014 17:47, RoMan Mandziejewicz wrote:
Quote:
Hello bartekltg,
Thursday, June 12, 2014, 4:38:22 PM, you wrote:
Jak to jest z tablicami (DIM) w tym języku? Podobno ograniczone s± do 64k.
Da się posortować w tym języku tablicę o wielko¶ci 7x100000?
Przy takiej wielko¶ci używa się już baz danych do sortowania (szybciej
będzie zaindeksować).
Że co?
Że masz zastrzeżenia co do tego, że indeksowanie bazy
"Bazy"? Zbiór danych;
7x100000
Siedemset tysiety klocków czy tablica dwuwymiarowa 7x100 000,
tego dalej nie wiem.
Quote:
jest szybsze od jej fizycznego posortowania?
To jest zależne od rozmiaru pojedyńcxzego klocka.
I umiejętno¶ci programisty... I użytych narzędzi. Bo sortowanie takiej
tablicy w pamięci banalne nie jest.
Takiej? Je¶li mie¶ci się w pamięci, jest trywialne.
Autor napsiał, że ma kilka GB dostępnej.
[quote]
Pytacz chciał to robić w QBasicu... Ja, maj±c takie narzędzia jak mam,
niemal z zamkniętymi oczami zassałbym dane do bazy (bo jako¶ one s±
zapisane, nieprawdaż?) i za chwilę byłyby posortowane
Robert Wańkowski
Guest
Thu Jun 12, 2014 6:41 pm
"bartekltg"
Quote:
A pisz± to o Twojej wersji QBasica? Bo ta uwaga możę dotyczy
interpretera w MS-DOS?
I tu chyba trafiłe¶. My¶lałem że jak co¶ się nazywa QBasic to niezależnie
pod jakim system będzie działać to możliwo¶ci będa takie same.
Ten mój QBasic jaki¶ nowszy.
Cytaty z jego helpa "QB64 is a BASIC compatible Editor and C++ compiler that
creates working
Executable files from Qbasic BAS files that can be run on 32 or 64 bit PC's
using WINDOWS(XP, Vista and newer), LINUX or MAC(OSX only). The goal is to
be
100% compatible with QuickBasic 4.5 plus add hundreds of new abilities such
as
program icons and custom sized windows and a great Editor with a new Help
Menu."
Po wpisaniu LPRINT 10*8 drukarka USB (Win XP) wydrukowała wynik.
Robert
Robert Wańkowski
Guest
Thu Jun 12, 2014 6:43 pm
Ten mój QBasic
http://www.qb64.net/forum/index.php?topic=6007.0
Robert
Włodzimierz Wojtiuk
Guest
Thu Jun 12, 2014 6:46 pm
On 2014-06-12 12:59, RoMan Mandziejewicz wrote:
Quote:
Hello Włodzimierz,
Thursday, June 12, 2014, 12:52:08 PM, you wrote:
Jak to jest z tablicami (DIM) w tym języku? Podobno ograniczone s± do 64k.
Da się posortować w tym języku tablicę o wielko¶ci 7x100000?
Przy takiej wielko¶ci używa się już baz danych do sortowania (szybciej
będzie zaindeksować).
Proponuję dBaseII
A masz gdzie¶ instalkę?

Dałby radę.
FoxBase 2.0 nie uruchamia się na nowszych systemach...
Oj, trudno będzie, już predzej Clipper.
Nie mam stacji 5' :-(
Włodek
A.L.
Guest
Thu Jun 12, 2014 7:40 pm
On Thu, 12 Jun 2014 20:43:54 +0200, Robert Wa?kowski <robwan@wp.pl>
wrote:
Quote:
To nie jest oryginalny QBasic Microsoftu
A.L.
bartekltg
Guest
Thu Jun 12, 2014 7:40 pm
On 12.06.2014 20:43, Robert Wańkowski wrote:
Quote:
To może i to się przyda.
http://www.qb64.net/forum/index.php?topic=10866.0
[tutorial do tablic i tablic dynamicznych w QB64]
pzdr
bartekltg
J.F.
Guest
Thu Jun 12, 2014 7:43 pm
"RoMan Mandziejewicz" napisał w wiadomości grup
dyskusyjnych:264888771.20140612174739@pik-net.pl.invalid...
Quote:
Że masz zastrzeżenia co do tego, że indeksowanie bazy
"Bazy"? Zbiór danych;
7x100000
jest szybsze od jej fizycznego posortowania?
To jest zależne od rozmiaru pojedyńcxzego klocka.
I umiejętności programisty... I użytych narzędzi. Bo sortowanie
takiej
tablicy w pamięci banalne nie jest.
RoManie, czego Ty uzywasz ? To juz nie czasy ZX, XT czy AT - nie wiemy
czego 7,
ale jak 100 tys rekordow zmiesci sie w 4GB, to banalne jest, zwykly
qsort.
A jak ktos ma drozszy komputer, procesor i kompilalator z serii x64,
to i 4GB mu niegrozne :-)
Quote:
Pytacz chciał to robić w QBasicu... Ja, mając takie narzędzia jak
mam,
niemal z zamkniętymi oczami zassałbym dane do bazy (bo jakoś one są
zapisane, nieprawdaż?) i za chwilę byłyby posortowane „z palca” -
komendami xBase, nawet bez pisania programu.
Zalezy co dalej z tymi danymi - jak np chce ladnie na dysku zapisane
.... glowice moze urwac przy kopiowaniu :-)
Quote:
Zresztą, nie ma co wierzyć, każdy może sam sprawdzić.
Różnie bywa, zależy od skali.
Excel chyba potrafi
A Matlab, nawiazujac do niedawnej dyskusji ?
J.
RoMan Mandziejewicz
Guest
Thu Jun 12, 2014 8:37 pm
Hello bartekltg,
Thursday, June 12, 2014, 7:39:30 PM, you wrote:
[...]
Quote:
Pytacz chciał to robić w QBasicu... Ja, mając takie narzędzia jak mam,
niemal z zamkniętymi oczami zassałbym dane do bazy (bo jakoś one są
zapisane, nieprawdaż?) i za chwilę byłyby posortowane „z palca” -
komendami xBase, nawet bez pisania programu.
Czyli jednak moja uwaga 'a, no chyba, ze w Qbasicu' była słuszna.
W czymkolwiek innym, gdzie nie masz ograniczeń co do wielkości
tablicy zwykłe sortowanie będzie szybsze. Choćby o komunikacje.
Ewentualnie program musiałbym napisać do samego zaimportowania danych.
I machać taką garstką danych tam i z powrotem, miedzy 10 programami,
wyciągać kombajn jak baza danych... Autor wyraźnie chce przetwarzać
te dane dalej.
W QBasicu? To lepiej je przetwarzać w FoxPro :P
Quote:
Bazy danych i ich zastosowania to szczególny dział programowania.
I poza nim cały czas sortuje się bezpośrednio dane gdy jest to
szybsze, bo nierzadko jest to szybsze.
Zresztą, nie ma co wierzyć, każdy może sam sprawdzić.
Różnie bywa, zależy od skali.
Skala była podana. <1M elementów.
Jeśli byłoby ich na TBajty, rzeczywiście baza danych byłaby
wartym rozważenie rozwiązaniem.
Oj tam. Warunków było trochę więcej - dochodzi jeszcze programista i
dostępne narzędzia.
Quote:
Sortowanie z użyciem dysku nie jest bardzo trudne, ale napisanie już
będzie czasochłonne (jest fajny algorytm z dwoma przebiegami zapisu
i odczytu, obecnie chyba najszybszy do takich zdań przy niazbyt
wielkich danych (TB) ).
Ale my nie o tym... Jak będę miał potrzebę przewalania wielkiej ilości
danych w sposób szybki, to nawet się nie będę zastanawiał, tylko
dziecko własne poproszę o pomoc. On się na tym lepiej zna chyba od nas
tu wszystkich :)
Ja już od 7 lat nie programuję - 20 lat w zawodzie wystarczy :P
--
Best regards,
RoMan
Nowa strona:
http://www.elektronika.squadack.com (w budowie!)
RoMan Mandziejewicz
Guest
Thu Jun 12, 2014 9:15 pm
Hello J.F.,
Thursday, June 12, 2014, 9:43:52 PM, you wrote:
Quote:
Że masz zastrzeżenia co do tego, że indeksowanie bazy
"Bazy"? Zbiór danych;
7x100000
jest szybsze od jej fizycznego posortowania?
To jest zależne od rozmiaru pojedyńcxzego klocka.
I umiejętności programisty... I użytych narzędzi. Bo sortowanie
takiej tablicy w pamięci banalne nie jest.
RoManie, czego Ty uzywasz ? To juz nie czasy ZX, XT czy AT - nie
wiemy czego 7, ale jak 100 tys rekordow zmiesci sie w 4GB, to
banalne jest, zwykly qsort. A jak ktos ma drozszy komputer, procesor
i kompilalator z serii x64, to i 4GB mu niegrozne
Ale ja się nie przejmuję tym, gdzie fizycznie te dane będą obrabiane
:)
Quote:
Pytacz chciał to robić w QBasicu... Ja, mając takie narzędzia jak
mam, niemal z zamkniętymi oczami zassałbym dane do bazy (bo jakoś
one są zapisane, nieprawdaż?) i za chwilę byłyby posortowane „z
palca” - komendami xBase, nawet bez pisania programu.
Zalezy co dalej z tymi danymi - jak np chce ladnie na dysku zapisane
... glowice moze urwac przy kopiowaniu
Bez żartów - to się nawet za starych czasów nie robiło. A teraz mam
SSD :P
Quote:
Zresztą, nie ma co wierzyć, każdy może sam sprawdzić.
Różnie bywa, zależy od skali.
Excel chyba potrafi
100000 wierszy? Myślę, że się udławi :(
Quote:
A Matlab, nawiazujac do niedawnej dyskusji ?
Nie używam. Chyba za stary jestem, żeby się jeszcze go nauczyć.
--
Best regards,
RoMan
Nowa strona:
http://www.elektronika.squadack.com (w budowie!)
J.F.
Guest
Thu Jun 12, 2014 9:26 pm
Użytkownik "RoMan Mandziejewicz" napisał w wiadomości
Hello J.F.,
Quote:
Pytacz chciał to robić w QBasicu... Ja, mając takie narzędzia jak
mam, niemal z zamkniętymi oczami zassałbym dane do bazy (bo jakoś
one są zapisane, nieprawdaż?) i za chwilę byłyby posortowane „z
palca” - komendami xBase, nawet bez pisania programu.
Zalezy co dalej z tymi danymi - jak np chce ladnie na dysku
zapisane
... glowice moze urwac przy kopiowaniu :-)
Bez żartów - to się nawet za starych czasów nie robiło. A teraz mam
SSD
Nie mam zaufania do SSD :-)
Quote:
Zresztą, nie ma co wierzyć, każdy może sam sprawdzić.
Różnie bywa, zależy od skali.
Excel chyba potrafi
100000 wierszy? Myślę, że się udławi
sekunde mu to zajmuje :-)
Quote:
A Matlab, nawiazujac do niedawnej dyskusji ?
Nie używam. Chyba za stary jestem, żeby się jeszcze go nauczyć.
Ale FFT w Foxpro nie policzysz :-P
J.
RoMan Mandziejewicz
Guest
Thu Jun 12, 2014 9:30 pm
Hello J.F.,
Thursday, June 12, 2014, 11:26:46 PM, you wrote:
[...]
Quote:
A Matlab, nawiazujac do niedawnej dyskusji ?
Nie używam. Chyba za stary jestem, żeby się jeszcze go nauczyć.
Ale FFT w Foxpro nie policzysz
W czasie rzeczywistym - oczywi¶cie, że nie.
--
Best regards,
RoMan
Nowa strona:
http://www.elektronika.squadack.com (w budowie!)
Robert Wańkowski
Guest
Thu Jun 12, 2014 10:10 pm
"bartekltg"
Quote:
Przyda się z pewno¶ci±. Dziękuję.
Pozostaje kwestia wydajno¶ci. Najpierw muszę zaimportować dane,
uporz±dkować, przeliczyć (fukcje trygonometryczne) i przekonwertować na inny
format.
Robert
Goto page Previous 1, 2, 3 Next