Obsługa plików.

Obsługa plików jest na pewnym poziomie pisania programów niezbędna. Język C i C++ umożliwiają dostęp do plików na różny sposób. W niniejszym materiale skupimy się na podejściu strumieniowym z wykorzystaniem dedykowanych temu klas (o klasach więcej będzie w części drugiej – obiektowej). Można wyróżnić trzy klasy posiadające rozbudowane opcje obsługi plików i są to: ofstream: Klasa strumieniowa obsługująca zapisywanie do pliku, ifstream: Klasa Dowiedz się więcej…

Obsługa klawiatury

Trudno wyobrazić sobie aby każdy program mógł kontaktować się z użytkownikiem tylko wypisując komunikaty, ale nie umożliwiając pobrania żadnych danych od niego. Urządzenie terminalowe składa się z dwu elementów – ekranu oraz klawiatury – dlatego naturalnym procesem jest obsługa tejże w celu pobrania danych od użytkownika. W języku C i C++ przewidziano różną filozofię obsługi terminala, w C++ obsługę stanowi dedykowany strumień w kanale Dowiedz się więcej…

Tablice jedno i wielowymiarowe.

Trudno dziś wyobrazić sobie programowanie bez znajomości tych struktur. Czym są tablice?! W najprostszym ujęciu są one strukturą złożoną z wielu elementów tego samego typu. Co to oznacza? Można wyobrazić sobie następującą sytuację, gdy potrzebujemy przechować wartości dla 5 zmiennych typu int w następujący sposób: Osiągnęliśmy zamierzony cel, ale… czy jest to wygodne?! To pokaże następujący przykład: załóżmy, że potrzebujemy wyświetlić wartości tych Dowiedz się więcej…

Film – przetwarzanie filmu (edytory)

Zarejestrowany materiał filmowy rzadko kiedy jest gotowy do zaprezentowania jako materiał końcowy. Zazwyczaj należy go wpierw “obrobić”, czyli dokonać jego reedycji. Najprostszą operacją jest dokonanie cięć materiału. Wiedząc już, że materiał najlepiej jest umieścić na serwerze streamingowym np. YouTube, dobrze jest też wiedzieć, że ten sam serwer zapewnia pewien zasób narzędzi do edycji wgrywanych na serwer filmów. Na uprzednio Dowiedz się więcej…

Film – rejestracja, klasyfikacja, odtwarzanie (wtyczki)

Materiał filmowy jest kompilacją wszystkich wcześniej poznanych elementów w jeden. Zazwyczaj powinien cechować się istotną treścią będącą samodzielną narracją, bądź będący uzupełnieniem, czy rozszerzeniem materiału tekstowego. Zawierać w sobie może takie formy medialne jak tekst (tablice, bądź prompter), obraz statyczny (pokaz slajdów), obraz dynamiczny, czy dźwięk. Materiał wideo może być tworzony za pomocą różnych technik Dowiedz się więcej…

C++ ADDENDUM 5: Metody rekurencyjne.

Metody rekurencyjne są takimi metodami, które w kodzie programu wywołują same siebie. Powoduje to przejście wykonywania programu do uruchomionego podprogramu i swobodne zagnieżdżanie się tak wywoływanych metod, aż do uzyskania zamierzonego celu (bądź wyczerpania zasobów pamięci maszyny obliczeniowej). Prostym przykładem metody rekurencyjnej jest poniższy program: Jak widać, w powyższym kodzie nie ma w nim ani jednej jawnej pętli, a mimo to program wykonał się Dowiedz się więcej…

Pętle i zagrożenia

Trudno wyobrazić sobie program mający 1753 linie kodu podobne do poniższego przykładu: (Chociaż znam studentów… którzy w podobny sposób rozwiązują zadanie na kolokwium) Od razu widać w kodzie pewną prawidłowość, która sprawia, że można podzielić ten kod na bloki w zasadzie identyczne, różniące się jedynie przyrostową wartością zmiennej a. Od razu “prosi się” to o zastanowienie czy istnieje mechanizm ułatwiający takie operacje i optymalizujący kod. Dowiedz się więcej…

Obraz – przetwarzanie obrazu statycznego (edytory) zagadnienia kodowania, formatów, filtrów, rozdzielczości

Obraz – to co widzimy i rozpoznajemy jako obraz niekoniecznie z punktu widzenia informatycznego jest zdjęciem. Czasem jest to treść generowana dynamicznie np. jak w standardzie .svg gdzie przykładem jest użyty w poprzednim temacie slajd z Wikipedii o rozdzielczościach monitorów (przekonwertowany do postaci .jpg ma w oryginalnej wielkości rozmiar 5,99MB, a w postaci .svg ma pojemność tylko 70,8KB(!)) czy Flash jako rysunek wektorowy np. renderowany na podstawie matematycznego opisu obiektów Dowiedz się więcej…

Obraz – rejestracja, klasyfikacja, odtwarzanie (wtyczki).

Wzrok – jeden ze zmysłów człowieka, jest odpowiedzialny za około 80% wszystkich bodźców odbieranych przez człowieka. Jest to więc jak widać jeden z najważniejszych kanałów informacyjnych do wykorzystania w celu przekazywania informacji. Obraz statyczny, bo na takim w tej chwili się skupimy, jest zarejestrowanym stanem otaczającego nas świata w postaci umożliwiającej jego odbiór poprzez zmysł wzroku. Takimi obrazami są wszelkiego rodzaju zdjęcia, takie jak Dowiedz się więcej…

C++ ADDENDUM 3: Wartości losowe.

Wartościami losowymi w C/C++ zajmuje się m.in. wbudowany generator liczb pseudolosowych. Aby go użyć należy upewnić się, że dołączamy bibliotekę cstdlib lub po prostu iostream. Generator losuje liczby z zakresu od 0 do RAND_MAX, który to literał jest zdefiniowany w bibliotece cstdlib. Najprostszy program pokazujący użycie generatora pokazany jest poniżej: Kilkukrotne uruchomienie powyższego programu zdradza, że coś jest nie tak – zawsze program podaje Dowiedz się więcej…