-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.213.192.88.238
!not-for-mail
From: Piotr Gałka <p...@c...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: programowanie w C - bardzo ogólne pytanie o filozofię. Arduino w roli
programatora pralki
Date: Tue, 31 Oct 2017 11:09:23 +0100
Organization: news.chmurka.net
Message-ID: <ot9i4h$odg$1$PiotrGalka@news.chmurka.net>
References: <osllnb$psp$1@dont-email.me> <osllnb$psp$1@dont-email.me>
<a...@n...v.pl>
<59f73750$0$654$65785112@news.neostrada.pl>
NNTP-Posting-Host: 213.192.88.238
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 31 Oct 2017 10:09:21 +0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="PiotrGalka";
posting-host="213.192.88.238"; logging-data="25008";
mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101
Thunderbird/52.4.0
Content-Language: pl
In-Reply-To: <59f73750$0$654$65785112@news.neostrada.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:725452
[ ukryj nagłówki ]W dniu 2017-10-30 o 15:29, ToMasz pisze:
>
> Jak dlamnie w c++ mogę napisać program, w krórym zawsze, bez wyjątku,
> komputer musi "przerobić" wszystko od a do z, nawet jeśli połowa lub
> więcej nie będzie wykorzystywana. w części niewykorzystywanej będzie if
> cośtam - nierób nic.
> W zasadzie o to pytałem. czy to jest dobry sposób pisania programu w C+?
> (dialekt arduino) Na pierwszy rzut oka to marnortrastwo pracy procesora,
> bo jak właśnie tłumaczę, jeśli w basicu napiszę program ma tylko płukać,
> będzie startował od 10 do 100, gdzie jest program główny i skakał do
> 900-999 gdzie jest płukanie. to samo w c++ będzie U MNIE wymagało
> przejścia - pranie? nie nie pierz, ale sprawdz jak się pierze. płukanie?
> Nie nie płukaj, ale już wiesz jak to należało zrbić? przeczytałeś
> procesorku? no to się śpiesz, bo tam gdzieś na koncu jest płukanie.
>
> O istotę mi chodzi o sens
>
Naszło mnie aby to przeczytać jeszcze raz i jeszcze raz itd...
Czytając:
"pranie? nie nie pierz, ale sprawdz jak się pierze. płukanie?
Nie nie płukaj, ale już wiesz jak to należało zrbić? przeczytałeś
procesorku?"
mam wrażenie, że Ty uważasz, że jak jest
if(warunek)
{
zrób jedno coś;
zrób inne coś;
zrób coś na zakończenie;
}
i warunek jest false to procesor będzie studiował znak po znaku to co
jest napisane w {} szukając } zamykającego blok wykonywany warunkowo.
Otóż nic z tych rzeczy - on od razu skoczy za }
Zapominasz, że kod źródłowy został dawno przeanalizowany przez
kompilator i w programie, który widzi procesor jest po prostu skok w
odpowiednie miejsce gdy warunek jest false.
W programie, który widzi procesor, jest cała masa goto. Różnica jest
taka, że o to aby te skoki były w dobre miejsca dba kompilator a nie
programista.
Jeszcze słówko o pomijaniu kawałków programu w przypadku błędów - bo mam
wrażenie, że to też miejsce gdzie chciałbyś mieć goto.
W prostym przypadku, gdy mamy wykonać serię czynności, ale jak któraś
się nie uda to mamy pominąć pozostałe i na końcu wiedzieć, że był błąd
to zakładając, że mamy serię funkcji z których każda zwraca true jak się
jej udało i false jak się nie udało to można to zapisać np. tak:
bool ok=fun1();
if(ok)ok=fun2();
if(ok)ok=fun3();
if(ok)ok=fun4();
lub krócej:
bool ok = fun1() && fun2() && fun3() && fun4();
gdyż operator && (logiczne and) nie sprawdza wartości tego czego nie
musi - jak np. fun2() da false to on już wie, że wynik całego wyrażenia
będzie false i nie ustala wartości fun3() i fun4() czyli ich nie wykonuje.
I w obu przypadkach jak fun2() zwróci false to procesor nie będzie
czytał dalszego kawałka programu tylko ma w programie skok na koniec tej
sekwencji.
P.G.
Następne wpisy z tego wątku
- 31.10.17 18:01 slawek
- 31.10.17 18:15 slawek
- 31.10.17 18:40 slawek
- 31.10.17 20:32 Piotr Gałka
- 31.10.17 22:34 ToMasz
- 01.11.17 03:37 Jacek Radzikowski
- 01.11.17 08:00 slawek
- 01.11.17 08:03 slawek
- 01.11.17 09:04 jacek
- 01.11.17 17:21 Jacek Radzikowski
- 01.11.17 21:06 slawek
- 01.11.17 21:07 slawek
- 01.11.17 21:09 slawek
- 01.11.17 21:46 Jacek Radzikowski
- 01.11.17 23:29 slawek
Najnowsze wątki z tej grupy
- zabawa czatem :)
- Modernizacja instalacji elektrycznej w wielkiej płycie
- Co to za dziwne "białe namioty" co stawiają je w różnych dziwnych miejscach?!?
- RF-Harvester
- jest taki kryzys panie
- Francuska elektrownia atomowa zamknięta. Powodem "nieprzewidywalny" rój meduz
- Lutowanie linek szczotek węglowych w silniku odkurzacza
- Lutowalność połączeń
- mini 400 atari
- Manipulator Satel CA-10-KLED -- CLK, DATA, i... dupa
- Czy cos fi przechodzi przez trafo separujące?
- śrubka masy
- Ciekawostka na dziś lock bity
- [OT] napisy w YT
- Było 83V
Najnowsze wątki
- 2025-08-21 Polityka RP3 nie wolno nazwać idiotą W KAZANIU (2020) czyli nie każdy kto głosował na T. to pedał (2025)
- 2025-08-20 Motodziennik test - NOWOŚĆ - OPEL FRONTERA - jak DACIA DUSTER, tylko trochę gorzej...
- 2025-08-20 Warszawa => Sales Director (Cloud solutions) <=
- 2025-08-20 Warszawa => Senior Programmer C <=
- 2025-08-20 Białystok => ERP Implementation Consultant (AP Module) <=
- 2025-08-20 Olga ma 28 lat, pochodzi z Białorusi, jest programistką i właśnie kupuje piąte mieszkanie na wynajem.
- 2025-08-20 Przyczyna dla których ludzie nie lubią Żydów.
- 2025-08-20 Olga ma 28 lat, pochodzi z Białorusi, jest programistką i właśnie kupuje piąte mieszkanie na wynajem.
- 2025-08-19 rozjusza mnie do białej gorączki
- 2025-08-19 zaiks
- 2025-08-19 UWAGA na scam: diperson_com
- 2025-08-19 UWAGA na scam: diperson_com
- 2025-08-15 Co to za dziwne "białe namioty" co stawiają je w różnych dziwnych miejscach?!?
- 2025-08-11 Francuska elektrownia atomowa zamknięta. Powodem "nieprzewidywalny" rój meduz
- 2025-08-14 bateria 6000mAh