[PASCAL] Cecha z liczby


(kostek135) #1

Potrzebuję wiedzieć, jak zrobić rzecz następującą.

Załóżmy że mam zmienną "wynik".

wynik:=18/4 otrzymałem z jakiegoś działania. Teraz chciałbym wziąć cechę z tej liczby, czyli najbliższą liczbę naturalną niewiększą od tej liczby - w tym przypadku to 4. Oczywiście nie chodzi mi o wyświetlenie wyniku zaokrąglonego tylko, aby można było na tej liczbie wykonywać dalsze obliczenia:

wynik:=18/4

wynik:=4


(Baca48) #2

Witam

To czego szukaj to operator dzielenia całkowitego. Na przykładzie:

8 div 2 = 3

11 div 2 = 5

Używasz tak samo jak operatora +, - itd. Podobny jest do niego operator mod, czyli dzielenie modulo (zwraca resztę z dzielenia) - to tak jako gratis, jakby Ci było potem potrzebne.

Pozdrawiam :slight_smile:

Chyba, że masz już zmienną wynik (np. typu real) i zamierzasz "uciąć" jej część ułamkową, wtedy wystarczy użyć procedury trunc(x).


(Sawyer47) #3

Jeżeli chodzi Ci o (za Wikipedią): Podłoga (część całkowita, cecha, entier) to odpowiednia funkcja zazwyczaj nazywa się floor. Pascala nie znam więc więcej powiedzieć nie mogę.


(kostek135) #4

Coś robię źle, bo mam

wynik1 to wynik z innego działania (zmienna), jak to zapisuje:

wynik2:=(wynik1 div 3600);

dostaje: invalid operands to binary 'div'


(Chablak) #5

jakiego typu masz zmienną wynik? powinna być to liczba całkowita czyli np zmienna wynik nie może być typu real.


(kostek135) #6

No właśnie chce wziąć cechę z liczby real. Jak to zrobić? I ten trunc(x) też nie działa tak jakbym chciał. Tego można użyć tylko przy wypisywaniu np. w writeln. Ja chcę liczbę zaokrąglić (w dół), a potem jeszcze na niej działać.


(somekind) #7

O takie coś chodzi?

Znalazłem oczywiście tutaj: http://4programmers.net/Turbo_Pascal/Math,_czyli_matematyka_studenta