Witam, naczytałem się o procedurach i funkcjach i nadal nie znam różnicy.
Czego nie może zrobić procedura co może funkcja, proszę o jakiś praktyczny przykład, co jest za różnica, przecież procedura też może wypisywać różne wyniki?
Procedury i funkcje
- klaustrofob
- Użytkownik
- Posty: 1984
- Rejestracja: 11 lis 2007, o 07:29
- Płeć: Mężczyzna
- Lokalizacja: inowrocław
- Podziękował: 1 raz
- Pomógł: 607 razy
Procedury i funkcje
funkcja to procedura, która dodatkowo zwraca pewną wartość. możliwe jest zatem przypisanie
zmienna = funkja(jej parametry), czego w przypadku procedury nie wolno zrobić. poza tym nie ma żadnych różnic.
zmienna = funkja(jej parametry), czego w przypadku procedury nie wolno zrobić. poza tym nie ma żadnych różnic.
- Althorion
- Użytkownik
- Posty: 4541
- Rejestracja: 5 kwie 2009, o 18:54
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 9 razy
- Pomógł: 662 razy
Procedury i funkcje
Nie przywiązuj się do tego podziału. Jest dość sztuczny i w innych językach możesz spotkać się z funkcjami, które nic nie zwracają.
-
- Użytkownik
- Posty: 56
- Rejestracja: 14 lis 2009, o 17:16
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 4 razy
Procedury i funkcje
Teraz takie pytanko, kiedy w procedurze mogę użyć innej procedury? To jest piszę sobie jedną procedurę, a następnie piszę drugą osobną i czy mogę z tej która jest wyżej skorzystać w tej którą właśnie piszę?
np
procedure poprawnosck (k:integer; var n:integer);
begin
instrukcje
end
procedure costam(bla bla:integer)
begin
instrukcje
poprawnosck(k,n)
instrukcje
end
np
procedure poprawnosck (k:integer; var n:integer);
begin
instrukcje
end
procedure costam(bla bla:integer)
begin
instrukcje
poprawnosck(k,n)
instrukcje
end
- Althorion
- Użytkownik
- Posty: 4541
- Rejestracja: 5 kwie 2009, o 18:54
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 9 razy
- Pomógł: 662 razy
Procedury i funkcje
Nie powinno być problemu (no, może będzie trzeba zachować kolejność funkcji, nie pamiętam czy w Pascalu można było zrobić deklarację bez definicji). Możesz nawet użyć procedury wewnątrz niej samej.
-
- Użytkownik
- Posty: 56
- Rejestracja: 14 lis 2009, o 17:16
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 4 razy
Procedury i funkcje
Dziękuję, będę miał jeszcze zapewne dwa pytania. Pierwsze jaka była komenda w wierszu poleceń na zaostrzenie warunków kompilacji. Bo normalnie jest fpc nazwa pliku. A wiem że można zrobić tak by się czepiał wszystkiego dopisuje się jakieś -gcl i coś jeszcze gdzieś.(tak sprawdza mój ćwiczeniowiec programy na zaliczenie). A drugie pytanie będzie jak dojdę do tego fragmentu . Dziękuję wszystkim za pomoc.-- 6 gru 2009, o 16:40 --Jest taka sprawa, BARDZO WAŻNA:
Ponieważ robię program który wypisuje coś do pliku tekstowego i ten jest następnie wczytywany przez ghostscript i tam ma być licznik wykonanych ruchów to jest.
Użytkownik wpisał coś to się robi 1, wpisał znowu no to 2, i teraz jak zrobić tak żeby ta 1 była kasowana i pojawiała się 2 na czystym polu.
W programie użytkownik rysuje łąmaną i ten licznik to ilość odcinków składających się na nią, nie iwem jak do końca to zrobić, najwyżej będę jakoś cheatował.
To wazne bardzo.
Ponieważ robię program który wypisuje coś do pliku tekstowego i ten jest następnie wczytywany przez ghostscript i tam ma być licznik wykonanych ruchów to jest.
Użytkownik wpisał coś to się robi 1, wpisał znowu no to 2, i teraz jak zrobić tak żeby ta 1 była kasowana i pojawiała się 2 na czystym polu.
W programie użytkownik rysuje łąmaną i ten licznik to ilość odcinków składających się na nią, nie iwem jak do końca to zrobić, najwyżej będę jakoś cheatował.
To wazne bardzo.
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
Procedury i funkcje
Opcje fps są np. tutaj:
Co do "ważnej sprawy", to jeśli dobrze zrozumiałem:
Nie da się w pliku "kasować" liczb. Trzeba otworzyć plik, wczytać jego zawartość, zmodyfikować i zapisać jeszcze raz.
Pozdrawiam.
Co do "ważnej sprawy", to jeśli dobrze zrozumiałem:
Nie da się w pliku "kasować" liczb. Trzeba otworzyć plik, wczytać jego zawartość, zmodyfikować i zapisać jeszcze raz.
Pozdrawiam.