Aktywne Wpisy

Niezalezny_kandydat +128
#film filmy z lat 80 i 90 są lepsze niż te robione obecnie. Kto też tak uważa?

spinor +232
Treść przeznaczona dla osób powyżej 18 roku życia...
Skopiuj link
Skopiuj link

Wykop.pl
Przedstawiam przykładowe podejście do rozwiązania problemu obliczania wymiarów opon samochodowych, jak średnica felgi, wysokość profilu opony, całkowita średnica opony oraz jej obwód.
Na wstępie przedstawiłem zasady obliczania oraz interpretacji poszczególnych wartości, natomiast kolejno przedstawiłem i omówiłem źródło przygotowanego programu.
Pragnę również zaznaczyć w tym miejscu, że nie jestem ani zawodowym ani profesjonalnym programistą. Wykorzystuję programowanie do rozwiązywania swoich problemów natury inżynierskiej lub okołoinżynierskiej w pojawiających się schematach, zaś pokazywane przeze mnie rozwiązania mają jedynie służyć jako wskazanie przykładowej drogi do realizacji wybranego problemu dla osób, które nie są biegłe w programowaniu, stąd też proszę o wyrozumiałość osób zaawansowanych w programowaniu, a wszelkie ewentualne wskazówki dotyczące moich rozwiązań będę starał się omówić w kolejnych odcinkach.
Zapraszam: Jak obliczyć rozmiar opon? Program w języku C oraz omówienie biblioteki ctype.h
A już w kolejnym odcinku: przepis na uniwersalne koło jako koncepcyjne podejście do modelowania 3D.
#inzynierprogramista #jezykc #programista15k #programowanie #naukaprogramowania #motoryzacja
Dla jednego strata czasu, dla innego cenna wiedza. Dużo więcej wyniesie z klepania w C niż gdyby wziął Pythona i napisał serwer w jednej linijce. Tym bardziej, że kolega chce się zająć mikrokontrolerami. Zresztą co za problem przesiąść się z C na coś wysokopoziomowego w zależności od potrzeb?
A i tak taki kod jest podatny na multum błędów, których autor może zupełnie nie być świadomy. W pełni zgadzam się z @Zelber - jak nie piszesz na mikro albo OSa, to C w takim
@Zelber:
Cieszę się, że dyskusja się rozwija, dziękuję za zrozumienie ze strony @zwei, i chciałbym, żeby kolega @Zelber jednak troszeczkę spojrzał na przedstawiony problem w inny sposób.
1) Standardowo zajmuję się pracą związaną z technologią oraz konstruowaniem, przeliczaniem itd. Niekiedy w zależności od złożoności elementu mechanicznego są to czynności żmudne i nie zawsze znajdzie się recepta na zrobienie tego w sposób automatyczny. Dlatego z
Zgadzam się z tym, że zarówno w Pythonie, Matlabie, Javie itd... zostałoby to wykonane w pewnym krótszym odcinku czasu. Zgadza się, że istnieją biblioteki czy rozszerzenia wspomagające i przyspieszające dodatkowo prace.
Jednakże jest wg mnie trochę innej maści problem.
Kod jest słabej jakości ponieważ postanowiłem poeksperymentować z funkcjami, strukturami, wskaźnikami i napisać własną interpretację ciągu wydarzeń w programie, czy kod jest słabej jakości ponieważ użyłem funkcji lub instrukcji, która źle działa i powinna wyglądać inaczej, czy kod jest słabej jakości tylko dlatego, że nie użyłem funkcji sscanf?
- nie do końca chyba wiesz, że wskaźnikiem można operować jak tablicą i robisz jakieś dziwne operacje arytmetyczne np: *(oznaczenie + licznik) zamiast po prostu napisać oznaczenie[licznik], dużo czytelniejsze i od razu widać intencję
- formatowanie: aż się prosi, żeby wstawić gdzieniegdzie spację (np. po słowach kluczowych "if", przed nawiasami "{" jeśli są w linii z if'em albo while'em), warto też dla czytelności wstawić pustą linię np. między funkcjami itd..
- polskie
Zacznijmy zatem po kolei:
Owszem, wiem. Opowiadałem o tym np. w odcinku nr 15. I teraz jak można zauważyć,
kod się pisze dla ludzi, nie dla komputerów, więc powinieneś używać konstrukcji, która jest najprostsza do zrozumienia dla człowieka, a nie używać czegoś tylko dlatego, że jest. Arytmetyka pointerów zawsze będzie mniej czytelna niż indeksowanie tablicy
Mam nadzieję, że będzie udawało mi się w miarę możliwości poprawiać jakość prezentowanego kodu, jednakże chciałbym pozostawić sobie furtkę na dalsze eksperymenty w nawiązaniu do sposobu osiągnięcia celu, czyli tak jak to w tym przypadku było - własne funkcje zamiast jedna gotowa wbudowana.
Cieszę się, że udało się rozwinąć dyskusję, dzięki której mogę wynieść pomocne informacje, a