Forum strony www.multipasko.pl [Regulamin]


Dodaj wpis w tym temacie
Spis tematów
Login:

Hasło:
Strona: 1 2 ... 30 31
Wyślij prywatną wiadomość do admina
Przewiń wpisy ↓

Turbo Pascal dla zielonych


2022-07-04 (11:47)

status MultiTest
Data rejestracji: 2020-08-05
Ilość postów: 2619

16235
wpis nr 1 425 301

"z tego co wyczytałem jest to patologia Delphi..."

Słyszy, że dzwonią, ale nie wie, w którym kościele,
Czy to znane przysłowie nie oddaje najlepiej narastającej patologii różnych forum ?

function dodawanie (a,b:integer):integer;
begin
result:=a+b
end

w pascalu i wcześniejszych wersjach delphi ale też nadal stosowane
function dodawanie (a,b:integer):integer;
begin
dodawanie:=a+b
end

w main:
wynik:=dodawanie( 1,2);
2022-07-04 (16:49)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 18757

3794
wpis nr 1 425 356

Funkcja wymaga przemeblowania.

2022-07-06 (17:31)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 18757

3794
wpis nr 1 425 621

Porównałem czas wykonania dwóch funkcji CSN.
Obie są dostępne na forum.
Test polegał na nadaniu wartości 1 w tablicy 7/80 – 3176716400 elementów


COMB2CSN(Amadeus) - Czas wykonywania: 00:01:13:739
Adres(Sindbad) - Czas wykonywania: 00:00:57:579

Czy są znane jeszcze inne funkcje?

2022-07-06 (20:03)

status Jacek_K1961
Data rejestracji: 2017-03-29
Ilość postów: 746

15220
wpis nr 1 425 645

Sindbad
Przy jakiej pamięci wchodzi ta tablica? Tak z ciekawości.
Wiem ciekawość to pierwszy stopień ....
... a mógłbyś podać kod CSN dla jakiejś kombinacji z lotka 6 z 49 nie jest ważne jakiej, byle nie 1-szej i ostatniej. Jak taki kod w ogóle wygląda. Też z ciekawości.
Pozdrawiam
2022-07-06 (21:54)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 18757

3794
wpis nr 1 425 660

Siema

Jacek,
Tablica to 3176716400 bajtów ~3 GB

CSN to numer.
W kombinacji 2/4 mamy 6 zakładów.
Każdy zakład ma swój numer.

1. 1,2
2. 1,3
3. 1,4
4. 2,3
5. 2,4
6. 3.4

Np. numer 4 to liczby 2,3

Pozdrawiam

--- wpis edytowano 2022-07-06 21:54 ---

2022-07-06 (22:40)

status Jacek_K1961
Data rejestracji: 2017-03-29
Ilość postów: 746

15220
wpis nr 1 425 672

Sindbad
W VB niestety:
Długość każdego wymiaru tablicy jest ograniczona do maksymalnej wartości Integer typu danych lub Int32.MaxValue (2 ^ 31) – 1. Jednak całkowity rozmiar tablicy jest również ograniczony przez pamięć dostępną w systemie. Jeśli próbujesz zainicjować tablicę, która przekracza ilość dostępnej pamięci, środowisko uruchomieniowe zgłasza błąd OutOfMemoryException.

Liczba całkowita Int32 4 bajty -2,147,483,648 do 2,147,483,647

Wygląda, że w vb 3 miliardy w tablicy nie pójdą.
Pozdrawiam
2022-07-06 (23:18)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 18757

3794
wpis nr 1 425 677

Nie znam się na VB.
2022-07-07 (19:29)

status Lottonauta
Data rejestracji: 2012-09-03
Ilość postów: 1351

13559
wpis nr 1 425 795

2022-07-06 (17:31)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 18683

3794
wpis nr 1 425 621

Porównałem czas wykonania dwóch funkcji CSN.
Obie są dostępne na forum.
Test polegał na nadaniu wartości 1 w tablicy 7/80 – 3176716400 elementów


COMB2CSN(Amadeus) - Czas wykonywania: 00:01:13:739
Adres(Sindbad) - Czas wykonywania: 00:00:57:579

**********************************

Nie mogę znaleźć Adres(Sindbad), czy możesz zamieścić?

2022-07-07 (19:31)

status Lottonauta
Data rejestracji: 2012-09-03
Ilość postów: 1351

13559
wpis nr 1 425 796

Jacek_K1961
Data rejestracji: 2017-03-29
Ilość postów: 440

15220
wpis nr 1 425 672

....

Wygląda, że w vb 3 miliardy w tablicy nie pójdą.


*********************************

Użyj dwóch tablic
2022-07-07 (21:03)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 18757

3794
wpis nr 1 425 807

„Nie mogę znaleźć Adres(Sindbad), czy możesz zamieścić?”

Strona 29 tego tematu.
Program Pokrycie5
2022-07-09 (12:10)

status Lottonauta
Data rejestracji: 2012-09-03
Ilość postów: 1351

13559
wpis nr 1 426 002

@sindbad

> COMB2CSN(Amadeus) - Czas wykonywania: 00:01:13:739
> Adres(Sindbad) - Czas wykonywania: 00:00:57:579

Zrób jeszcze jeden test szybkości dla:
jdoodle.com/ia/t4H
2022-07-09 (14:24)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 18757

3794
wpis nr 1 426 032

Hej

Czas wykonywania: 00:01:05:650

2022-07-09 (15:42)

status Lottonauta
Data rejestracji: 2012-09-03
Ilość postów: 1351

13559
wpis nr 1 426 045

Wg mnie jak przerobisz moją funkcję i Amadeusa na bezargumentowe to osiągniesz lepsze czasy.
2022-07-09 (16:22)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 18757

3794
wpis nr 1 426 052

Nasunąłeś mi dobry pomysł.
Dedykowany CSN jest jak błyskawica.
Ma się rozumieć, że wymaga sprawdzenia.
Czas wykonywania: 00:00:09:93

Index ma czas wykonywania: 00:00:07:74


--- wpis edytowano 2022-07-09 16:24 ---

2022-07-13 (16:51)

status Lottonauta
Data rejestracji: 2012-09-03
Ilość postów: 1351

13559
wpis nr 1 426 645

2022-07-09 (16:22)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 18695

3794
wpis nr 1 426 052

Nasunąłeś mi dobry pomysł.
Dedykowany CSN jest jak błyskawica.
Ma się rozumieć, że wymaga sprawdzenia.
Czas wykonywania: 00:00:09:93

Index ma czas wykonywania: 00:00:07:74

************************************

Napisz co to za pomysł/zamieść kod.


https://www.jdoodle.com/ia/t4H
Zastanawiam się jak kompilator wylicza położenie w pamięci dla polecenia:

pascal_triangle_tab[pool_size, ticket_size];

Pewnie porzez mnożenie, jeżeli tak, to mam pomysł jak to jeszcze przyspieszyć.
Czy potrafisz skompilować do asemblera tą instrukcję? (nie zainstalowałem i nie znam narzędzi Pascala)
2022-07-14 (08:28)

status Lottonauta
Data rejestracji: 2012-09-03
Ilość postów: 1351

13559
wpis nr 1 426 743

.. w internecie można znaleźć wszystkie narzędzia.
https://godbolt.org/z/3dG3jvcaM
2022-07-23 (22:41)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 18757

3794
wpis nr 1 427 795

Napisz co to za pomysł/zamieść kod.

Raczej nie będę obnażał tego dzieła twórczego, co może zmobilizować innych programistów.

Pozdrawiam


| Dodaj wpis w tym temacie | Spis tematów | Wyniki lottoStrona: 1 2 ... 30 31
Wyślij prywatną wiadomość do admina