Aktywne Wpisy
![szklarskaporeba](https://wykop.pl/cdn/c0834752/b6856239e55ef9f3b0c1834f19ef95a5d054673e433d13e566051045bc986680,q60.jpg)
szklarskaporeba +58
![Kempes](https://wykop.pl/cdn/c3397992/Kempes_UqiucNlj7L,q60.jpg)
Kempes +60
#paris2024 #paryz2024 #olimpiada #polityka #bekazprawakow #bekazkatoli #heheszki #bekazpisu #malarstwo #ciekawostki
SZACH MAT... pseudokatolicy XD hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha
SZACH MAT... pseudokatolicy XD hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha
![Kempes - #paris2024 #paryz2024 #olimpiada #polityka #bekazprawakow #bekazkatoli #hehe...](https://wykop.pl/cdn/c3201142/f40d3ad3baf7d8a1ebc3e5d30e01b605f7198f9644f7e4ef80c16eadbea8381a,w150.jpg?author=Kempes&auth=a18ccfcc389b7acacf666b86a44508d0)
źródło: 132gfddfsgfdsg
Pobierz
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
Jest to błędne założenie. W C tracisz czas na klepanie boilerplate kodu, pisanie funkcji do parsowania stringów, pisanie logiki wczytywania danych z konsoli. W językach "wyższych" nie zajmujesz ww czynnościami, a po prostu rozwiązaniem problemu.
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
W jakimś Pythonie, czy innym matlabie zajmie to 3-5x mniej czasu mniej niż w C. Warto do tego dodać, że do sporej części obliczeń inżynierskich te języki mają już gotowe rozwiązania/biblioteki.
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. Zwykle narzędzia, które przychodzi mi tworzyć prywatnie (niepublikowane) lub w zakresie zawodowym są nieco bardziej skomplikowane do tego by użyć np. nawet Excela, ale nie aż tak skomplikowane by używać zewnętrznych bibliotek. Suma sumarum w efekcie końcowym, czas włożony na napisanie programu nawet w tym języku C zwraca się w momencie dłuższego testowania
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 nazwy zmiennych i funkcji, to jest bardzo zły nawyk programistyczny, na dodatek nazwy funkcji niekoniecznie mówią co rzeczywiście robią,
- nadmierne skomplikowanie, nawet parsując to ręcznie da się to zrobić prościej jakąś prostą maszyną stanów i jeszcze ma się "za darmo" obsługę błędów, a tak mamy spaghetti code ifów i pętli,
- brak
Zacznijmy zatem po kolei:
Owszem, wiem. Opowiadałem o tym np. w odcinku nr 15. I teraz jak można zauważyć, używam zarówno odwołania zalecanego przez Ciebie, tablica[identyfikator] jak i drugiego poprzez operator wyłuskania *(tablica + identyfikator). Skoro coś jest dopuszczalne to dlaczego z tego nie korzystać i nie używać? Kwestia czytelności: być może jest to prawda, że sugerowane przez Ciebie oznaczenie jest bardziej czytelne - z tym się sprzeczał nie będę. Aczkolwiek w momencie czytania kodu czy widzę zapis pierwszy czy drugi - nie sprawia mi to problemu w zrozumieniu kodu. W zasadzie nie dociera to do mnie, że to jest mniej czytelne i bardziej
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