[Pascal]Tablica z dziwnymi elementami- o co w niej chodzi?

Jakiś czas temu natknąłem sie na coś w stylu:

tablica:array[1..k] of ...

Już mnie mózg z myślenia rozbolał, co to może robić? przecież trzeba albo jasno określić rozmiar tablicy np 1…50, albo ewentualnie (jeśli sie tak da) a…k <-tu będzie 11 zmiennych. Ktoś sobie wstawił k by później coś tam dopisać czy taki zapis jest prawidłowy? Jeśli prawdiłowy to co on robi i do czego służy?

Owszem prawidłowy o ile wyżej napisano:

const k=25;

lub

const K:Integer=30;

zamiast integer może być również shortint, smallint, longint, byte, word, cardinal

A gdy nie ma określonego w const typu to jaki domyślnie jest przyjmowany?

Domyślnie żaden, to tak jak #define w C/C++

const K:Integer=30;

W jakim celu określa sie typ danych dla stałych (nie tylko w tym przypadku ale też ogólnie)?

Bo w paskalu tak naprawdę to nie jest stała. Można ją w każdej chwili zmienić. Oprócz tego ma swój adres w pamięci więc można ją np zapisać bezpośrednio do pliku.

jak już wcześniej napisano - ‘nie trzeba twardo określać’ (powiedzmy) ilości elementów tablicy. W tym celu stosujemy stałą (const), którą w każdej chwili można zmienić.

Nie wie co miałeś na myśli pisząc ten post, bo ani jedno zdanie w nim nie ma sensu. Ilość elementów tablicy ma być określona na czas kompilacji (no chyba że zastosujemy tablice dynamiczną z paskala obiektowego np var t:array of double;). Owszem wartość “stałej” która ma przypisany typ można zmienić ale tylko jej pierwotna wartość znana podczas kompilacji decyduje o rozmiarze tablicy zadeklarowanej za pomocą tej stałej.

Nie moją winą jest, że nie potrafiłeś dobrze zinterpretować mojego tekstu. Napisałem jak najprościej o tym, że ilość elementów w tablicy moża definiować przy użyciu stałej, którą w rzeczywistości możemy zmienić w kodzie źródłowym, jeszcze przed uruchomieniem programu (co umożliwia nam pewną ‘elastyczność’).

pozdrawiam