-
Data: 2018-11-16 20:40:34
Temat: Re: Niezmienniki pętli
Od: s...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu piątek, 16 listopada 2018 20:14:23 UTC+1 użytkownik Queequeg napisał:
> s...@g...com wrote:
>
> > Najprostrze zastosowanie:
> ^^
> sz
>
> > for(int i(0); i < lList.size(); ++i)
> > // tu robisz coś z lList
> > W tej pętli niezmiennikiem sprawdzanym przed wejściem w pętlę i po kazdej
iteracji jest:
> > i < lList.size()
>
> "In computer science, a loop invariant is a property of a program loop
> that is true before (and after) each iteration."
>
> Twierdzisz, że po ostatniej iteracji pętli i < lList.size() będzie dalej
> true?
>
> Nie myl niezmiennika z warunkiem kontynuowania pętli.
Ok! W takim razie nie używam niezmienników pętli ani niezmienników klas. Za wolne to
jest na wersję release. Może warto by było to pisać w blokach kompilowanych
warunkowo.
> > 5.2. Nie wierzę w i nie cierpię Assert (to tak jak by bez ostrzeżenia
> > uderzyć kogoś w twarz bez dalszego komentarza).
>
> Czyli twoim zdaniem lepiej, gdy program działa dalej na błędnych danych i
> w sposób, którego nie przewidział programista, niż gdy wypisze komunikat
> o błędzie wraz z lokalizacją, niespełnionym warunkiem i np. innymi
> informacjami diagnostycznymi i zakończy się, nie robiąc szkód?
>
> Bo wiesz, oprogramowanie się testuje, takie błędy wychodzą i takie błędy
> się poprawia, zamiast ignorować.
Czytaj ze zrozumieniem:
> 5.1. Wierzę w try, throw, catch (wyjątki obowiązkowo dziedziczone po std::exception
z opisem i kodem błędu).
Następne wpisy z tego wątku
- 16.11.18 20:51 g...@g...com
- 16.11.18 21:05 Queequeg
- 16.11.18 23:51 Maciej Sobczak
- 16.11.18 23:55 Maciej Sobczak
- 17.11.18 14:58 Sebastian Biały
- 17.11.18 16:59 s...@g...com
- 18.11.18 00:10 Maciej Sobczak
- 18.11.18 01:02 Queequeg
- 18.11.18 09:58 AK
- 18.11.18 10:10 fir
- 18.11.18 10:28 fir
- 18.11.18 17:35 Sebastian Biały
- 19.11.18 08:14 Maciej Sobczak
- 19.11.18 09:22 Roman Tyczka
- 19.11.18 10:37 Queequeg
Najnowsze wątki z tej grupy
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-29 Warszawa => Staż w dziale Sprzedaży B2B (2 miejsca) <=
- 2024-04-29 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-04-29 Ulm => IT Network Engineer <=
- 2024-04-29 Gdańsk => UX/UI Designer <=
- 2024-04-29 Gdańsk => AI Specialist <=
- 2024-04-29 frankowicze odcinek NNN
- 2024-04-29 Warszawa => Specjalista ds. Cyberbezpieczeństwa <=
- 2024-04-29 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2024-04-29 Zielona Góra => Inżynier R&D Energoelektronik <=
- 2024-04-29 Warszawa => Google Ads Freelancer <=
- 2024-04-28 wymiana przewodu od licznika do mieszkania
- 2024-04-28 Lustra w maszynie ASML
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM