Według gazetki (KŚ Ekspert), to są najpopularniejsze typy danych dla zmiennych:
Byte , wartość od 0 do 255, zajmuje Bajtów 1
Word , wartość od 0 do 65535, zajmuje Bajtów 2
Integer , wartość od -2(do 31 potęgi) do 2(do 31 potęgi)-1, zajmuje Bajtów 4
Real , wartość od 1,8*10 (do 308 potęgi) do 1,8*10(do 308 potęgi), zajmuje Bajtów 8
String[X], ciąg maksymalnie X znaków, zajmuje Bajtów X
Kazali napisać taki o to kod programu:
I tu moje pytania:
Dlaczego do zmiennych x,y został przypisany typ danych Integer skoro żadna z liczb do nich przypisana nie przekracza nawet 255 więc równie dobrze mógłby zostać dobrany typ Byte (zaoszczędziło by to 3 Bajty pamięci) lub typ Word ?
Wartości w typie Byte nie mogą przekraczać 255, odnosi się to do wszystkich (tzn. wszystkie wartości nie mogą przekraczać razem 255), czy do każdej kolejno wartości (tzn. jedna wartość nie może przekroczyć 255) ?
Czyli w tym przypadku co powinienem napisać w nawiasach kwadratowych po String ?
Dlaczego?(bo tak zaprojektował autor). Mogłoby być tak jak ty proponujesz, ale przy zmianie wartości tych zmiennych należałoby ciągle pamiętać o zmianie deklarcji zmiennych. Dodatkowo w tym przypadku zmienne te określają współrzędne ekranu i dla nich jest wymagany taki typ.
Przy deklaracji zmiennych bierzemy pod uwagę, że są to właśnie zmienne i w jakich granicach będą się zmieniać w naszym programie oraz jakiego będą typu. Czasmi określony typ zmiennych zależy od wymagań samego kompilatora.
Bo prototyp GotoXY wymaga Integera. Wymaga Integera, bo potencjalnie może istnieć tryb ekranowy, który wymaga współrzędnych większych od 255.
Poczytaj co to znaczy bajt i dlaczego zmienne mają określony rozmiar. Co najważniejsze - nie ucz się z KŚ, bo nawet w przytoczonych przez Ciebie opisach zmiennych są błędy.
A ile znaków ma najdłuższy, przypisany do zmiennej napis ciąg? Ile znaków ma “Ekspert” a ile “Kurs Pascala”?
mi się zdaje, że pytanie dotyczy tej minus jedynki
Quentin integer zapisywany jest na 32bitach, jeden bit używany na znak liczby, stąd 2^31, jedynka która jest odejmowana od zakresu używana jest dla zera