Strona 9 z 12
Re: [Pascal] Losowanie pytań
: 28 lip 2012, 16:14
autor: lolasher
Kod: Zaznacz cały
function suma(a, b : integer) : integer;
begin
procedure pisz(a : integer);
begin
writeln(a);
end;
suma := a+b;
pisz(suma);
end;
Coś mnie trolujesz to nie działa. Zawsze mi się zdawało, że w pascalu nie ma czegoś takiego jak funkcje zagnieżdżone. Pokaż mi dokładnie gdzie masz napisane, że tak się da i przykład działającego w ten sposób kodu.
Re: [Pascal] Losowanie pytań
: 28 lip 2012, 16:40
autor: TheMediator95
Nie wiem gdzie tak jest napisane (w mojej głowie
), ale tutaj masz przykład działającego programu w którym funkcja zawiera w sobie procedurę, napisanego przezemnie na poczekaniu
Kod: Zaznacz cały
Program Funkcja;
Uses crt;
Var a, b : integer;
Function suma(a, b : integer) : integer;
Procedure Kolor;
Begin
Textcolor (Green);
Textbackground (Yellow);
End;
Begin
suma := a+b;
Kolor;
Writeln(suma);
End;
Begin
Writeln ('Podaj wartość a: ');
Readln (a);
Writeln ('Podaj wartość b: ');
Readln (b);
suma(a,b);
End.
Re: [Pascal] Losowanie pytań
: 28 lip 2012, 16:47
autor: lolasher
Miiiiiiii :3 how amazing. Ale to wszystko nie tłumaczy, dlaczego trzeba pisać najpierw procedury, a potem funkcje, czy odwrotnie i jaki to ma wpływ na dodawanie wartości do tablicy zaraz po begin zamiast w case. I sprawdzę sobie czy da się napisać funkcję w procedurze, bo w sumie nie wiem, kto mi broni tak zrobić w dalszym ciągu.
Re: [Pascal] Losowanie pytań
: 28 lip 2012, 16:52
autor: TheMediator95
Dlatego piszę się najpierw procedury bo jak później będziesz chciał użyć jakiejś procedury w funkcji to będziesz mógł jej użyć ponieważ Funkcja jest zdefiniowana po procedurze
EDIT:
Już wiem skąd wiem że Funkcje mogą zawierać procedury , ale zapomniałem że na odwrót też może być
Na szczęście piszę w zeszycie na lekcji i mam notatki:
Re: [Pascal] Losowanie pytań
: 28 lip 2012, 17:12
autor: lolasher
Ale wywołać funkcje w procedurze i procedurę w funkcji możesz normalnie więc co to za różnica co piszesz wcześniej. Aby nie użyć tworu, który został zadeklarowany po jego użyciu, jedynym wyjątkiem w pascalu, który na to pozwala jest rekurencja.
Re: [Pascal] Losowanie pytań
: 28 lip 2012, 17:14
autor: TheMediator95
Tak jak poprawiłem post wyżej zapominałem o tym
A co to jest rekurencja to nie wiem.
I tak lepiej mieć pierwsze Procedury bo wtedy są one globalne i jak chce użyć jej do innej Funkcji to mogę, a nie będę się musiał bawić w procedury lokalne (w funkcji) tysiąc razy.
Re: [Pascal] Losowanie pytań
: 28 lip 2012, 17:35
autor: lolasher
Yyy to ciebie uczą gdzieś programowania? Po twoich dziwnych problemach to tego jakoś nie widać ^^
Re: [Pascal] Losowanie pytań
: 28 lip 2012, 17:37
autor: TheMediator95
Hehe... Dziwnych problemach, nie wiem czy to można nazwać nauką, ale tak chodzę do Technikum Informatycznego
, a to jest mój największy projekt jaki maiłem do tej pory, a ty ile lat już programujesz?
Re: [Pascal] Losowanie pytań
: 28 lip 2012, 17:39
autor: lolasher
Ja wiem... od piątej podstawówki z przerwami, głównie hobbistycznie, teraz w liceum na informatyce się rozruszałem, bo się przygotowuję do matury w tym roku.
Bo tak składnie trochę niby znasz, ale brak ci jeszcze takiego "iteracyjnego" myślenia, pewnie nabierzesz z czasem.
Re: [Pascal] Losowanie pytań
: 28 lip 2012, 17:48
autor: TheMediator95
Ty od piątej podstawówki - widzisz a ja zacząłem programowanie w pierwszej klasie technikum (teraz idę do drugiej) i Pascal jest moim pierwszym językiem programowania (Chyba że HTML chcesz zaliczyć jako język to Pascal byłby drugim). Kur*wa od teraz będę zakładał nowe tematy bo się offtopic robi.
Re: [Pascal] Losowanie pytań
: 11 sie 2012, 23:35
autor: TheMediator95
OK. Powiem krótko - nie mam zamiaru dalej zmieniać tego programu na masę pętli (Główna przyczyna brak czasu), skończę to co zacząłem bez pętli (Bez pewnych rzeczy które zrobiłbym dzięki pętli). Może kiedyś w odległej przyszłości napiszę ten program od zera i zaimplementuje do niego odpowiednie pętle. Na koniec mam jeszcze tylko jedno pytanie, czy istnieje jakaś procedura predefiniowana z jakiejś biblioteki która przywraca wartości kolorów zmienionych za pomocą procedur "texbackground" i "textcolor"?
P.S. Wszystkim wypowiadającym się tutaj jeszcze raz dziękuje.
Re: [Pascal] Losowanie pytań
: 12 sie 2012, 0:47
autor: pc.qwerty
Przywraca - a na jakie? Nie ma czegoś takiego. Chcesz domyślne kolory konsoli - ustaw przed zakończeniem programu.
Re: [Pascal] Losowanie pytań
: 12 sie 2012, 11:30
autor: TheMediator95
Czyli nie ma czegoś takiego - szkoda
Mogę ustawić przed zakończeniem programu ale np. Windows ma kolory czarny\siwy, a Linux Biały\Czarny więc będę musiał robić dwie wersje tego programu.
Re: [Pascal] Losowanie pytań
: 12 sie 2012, 11:46
autor: pc.qwerty
To zrób wykrywanie systemu na podstawie obecności jakiegoś pliku.
Re: [Pascal] Losowanie pytań
: 12 sie 2012, 12:36
autor: TheMediator95
Dobra, już bez kombinacji