Programowanie Procedurale
|
|
- Amalia Zielińska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Programowanie Procedurale Bożena Woźna-Szcześniak Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 1 / 27
2 Zbiór ctime zawiera deklarcję funkcji clock() i typu clock_t Funkcja clock() zwraca czas systemowy, który upłyna od chwili uruchomienia programu. Uwaga!!! clock() niekoniecznie musi zwracać czas w sekundach. Wartość funkcji może być albo typu long albo unsigned long, albo jeszcze innym. Rozwiazaniem powyższych problemów jest stała CLOCKS_PER_SEC zdefiniowana w ctime. Jej wartościa jest liczba systemowych jednostek czasu na sekundę. Zatem dzielac czas systemowy przez tę stała, otrzymujemy liczbe sekund. Można też pomnożyć sekundy przez tę stała, aby uzyskać czas w jednostkach systemowych. Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 2 / 27
3 waiting.cpp #include <iostream> #include <ctime> int main(){ using namespace std; cout << "Podaj czas opóźnienia w sekundach: "; float secs; cin >> secs; // konwersja na jednostki zegara clock_t delay = secs * CLOCKS_PER_SEC; cout << "zaczynamy\a\n"; clock_t start = clock(); while (clock() - start < delay ); cout << "gotowe \a\n"; return 0; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 3 / 27
4 Sortowanie babelkowe. Mierzenie czasu wykonania programu. #include <iostream> #include <ctime> #include <cstdlib> using namespace std; void swap(long a[], int i, int j); void showarr(long const a[], int n); void fillarr(long a[], int n, long maxvalue); void bubblesort(long a[], int n); Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 4 / 27
5 Sortowanie babelkowe. Mierzenie czasu wykonania programu. int main(){ cout <<"Podaj rozmiar tablicy: "; int n; cin >> n; long* a = new long[n]; if (a == 0) { cout << "Brak pamieci\n"; return 1; fillarr(a, n, 100); cout <<"\ntablica po wypelnieniu pseudolosowymi wartosciami\n"; showarr(a, n); clock_t start = clock(); bubblesort(a, n); clock_t koniec = clock(); clock_t czas_w_sek =(koniec-start) / CLOCKS_PER_SEC; cout <<"Tablica po posortowaniu\n"; showarr(a, n); cout <<"\n Sortowanie zajęło: " << czas_w_sek << endl; delete [] a; return 0; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 5 / 27
6 Sortowanie babelkowe. Mierzenie czasu wykonania programu. void swap(long a[], int i, int j) { long tmp = a[i]; a[i] = a[j]; a[j] = tmp; void bubblesort(long a[], int n) { for (int i = n - 1; i > 1; --i) { for (int j = 0; j < i; ++j) { if (a[j] > a[j + 1]) { swap(a, j, j + 1); // bubblesort() Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 6 / 27
7 Sortowanie babelkowe. Mierzenie czasu wykonania programu. void showarr(long const a[], int n) { for (int k = 0; k < n; k++) { cout << a[k] << "\t"; cout << endl; void fillarr(long a[], int n, long maxvalue) { srand(time(0)); for (int k = 0; k < n; ++k) { a[k] = rand() % maxvalue + 1; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 7 / 27
8 Deklaracja statycznych tablic dwuwymiarowych: int A[10][5]; double B[2][4]; char C[4][6]; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 8 / 27
9 Inicjalizacje: A[0][0] = 10; B[1][2] = 3.2; C[3][3] = a ; Deklaracja poła czona z inicjalizacja int A[3][2]={ {1,2, {3,4, {5,6 ; double B[2][3]={ {1.2,1.2,1.2,{3.4,3.4,3.4; double C[2][4]={ {1.2, {3.4 ; double D[2][4]={ {1.2 ; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 9 / 27
10 Przykład - w3-00.cpp #include <iostream> #include <cstdlib> using namespace std; void read (int [100][100], int, int); void write (int [][100], int, int); int main (){ int A[100][100]; read(a,6,6); write(a,6,6); return 0; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 10 / 27
11 Przykład - w3-00.cpp void read (int A[100][100], int w, int k) { srand(time(0)); for(int i=0; i<w; i++) for(int j=0; j<k; j++) A[i][j]=rand()%10; void write (int A[][100], int w, int k) { for(int i=0; i<w; i++){ for(int j=0; j<k; j++){ cout << "[" << i << "][" << j << "] = " << A[i][j] << " "; cout << endl; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 11 / 27
12 Efekt wykonania w3-00.cpp [0][0] = 9 [0][1] = 5 [0][2] = 5 [0][3] = 1 [0][4] = 2 [0][5] = 0 [1][0] = 7 [1][1] = 7 [1][2] = 7 [1][3] = 2 [1][4] = 2 [1][5] = 0 [2][0] = 1 [2][1] = 5 [2][2] = 3 [2][3] = 8 [2][4] = 1 [2][5] = 5 [3][0] = 7 [3][1] = 3 [3][2] = 4 [3][3] = 5 [3][4] = 4 [3][5] = 6 [4][0] = 7 [4][1] = 3 [4][2] = 8 [4][3] = 6 [4][4] = 5 [4][5] = 5 [5][0] = 4 [5][1] = 5 [5][2] = 0 [5][3] = 0 [5][4] = 8 [5][5] = 2 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 12 / 27
13 Przykład - w3-01.cpp #include <iostream> #include <cstdlib> using namespace std; //definicje jak w w3-00.cpp void read (int [100][100], int, int); void write (int [][100], int, int); int main (){ int A[10][10]; read(a,10,10); write(a,10,10); return 0; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 13 / 27
14 Efekt wykonania w3-01.cpp w3-01.cpp: In function int main() : w3-01.cpp:10:15: error: invalid conversion from int (*)[10] to int [-fpermissive] /usr/include/unistd.h:357:16: error: initializing argument 1 of ssize_t read(int, void*, size_t) [-fpermissive] w3-01.cpp:10:15: error: invalid conversion from int to void* [-fpermissive] /usr/include/unistd.h:357:16: error: initializing argument 2 of ssize_t read(int, void*, size_t) [-fpermissive] w3-01.cpp:11:16: error: invalid conversion from int (*)[10] to int [-fpermissive] /usr/include/unistd.h:363:16: error: initializing argument 1 of ssize_t write(int, const void*, size_t) [-fpermissive] w3-01.cpp:11:16: error: invalid conversion from int to const void* [-fpermissive] /usr/include/unistd.h:363:16: error: initializing argument 2 of ssize_t write(int, const void*, size_t) [-fpermissive] Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 14 / 27
15 typedef long T; T* a[100]; // a jest tablica 100 wskaźników do T double* b[100]; // b jest tablica 100 wskaźników do double char* weekdays[] = { niedziela, poniedziałek, wtorek, środa, czwartek, piątek, sobota ; /* weekdays jest tablica wskaźników do char zainicjalizowana wskaznikami do podanych napisów */ Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 15 / 27
16 Następuja ce deklaracje funkcji sa równoważne void func(t* a[], int n); void func(t** a, int n); Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 16 / 27
17 Przykład - w3-02.cpp #include <iostream> #include <cstdlib> using namespace std; void read (int* [], int, int); void write (int* [], int, int); int main (){ int* B[5]; for(int i=0; i < 5; i++) B[i]= new int[5]; read(b,5,5); write(b,5,5); for(int i=0; i < 5; i++) delete [] B[i]; return 0; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 17 / 27
18 Przykład - w3-02.cpp void read (int* A[], int w, int k) { srand(time(0)); for(int i=0; i<w; i++) for(int j=0; j<k; j++) A[i][j]=rand()%10; void write (int* A[], int w, int k) { for(int i=0; i<w; i++){ for(int j=0; j<k; j++){ cout << "[" << i << "][" << j << "] = " << A[i][j] << " "; printf("\n"); Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 18 / 27
19 Efekt wykonania w3-02.cpp [0][0] = 3 [0][1] = 6 [0][2] = 8 [0][3] = 1 [0][4] = 2 [1][0] = 4 [1][1] = 7 [1][2] = 1 [1][3] = 6 [1][4] = 1 [2][0] = 4 [2][1] = 6 [2][2] = 0 [2][3] = 3 [2][4] = 1 [3][0] = 6 [3][1] = 7 [3][2] = 4 [3][3] = 2 [3][4] = 8 [4][0] = 3 [4][1] = 7 [4][2] = 4 [4][3] = 3 [4][4] = 3 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 19 / 27
20 Przykład - w3-03.cpp #include <iostream> int main() { using namespace std; cout<< "Podaj rozmiar tablicy: "; int n; cin>>n; double **a = new double* [n]; for(int i=0; i<n; i++) a[i] = new double [n]; for(int i=0; i<n; i++) for(int j=0; j<n; j++) a[i][j] = i+j; for(int i=0; i<n; i++){ for(int j=0; j<n; j++) cout<< a[i][j] <<"\t"; cout<<endl; cout<<endl; for(int i=0; i<n; i++) delete [] a[i]; delete [] a; return 0; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 20 / 27
21 Przykład - w3-04.cpp #include <iostream> #include <cstdlib> #include <iomanip> using namespace std; typedef long long T; T** creatematrix(int raws, int cols); void destroymatrix(t**, int raws); void initmatrix(t**, int raws, int cols, T maxvalue); void showmatrix(t**, int raws, int cols); int main() { cout<< "Podaj rozmiar tablicy: "; int n; cin>>n; T **a = creatematrix(n,n); initmatrix(a,n,n,20); showmatrix(a,n,n); destroymatrix(a,n); return 0; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 21 / 27
22 Przykład - w3-04.cpp T** creatematrix(int raws, int cols) { T** a = new T*[raws]; if (a == 0) { return NULL; for (int i = 0; i < raws; ++i) { a[i] = new T[cols]; if (a[i]==0) { return NULL; return a; void destroymatrix(t** a, int raws) { for (int i = 0; i < raws; ++i) { delete [] a[i]; delete [] a; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 22 / 27
23 Przykład - w3-04.cpp void initmatrix(t** a, int raws, int cols, T maxvalue) { srand(time(0)); for (int i = 0; i < raws; ++i) { for (int j = 0; j < cols; ++j) { a[i][j] = rand() % maxvalue; void showmatrix(t** a, int raws, int cols) { for (int i = 0; i < raws; ++i) { for (int j = 0; j < cols; ++j) { cout << setw(4) << a[i][j] << " "; cout << endl; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 23 / 27
24 Efekt wykonania w3-04.cpp Podaj rozmiar tablicy: Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 24 / 27
25 Referencja to alternatywna nazwa uprzednio zdefiniowanej zmiennej. Zmienna referencyjna musi zostać zainicjalizowana. #include <iostream> #include <iomanip> using namespace std; int main(void) { int wysokosc = 10; int &h = wysokosc; h += 10; cout << "h = " << h << ", wysokosc = " << wysokosc << endl; cout << "adres h: " << &h << ", adres wys.: "<< &wysokosc << endl; int *wsk = &h; cout << "*wsk = " << *wsk << ", wsk: " << wsk << endl; return 0; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 25 / 27
26 rats = 101, rodents = 101 adres rats = 0x7fffc20ced4c, adres rodents = 0x7fffc20ced4c bunnies = 50, rats = 50, rodents = 50 adres bunnies = 0x7fffc20ced48, adres rodents = 0x7fffc20ced4c Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 26 / 27
27 #include <iostream> void swapr(int & a, int & b); // a, b to aliasy wartosci int void swapp(int * p, int * q); // p, q to adresy wartosci int void swapv(int a, int b); // a, b to nowe zmienne int main() { using namespace std; int w1 = 300, w2 = 350; cout << "w1 = $" << w1 << " w2 = $" << w2 << endl; cout << "Zamiana wartosci za pomoca referencji:\n"; swapr(w1, w2); // przekaz zmienne cout << "w1 = $" << w1 << " w2 = $" << w2 << endl; cout << "Zamiana wartosci za pomoca wskazników:\n"; swapp(&w1, &w2); // przekaz adresy zmiennych cout << "w1 = $" << w1 << " w2 = $" << w2 << endl; cout << "Proba zamiany przy przekazywaniu przez wartosc:\n"; swapv(w1, w2); // przekazanie wartosci zmiennych cout << "w1 = $" << w1 << " w2 = $" << w2 << endl; return 0; void swapr(int & a, int & b){int temp=a; a=b; b=temp; void swapp(int * p, int * q){int temp=*p; *p=*q; *q=temp; void swapv(int a, int b){int temp=a; a=b; b=temp; Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 27 / 27
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
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
Programowanie Proceduralne
Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Programowanie Proceduralne Wykład 1 1 / 59 Cel wykładów z programowania
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
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
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;
Alokacja pamięci dla tablicy dwuwymiarowej
Alokacja pamięci dla tablicy dwuwymiarowej struktura tablicy float a[3][4]; /* rezerwacja 3*4 elementów typu float */ a - adres początku dwuwymiarowej tablicy a[0] - adres początku pierwszej tablicy składowej
Techniki Programowania wskaźniki 2
Techniki Programowania wskaźniki 2 Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Jeżeli wskaźnik pokazuje na element
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
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 5 1 SPECYFIKATOR const Specyfikator (przydomek) const: Umieszczenie przed nazwą zmiennej specyfikatora const w jej definicji informuje kompilator,
Wskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny:
Wskaźniki nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny: typ nw; /* definicja zmiennej nw typu typ */ typ *w_nw; /* definicja
Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne
1 Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,
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
Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje
Podstawy informatyki Informatyka stosowana - studia niestacjonarne - Zajęcia nr 4 Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w
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
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 1 Literatura Literatura podstawowa: Prata Stephen. Szkoła programowania. Język C++. Wydanie V. Helion,
Podstawy algorytmiki i programowania - wykład 1 Tablice powtórzenie Tablice znaków Tablice dwuwymiarowe
Podstawy algorytmiki i programowania - wykład 1 Tablice powtórzenie Tablice znaków Tablice dwuwymiarowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie
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
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
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
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)
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
Programowanie Procedurale. Pliki w języku C++
Programowanie Procedurale. Pliki w języku C++ Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale. Pliki w języku C++
// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.
Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy
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
Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest
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ęść
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
Podstawy algorytmiki i programowania - wykład 6 Sortowanie- algorytmy
1 Podstawy algorytmiki i programowania - wykład 6 Sortowanie- algorytmy Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com
Wstęp do informatyki- wykład 9 Pętla while, do while,for -pętla w pętli- przykłady Funkcje
1 Wstęp do informatyki- wykład 9 Pętla while, do while,for -pętla w pętli- przykłady Funkcje Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,
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
Języki programowania - podstawy
Języki programowania - podstawy Andrzej Dudek Wydział Techniczno Informatyczny W Jeleniej Górze Dudek A. Informatyka przemysłowa tendencje i wyzwania 26.10.2015 1 /24 Algorytm określony sposób rozwiązania
Programowanie Proceduralne
Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami
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
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:
Operacje wejścia/wyjścia odsłona pierwsza
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 do wykładu na temat programowania obiektowego.
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 programowania
wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.
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 języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
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
DYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
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
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
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
Wprowadzenie do szablonów klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy
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
Techniki Programowania wskaźniki
Techniki Programowania wskaźniki Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Wskaźniki Dla typu T zapis T* oznacza
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 4 Funkcje przeciażone - Idea Przeciażanie funkcji (polimorfizm funkcji), to kolejna nowość w języku
Tablice są typem pochodnym. Poniżej mamy przykłady deklaracji różnych tablic:
Tablice TEORIA Tablica to ciąg obiektów tego samego typu, które zajmują ciągły obszar w pamięci. Dzięki stosowaniu tablic, zamiast nazywania każdej z np. stu zmiennych osobno możemy zabudować tablicę 100-elementową,
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
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
ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty
Wykład. Materiały bazują częściowo na slajdach Marata Dukhana
Wykład Materiały bazują częściowo na slajdach Marata Dukhana Języki programowania Kompilowane np. C, C++, Pascal Interpretowane np. JavaScript, PHP, Python, VBA Pośrednie np. Java, C# Znane kompilatory
Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory
1 Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.
KURS C/C++ WYKŁAD 8. Deklaracja funkcji informuje komplilator jaką wartość funkcja będzie zwracała i jakiego typu są jej argumenty.
Funkcje. Deklaracja funkcji: KURS C/C++ WYKŁAD 8 #include //deklaracje funkcji: printf(...), scanf(...) #include //double sqrt (double ) #include //void clrscr (void) void main
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
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
Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:
Program przedmiotu Programowanie Obiektowe (język C++) Wykład 1. Definiowanie prostych klas. Przykłady. Przypomnienie: typy referencyjne, domyślne wartości argumentów, przeciąŝanie funkcji. Konstruktory,
Programowanie obiektowe w C++ Wykład 1
Programowanie obiektowe w C++ Wykład 1 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) POwCPP 1 / 24 Literatura Prata Stephen, Szkoła programowania. Język C++. Wydawnictwo Helion,
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
Programowanie i struktury danych
Programowanie i struktury danych 1 / 19 Dynamiczne struktury danych Dynamiczną strukturą danych nazywamy taka strukturę danych, której rozmiar, a więc liczba przechowywanych w niej danych, może się dowolnie
Wstęp do informatyki- wykład 11 Funkcje
1 Wstęp do informatyki- wykład 11 Funkcje Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz, Opus magnum
Programowanie Proceduralne
Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Wskaźniki i tablice int a[10], b[10]; int* c; c = &a[0]; // c wskazuje na pierwszy element tablicy
Wstęp do informatyki- wykład 9 Funkcje
1 Wstęp do informatyki- wykład 9 Funkcje Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz, Opus magnum
Wstęp do programowania 1
Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short
Kontrola przebiegu programu
Kontrola przebiegu programu Wykład 9 Instrukcje sterujące: pętle rozgałęzienia skoki PRZYPOMINAJKA Zadanie : Zaprojektuj rekurencyjny przepis na wyznaczenie największej takiej liczby m, że 2 m jest podzielnikiem
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 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,
Informacja o programowaniu w c++ Dr Maciej Bobrowski
Informacja o programowaniu w c++ Dr Maciej Bobrowski mate@mif.pg.gda.pl 27 kwietnia 2016 CZEGO NAM NA POTRZEBA Napisanie programu: Edytor, na przykład: vi, vim, joe, xedit, pico, notatnik (na przykład
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
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ć
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 w C++ Wykład 4. Katarzyna Grzelak. 19 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37
Programowanie w C++ Wykład 4 Katarzyna Grzelak 19 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37 Funkcje cd K.Grzelak (Wykład 1) Programowanie w C++ 2 / 37 Funkcja powtórzenie Funkcje == podprogramy
ECLIPSE wnioski z dwóch pierwszych laboratoriów
PODSTAWY PROGRAMOWANIA 3-4 WYKŁAD 22-10-2015 ECLIPSE wnioski z dwóch pierwszych laboratoriów Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową)
Programowanie obiektowe w C++ Wykład 12
Programowanie obiektowe w C++ Wykład 12 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) 1 / 22 Zakresowe pętle for double tab[5] {1.12,2.23,3.33,4.12,5.22 for(double x: tab)
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 2 Stałe całkowite inne niż dziesiętne Stałe ósemkowe Stałe szesnastkowe Aby wskazać czy dane maj a
O podstawowych operacjach na tablicach. Mateusz Ziółkowski, MBiU II
Wykład Ⅴ O podstawowych operacjach na tablicach Mateusz Ziółkowski, MBiU II Czym są tablice? Tablica (ang. array) to zespół równorzędnych zmiennych, posiadających wspólną nazwę. Jego poszczególne elementy
main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!
Funkcja wysoce niezależny blok definicji i instrukcji programu (podprogram) Każdy program napisany w języku C/C++ zawiera przynajmniej jedną funkcję o predefiniowanej nazwie: main( ). Najczęściej wykorzystuje
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 8 Przykład realizowany na wykładzie Klasy StringBad i String. Wstępne pliki załaczone jako źródła.
Programowanie Proceduralne
Programowanie Proceduralne Unie, typdef, opeartory bitowe, operator przecinkowy Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Definicja Unia (ang. union) jest typem,
Wstęp do programowania obiektowego, wykład 7
Wstęp do programowania obiektowego, wykład 7 Klasy i funkcje abstrakcyjne Przeciążanie funkcji Definiowanie i interpretacja złożonych typów danych w C++ Wskaźniki do funkcji 1 KLASA ABSTRAKCYJNA 2 Klasa
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ć
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
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 algorytmiki i programowania - wykład 5 C-struktury cd.
1 Podstawy algorytmiki i programowania - wykład 5 C-struktury cd. Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com
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
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
Programowanie 2. Język C++. Wykład 3.
3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane
Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };
Program 22 Zadeklarować strukturę Osoba przechowującą dane osoby: imię, nazwisko (ciągi znaków), płeć (pojedynczy znak) oraz rok urodzenia (liczba całkowita). Napisać następujące funkcje: funkcje pobierającą
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami
1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.
Programowanie obiektowe język C++
Programowanie obiektowe język C++ Dr inż. Sławomir Samolej D108A, tel: 865 1486, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Podziękowanie: Chcę podziękować dr inż.. Grzegorzowi Hałdasiowi
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
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
Przeciążenie (przeładowanie nazw) funkcji
Przeciążenie (przeładowanie nazw) funkcji dla większości języków (w tym C) zasada w programie może być tylko jedna funkcja o danej nazwie kompilator C++ - dopuszcza więcej niż jedną funkcję o tej samej
Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.
- - uzupełnienie notatek: dr Jerzy Białkowski - - 1-2 - - - 1 #include 2 #include 3 # include 4 using namespace std ; 5 6 class Punkt { 7 8 private : 9 double
Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006)
Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006) Część 1. Teoria Wyjaśnij pojęcia, podaj przykład: klasa obiekt konstruktor destruktor kapsułkowanie (hermetyzacja) wskaźnik this
12. Rekurencja. UWAGA Trzeba bardzo dokładnie ustalić <warunek>, żeby mieć pewność, że ciąg wywołań się zakończy.
12. Rekurencja. Funkcja rekurencyjna funkcja, która wywołuje samą siebie. Naturalne postępowanie: np. zbierając rozsypane pionki do gry podnosi się zwykle pierwszy, a potem zbiera się resztę w ten sam
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
Program 14. #include <iostream> #include <ctime> using namespace std;
Program 14 Napisać: * funkcję słuŝącą do losowego wypełniania tablicy liczbami całkowitymi z podanego zakresu (*). Parametrami funkcji mają być tablica, jej długość oraz dwie liczby stanowiące krańce przedziału