Zaloguj się, aby obserwować  
UthersonL

Programowanie - pytania, problemy, przykłady programów

1812 postów w tym temacie

Dnia 25.11.2007 o 11:58, Volvox napisał:

Moze rzutowanie na integer?


Tzn? Dopiero zaczynam programowanie (a już go nie lubię:/)...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czy robil ktos kiedys programy operujace na liczbach spoza zakresu zwyklcyh zmiennych (tak aby uzywac kilku zmiennych do przechowania jednej dlugiej liczby). Mozecie rzucic jakies porady bo mam takie zadanie do zrobienia i nie bardzo wiem jak sie za nie zabrac ;)


PS. Czy ktos moze polecic jakas na praawde dobra ksiazke poswiacona programowaniu obiektowemu? (najlepiej C++). Myslalem o Symfonii, ale moze jest jeszcze cos ciekawego?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mam pytanie do ''speców'' od (free) Pascala...
Mam na napisać (do szkoły) program który wypisze wszystkie liczby pierwsze złożone z kolejnych cyfr (od 1 do 1mln) czyli np, 23, 4567 itp.
Myślałem o tym, żeby zrobić kilka pętli w tym stylu:

FOR i:=1 TO 8 DO
begin
a:=i+1;
b:=10*i;
c:=a+b;
// np i = 5 to robi sie a=6 i b=50 i liczba -> 56
x:=c-1
FOR j:=2 TO x DO
begin
y:=c mod j // reszta z dzielenia przez wszystko do siebie-1
IF y=0 THEN writeln(c);
end;
end;

a potem następną pętlę która robi a+2 10b+1 100c i dzieli i tak do 456789 (największa jaka może być)

i pytanie: czy to wogle zadziała :P i jaki typ danych dąć bo real do 65500 tylko jest, oraz czy nie da się tego zrobić prościej?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Udzielę paru rad (jako nie-spec od fpc):

-typ danych: nie potrzebujesz real, bo operować będziesz na dużych liczbach całkowitych, a do tego powinien być longint.
-algorytm liczenia reszty z dzielenia: nie ma sensu sprawdzać, czy liczba jest podzielna przez wielokrotność liczby 2, gdy już wiadomo, że nie jest parzysta (to ustalisz na samym początku). Wówczas sprawdzasz jej podzielność w pętli while od 3 do - w najgorszym przypadku - (liczba-1) z krokiem 2. W przypadku dużych liczb oszczędzisz niemało czasu na zbędnych porównaniach.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mój problem dotyczy języka C, otóż mam napisać program który liczę n-ty wyraz ciągu Fibonacciego - tu wszystko ładnie bez problemów. Ale mam umieścić jeszcze na końcu programu czas w jakim została obliczona ta liczba. No i tu jest problem: Jak? Próbowałem robić z clock()/CLOCKS_PER_SEC, ale zwracało 0. Wie ktoś jak to zrobić?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 19.01.2008 o 09:27, T4KEDA napisał:

Mój problem dotyczy języka C, otóż mam napisać program który liczę n-ty wyraz ciągu Fibonacciego
- tu wszystko ładnie bez problemów. Ale mam umieścić jeszcze na końcu programu czas w jakim
została obliczona ta liczba. No i tu jest problem: Jak? Próbowałem robić z clock()/CLOCKS_PER_SEC,
ale zwracało 0. Wie ktoś jak to zrobić?


jest funkcja zwracająca biezący czas w milisekundach, zapisz sobie tą liczbe na wejściu algorytmu a potem na wyjsciu. no i po prostu odejmij dwie liczby no i masz wynik w milisekundach.

funkcja nazywasie GetThickCount(); poszukaj na google na temat tej funkcji. mi sie bardzo przydaje do obliczenia upłynietego czasu.

Mam nadzieje ze pomoże. Pozdro.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dnia 25.01.2008 o 21:31, Spikowski napisał:

funkcja nazywasie GetThickCount(); poszukaj na google na temat tej funkcji. mi sie bardzo przydaje
do obliczenia upłynietego czasu.

Mam nadzieje ze pomoże. Pozdro.


Znalazłem inna metode, time(NULL) lub time (0)
funkcja zwraca czas w sekundach który upłynął od stycznia 1970 (te okolice). Double obsługuje to bez problemu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To teraz pytanie z cyklu "traf w totka"

Ma ktoś może napisany program w Assemblerze porównujący dwie liczby w systemie binarnym ? :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zna ktoś jakiś dobry(darmowy) kompilator C++? Dopiero zaczynam się uczyć i wolę nie używać jakiegoś śmiecia, a potem sobie włosy z głowy wyrywać;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 01.02.2008 o 20:29, Draxvoxdor napisał:

Zna ktoś jakiś dobry(darmowy) kompilator C++? Dopiero zaczynam się uczyć i wolę nie używać
jakiegoś śmiecia, a potem sobie włosy z głowy wyrywać;)


Skoro dopiero zaczynasz się uczyć to na początku większośc programów to będą małe programy wykonywane w konsoli. Więc na początek dobrym programem jest DevC++ jeśli jesteś ambitny to możesz poszukać czy jest coś takiego jak "Visual C++ Express Edition" (od MS). Ja używam NetBeansa 6.0 ale jego przystosowanie jest trochę męczące (za pierwszym razem, jak się nie wie co i jak).

Najlepszym rozwiązaniem będzie DevC++, instalujesz tylko program, piszesz kod, wciskasz jeden przycisk (albo dwa) i gotowe.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mam pytanie do osób, które "siedzą" w programowaniu. Otóż programowanie mnie zaciekawiło i chciałbym zgłębić jego tajniki, ale niezbyt wiem od czego zacząć. Znam podstawowe podstawy Pascala (bardzo podstawowe). A jeśli to ma coś wspólnego, to jeszcze HTML i CSS. Czego naukę byście radzili? Z góry dzięki za odpowiedź.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wszystko zależy od tego, co chcesz programować. Jeżeli chcesz zostać przy Pascalu, to kolejnym krokiem będzie Delphi i/lub Lazarus. Jeśli nie, to coś obiektowego, jak C# lub Java. Natomiast do stron www przyda Ci się JavaScript i PHP. Popularność w tej dziedzinie zdobywa też Ruby on Rails oparte na języku Ruby, w którym można też pisać inne rzeczy. Podaj trochę więcej informacji i napisz, czy znasz angielski w stopniu umożliwiającym czytanie dokumentacji.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Trudno mi ocenić stopień znajomości języka angielskiego, ale myślę, że ewentualnie przy pomocy słownika bym sobie poradził z czytaniem. Ze stronami na razie dam sobie spokój. Chciałbym się na początku uczyć czegoś, co by pozwoliło na pisanie prostych programów np. liczących, albo coś takiego. Z tego co wiem, to owy Pascal coś takiego umożliwia. A o co chodzi z tym "czymś obiektowym"? Co prawda i Java i C# obiły mi się o uszy, ale niezbyt wiem, co umożliwiają.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

> Trudno mi ocenić stopień znajomości języka angielskiego, ale myślę, że ewentualnie przy
> pomocy słownika bym sobie poradził z czytaniem.
Jeśli często byś musiał sięgać po słownik, to byłby to zniechęcający bodziec. A pytałem dlatego, że najwięcej materiałów jest właśnie w języku angielskim.
> Chciałbym się na początku uczyć czegoś, co by pozwoliło na pisanie prostych programów
> np. liczących, albo coś takiego. Z tego co wiem, to owy Pascal coś takiego umożliwia.
Oczywiście, jednak nie jest językiem przyszłościowym. Zdarzają się jeszcze oferty pracy dla znających Delphi, jednak preferowane są inne języki, jeśli z programowaniem wiążesz swoją przyszłość.
> A o co chodzi z tym "czymś obiektowym"? Co prawda i Java i C# obiły mi się o uszy, ale
> niezbyt wiem, co umożliwiają.
http://helionica.pl/index.php/Programowanie_obiektowe

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Widzę, że niezły tu zastój.

No cóż, trochę sobie odpuściłem wtedy programowanie, ale teraz znowu się troszkę bawię w Pascalu. Napisałem program liczący długość przeciwprostokątnej na podstawie długości przyprostokątnych w trójkącie prostokątnym, ale program podaje wynik w przybliżeniu, a znacznie bardziej satysfakcjonowałoby mnie, gdyby zamiast dziwnych liczb program podawał np. 5 pierwiastków z 3. I tu rodzi się pytanie. Czy jest taka możliwość?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie znam żadnego języka (funkcji), która w jakimkolwiek programie konsolowym pozwoliła by na coś takiego. Możesz jedynie użyć innego typu danych (zamiast integer - float/real - nie pamiętam jaki typ był dla rzeczywistych w Pascalu). Wtedy nie będziesz miał zaokrąglonych do całości, tylko ileś tam liczb po przecinku.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 10.03.2008 o 22:08, ..::leŚniak::.. napisał:

Czy jest taka możliwość?


Raczej nie. Trzeba by to bylo ''recznie'' oprogramowac.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki za odpowiedzi. Rozwiązałem ten problem pisząc w wyniku, że przeciwprostokątna ma długość równą pierwiastkowi jakiejś tam liczby i dopisałem, żeby nie zapomnieć o wyłączeniu czegoś przed znak pierwiastka. To rozwiązanie ma taką zaletę, że nawet leser będzie musiał coś policzyć ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować