Quentin1 utworzono 30 października 2007 utworzono 30 października 2007 Napisałem taki oto kod programu w IDE: W KŚ Ekspert pisze, żeby odwołać się do tablicy należy wpisać jej nazwę (np. pookyfan) i w nawiasach podać indeks elementu do którego chcemy się odwołać. Cóż, zrobiłem tak i gdy po skompilowaniu uruchomię program nic się nie dzieje... Czy ktoś mógłby mi jaśniej wytłumaczyć do czego służą te tablice? Aha - i co to są te tablice wielowymiarowe? Z góry, dzięki z pomoc
marcinz17 komentarz 30 października 2007 komentarz 30 października 2007 Napisałem taki oto kod programu w IDE: W KŚ Ekspert pisze, żeby odwołać się do tablicy należy wpisać jej nazwę (np. pookyfan) i w nawiasach podać indeks elementu do którego chcemy się odwołać. Cóż, zrobiłem tak i gdy po skompilowaniu uruchomię program nic się nie dzieje... Czy ktoś mógłby mi jaśniej wytłumaczyć do czego służą te tablice? Aha - i co to są te tablice wielowymiarowe? Z góry, dzięki z pomoc Żeby coś Ci wyświetliło musisz najpierw coś do tej tablicy wprowadzić np tab[1]:=4; i w tedy writeln(tab[1]); Tablice wielowymiarowe mogą służyć na przykład do działań na macierzach A tablice służą do przechowywania większych ilości danych, rekordów ogólnie ułatwiają życie:)
Gość komentarz 30 października 2007 komentarz 30 października 2007 przed end. napisz readln; ! readln; end.
Quentin1 komentarz 30 października 2007 Autor komentarz 30 października 2007 mistrzu, to pobiera dane od usera podobno. Jak to dam to będzie czekało na coś (xD) i program się nie zamknie po wykonaniu czynności - mam rację ?
grucha komentarz 31 października 2007 komentarz 31 października 2007 1. Ten program nie pobiera danych od użytkownika, ani sam program nie wypełnia jakoś tej tablicy danymi. 2. Twój program nie wyświetli żadnej wartości tablicy, ponieważ odwołanie do tablicy umieściłeś w apostrofach. Możesz napisać sobie takie coś: Program Tablice;Uses CRT;vartab:array [0..100] of integer;i:integer;begin Randomize; for i:=0 to 100 do begin tab[i]:=Random(1000); end; for i:=100 downto 0 do begin WriteLn('Tablica o indeksie ',i,' :',tab[i]); end;Readln;end.
luq komentarz 31 października 2007 komentarz 31 października 2007 mistrzu, to pobiera dane od usera podobno. Jak to dam to będzie czekało na coś (xD) i program się nie zamknie po wykonaniu czynności - mam rację ? Na końcu każdego programu daje się readln; po to aby wyłączyć program dopiero po naciśnięciu jakiegoś klawisza. Bez tego program ci tylko mrugnie i sie wyłączy, nie zobaczysz jego wyniku. Pyzatym jak już napisałeś pobiera dane od użytkownika, oczywiście gy jest zapisany w ten sposób readln(a); .
Quentin1 komentarz 31 października 2007 Autor komentarz 31 października 2007 Hmm, a mógłbym na przykład dać: var pookyfan : array[1..100] of String ? Chyba tak, ale czym by się to różniło od Integera ?
luq komentarz 31 października 2007 komentarz 31 października 2007 Hmm, a mógłbym na przykład dać:var pookyfan : array[1..100] of String ? Chyba tak, ale czym by się to różniło od Integera ? String służy do znaków (tekstu), natomiast Integer do liczb. W przykładzie gruch`y program sam losuje liczby i wpisuje je do tablicy, następnie je wypisuje.Chodź jeśli napisałbyś zamiast Integer String to chyba by zadziałało (nie sprawdzałem), wtedy liczby były by interpretowane jak znaki. Spróbuj.
Quentin1 komentarz 31 października 2007 Autor komentarz 31 października 2007 luq - działa Czyli tak samo jak w zmiennych: Integer, Real, Char, Word i Byte - liczby, a String do znaków ?
luq komentarz 31 października 2007 komentarz 31 października 2007 Dokładniej Integer - liczby Real - liczby (większy zakres) Byte - liczby (mniejszy zakres, od 0 do 255) Char - znak, litera String - ciąg znaków Word - krótki ciąg (slowo) jeszcze taką podstawową jest boolean - który przyjmuje wartość true lub false. po prostu w: var pookyfan : array[1..100] of String String oznacza jakiego typy zmienne będą przechowywane w tablicy.
grucha komentarz 1 listopada 2007 komentarz 1 listopada 2007 Na końcu każdego programu daje się readln; po to aby wyłączyć program dopiero po naciśnięciu jakiegoś klawisza. Dokładnie to po naciśnięciu klawisza Enter. Aby program kończył działanie po naciśnięciu dowolnego klawisza, trzeba zrobić coś takiego: Program prg;Uses crt;var {część deklaracyjna}begin {instrukcje} repeat until KeyPressed;end. Czyli tak samo jak w zmiennych: Integer, Real, Char, Word i Byte - liczby, a String do znaków ? Tablice to nic innego jak zmienne. Jeżeli potrzebujesz więcej zmiennych tego samego typu, to możesz stosować tablice. Na tablicach możesz znacznie łatwiej wykonywać operacje na zbiorze danych, tak, że mają one bardzo duże zastosowanie, i lepiej je dobrze poznać DokładniejInteger - liczby Real - liczby (większy zakres) No sorry lug, ale za bardzo dokładniej to nie było Warto dodać: Integer- tylko liczby całkowite Real- liczby rzeczywiste (zmiennoprzecinkowe) np. 2.1, 2152.1251501, 1.8213333333333E+0003
luq komentarz 1 listopada 2007 komentarz 1 listopada 2007 No sorry lug, ale za bardzo dokładniej to nie było luq . Dałem tylko taki ogólny zarys. PS. Dlaczego w każdym programie deklarujesz moduł CRT, nawet gdy z niego nie korzystasz w tym programie?? Bo chyba KeyPressed nie potrzebuje crt, tak samo jak Randomize. Chyba że się mylę.
onna komentarz 1 listopada 2007 komentarz 1 listopada 2007 Dlaczego w każdym programie deklarujesz moduł CRT, nawet gdy z niego nie korzystasz w tym programie?? Ja również zawsze deklaruje uses crt gdyż nie znam programu w którym nie był by on potrzebny (mowa o tych zaawansowanych programach).
grucha komentarz 1 listopada 2007 komentarz 1 listopada 2007 Bo chyba KeyPressed nie potrzebuje crt, tak samo jak Randomize Randomize akurat nie potrzebuje crt, ale KeyPressed potrzebuje. Chociaż w 100% pewny nie mogę być, bo w czystym pascalu nie programowałem już jakieś 2 lata, więc trochę rzeczy już mi wyleciało z głowy. Teraz jedynie delphi i najwyżej aplikacje konsolowe :] luq biggrin.gif. Sorry za pomyłkę, już późno było
luq komentarz 1 listopada 2007 komentarz 1 listopada 2007 Ja również zawsze deklaruje uses crt gdyż nie znam programu w którym nie był by on potrzebny (mowa o tych zaawansowanych programach). Hmm. A co można wpisać poza: clrscr (nie wiem czy to dobrze napisałem, ale chyba wiadomo o co chodzi) sound goto(x,y) jeszcze zmiana kolorków tekstu i background`a a i jeszcze delay
Quentin1 komentarz 1 listopada 2007 Autor komentarz 1 listopada 2007 luq, chodzi Ci o to co jeszcze obsługuje Uses CRT; ?
luq komentarz 1 listopada 2007 komentarz 1 listopada 2007 luq, chodzi Ci o to co jeszcze obsługuje Uses CRT; ? Dokładnie.
Quentin1 komentarz 1 listopada 2007 Autor komentarz 1 listopada 2007 luq - dużo innych rzeczy, np. ClrEol - Czyszczenie bieżącej linii, NoSound - Przerywa wydawanie dźwięku, WhereX - Zwraca współrzędną x położenia kursora, WhereY - Zwraca współrzędną y położenia kursora. To by było chyba tyle
luq komentarz 1 listopada 2007 komentarz 1 listopada 2007 No wiesz ale to są takie funkcje co bardziej poprawiające wygląd programu niż jakieś jego możliwości, więc pytam do czego w zaawansowanych programach deklarować crt. (Jedynie clrscr wydaje mi się przydatny, bo wątpię że ktoś używa WhereX) Chyba że się ma nawyk dbania o wygląd
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.