Sztuczne neurony - programowanie w C++ Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ
|
|
- Władysław Pawlik
- 9 lat temu
- Przeglądów:
Transkrypt
1 programowanie w C++ dla OWK Sztuczne neurony - programowanie w C++ Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ 1
2 Streszczenie Dyskusja o stworzeniu sztucznego mózgu zawsze powoduje duże emocje. Pierwszy model sztucznego neuronu stworzony został w 1943 przez W. McCullocha i W. Pitsa. Dużo nadziei na szybkie zagospodarowanie dziedziny sztucznej inteligencji stworzyła koncepcja perceptronu stworzona przez Franka Rosenblatta. Jednak po napisaniu w 1969 roku przez Minsky ego i Paperta książki w której pokazali oni ograniczenia modelu perceptronu zainteresowanie zbudowaniem sztucznego mózgu spadło prawie do zera. Przyczyny tego stanu rzeczy były również ekonomiczne ponieważ po opublikowaniu książki Minsky ego i Paperta przestano finansować granty badawcze dotyczące sieci neuronowych. Dopiero w latach 80. dwudziestego wieku nastąpił renesans tematyki kiedy okazało się że jednak warstwowy perceptron może wykonywać pewne operacje logiczne zanegowane przez Minsky ego i Paperta pod warunkiem właściwego trenowania takiej sieci neuronowej. W naszym krótkim opracowaniu nawiążemy do jednego z modeli rekurencyjnych sieci neuronowych lub inaczej sieci ze sprzężeniem zwrotnym, mianowicie jednowarstwowej sieci neuronowej Hopfielda wprowadzonej w 1982 roku. Model ten ma korzenie w modelu fizycznym szkła spinowego i istotnie wpłynął na postęp w dziedzinie sztucznej inteligencji. Dużą zaletą sieci Hopfielda jest jej prostota. W szczególności po nauczeniu takiej sieci wzorców podanie na jej wejście zniekształconego obrazu wzorca powoduje zrekonstruowanie takiego obrazu do jednego z z nauczonych wzorców. To zagadnienie będzie celem materiałów pomocniczych. Kod programu w języku C++ oparty jest na prostym przykładzie Pawła Górnickiego, Sieci neuronowe, Wiedza i Życie, kwiecień Model Hopfielda Załóżmy że mamy siatkę kwadratową L L w której węzły oznaczają neurony. Na rysunku poniżej mamy 16 neuronów i w tym przypadku L = 4. Zakładamy że każdy neuron i = 0, 1, 2, 3, 15 może być w dwóch stanach s = 1 - stan aktywny i s = 1 stan nieaktywny. Stan każdego neuronu zależy od stanów innych neuronów z którymi jest on połączony. Takie połączena pomiędzy neuronami nazywać będziemy synapsami. Synapsy mogą osłabiać aktywność neuronu lub pobudzać ją. W naszym modelu siłę tego pobudzania lub hamowania pomiędzy neuronem i i neuronem j oznaczać będziemy wagą w ij. W modelu Hopfielda wagi te są symetryczne tj. w ij = w ji. Rysunek 1: Siatka N N neuronów (N = 4) które połączone są synapsami każdy z każdym. Dla przejrzystości rysunku narysowane są tylko niektóre połączenia pomiędzy neuronami. Umówimy się że stan s i neuronu i = 0, 1, 2,..., N zależy od wartości parametru S i będącego sumą iloczynów wag synaps łączących i ty neuron z neuronami j i, gdzie j = 0, 1,..., N, tj. 2
3 S i = N j=0,j i w ij s j. (1) Jeśli wartość S i > 0 to neuron i przełącza się do stanu aktywnego s i = 1. Jeśli był aktywny to pozostaje w tym stanie. W przeciwnym razie neuron staje się nieaktywny (s i = 1) lub pozostaje nieaktywny jeśli wcześniej był nieaktywny. W działaniu sztucznej sieci neuronowej wyróżniamy dwa etapy. Etap pierwszy to uczenie się wg reguły Hebba. Jest to etap przygotowawczy do rozpoznawania sygnałów wejściowych podawanych na neurony. Etap drugi to rozpoznawanie obrazów podawanych na wejście również w przypadku gdy są trochę zmienione. W kodzie programu zamieszczonego poniżej Każdy neuron jest obiektem z klasy neuron i mamy N N neuronów zapamiętamych w kontenerze typu vector. 1 Ponieważ kontenery są liniowe tj. obiekty w nich ułożone są liniowo jeden obiekt za drugim to przyjęliśmy indeksowanie obiektów tak jak na rysunku 1, tzn. jest indeks n = 0, 1, 2,..., N 2 1. Wtedy element (i, j) sieci kwadratowej, gdzie i = 0, 1,..., N 1, j = 0, 1,..., N 1 można wyliczyć za pomocą indeksu n z następujących równań: i = n/n (2) j = n%n (3) W przypadku programu na sieć neuronową, zamieszczonym poniżej, kontener do umieszczania w nim obiektów z klasy neuron nosi nazwę Neur. Podobnie, w tablicy jednowymiarowej zapamiętane są synapsy, które są obiektami z klasy synapsa. Synapsy indeksowane są indeksem n = 0, 1, 2,..., N 4 1, który uwzględnia wszystkie możliwe połączenia pomiędzy neuronami (i, j) z (k, l) gdzie i, j, k, l = 0, 1,..., N 1. W programie poniżej, etap I to nauka wzorców, tutaj obrazów podanych w pliku tekstowym w postaci gwiazdek. Nauka polega na tym że początkowo dopóki obrazy nie są wczytane w kontenerze Synap obiekty reprezentujące synapsy wartości synaps są wyzerowane. Po wczytaniu obrazu każdy piksel obrazu odpowiada jednemu neuronowi i w przypadku połaczenia dwóch pikseli zapalonych(bit 1) lub zgaszonych(bit 0) wartość synapsy zwiększa się o wartość 1. W przeciwnym przypadku zmniejsza się o 1. Po wczytaniu paru obrazów wartości synaps (wag) łączących rózne neurony będą miały wartości zarówno dodatnie i ujemne i będą miały pamięć o wszystkich wczytanych obrazach. Etap II to rozpoznawanie zniekształconego obrazu który podany jest na wejście neuronów przy pomocy wyuczonych wag synaptycznych. Kod programu podany jest z objasnieniami które powinny ułatwić zrozumienie jego działania. Polecenie kompilacji: g++ -o neurony.exe neurony.cc 1 Kontenery tego typu zostały omówione w materiale dla OWK (Otwarte Warsztaty Komputerowe) pt. Programowanie w C++ z użyciem kontenerów - parę prostych przykładów programów i są dostępne poprzez adres jako plik pdf lab2 cz4.pdf. 3
4 Format polecenia:./neurony.exe PlikWEObrazek1 PlikWEObrazek2 PlikWE3 gdzie w tym przykładzie synapsy uczone są na podstawie tylko dwóch obrazków w pliku PlikWE- Obrazek1 i PlikWEObrazek2. Natomiast zniekształcony obraz to PlikWE3. Do tego materiału załączone są przykładowe pliki tekstowe z obrazkami. Są to: obraz1.txt, obraz2.txt i obraz3.txt a odpowiednie polecenie wykonania progamu ma postać:./neurony.exe obraz1.txt obraz2.txt obraz3.txt Po uruchomieniu otrzymamy wydrukowane na ekranie kolejne etapy rozpoznania rysunku w pliku obraz3.txt tj. przyporządkowanie go do obraz1.txt lub obraz2.txt. Wczytywane obrazki są narysowane w trybie tekstowym. 4
5 Rysunek 2: Pierwszy fragment wydruku na ekranie komputera. 5
6 Rysunek 3: Drugi fragment wydruku na ekranie komputera. Rozpoznanie zniekształconego obrazka nastapiło w kroku piątym. 6
7 Teraz przedstawimy kod programu neurony.cc. 1 // j e s t to wersja programu otwarta do m o d y f i k a c j i 2 // napisana jako m a t e r i a l pomocniczy d l a grup projektowych OWK. 3 // Tutaj wszystko j e s t w jednym p l i k u ( t j. c z e s c uczenia s i e s i e c i neuronowej 4 // i c z e s c rozpoznawania obrazu ). 5 //Program ma za zadanie pokazac t y l k o czy s i e c neuronowa d z i a l a 6 7 #include <iostream> 8 #include <s t r i n g > 9 #include <vector > 10 #include <c s t d l i b > 11 #include <fstream> using namespace std ; class neuron { 18 private : 19 int stan ; // aktywny : stan =1; nieaktywny : stan= 1 20 int sygnal ; 21 double x, y ; 22 double progsygnalu ; 23 public : 24 void WpiszStan ( int s ){ stan=s ; } 25 void WpiszPolozenia ( double xx, double yy ){ x=xx ; y=yy ; } 26 int PodajStan ( ) { return stan ; } 27 // double PodajX (){ return x ; } 28 // double PodajY (){ return y ; } } ; class synapsa { 34 private : 35 int s i l a b o n d ; 36 public : 37 void ResetSynapsy ( ) { s i l a b o n d =0;} 38 void WprowadzWartoscSynapsy ( int s ){ s i l a b o n d+=s ; } 39 int PodajWartoscSynapsy ( ) { return s i l a b o n d ; } 40 } ; typedef std : : vector <neuron > Komorki ; 44 Komorki Neur ; 45 typedef std : : vector <synapsa > Polaczenia ; 46 Polaczenia Synap ; void AlokujNeurony ( Komorki &Neur, int LLx, int LLy){ 50 int L=LLx LLy ; for ( int k=0; k<l ; k++) Neur. push back (new neuron ) ; 53 } void AlokujSynapsy ( P o l a c z e n i a &Synap, int LLx, int LLy){ 7
8 56 int LL=LLx LLy ; for ( int k=0; k<ll ; k++) Synap. push back (new synapsa ) ; 59 } void ResetujNeurony ( Komorki &Neur ){ 62 cout<<"reset neuronow... "<<endl ; 63 int L=Neur. s i z e ( ) ; 64 for ( int k=0;k<l ; k++) Neur [ k] >WpiszStan ( 1); 65 } void ResetujSynapsy ( P o l a c z e nia &Synap ){ 68 cout<<"reset synaps... "<<endl ; int L=Synap. s i z e ( ) ; 71 for ( int k=0;k<l ; k++) Synap [ k] >ResetSynapsy ( ) ; 72 } void WczytajParametryObrazka ( char nazwapliku, int &Lx, int &Ly){ 75 fstream WE; WE. open ( nazwapliku, i o s : : in ) ; 78 i f (WE. good()== f a l s e ){ 79 cout<<" Nie moge otworzyc pliku "<<nazwapliku<<e n d l ; 80 cout<<" Wychodze do systemu :("<<e n d l ; 81 e x i t ( 1 ) ; 82 } s t r i n g l i n i a ; 85 int dlug ; 86 Lx=0,Ly=0; // w a r t o s c i poczatkowe 87 // k t o r e zostana w y l i c z o n e z p l i k u z obrazkiem while (1){ 90 g e t l i n e (WE, l i n i a ) ; 91 i f (WE. e o f ( ) ) break ; dlug=l i n i a. s i z e ( ) ; 94 i f (Lx<dlug )Lx=dlug ; // l x przyjmuje wartosc maksymalna 95 // parametru d l u g 96 Ly++; // numeruje k o l e j n e l i n i e az do w a r t o s c i maksymalnej 97 } WE. c l o s e ( ) ; 101 } void WczytajObrazek ( Komorki &Neur, char nazwapliku ){ 104 fstream WE; WE. open ( nazwapliku, i o s : : in ) ; 107 i f (WE. good()== f a l s e ){ 108 cout<<" Nie moge otworzyc pliku "<<nazwapliku<<e n d l ; 109 cout<<" Wychodze do systemu :("<<e n d l ; 110 e x i t ( 1 ) ; 111 } 8
9 s t r i n g l i n i a ; 114 int dlug ; 115 int LICZNIK=0; 116 char znak ; while (1){ 119 g e t l i n e (WE, l i n i a ) ; 120 i f (WE. e o f ( ) ) break ; dlug=l i n i a. s i z e ( ) ; 123 for ( int k=0;k<dlug ; k++){ 124 znak=l i n i a [ k ] ; 125 i f ( znak== * ){ 126 Neur [ LICZNIK] >WpiszStan ( 1 ) ; 127 } LICZNIK++; } 132 } WE. c l o s e ( ) ; } void PokazStanyNeuronow ( Komorki &Neur, int Lx, int Ly){ 139 int j ; 140 int L=Neur. s i z e ( ) ; for ( int k=0;k<l ; k++){ 143 j=k%lx ; 144 i f ( Neur [ k] >PodajStan ()==1) cout<<"+" ; 145 else cout<<" " ; 146 i f ( j==lx 1) cout<<endl ; 147 } } void WczytajSynapsy ( Komorki &Neur, Polaczenia &Synap, int Lx, int Ly){ 152 int polacz =0; 153 int LL=Lx Ly ; 154 int i j ; for ( int i =0; i<ll ; i ++){ 157 for ( int j =0; j<ll ; j ++){ 158 i f ( i==j ) continue ; 159 i j=i LL+j ; 160 i f ( Neur [ i ] >PodajStan()== Neur [ j ] >PodajStan ( ) ) 161 Synap [ i j ] >WprowadzWartoscSynapsy ( 1 ) ; 162 else Synap [ i j ] >WprowadzWartoscSynapsy ( 1); 163 } 164 } 165 }
10 168 void WczytajDowolnyObrazek ( Komorki &Neur, char nazwapliku, int Lx, int Ly){ 169 fstream WE; WE. open ( nazwapliku, i o s : : in ) ; 172 i f (WE. good()== f a l s e ){ 173 cout<<" Nie moge otworzyc pliku "<<nazwapliku<<e n d l ; 174 cout<<" Wychodze do systemu :("<<e n d l ; 175 e x i t ( 1 ) ; 176 } s t r i n g l i n i a ; 179 int dlug ; 180 int LICZNIK=0; 181 char znak ; 182 int n u m e r l i n i i =0; while (1){ 185 g e t l i n e (WE, l i n i a ) ; 186 i f (WE. e o f ( ) ) break ; dlug=l i n i a. s i z e ( ) ; i f ( dlug>lx){ 191 cout<<" Wczytany obrazek jest obciety w linii "<<Lx Ly/LICZNIK<<e n d l ; 192 } for ( int k=0;k<dlug ; k++){ 195 i f ( k>=lx) continue ; // o b c i e c i e h o r y z o n t a l n e 196 znak=l i n i a [ k ] ; 197 i f ( znak== * ){ 198 Neur [ LICZNIK] >WpiszStan ( 1 ) ; 199 } LICZNIK++; } 204 n u m e r l i n i i ++; 205 i f ( n u m e r l i n i i >=Ly) break ; // o b c i e c i e w p i o n i e 206 } WE. c l o s e ( ) ; } int Rozpoznaj ( Komorki &Neur, P o laczenia &Synap, int Lx, int Ly){ int LL=Lx Ly ; 216 int i j ; 217 int i r a n d ; 218 int i t e r u j =0; 219 int s i l a ; // p o t e n c j a l aktywujacy neuron for ( int i =0; i<ll ; i ++){ 222 s i l a =0; // zerujemy d l a kazdego neuronu i 223 i r a n d =(int ) (LL ( rand ()/(1.0+RAND MAX) ) ) ; 10
11 for ( int j =0; j<ll ; j ++){ // wyliczamy s i l e od p o z o s t a l y c h neuronow 226 i f ( i r a n d==j ) continue ; 227 i j=i r a n d LL+j ; 228 s i l a+=neur [ j ] >PodajStan ( ) Synap [ i j ] >PodajWartoscSynapsy ( ) ; 229 } 230 i f ( s i l a <0) { 231 i f ( Neur [ i r a n d ] >PodajStan ()==1) i t e r u j =1; 232 Neur [ i r a n d ] >WpiszStan ( 1); 233 } 234 else { 235 i f ( Neur [ i r a n d ] >PodajStan()== 1) i t e r u j =1; 236 Neur [ i r a n d ] >WpiszStan ( 1 ) ; 237 } 238 } return i t e r u j ; 243 } int main ( int argc, char argv ){ 247 i f ( argc!= 4){ 248 cout<<" Poprawny format polecenia: "<<e n d l ; 249 cout<<argv [0] <<" PlikWEObrazek1 PlikWEObrazek2 PlikWE3"<<e n d l ; 250 return 0 ; 251 } / 254 ETAP I : NAUKA WZORCOW 255 / 256 cout<<endl<<endl<<" Siec neuronowa uczy sie wzorcow..."<<e n d l ; int Lx, Ly ; // rozmiar s i a t k i kwadratowej Lx x Ly wezlow 259 int Lx temp, Ly temp ; // p i e r w szy obrazek 262 WczytajParametryObrazka ( argv [ 1 ], Lx, Ly ) ; 263 Lx temp=lx ; Ly temp=ly ; // d r u g i obrazek 266 WczytajParametryObrazka ( argv [ 2 ], Lx, Ly ) ; 267 i f ( Lx temp!=lx Ly temp!=ly){ 268 cout<<" Rozne rozmiary siatki pikseli"<<e n d l ; 269 cout<<" Wychodze do systemu..."<<e n d l ; 270 e x i t ( 1 ) ; 271 } cout<<" Odczytane wartosci Lx="<<Lx<<"\t"<<" Ly="<<Ly<<e n d l ; 275 // alokujemy kontener Neur z neuronami 276 AlokujNeurony ( Neur, Lx, Ly ) ; // s i a t k a LxLy neuronow w kontenerze ; // alokujemy synapsy 279 AlokujSynapsy ( Synap, Lx Ly, Lx Ly ) ; // kontener z ( LxLy )ˆ2 synapsami 11
12 // Reset neuronow i synaps przed wczytaniem 1 obrazka 284 ResetujNeurony ( Neur ) ; 285 ResetujSynapsy ( Synap ) ; WczytajObrazek ( Neur, argv [ 1 ] ) ; // wczytanie 1 obrazka 288 WczytajSynapsy ( Neur, Synap, Lx, Ly ) ; 289 cout<<"obrazek 1:"<<endl ; 290 PokazStanyNeuronow ( Neur, Lx, Ly ) ; ResetujNeurony ( Neur ) ; // resetujemy neurony przed wczytaniem 2 obrazka 293 WczytajObrazek ( Neur, argv [ 2 ] ) ; // wczytanie 2 obrazka 294 WczytajSynapsy ( Neur, Synap, Lx, Ly ) ; // u z u p e l n i e n i e synaps drugim obrazkiem 295 cout<<"obrazek 2:"<<endl ; 296 PokazStanyNeuronow ( Neur, Lx, Ly ) ; / 299 ETAP I I : Czytanie sygnalu 300 / 301 //uwaga c a l a pamiec obrazkow j e s t w synapsach 302 //Wczytujemy t e r a z j a k i s inny obrazek k t o r y t r o c h e r o z n i s i e od jednego z wzorcow ResetujNeurony ( Neur ) ; // resetujemy neurony przed wczytaniem obrazka 305 WczytajDowolnyObrazek ( Neur, argv [ 3 ], Lx, Ly ) ; // wczytujemy obraz3 306 cout<<" Obrazek przeznaczony do rozpoznania:"<<e n d l ; 307 PokazStanyNeuronow ( Neur, Lx, Ly ) ; 308 / 309 ETAPU I I I : Rozpoznawanie sygnalu 310 / 311 int i t e r u j =1; 312 int krok =1; 313 while ( i t e r u j ){ 314 i t e r u j=rozpoznaj ( Neur, Synap, Lx, Ly ) ; cout<<" "<<endl ; 317 cout<<" Rozpoznanie - krok "<<krok<<e n d l ; PokazStanyNeuronow ( Neur, Lx, Ly ) ; 320 krok++; 321 } return 0 ; 325 } 12
Programowanie w C++ z użyciem kontenerów - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ
programowanie w C++ dla OWK Programowanie w C++ z użyciem kontenerów - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ 1 Streszczenie W tym rozdziale podamy kilka najprostszych
Biblioteka obiektowa C++ klasa string - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ
programowanie w C++ dla OWK Biblioteka obiektowa C++ klasa string - parę przykładów programów Opracowanie: dr hab. Mirosław R. Dudek, prof. UZ 1 Streszczenie W tym rozdziale podamy kilka najprostszych
Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia
Podstawy informatyki Elektrotechnika I rok Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia Katedra Energoelektroniki i Automatyki Systemów Przetwarzania Energii AGH Kraków 2017 Tematyka
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
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
Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;
Programowanie C++ Zadanie 1 Napisz program do obliczenia sumy i iloczynu ciągu liczb zakooczonego liczbą zero. Zakładamy, że ciąg zawiera co najmniej jedną liczbę (założenie to jest konieczne przy obliczeniu
1 Wskaźniki. 1.1 Główne zastosowania wskaźników
1 Wskaźniki Wskaźnik (ang. pointer) jest obiektem (zmienną) przechowującym adres pamięci. Definiowanie wskaźników: typ *nazwa wskaznika; np.: int *wsk na x;, double *xxx;, char *znak;. Aby można było pracować
Język C++ wykład VIII
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,
e-learning: Automaty komórkowe
0.1 Jednowymiarowe automaty komórkowe Przykłady programowania w C++ e-learning: Automaty komórkowe Mirosław Dudek dla Otwartych Warsztatów Komputerowych Streszczenie Celem tego krótkiego kursu jest pokazanie
Pytania sprawdzające wiedzę z programowania C++
Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?
Wstęp do Informatyki
Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 11 1 / 52 Pętla for # i n c l u d e
Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie
Algorytmika i programowanie Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Tablice Tablica jest zbiorem elementów tego samego typu. Każdy element jest identyfikowany (numer
Projektowanie klas c.d. Projektowanie klas przykład
Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej
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
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy
2.4 Dziedziczenie Poprzednie dwa rozdziały które dotyczyły zagadnienia automatów komórkowych na przykładach programów w C++. Mogłyby one sugerować że niekoniecznie trzeba programować obiektowo aby napisać
W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.
Wstęp do teorii sztucznej inteligencji Wykład III Modele sieci neuronowych. 1 Perceptron model najprostzszy przypomnienie Schemat neuronu opracowany przez McCullocha i Pittsa w 1943 roku. Przykład funkcji
Programowanie - wykład 4
Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include
Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
tablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica
Mechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy
i obiekty Programowanie i obiekty uzupełnienie notatek: dr Jerzy Białkowski i obiekty 1 2 3 4 i obiekty Obiektowość języka C++ Na tym wykładzie poznamy: ˆ Klasa (w języku C++ rozszerzenie struktury, typ
Programowanie i struktury danych
Programowanie i struktury danych 1 / 30 STL Standard Template Library, STL (ang. = Standardowa Biblioteka Wzorców) biblioteka C++ zawierająca szablony (wzorce), które umożliwiają wielokrotne użycie. Główne
// 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
Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33
Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata
MACIERZE Sobiesiak Łukasz Wilczyńska Małgorzata Podstawowe pojęcia dotyczące macierzy Nie bez przyczyny zaczynamy od pojęcia macierzy, które jest niezwykle przydatne we wszystkich zastosowaniach, obliczeniach
Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 5 Algorytmy i wskaźniki dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Plan Zapis i odczyt z plików tekstowych O tablicach ciąg dalszy Referencje
Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:
Wstęp do programowania
wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
TEMAT : KLASY POLIMORFIZM
TEMAT : KLASY POLIMORFIZM 1. Wprowadzenie do polimorfizmu i funkcji wirtualnych w języku C++ Język C++ zakłada, że w pewnych przypadkach uzasadnione jest tworzenie klas, których reprezentanci w programie
Operacje wejścia/wyjścia (odsłona druga) - pliki
Operacje wejścia/wyjścia (odsłona druga) - pliki Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały
Plik klasy. h deklaracje klas
Plik klasy. h deklaracje klas KLASY DLA PRZYKŁADÓW Z POLIMORFIZMEM enum dim r1 = 1, r2, r3; class figura public: static int const maxliczbafigur; = 100; static int liczbafigur; dim rn; rodzaj przestrzeni
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ęść
Metody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Wstęp do programowania
wykład 7 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
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. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include
Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus
Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 6 Katarzyna Grzelak kwiecień 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
Programowanie komputerowe. Zajęcia 4
Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości
Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119
Tablice Tablica to struktura danych, która może przechowywać wiele wartości tego samego typu. Na przykład tablica może zawierać: 10 wartości typu int opisujących liczbę studentów przyjętych na kierunek
Proste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31
Programowanie w C++ Wykład 8 Katarzyna Grzelak 7 maja 2018 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
3. Instrukcje warunkowe
. Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include
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
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
#include "stdafx.h" #include <iostream> #include "windows.h" using namespace std;
// W8_3.cpp : Defines the entry point for the console application. // Przeciazenie operatorow new, delete // Przeciazenie globalne: przeciazone operatory new, delete // dzialaja dla danych dowolnych //
Wyjątki (exceptions)
Instrukcja laboratoryjna nr 6 Programowanie w języku C 2 (C++ poziom zaawansowany) Wyjątki (exceptions) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp Wyjątki (ang.
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)
1 Pierwsze kroki w C++ cz.3 2 Obsługa plików
1 Pierwsze kroki w C++ cz.3 2 Obsługa plików Do pracy z plikami zewnętrznymi niezbędna będzie biblioteka fstream. Udostępnia ona programiście narzędzia do zapisu i odczytu plików. 2.1 Typ zmiennej fstream.
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ę
a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76
. p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować
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
Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)
1 Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną) Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,
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
Wprowadzenie do programowania i programowanie obiektowe
Wprowadzenie do programowania i programowanie obiektowe Wirtotechnologia Zajęcia nr 10 autor: Grzegorz Smyk Wydział Odlewnictwa Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza
Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne
Składnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Konstruktory i destruktory
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python.
Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python. Pliki z rozwiązaniami projektu (wszystkie polecenia
Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja
Opis zagadnieo 1-3 Iteracja, rekurencja i ich realizacja Iteracja Iteracja to czynnośd powtarzania (najczęściej wielokrotnego) tej samej instrukcji (albo wielu instrukcji) w pętli. Mianem iteracji określa
Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;
Sieci Hopfielda Najprostsze modele sieci z rekurencją sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga; Modele bardziej złoŝone: RTRN (Real Time Recurrent Network), przetwarzająca sygnały w czasie
Mechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Wstęp do programowania
wykład 10 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Przesyłanie argumentów - cd Przesyłanie argumentów do funkcji - tablice wielowymiarowe Przekazywanie tablic wielowymiarowych
Zadania z podstaw programowania obiektowego
Zadania z podstaw programowania obiektowego 1. Napisać klasę Lista, której zadaniem będzie przechowywanie listy liczb całkowitych. Klasa ta ma mieć następujące pola prywatne: int* liczby; tablica, w której
Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35
Programowanie w C++ Wykład 3 Katarzyna Grzelak 12 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35 Zakres ważności obiektów K.Grzelak (Wykład 1) Programowanie w C++ 2 / 35 Zakres ważności obiektów
Wstęp do programowania
wykład 3 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Instrukcja wielokrotnego wyboru Instrukcja wielokrotnego wyboru switch umożliwia podejmowanie decyzji na podstawie wartości
Zmienne i struktury dynamiczne
Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest
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,
> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki
> C++ dynamiczna alokacja/rezerwacja/przydział pamięci Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 1429536600 > Dzisiejsze zajęcia sponsorują słówka: new oraz delete
Listy powiązane zorientowane obiektowo
Listy powiązane zorientowane obiektowo Aby zilustrować potęgę polimorfizmu, przeanalizujmy zorientowaną obiektowo listę powiązaną. Jak zapewne wiesz, lista powiązana jest strukturą danych, zaprojektowaną
Rekurencja. Przygotowała: Agnieszka Reiter
Rekurencja Przygotowała: Agnieszka Reiter Definicja Charakterystyczną cechą funkcji (procedury) rekurencyjnej jest to, że wywołuje ona samą siebie. Drugą cechą rekursji jest jej dziedzina, którą mogą być
Rozpoznawanie obrazu. Teraz opiszemy jak działa robot.
Rozpoznawanie obrazu Implementujesz oprogramowanie do rozpoznawania obrazu dla robota. Za każdym razem, gdy robot robi zdjęcie kamerą, jest ono zapisywane jako czarno-biały obraz w pamięci robota. Każdy
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 ======================================================================================================
Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:
Wskaźniki są nieodłącznym elementem języka C. W języku C++ także są przydatne i korzystanie z nich ułatwia pracę, jednak w odróżnieniu do C wiele rzeczy da się osiągnąć bez ich użycia. Poprawne operowanie
Wykład 5_2 Algorytm ograniczania liczby serii za pomocą kopcowego rozdzielania serii początkowych
Wykład 5_2 Algorytm ograniczania liczby serii za pomocą kopcowego rozdzielania serii początkowych Założenia: 1. Pamięć wewnętrzna ma ograniczone rozmiary 2. Pamięć zewnętrzna ma rozmiary nieograniczone
Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw
Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej
W języku C/C++ pomiędzy wskaźnikami a tablicami istnieje bardzo ścisły związek. Do onumerowania elementów w tablicy służą tzw. INDEKSY.
LEKCJA 12. Wskaźniki i tablice w C i C++. W czasie tej lekcji: 1. Dowiesz się więcej o zastosowaniu wskaźników. 2. Zrozumiesz, co mają wspólnego wskaźniki i tablice w języku C/C++. WSKAŹNIKI I TABLICE
Pliki wykład 2. Dorota Pylak
Pliki wykład 2 Dorota Pylak Struktura programu działającego na plikach 1) Dyrektywa preprocesora #include //zapewnia dostęp do strumieni ifstream i ofstream 2) deklaracja zmiennej (strumienia)
Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.
Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe. zajecia.jakubw.pl/nai Literatura: S. Osowski, Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 997. PODSTAWOWE ZAGADNIENIA TECHNICZNE AI
Wzorce funkcji (szablony)
Wzorce funkcji (szablony) Wzorce funkcji (ang. function template) dają możliwość wielokrotnego wykorzystywania tego samego kodu funkcji dla różnych typów danych. Załóżmy, że chcemy zdefiniować funkcję
Podstawy języka skryptowego Lua
Podstawy języka skryptowego Lua Wykorzystanie Lua w C++ Krzysztof Rossa - digiboy rbox_usuń_@o2.pl 2007-07-29 Kontakt z autorem: rbox_usun_@o2.pl Zawartość Wstęp... 3 Po co używamy skryptów?... 3 Przygotowanie
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
Programowanie obiektowe W3
Programowanie obiektowe W3 Przegląd typów strukturalnych w C++ : tablice statyczne i dynamiczne Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Typy złożone: tablice
Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu
Literatura Wykład : Wprowadzenie do sztucznych sieci neuronowych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Tadeusiewicz R: Sieci neuronowe, Akademicka Oficyna Wydawnicza RM, Warszawa
wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i
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
Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok
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
Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane
Programowanie proceduralne w języku C++ Pętle, tablice
Programowanie proceduralne w języku C++ Pętle, tablice Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Laboratorium 5: Tablice. Wyszukiwanie binarne
Wojciech Myszka Laboratorium 5: Tablice. Wyszukiwanie binarne 2016-05-07 09:02:17 +0200 1. Tablice Do tej pory nie było potrzeby odwoływać się do zmiennych złożonych. Programy były bardzo proste i korzystały
typ y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury
typy złożone- tablice wielowymiarowe, struktury Wykład 6 Deklarowanie wskaźników nazwa_typu * nazwa_wskaznika; WSKAŹNIKI: PRZYPOMNIENIE Przypisywanie wskaźnikom wartości double * pn = &zmienna_typu_double;
Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.
Przygotować program tworzący tablicę dwuwymiarową zawierającą zestawy 10 2, 10 4, 10 6 liczb losowych zmiennoprzecinkowych. Korzystając z funkcji bibliotecznych uporządkować zawartość każdego (a) wiersza