Laboratorium Podstaw Informatyki Strona 1. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie Graf
|
|
- Lech Góra
- 8 lat temu
- Przeglądów:
Transkrypt
1 Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie Graf Elementy grafiki komputerowej: mapy bitowe. wykresy funkcji dwóch zmiennych w poziomach szarości. Oprac. Paweł Turcza Kraków 2014
2 Laboratorium Podstaw Informatyki Strona 2 1. Podstawy obsługi map bitowych Celem niniejszej instrukcji jest zapoznanie Czytelnika z biblioteką SDL oraz jej wykorzystaniem w operacjach graficznych takich jak wyświetlanie obrazów cyfrowych (map bitowych) oraz wykresów funkcji dwóch zmiennych. Przy okazji prezentowany jest format plików: PGM, PPM oraz BPM. 1.1 Przykład Operacje graficzne będą realizowane z użyciem wieloplatformowej biblioteki graficznej SDL. Poniżej przedstawiony jest prosty program ilustrujący sposób tworzenia tzw. powierzchni ekranu, która wykorzystywana jest do wyświetlania grafiki. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <SDL/SDL.h> SDL_Surface *screen = NULL; /* wskaznik na strukture reprezentujaca powierzchnie ekranu */ void draw () { Uint32 color = SDL_MapRGB (screen->format, 0, 0, 0); /* utworz kolor czarny */ SDL_FillRect (screen, NULL, color); if(screen->format->bytesperpixel!= 4) return; /* wypelnij caly ekran tym kolorem*/ /* sprawdz czy pixele ekranu sa 32 bitowe*/ int *p; //ARGB int h, w; for(h=0; h < screen->h/3; h++) { //ustaw wskaznik do pixeli na poczatek h-tej linii //screen->pitch -- odstep (bajtowy) pomiedzy poszczegolnymi liniami p = (int *)screen->pixels + h*screen->pitch/4; for(w=0; w < screen->w; w++) *p++ = 255<<16; //ARGB for(h=screen->h/3; h < 2*screen->h/3; h++) { p = (int *)screen->pixels + h*screen->pitch/4; for(w=0; w < screen->w; w++) *p++ = 255<<8; for(h=2*screen->h/3; h < screen->h; h++) { p = (int *)screen->pixels + h*screen->pitch/4; for(w=0; w < screen->w; w++) *p++ = 255; SDL_Flip (screen); SDL_Delay (1); //przelacz strone //poczekaj 1 sek. int main (int argc, char *argv[]) { /* Initialize SDL */ if (SDL_Init (SDL_INIT_VIDEO) < 0) { fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError ()); return -1; fprintf(stderr, "init OK\n"); screen = SDL_SetVideoMode (640, 480, 32, SDL_SWSURFACE SDL_DOUBLEBUF); /* Ustaw tryb graf. 640x bity */
3 Laboratorium Podstaw Informatyki Strona 3 if (screen == NULL) { fprintf(stderr, "%s", "Couldn't set 640x480x16 video mode: %s\n", SDL_GetError ()); return -1; fprintf(stderr, "SDL_SetVideoMode\n"); SDL_WM_SetCaption ("SDL MultiMedia Application", NULL); int done = 0; while (!done) { SDL_Event event; while (SDL_PollEvent (&event)) { /* sprawdz czy sa jakies komunikaty (klawiatura, mysz) */ switch (event.type) { case SDL_KEYDOWN: break; case SDL_QUIT: done = 1; break; default: break; draw (); /* rysuj na ekranie */ return 0; 1.2 Struktura pliku *.PGM Pliki te używane są do przechowywania obrazów monochromatycznych, tj. o odcieniach szarości. Struktura pliku PGM jest następująca: 1. Dwuliterowy identyfikator formatu pliku "P5". 2. Separator, tj. znak biały (spacja, TABs, CRs, LFs). 3. Liczba dziesiętna w kodzie ASCII reprezentująca szerokość obrazu 4. Separator 5. Liczba dziesiętna w kodzie ASCII reprezentująca liczbę linii w obrazie (wysokość ) 6. Separator 7. Liczba dziesiętna w kodzie ASCII określająca maksymalną jasność pixela 8. Separator (zwykle nowa linia) 9. Dane obrazowe. W przypadku, gdy maksymalna jasność pixela (z pk. 7) nie przekracza 255 jeden pixel obrazu reprezentowany jest przez jeden bajt. W przeciwnym przypadku przez dwa bajty. Dodatkowo w nagłówku może być umieszczony komentarz, który rozpoczyna się od znaku "#" i rozciąga do końca linii. Więcej informacji można znaleźć tutaj: Struktura pliku *.PPM Struktura pliku PPM jest podobna do pliku PGM. Występują dwie różnice: 1. identyfikatorem pliku jest "P6" 2. Dane obrazowe dotyczą poszczególnych składowych kolorów podstawowych tj. czerwonego (R), zielonego (G), niebieskiego (B), zapisanych w tej kolejności przy użyciu jednego bajtu na składową, jeśli wartość określająca maksymalne nasycenie składowej (odpowiednik wartości z punktu 7 PGM) nie przekracza 255.
4 Laboratorium Podstaw Informatyki Strona 4 Więcej informacji można znaleźć tutaj: Zadanie 1: Na podstawie przykładu 1.1 napisać przeglądarkę do plików PGM i PPM. Na początku należy przyjąć, że interesują nas tylko 8-bitowe PGM tj. obrazy w odcieniach szarości, w których każdy pixel reprezentowany jest przez pojedynczy bajt. Algorytm postępowania: Zadeklarować zmienne globalne: FILE *fp; //wskaźnik do pliku int W funkcji main: 1. otworzyć plik z obrazem PGM, wczytać nagłówek pliku wraz z informacją o wielkości obrazu. 2. uruchomić funkcję SDL_SetVideoMode z odpowiednimi parametrami reprezentującymi szerokość i wysokość obrazu. Liczbę bitów na pixel pozostawić bez zmian (32). 3. Zamknąć plik z obrazem W funkcji draw: 1. otworzyć plik z obrazem PGM, pominąć nagłówek obrazu. 2. pominąć (fgetc) znak oddzielający nagłówek od danych. 3. w pętli for kopiować dane z pliku do pamięci obrazu 4. zamknąć plik obrazu Struktura pliku *.BMP Plik *.BMP składa się zasadniczo z czterech kolejno umieszczonych części: 1) struktura BITMAPFILEHEADER 2) struktura BITMAPINFOHEADER 3) tablica 256 struktur struktur typu RGBQUAD 4) dane bitmapy W przypadku systemu Windows, definicje podanych struktur zawarte są w pliku nagłówkowym windows.h. W przypadku systemu Linux definicje to zostały umieszczone w pliku bmp.h. Warto zajrzeć do tego pliku i zobaczyć jak te definicje zostały zrobione. Najważniejszymi polami struktury BITMAPFILEHEADER są: bftype - powinno być równe B M bfoffbits - początek danych bitmapy, liczony względem początku pliku Najważniejszymi polami struktury BITMAPINFOHEADER są: biwidth - szerokość bitmapy (liczba punktów w linii) biheight - wysokość bitmapy (liczba linii) bibitcount - ilość bitów na jeden piksel Tablica 256 struktur typu RGBQUAD zawiera paletę kolorów stosowaną w danej bitmapie. Zadanie 2: Na podstawie przykładu 1.1 napisać przeglądarkę do bitmap. Na początku należy przyjąć, że interesują nas tylko bitmapy w odcieniach szarości mające po 8 bitów na piksel. Algorytm rozwiązania zadania powinien wyglądać następująco:
5 Laboratorium Podstaw Informatyki Strona 5 1) zadeklarować potrzebne struktury danych (zmienne) typu: BITMAPFILEHEADER, BITMAPINFOHEADER, tablica 256 elementów typu RGBQUAD, bufor na jedną linię, 2) otworzyć plik zawierający bitmapę, przy użyciu funkcji fopen, 3) używając funkcji fread, wczytać z pliku dane do zadeklarowanych zmiennych wyżej wymienionych typów tj.: BITMAPFILEHEADER, BITMAPINFOHEADER, tablicy struktur RGBQUAD, 4) zainicjować odpowiedni tryb graficzny, tak jak podano to w przykładzie, 5) w pętli wykonywać kolejno: czytanie całej linii, przy pomocy fread do bufora wyświetlanie całej linii tak jak w przykładzie. Dodatkowo przeglądarkę należy wyposażyć w możliwość regulacji jasności i kontrastu (sterowanie za pomocą strzałek, lub klawiszy +/-). W przypadku korzystania z trybu 256 kolorów można to uzyskać poprzez zmianę palety karty graficznej. Technicznie można to zrobić poprzez dodanie pewnej składowej stałej do każdego elementu palety (regulacja jasności), oraz mnożenie elementów palety przez stałą (kontrast). W przypadku trybów o większej ilości kolorów należy odpowiednio modyfikować pixele obrazu. Zadanie 3: Przerobić napisaną wcześniej przeglądarkę, tak aby mogła obsługiwać bitmapy kolorowe posiadające 8 bitów na piksel czyli 256 kolorów. Uwaga: w przypadku obrazów kolorowych, w których informacja o kolorze zakodowana jest na 8 lub mniejszej ilości bitów poszczególne pixele obrazu nie reprezentują bezpośrednio poszczególnych składowych koloru (R,G,B). Są one indeksami do tablicy zwanej paletą kolorów. Paleta ta jest zorganizowana w postaci 256 wierszowej (lub mniejszej) tablicy struktur. W każdej z 256 struktur umieszczona jest informacja o intensywności każdej z trzech podstawowych barw (R-czerwony, G-zielony B-niebieski). Tak jak przedstawia to powyższy rysunek. Dlatego chcąc poprawnie wyświetlić 8-bitowe obrazy (zawierające paletę kolorów) należy wartość pixela traktować jako indeks do tablicy (palety) z której to uzyskuje się poszczególne składowe koloru.
6 Laboratorium Podstaw Informatyki Strona 6 Zadanie 4: Do przeglądarki dodać funkcję pozwalającą na przeglądanie zdjęć. Funkcja ta działa w ten sposób, że jako argument przeglądarce podaje się ścieżkę do katalogu, gdzie znajdują się bitmapy (zdjęcia). Przeglądarka kolejno (np. po naciśnięciu klawisza, lub po określonym czasie) wyświetla wszystkie znajdujące się w danym katalogu bitmapy. Jeżeli ścieżka nie została podana, to przeglądarka wyświetla bitmapy znajdujące się w katalogu z którego została uruchomiona. Podczas rozwiązywania zadania należy skorzystać z następujących funkcji: findfirst(char *pathname, struct ffblk *ffblk, int attrib); //znajdź pierwszy findnext(struct ffblk *ffblk); //znajdź następny opis argumentów: pathname: ciąg znaków, który może zawieraæ literę określającą numer dysku (opcjonalnie), ścieżkę, nazwę pliku, którego poszukujemy. Nazwa pliku może zawierać znaki? i *. Przykład: c:\\obrazy\\*.bmp - interesują nas wszystkie pliki znajdujące się na dysku C w katalogu obrazy i mające rozszerzenie bmp. ffblk: wskaźnik (adres) do struktury, w której umieszczany jest wynik poszukiwania zwrócony przez funkcje findfirst i findnext. attrib: atrybuty pliku - ustawiæ na 0 Każde wywołanie funkcji findfirst, findnext zwróci jedną nazwę pliku z podanego katalogu i pasującą do podanego wzorca, aż wszystkie pliki zostaną znalezione. Funkcje zwracają 0 jeśli poszukiwanie zakończyło się sukcesem, w przeciwnym razie -1. Proces poszukiwania zawsze rozpoczynamy od wywołania funkcji findfirst, potem findnext, aż wszystkie pliki zostaną odnalezione. Nazwa znalezionego pliku umieszczana jest w polu ff_name struktury ffblk. 2. Obrazowanie wykresów funkcji dwóch zmiennych w odcieniach szarości. Najprostszym sposobem na obrazowanie przebiegu funkcji dwóch zmiennych na ekranie komputera jest użycie metody wykorzystywanej przez twórców map papierowych. Jak wiemy, na takiej mapie wysokość terenu prezentowana jest przy użyciu odpowiedniej skali kolorów. My ograniczymy się do odcieni szarości. 0 0 w W-1 y min x min x i x max h y i H-1 y max Załóżmy, że chcemy w ten sposób zobrazować wykres funkcji dwóch zmiennych z = f(x,y) dla x min < x < x max oraz y min < y < y max na ekranie o rozdzielczości W H. W tym celu każdemu punktowi ekranu (w, h) musimy przypisać wartość funkcji z i,j = f(x i, y j ), gdzie x i = x min + w (x max x min )/(W-1), w = 0,...,W-1 y j = y min + h (y max y min )/(H-1), h = 0,...,H-1
7 Laboratorium Podstaw Informatyki Strona 7 Obliczone wartości funkcji z i,j są następnie przeliczane na wartość określającą kolor lub odcień szarości i obrazowane jako punkt o współrzędnych (i, j) na ekranie. Zadanie 5: Narysować funkcję z = f(x,y) = sin( x + y ) dla x, y z przedziału [-2, 2]. Narysować funkcję z = f(x,y) = sin( x 2 + y 2 ) dla x, y z przedziału [-2, 2]. 3. Elementy.przetwarzania obrazów Jedną z prostszych operacji dokonywanych na obrazach jest wydobywanie krawędzi. Operację tą wykonuje się używając specjalnie zaprojektowanych dwuwymiarowych filtrów. Najprostszym filtrem tego typu jest filtr o współczynnikach: 1 1 h(i, 1 8. j)=[ 1 1 1] Przy czym indeksy i, j zmieniają się od 1 do 1: a więc element h(-1,-1)=-1, a h(0,0)=8, h(1,1)=-1 Operacja filtracji polega na wyznaczaniu wartości wyrażenia 1,1 p( x, y) = p( x + i, y + j) h( i, j) (*) i= 1, j= 1 Mówiąc inaczej, od każdego punktu obrazu pomnożonego przez 8 odejmij wartości wszystkich jego ośmiu sąsiadów. W przypadku punktów leżących na krawędzi, czyli tam gdzie nie ma któregoś z sąsiadów, rozszerz obraz poprzez jego lustrzane odbicie, które w tym przypadku sprowadza się do przyjęcia, że wartością brakującego punktu jest wartość punktu dla którego wyznaczamy wartość wyrażenia (*).
Formaty plików graficznych - wprowadzenie
Formaty plików graficznych - wprowadzenie Obraz graficzny jest dwuwymiarową tablicą pikseli, zwana czasem rastrem. Kolor piksela może być reprezentowany w następujący sposób: Dla obrazów monochromatycznych
Do obsługi plików BMP należy stworzyć klasę przechowującą zawartość obrazu i udostępniającą następujące metody:
Ćwiczenie 1 OBSŁUGA OBRAZÓW W FORMACIE BMP Zakres pracy W ramach ćwiczenia należy do dostarczonego interfejsu dodać możliwość wyświetlania wczytanych z pliku obrazów typu BMP, konwertowania ich na format
Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim
Rysowanie punktów na powierzchni graficznej
Rysowanie punktów na powierzchni graficznej Tworzenie biblioteki rozpoczniemy od podstawowej funkcji graficznej gfxplot() - rysowania pojedynczego punktu na zadanych współrzędnych i o zadanym kolorze RGB.
Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013
Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli
Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim
Bitmapy - format i zastosowanie. Podstawowy format plików bitmapowych, dogodność zastosowania bitmap w prostych animacjach 2D.
Bitmapy - format i zastosowanie. Podstawowy format plików bitmapowych, dogodność zastosowania bitmap w prostych animacjach 2D. Format BMP został zaprojektowany przez firmę Microsoft, do przechowywania
Formaty obrazów rastrowych biblioteki PBM
Formaty obrazów rastrowych biblioteki PBM Reprezentacja obrazu Obrazy pobierane z kamery, bądź dowolnego innego źródła, mogą być składowane na pliku dyskowym w jednym z wielu istniejących formatów zapisu
// Potrzebne do memset oraz memcpy, czyli kopiowania bloków
ZAWARTOŚCI 3 PLIKOW W WORDZIE: MAIN.CPP: #include #include #include pamięci // Potrzebne do memset oraz memcpy, czyli kopiowania bloków #include "Rysowanie_BMP.h" using
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)
ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) LABORATORIUM 5 - LOKALIZACJA OBIEKTÓW METODĄ HISTOGRAMU KOLORU 1. WYBÓR LOKALIZOWANEGO OBIEKTU Pierwszy etap laboratorium polega na wybraniu lokalizowanego obiektu.
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
Argumenty wywołania programu, operacje na plikach
Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują
GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej
GRAFIKA RASTROWA WYKŁAD 1 Wprowadzenie do grafiki rastrowej Jacek Wiślicki Katedra Informatyki Stosowanej Grafika rastrowa i wektorowa W grafice dwuwymiarowej wyróżnia się dwa rodzaje obrazów: rastrowe,
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego
Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt
x szereg(x)
Wstęp do Programowania, laboratorium 09 Zadanie 1. Zrobić program liczący wartość funkcji sin(x) przy pomocy rozwinięcia w szereg. Zakres wartości x (od, do) oraz liczba przedziałów podawane będą jako
INFORMATYKA Studia Niestacjonarne Elektrotechnika
INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl
Ćwiczenie 6. Transformacje skali szarości obrazów
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 6. Transformacje skali szarości obrazów 1. Obraz cyfrowy Obraz w postaci cyfrowej
Programowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski
Programowanie w C/C++ Instrukcje - konstrukcje powtórka LABORKA Piotr Ciskowski zadanie 1. Licz się ze sobą Napisz funkcję bez argumentów i bez wyniku, która za każdym wywołaniem będzie podawała, ile razy
Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:
Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji
ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych
I - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
1 Powtórzenie wiadomości
1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
Programowanie w językach wysokiego poziomu
Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie
Język C++ zajęcia nr 2
Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
1. Wprowadzanie danych z klawiatury funkcja scanf
1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną
Diagnostyka obrazowa
Diagnostyka obrazowa Ćwiczenie pierwsze Zapoznanie ze środowiskiem przetwarzania obrazu ImageJ 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa ze środowiskiem przetwarzania
Stałe i zmienne znakowe. Stała znakowa: znak
Stałe i zmienne znakowe. Stała znakowa: znak Na przykład: a, 1, 0 c Każdy znak jest reprezentowany w pamięci przez swój kod. Kody alfanumerycznych znaków ASCII to liczby z przedziału [32, 127]. Liczby
Formaty plików graficznych
Formaty plików graficznych grafika rastowa grafika wektorowa Grafika rastrowa Grafika rastrowa służy do zapisywania zdjęć i realistycznych obrazów Jakość obrazka rastrowego jest określana przez całkowitą
7 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 7 1/5 Język C Instrukcja laboratoryjna Temat: Operacje na plikach. 7 Przygotował: mgr inż. Maciej Lasota 1) Pliki. Plik (ang. file), jest to nazwany ciąg danych (inaczej zbiór danych),
Biblioteka standardowa - operacje wejścia/wyjścia
Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline
Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup
Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie
Ćwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
lekcja 8a Gry komputerowe MasterMind
lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011
Obsługa plików Systemy Operacyjne 2 laboratorium Mateusz Hołenko 25 września 2011 Plan zajęć 1 Pliki w systemie Linux i-węzły deskryptory plików 2 Operacje na plikach otwieranie i zamykanie zapis i odczyt
Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach
Laboratorium Systemów Operacyjnych Ćwiczenie 4. Operacje na plikach Wykonanie operacji wymaga wskazania pliku, na którym operacja ma zostać wykonana. Plik w systemie LINUX identyfikowany jest przez nazwę,
Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia
Materiały Operacje na plikach Informatyka Operacje wejścia-wyjścia w C/C++: Podejście proceduralne Podejście obiektowe Standardowe strumienie wejścia i wyjścia stdin - strumień wejściowy (klawiatura) cin
Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411b Plan wykładu Operacje wejścia-wyjścia Dostęp do plików Struktury
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres: Funkcje czyli wieloużywalność kodu Omówienie przekazywania argumentów: "przez
Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.
Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą
Wskaźniki w C. Anna Gogolińska
Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Systemy Czasu Rzeczywistego Programowanie wyświetlacza graficznego LCD laboratorium: 01 autor: mgr inż. Paweł Pławiak
Języki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
Wykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe
I. Struktury sterujące.bezpośrednie następstwo (A,B-czynności) Wykład _2 Algorytmy sortowania tablic Sortowanie bąbelkowe Elementy języka stosowanego do opisu algorytmu Elementy Poziom koncepcji Poziom
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych
Języki programowania. Karolina Mikulska-Rumińska Pokój 573, tel Konsultacje wtorek 9-10.
Języki programowania Karolina Mikulska-Rumińska E-mail: karolamik@fizyka.umk.pl Pokój 573, tel. 3346 Konsultacje wtorek 9-10. Pliki Dwa rodzaje plików: Tekstowe, Binarne Aby otworzyć plik należy najpierw
Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.
Wykład 3 ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Waldi Ravens J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 75 / 146 deklaracje zmiennych instrukcja podstawienia
Obraz jako funkcja Przekształcenia geometryczne
Cyfrowe przetwarzanie obrazów I Obraz jako funkcja Przekształcenia geometryczne dr. inż Robert Kazała Definicja obrazu Obraz dwuwymiarowa funkcja intensywności światła f(x,y); wartość f w przestrzennych
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com
Programowanie wykład dla I roku bioinformatyki semestr letni 2013 Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel. 58 523 2466 e-mail: danuta.makowiec at gmail.com Cel bloku
۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof]
1 Plik jest wydzielonym fragmentem pamięci (najczęściej dyskowej) posiadającym nazwę. Z punktu widzenia C plik jest ciągiem bajtów, z których każdy może zostać oddzielnie odczytany. Zgodnie ze standardem
Podstawy grafiki komputerowej. Teoria obrazu.
WAŻNE POJĘCIA GRAFIKA KOMPUTEROWA - to dział informatyki zajmujący się wykorzystaniem oprogramowania komputerowego do tworzenia, przekształcania i prezentowania obrazów rzeczywistych i wyimaginowanych.
Kurs grafiki komputerowej Lekcja 2. Barwa i kolor
Barwa i kolor Barwa to zjawisko, które zachodzi w trójkącie: źródło światła, przedmiot i obserwator. Zjawisko barwy jest wrażeniem powstałym u obserwatora, wywołanym przez odpowiednie długości fal świetlnych,
Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część siódma Przetwarzanie plików amorficznych Konwencja języka C Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie
Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Diagnostyka obrazowa
Diagnostyka obrazowa Ćwiczenie pierwsze Wstęp do środowiska przetwarzania obrazu ImageJ 1. Cel ćwiczenia Ćwiczenie ma na celu zapoznanie uczestników kursu Diagnostyka obrazowa ze środowiskiem przetwarzania
Programowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie
Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak
Język C, tablice i funkcje (laboratorium, EE1-DI)
Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.
Podręcznik użytkownika programu. Ceremonia 3.1
Podręcznik użytkownika programu Ceremonia 3.1 1 Spis treści O programie...3 Główne okno programu...4 Edytor pieśni...7 Okno ustawień programu...8 Edycja kategorii pieśni...9 Edytor schematów slajdów...10
Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1 Pętle Pętla jest konstrukcją sterującą stosowaną w celu wielokrotnego wykonania tego samego zestawu instrukcji jednokrotne
Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1
Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).
n, m : int; S, a, b : double. Gdy wartości sumy składowej nie można obliczyć, to przyjąć Sij = 1.03 Dla obliczenia Sij zdefiniować funkcję.
Zadania-6 1 Opracować program obliczający wartość sumy: S n m ai bj i 1 j 1 ln( bi j a) n, m : int; S, a, b : double Gdy wartości sumy składowej nie można obliczyć, to przyjąć Sij = 103 Dla obliczenia
Materiały dla studentów pierwszego semestru studiów podyplomowych Grafika komputerowa i techniki multimedialne rok akademicki 2011/2012 semestr zimowy
Materiały dla studentów pierwszego semestru studiów podyplomowych Grafika komputerowa i techniki multimedialne rok akademicki 2011/2012 semestr zimowy Temat: Przekształcanie fotografii cyfrowej w grafikę
Podstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Zasady programowania Dokumentacja
Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych
Instrukcja do programu BASIC PR-02
Instrukcja do u BASIC PR-02 Wojciech Pietkiewicz 22.03.2000 1 Wprowadzenie BASIC jest językiem owania wyższego rzędu, który umożliwia w łatwy i czytelny sposób sterować robotem PR-02 bezpośrednio z komputera.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19. Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach. 1. Dynamiczna alokacja pamięci dla tablic wielowymiarowych - Przykładowa
Scenariusz lekcji. Scenariusz lekcji. opisać działanie narzędzi przybornika. korzystać z Edytora postaci programu Logomocja;
Kolorowe neony Scenariusz lekcji Scenariusz lekcji 1 TEMAT LEKCJI: Kolorowe neony 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: opisać sposób tworzenia animacji; wyjaśnić pojęcie klatka ; opisać działanie
Programowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
Warstwa Rysunek bitmapowy Rysunek wektorowy
Warstwa - powierzchnia robocza w programie graficznym. Jest obszarem roboczym o określonych rozmiarach, położeniu i stopniu przeźroczystości. Warstwę należy traktować jako przeźroczystą folię na której
Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.
Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja
WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH
Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach
Wskaźniki. Informatyka
Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą
Obliczenie pola wieloboku na podstawie współrzędnych wierzchołków
Obliczenie pola wieloboku na podstawie współrzędnych wierzchołków Algorytmy 1. Metoda pierwsza wzory Gaussa - dla każdego punktu mnożymy współrzędną przez różnicę drugich współrzędnych punktu następnego
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona