PROGRAMOWANIE – PRZYKŁADY
IDE C++ WinBGI C# Wpadki

O witrynie

Co zawiera witryna Programy graficzne Błędy w programach Kontakt



Ostatnia aktualizacja: 29 czerwca 2020 (C++)

Co zawiera witryna

Niniejsza witryna została opracowana w językach HTML5, CSS3 i Java­Script, wymaga stoso­wania nowszych przeglą­darek. Kod źródłowy prezen­towanych progra­mów jest wyświe­tlany poprawnie na ekranach o rozdziel­czościach kompute­rowych, na mobilnych dłuższe wiersze są dzielone.

Witryna nie ma charakteru kursu progra­mowania, nie stanowi przewo­dnika po języku progra­mowania, nie porusza problemu wyboru języka progra­mowania, nie podej­muje dyskusji na temat "wyższości" jednego języka nad drugim, nie jest instru­kcją obsługi pakietu oprogra­mowania. Zawiera szereg przykła­dowych, krótkich i komple­tnych programów napisa­nych w językach C++ i C# dla Windows, mających wartość prakty­czną, zaspoka­jających konkretne potrzeby i przyno­szących zadowo­lenie z uzyska­nego wyniku. Stanowią one uzupeł­nienie do podrę­czników i kursów wprowadza­jących podsta­wowe elementy progra­mowania, w których omawiane konstru­kcje leksy­kalne są zazwy­czaj ilustro­wane przykła­dami czysto teorety­cznymi, oderwanymi od rzeczy­wistych problemów, a przez to niecie­kawymi dla osoby rozpoczy­nającej przygodę z programo­waniem. Witryna przezna­czona jest dla początku­jących progra­mistów i entu­zjastów progra­mowania, uczniów szkół średnich i stu­dentów, a także ich nauczy­cieli i wykła­dowców.

Większość programów została zaczer­pnięta z książki pt. Turbo Pascal i Borland C++. Przykłady oraz opartej na pseudo-Pascalu i Delphi książki pt. Wprowa­dzenie do algorytmów i struktur danych, a także z notatek do zajęć w latach 2002–2010 kiero­wanych do stu­dentów specjal­ności informa­tyka stoso­wanaedukacja informa­tyczna. Programy zostały zweryfi­kowane i zaimple­mentowane w nieodpła­tnych środowi­skach programi­stycznych:

Wszystkie programy można ściągnąć i używać bez ogra­niczeń.

Programy graficzne

Część zaprezentowanych programów graficznych w C++ korzysta z biblioteki WinBGI będącej implemen­tacją prostej grafiki BGI (Borland Graphics Interface) w histo­rycznym środo­wisku DOS. Przedsta­wiono również kilka przykładów ilustru­jących klasyczną technikę tworzenia oprogra­mowania w Windows w języku C++ polega­jącą na wykorzy­staniu biblio­teki API (Application Programming Interface). Chociaż programy te są względnie małe i nie wymagają dodatko­wego oprogra­mowania, należy sobie zdawać sprawę, że ta tematyka programo­wania jest przeo­gromna. O rozmiarze problemu świadczy najlepszy podrę­cznik Charlsa Petzolda pt. Progra­mowanie Windows liczący niemal 1300 stron, a można go traktować jako obszerny wstęp do sztuki progra­mowania w API Windows. O wiele łatwiej tworzy się programy w środo­wiskach wizu­alnych. Ta technika progra­mowania została pokazana na szeregu przykła­dowych progra­mach w Visual Studio C#.

Osoby zainteresowane metodami numerycznymi znajdą też kilka artykułów w formacie PDF powstałych w wyniku zainte­resowań lub własnych dociekań autora w tej dziedzinie matema­tycznej. Wszak jest ona nierozer­walnie związana z programo­waniem, niejedno­krotnie wkracza na teren grafiki i podobnie jak grafika stanowi niewy­czerpane źródło ekcytu­jących programów.

Błędy w programach

W trakcie tworzenia programów łatwo popełnia się błędy i trudno je wykrywa, niekiedy nieprzewi­dywalnie długo. Nawet najpro­stszy program nie powinien być napisany chao­tycznie, bo chaos sprzyja powsta­waniu błędów. Program napisany w dobrym stylu progra­mowania jest czytelny, ma mniej błędów, łatwiej go popra­wiać i modyfi­kować niż program źle napisany. Należy przyjąć zasadę, że program powinien być pisany dla człowieka, gdyż to człowiek musi anali­zować kod programu w trakcie jego tworzenia, testo­wania i poszu­kiwania błędów. Komputer zawsze sobie z programem poradzi nieza­leżnie od stylu, w jakim został napisany.

Programiści zazwyczaj sprawdzają poprawność programów, testując ich zacho­wanie dla pewnej liczby różnych danych i porów­nując otrzymane wyniki ze znanymi już wynikami popra­wnymi. Metoda ta jest nie tylko kosztowna, gdy liczba testów jest duża, lecz przede wszystkim jest zawodna, gdyż testo­wanie należa­łoby przepro­wadzić dla wszys­tkich możliwych danych, a nie tylko dla wybranych. Poprzez empiryczne testo­wanie nie jest możliwe udowo­dnienie, że program jest poprawny. Niklaus Wirth (ur. 1934 r.), światowej sławy elektronik i infor­matyk, twórca m.in. języka Pascal, wypowie­dział słynną zasadę:

Empiryczne testowanie programu co najwyżej wykaże obecność błędów, nigdy jednak nie zagwarantuje poprawności programu.

Doświadczony programista nigdy nie podej­rzewa od razu, że to komputer a nie on ponosi winę za błędnie działa­jący program. Zdarzają się jednak przy­padki, że zawodzi sprzęt lub oprogra­mowanie. Na przy­kład w operacjach zmiennopo­zycyjnych w proce­sorach Pentium z 1994 roku wystę­pował błąd, który powo­dował, że pewne obli­czenia dawały niepra­widłowe wyniki. Z kolei kompila­tory są stwo­rzonymi przez ludzi złożonymi progra­mami, więc i ich zachowanie może nie być całko­wicie poprawne. Kilka takich wpadek, z którymi przytra­fiło się zmierzyć autorowi tej witryny, zostało w niej opisane.


© 2001-2010 by Kazimierz Jakubczyk
Reorganizacja witryny: czerwiec 2018