Wstęp do programowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Wstęp do programowania"

Transkrypt

1 wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018

2 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji rand z biblioteki cstdlib (standardowej bilblioteki języka C) w C++ (od standardu C++11) dostępna jest biblioteka random umożliwiająca bardziej zaawansowane losowanie, np. z wyborem rozkładu prawdopodobieństwa (szczegółowy opis można znaleźć np. pod adresem org/jtc1/sc22/wg21/docs/papers/2013/n3551.pdf)

3 Losowanie za pomocą funkcji z biblioteki cstdlib należy dołączyć do programu bibliotekę cstdlib funkcja rand generuje (pseudo)losową liczbę całkowitą z przedziału [0, RAND MAX ] (gdzie RAND MAX jest stałą zależną od implementacji), Sposób użycia: int liczba = std::rand() aby zapewnić generowanie różnych liczb podczas kolejnych wykonań programu, należy przed pierwszym losowaniem zainicjalizować generator liczbą która przy każdym uruchomieniu programu będzie inna - np. bieżącą wartością zegara komputera w tym celu dołączmy do programu bibliotekę ctime a następnie inicjalizujemy generator bieżącym czasem, tj. wartością liczbową zwróconą przez funkcję time: srand (time (NULL))

4 Przykład (Program generujący 10 liczb całkowitych) # include < iostream > # include < ctime > # include < cstdlib > using namespace std ; int main () { srand ( time ( NULL )); // jednokrotnie przed rozpoczeciem losowania! } for ( int i =0; i <10; i ++) cout << rand () << " "; return 0;

5 Losowanie liczb całkowitych z określonego przedziału Chcąc uzyskać wartości losowe z określonego przedziału, używamy tej samej funkcji rand, ale każdą z uzyskanych wartości sprowadzamy do wartości z żądanego przedziału. sposób sprowadzenia: obliczamy resztę z dzielenia wylosowanej liczby przez długość żądanego przedziału (inaczej: ilość wartości w tym przedziale), a następnie do wyniku dodajemy liczbę stanowiącą początek przedziału: int liczba = (std::rand() % długość przedziału) + początek przedziału

6 Przykład (Losowanie 10 liczb całkowitych z przedziału [1,20] ) # include < iostream > # include < cstdlib > # include < ctime > using namespace std ; int main () { int DP = 20, PP = 1; // dlugosc przedzialu = 20, poczatek przedzialu = 1 int liczba ; srand ( time ( NULL ) ); // jednokrotnie!!! for ( int i =1; i <=10; i ++) { liczba = ( rand () % DP) + PP; cout << liczba << endl ; } } return 0;

7 Losowanie liczb rzeczywistych dostępne biblioteki nie oferują funkcji generującej losowe wartości rzeczywiste losowe liczby rzeczywiste można uzyskać np. dzieląc losową liczbę całkowitą przez RAND MAX, dzieląc przez siebie dwie losowe liczby całkowite itp

8 Przykład (Losowanie liczb rzeczywistych ) # include < iostream > # include < cstdlib > # include < ctime > using namespace std ; int main () { double liczba ; srand ( time ( NULL ) ); for ( int i =1; i <=10; i ++) { liczba = ( rand () %10) + rand ()/ double ( RAND_MAX ); cout << liczba << endl ; } } return 0;

9 Zadanie 1 Napisać program pobierający od użytkownika tablicę liczb całkowitych o podanej przez niego długości (lub generujący zawartość takiej tablicy), a następnie wypisujący informację czy tablica zawiera dwa sąsiadujące z sobą elementy dodatnie.

10 algorytm sprawdzania czy w tablicy są obok siebie dwie liczby dodatnie:

11 algorytm sprawdzania czy w tablicy są obok siebie dwie liczby dodatnie: sprawdzamy pary sąsiednich elementów - pierwszy i drugi, drugi i trzeci itd,

12 algorytm sprawdzania czy w tablicy są obok siebie dwie liczby dodatnie: sprawdzamy pary sąsiednich elementów - pierwszy i drugi, drugi i trzeci itd, czyli i-ty i i+1-szy

13 algorytm sprawdzania czy w tablicy są obok siebie dwie liczby dodatnie: sprawdzamy pary sąsiednich elementów - pierwszy i drugi, drugi i trzeci itd, czyli i-ty i i+1-szy - czyli aby nie wyjść poza tablicę musimy zakończyć sprawdzanie na parze dla której i jest przedostatnim indeksem tablicy

14 algorytm sprawdzania czy w tablicy są obok siebie dwie liczby dodatnie: sprawdzamy pary sąsiednich elementów - pierwszy i drugi, drugi i trzeci itd, czyli i-ty i i+1-szy - czyli aby nie wyjść poza tablicę musimy zakończyć sprawdzanie na parze dla której i jest przedostatnim indeksem tablicy jeśli obie liczby w sprawdzanej parze są dodatnie, to znaczy że tablica zawiera to czego szukamy - możemy przerwać szukanie i udzielić odpowiedzi tak, w tablicy sąsiadują z sobą dwie liczby dodatnie

15 algorytm sprawdzania czy w tablicy są obok siebie dwie liczby dodatnie: sprawdzamy pary sąsiednich elementów - pierwszy i drugi, drugi i trzeci itd, czyli i-ty i i+1-szy - czyli aby nie wyjść poza tablicę musimy zakończyć sprawdzanie na parze dla której i jest przedostatnim indeksem tablicy jeśli obie liczby w sprawdzanej parze są dodatnie, to znaczy że tablica zawiera to czego szukamy - możemy przerwać szukanie i udzielić odpowiedzi tak, w tablicy sąsiadują z sobą dwie liczby dodatnie odpowiedzi w tablicy nie ma obok siebie dwóch liczb dodatnich możemy udzielić dopiero po sprawdzeniu całej tablicy, jeśli nie znaleźliśmy w niej odpowiedniej pary

16 algorytm sprawdzania czy w tablicy są obok siebie dwie liczby dodatnie: sprawdzamy pary sąsiednich elementów - pierwszy i drugi, drugi i trzeci itd, czyli i-ty i i+1-szy - czyli aby nie wyjść poza tablicę musimy zakończyć sprawdzanie na parze dla której i jest przedostatnim indeksem tablicy jeśli obie liczby w sprawdzanej parze są dodatnie, to znaczy że tablica zawiera to czego szukamy - możemy przerwać szukanie i udzielić odpowiedzi tak, w tablicy sąsiadują z sobą dwie liczby dodatnie odpowiedzi w tablicy nie ma obok siebie dwóch liczb dodatnich możemy udzielić dopiero po sprawdzeniu całej tablicy, jeśli nie znaleźliśmy w niej odpowiedniej pary czyli jest to algorytm z poglądem. Pogląd na to czy były liczby na początku musi być nie było pary (false) [bo taki pogląd ma nam pozostać jeśli nic się nie wydarzy, tzn. przeglądając tablicę nie zobaczymy pary liczb dodatnich], znalezienie odpowiedniej pary zmienia go na była para (true).

17 Przykład (Rozwiązanie zad. 1) # include <iostream > # include <cstdlib > # include <ctime > using namespace std ; int main (){ int dlugosc ; cout << " podaj dlugosc tablicy "; cin >> dlugosc ; int A [ dlugosc ]; cout << " podaj zawartosc tablicy : " << endl ; for ( int i =0; i< dl; i ++) { cout << " element " << i << ": "; cin >> A[i]; } cout << " Twoja tablica : "<< endl ; for ( int i =0; i< dlugosc ; i ++) cout << A[i] << " "; cout << endl ; bool czybylapara = false ; for ( int i=0; i<=dl -2; i++) if (A[i]>0 && A[i +1] > 0) { czybylapara = true ; break ; } if ( czybylapara == false ) cout << "w tablicz nie ma liczb dodatnich na sasiednich miejscach \n"; else cout << " tablica zawiera dwie liczby dodatnie na sasiednich miejscach \n"; } return 0;

18 Zadanie 2 Napisać program pobierający od użytkownika tablicę liczb całkowitych o podanej przez niego długości (lub generujący zawartość takiej tablicy, a następnie wypisujący wszystkie pary uporządkowane jakie można utworzyć z elementów tej tablicy

19 Mamy wypisać wszystkie pary uporządkowane (czyli para (A,B) i (B,A) to dwie różne pary - kolejność elementów jest istotna)

20 Mamy wypisać wszystkie pary uporządkowane (czyli para (A,B) i (B,A) to dwie różne pary - kolejność elementów jest istotna) np. dla tablicy z liczbami 1,2,3 będą to pary: (1,1), (1,2), (1,3) (2,1), (2,2), (2,3) (3,1), (3,2), (3,3) a tablicy z liczbami 1,2,2 będą to pary: (1,1), (1,2), (1,2) (2,1), (2,2), (2,2) (2,1), (2,2), (2,2)

21 Mamy wypisać wszystkie pary uporządkowane (czyli para (A,B) i (B,A) to dwie różne pary - kolejność elementów jest istotna) np. dla tablicy z liczbami 1,2,3 będą to pary: (1,1), (1,2), (1,3) (2,1), (2,2), (2,3) (3,1), (3,2), (3,3) a tablicy z liczbami 1,2,2 będą to pary: (1,1), (1,2), (1,2) (2,1), (2,2), (2,2) (2,1), (2,2), (2,2) - również pary element sam z sobą są dopuszczalne (nie jest powiedziane że mają to być pary elementów tablicy stojących na różnych pozycjach)

22 Mamy wypisać wszystkie pary uporządkowane (czyli para (A,B) i (B,A) to dwie różne pary - kolejność elementów jest istotna) np. dla tablicy z liczbami 1,2,3 będą to pary: (1,1), (1,2), (1,3) (2,1), (2,2), (2,3) (3,1), (3,2), (3,3) a tablicy z liczbami 1,2,2 będą to pary: (1,1), (1,2), (1,2) (2,1), (2,2), (2,2) (2,1), (2,2), (2,2) - również pary element sam z sobą są dopuszczalne (nie jest powiedziane że mają to być pary elementów tablicy stojących na różnych pozycjach) w takim razie aby utworzyć wszystkie takie pary:

23 Mamy wypisać wszystkie pary uporządkowane (czyli para (A,B) i (B,A) to dwie różne pary - kolejność elementów jest istotna) np. dla tablicy z liczbami 1,2,3 będą to pary: (1,1), (1,2), (1,3) (2,1), (2,2), (2,3) (3,1), (3,2), (3,3) a tablicy z liczbami 1,2,2 będą to pary: (1,1), (1,2), (1,2) (2,1), (2,2), (2,2) (2,1), (2,2), (2,2) - również pary element sam z sobą są dopuszczalne (nie jest powiedziane że mają to być pary elementów tablicy stojących na różnych pozycjach) w takim razie aby utworzyć wszystkie takie pary: wybieramy element tablicy który ma być pierwszą liczbą w parze

24 Mamy wypisać wszystkie pary uporządkowane (czyli para (A,B) i (B,A) to dwie różne pary - kolejność elementów jest istotna) np. dla tablicy z liczbami 1,2,3 będą to pary: (1,1), (1,2), (1,3) (2,1), (2,2), (2,3) (3,1), (3,2), (3,3) a tablicy z liczbami 1,2,2 będą to pary: (1,1), (1,2), (1,2) (2,1), (2,2), (2,2) (2,1), (2,2), (2,2) - również pary element sam z sobą są dopuszczalne (nie jest powiedziane że mają to być pary elementów tablicy stojących na różnych pozycjach) w takim razie aby utworzyć wszystkie takie pary: wybieramy element tablicy który ma być pierwszą liczbą w parze tworzymy wszystkie możliwe pary postaci: (wybrana wcześniej pierwsza liczba w parze, druga liczba w parze) - gdzie drugą liczbą w parze może być każdy element tablicy

25 Mamy wypisać wszystkie pary uporządkowane (czyli para (A,B) i (B,A) to dwie różne pary - kolejność elementów jest istotna) np. dla tablicy z liczbami 1,2,3 będą to pary: (1,1), (1,2), (1,3) (2,1), (2,2), (2,3) (3,1), (3,2), (3,3) a tablicy z liczbami 1,2,2 będą to pary: (1,1), (1,2), (1,2) (2,1), (2,2), (2,2) (2,1), (2,2), (2,2) - również pary element sam z sobą są dopuszczalne (nie jest powiedziane że mają to być pary elementów tablicy stojących na różnych pozycjach) w takim razie aby utworzyć wszystkie takie pary: wybieramy element tablicy który ma być pierwszą liczbą w parze tworzymy wszystkie możliwe pary postaci: (wybrana wcześniej pierwsza liczba w parze, druga liczba w parze) - gdzie drugą liczbą w parze może być każdy element tablicy... podobnie jak w zad.1 z wykładu 5 (pary szef - podwładny)

26 Przykład (Rozwiązanie zad.2) # include <iostream > # include <cstdlib > # include <ctime > using namespace std ; int main (){ int length ; cout << " podaj dlugosc tablicy "; cin >> length ; int A [ length ]; } srand ( time ( NULL ) ); int DP = 20, PP = 1; for ( int i =0; i< length ; i ++) A[i] = ( rand () % DP) + PP; cout << " Twoja tablica : "<< endl ; for ( int i =0; i< length ; i ++) cout << A[i] << " "; cout << endl ; cout << " Pary uporzadkowane elementow tablicy : " << endl ; for ( int i = 0; i< length ; i ++) for ( int j = 0; j< length ; j ++) cout << A[i] << " " << A[j] << endl ; return 0;

27 Zadanie 3 Napisać program pobierający od użytkownika tablicę liczb całkowitych o podanej przez niego długości (lub losujący zawartość takiej tablicy), a następnie wypisujący wszystkie dwójki (pary nieuporządkowane) elementów tablicy przechowujących różne wartości

28 Mamy wypisać wszystkie pary nieuporządkowane ( (A,B) i (B,A) to to samo - kolejność elementów nie jest istotna)

29 Mamy wypisać wszystkie pary nieuporządkowane ( (A,B) i (B,A) to to samo - kolejność elementów nie jest istotna) mają to być pary różnych wartości (a więc pary złożone z dwóch takich samych liczb nie są dozwolone)

30 Mamy wypisać wszystkie pary nieuporządkowane ( (A,B) i (B,A) to to samo - kolejność elementów nie jest istotna) mają to być pary różnych wartości (a więc pary złożone z dwóch takich samych liczb nie są dozwolone) np. dla tablicy z liczbami 1,2,3 będą to pary: 1 i 2, 1 i 3, 2 i 3 a dla tablicy z liczbami 1,2,2 będzie to pary: 1 i 2, 1 i 2

31 Mamy wypisać wszystkie pary nieuporządkowane ( (A,B) i (B,A) to to samo - kolejność elementów nie jest istotna) mają to być pary różnych wartości (a więc pary złożone z dwóch takich samych liczb nie są dozwolone) np. dla tablicy z liczbami 1,2,3 będą to pary: 1 i 2, 1 i 3, 2 i 3 a dla tablicy z liczbami 1,2,2 będzie to pary: 1 i 2, 1 i 2 w takim razie aby utworzyć wszystkie takie pary:

32 Mamy wypisać wszystkie pary nieuporządkowane ( (A,B) i (B,A) to to samo - kolejność elementów nie jest istotna) mają to być pary różnych wartości (a więc pary złożone z dwóch takich samych liczb nie są dozwolone) np. dla tablicy z liczbami 1,2,3 będą to pary: 1 i 2, 1 i 3, 2 i 3 a dla tablicy z liczbami 1,2,2 będzie to pary: 1 i 2, 1 i 2 w takim razie aby utworzyć wszystkie takie pary: wybieramy element tablicy który ma być pierwszą liczbą pary

33 Mamy wypisać wszystkie pary nieuporządkowane ( (A,B) i (B,A) to to samo - kolejność elementów nie jest istotna) mają to być pary różnych wartości (a więc pary złożone z dwóch takich samych liczb nie są dozwolone) np. dla tablicy z liczbami 1,2,3 będą to pary: 1 i 2, 1 i 3, 2 i 3 a dla tablicy z liczbami 1,2,2 będzie to pary: 1 i 2, 1 i 2 w takim razie aby utworzyć wszystkie takie pary: wybieramy element tablicy który ma być pierwszą liczbą pary tworzymy wszystkie możliwe pary postaci: (wybrana wcześniej pierwsza liczba w parze, druga liczba w parze) - gdzie drugą liczbą w parze może być każdy element tablicy nie występujący dotąd w roli pierwszego elementu pary

34 Mamy wypisać wszystkie pary nieuporządkowane ( (A,B) i (B,A) to to samo - kolejność elementów nie jest istotna) mają to być pary różnych wartości (a więc pary złożone z dwóch takich samych liczb nie są dozwolone) np. dla tablicy z liczbami 1,2,3 będą to pary: 1 i 2, 1 i 3, 2 i 3 a dla tablicy z liczbami 1,2,2 będzie to pary: 1 i 2, 1 i 2 w takim razie aby utworzyć wszystkie takie pary: wybieramy element tablicy który ma być pierwszą liczbą pary tworzymy wszystkie możliwe pary postaci: (wybrana wcześniej pierwsza liczba w parze, druga liczba w parze) - gdzie drugą liczbą w parze może być każdy element tablicy nie występujący dotąd w roli pierwszego elementu pary... podobnie jak w zad.1 z wykładu 5 (pary równorzędne )

35 Mamy wypisać wszystkie pary nieuporządkowane ( (A,B) i (B,A) to to samo - kolejność elementów nie jest istotna) mają to być pary różnych wartości (a więc pary złożone z dwóch takich samych liczb nie są dozwolone) np. dla tablicy z liczbami 1,2,3 będą to pary: 1 i 2, 1 i 3, 2 i 3 a dla tablicy z liczbami 1,2,2 będzie to pary: 1 i 2, 1 i 2 w takim razie aby utworzyć wszystkie takie pary: wybieramy element tablicy który ma być pierwszą liczbą pary tworzymy wszystkie możliwe pary postaci: (wybrana wcześniej pierwsza liczba w parze, druga liczba w parze) - gdzie drugą liczbą w parze może być każdy element tablicy nie występujący dotąd w roli pierwszego elementu pary... podobnie jak w zad.1 z wykładu 5 (pary równorzędne ) z powyższych par wypisujemy tylko te, które są złożone z różnych liczb.

36 Przykład (Rozwiązanie zad.3) # include <iostream > # include <cstdlib > # include <ctime > using namespace std ; int main (){ int length ; cout << " podaj dlugosc tablicy "; cin >> length ; int A [ length ]; } srand ( time ( NULL ) ); int DP = 20, PP = 1; for ( int i =0; i< length ; i ++) A[i] = ( rand () % DP) + PP; cout << " Twoja tablica : "<< endl ; for ( int i =0; i< length ; i ++) cout << A[i] << " "; cout << endl ; cout << " Roznowartosciowe pary nieuporzadkowane elementow tablicy : "<< endl ; for ( int i = 0; i< length ; i ++) for ( int j = i; j< length ; j ++) if (A[i]!= A[j]) cout << A[i] << " " << A[j] << endl ; return 0;

37 Zadanie 4 Napisać program pobierający od użytkownika tablicę liczb całkowitych o podanej przez niego długości (lub losujący zawartość takiej tablicy), a następnie wypisujący wszystkie wartości występujące w tablicy

38 mamy wypisać wszystkie wartości występujące w tablicy - czyli jeśli liczba występuje w tablicy w kilku miejscach, to jest wypisywana raz

39 mamy wypisać wszystkie wartości występujące w tablicy - czyli jeśli liczba występuje w tablicy w kilku miejscach, to jest wypisywana raz wyszukiwanie takich liczb: bierzemy element tablicy

40 mamy wypisać wszystkie wartości występujące w tablicy - czyli jeśli liczba występuje w tablicy w kilku miejscach, to jest wypisywana raz wyszukiwanie takich liczb: bierzemy element tablicy sprawdzamy, czy ta liczba znajduje się we wcześniejszej części tablicy

41 mamy wypisać wszystkie wartości występujące w tablicy - czyli jeśli liczba występuje w tablicy w kilku miejscach, to jest wypisywana raz wyszukiwanie takich liczb: bierzemy element tablicy sprawdzamy, czy ta liczba znajduje się we wcześniejszej części tablicy jeśli była - nie wypisujemy (bo już była wypisana)

42 mamy wypisać wszystkie wartości występujące w tablicy - czyli jeśli liczba występuje w tablicy w kilku miejscach, to jest wypisywana raz wyszukiwanie takich liczb: bierzemy element tablicy sprawdzamy, czy ta liczba znajduje się we wcześniejszej części tablicy jeśli była - nie wypisujemy (bo już była wypisana) jeśli jej nie było - wypisujemy ją

43 mamy wypisać wszystkie wartości występujące w tablicy - czyli jeśli liczba występuje w tablicy w kilku miejscach, to jest wypisywana raz wyszukiwanie takich liczb: bierzemy element tablicy sprawdzamy, czy ta liczba znajduje się we wcześniejszej części tablicy jeśli była - nie wypisujemy (bo już była wypisana) jeśli jej nie było - wypisujemy ją i tak po kolei dla wszystkich elementów tablicy

44 mamy wypisać wszystkie wartości występujące w tablicy - czyli jeśli liczba występuje w tablicy w kilku miejscach, to jest wypisywana raz wyszukiwanie takich liczb: bierzemy element tablicy sprawdzamy, czy ta liczba znajduje się we wcześniejszej części tablicy jeśli była - nie wypisujemy (bo już była wypisana) jeśli jej nie było - wypisujemy ją i tak po kolei dla wszystkich elementów tablicy... przy czym sprawdzanie czy liczba była we wcześniejszej części tablicy to kolejny przykład algorytmu z poglądem

45 Przykład (Rozwiązanie zad.4) # include <iostream > # include <cstdlib > # include <ctime > using namespace std ; int main (){ int length ; cout << " podaj dlugosc tablicy "; cin >> length ; int A [ length ]; srand ( time ( NULL ) ); int DP = 20, PP = 1; for ( int i =0; i< length ; i ++) A[i] = ( rand () % DP) + PP; cout << " Twoja tablica : "<< endl ; for ( int i =0; i< length ; i ++) cout << A[i] << " "; cout << endl ; int wart_spr ; bool czybyla ; for ( int i = 0; i< length ; i ++) { wart_spr = A[i]; // spr czy wart_spr byla we wczesniejszej czesci tablicy czybyla = false ; // konieczny reset dla kazdej wartosci sprawdzanej!! for ( int j =0; j <=i -1; j ++) // przeszukiwanie wczesniejszej czesci if (A[j] == wart_spr ) { czybyla = true ; break ; } if ( czybyla == false ) cout << wart_spr << " "; } return 0; }

Wstęp do programowania

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

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 4 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Pętle wykonujące się podaną liczbę razy Jeśli chcemy wykonać pewien fragment programu określoną liczbę razy, możemy użyć

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 5 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Zadanie o kotach z poprzedniego wykładu # include < iostream > using namespace std ; int main (){ int rozmiar_ rodzinki,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wstęp do Informatyki

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

Bardziej szczegółowo

Liczby całkowite i rzeczywiste

Liczby całkowite i rzeczywiste Wykład 4(20 marzec 2014r.) Liczby całkowite i rzeczywiste Paulina Rogowiecka Klaudia Kamińska Adrianna Znyk 1 Spis treści: Czynniki pierwsze metoda próbnych dzieleń Pierwszość liczby naturalnej algorytmy

Bardziej szczegółowo

Program 14. #include <iostream> #include <ctime> using namespace std;

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

Bardziej szczegółowo

Podstawy algorytmiki i programowania - wykład 6 Sortowanie- algorytmy

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

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

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

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Programowanie i struktury danych

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

Bardziej szczegółowo

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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 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 ()

Bardziej szczegółowo

Wstęp do programowania

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

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

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

Bardziej szczegółowo

Wstęp do programowania

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.

Bardziej szczegółowo

Część 4 życie programu

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ęść

Bardziej szczegółowo

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.

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

Bardziej szczegółowo

Liczby pseudolosowe. #include <stdio.h> #include <stdlib.h> int main() { printf("%d\n", RAND_MAX); return 0; }

Liczby pseudolosowe. #include <stdio.h> #include <stdlib.h> int main() { printf(%d\n, RAND_MAX); return 0; } Liczby pseudolosowe Standardowa biblioteka języka C w pliku nagłówkowym posiada zadeklarowane dwie funkcje służące do generowania liczb pseudolosowych: rand i srand. Funkcja srand() jako parametr

Bardziej szczegółowo

Programowanie - wykład 4

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

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

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

Bardziej szczegółowo

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

Bardziej szczegółowo

I - Microsoft Visual Studio C++

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

Bardziej szczegółowo

Programowanie Procedurale

Programowanie Procedurale Programowanie Procedurale Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 1 / 27 Zbiór ctime zawiera deklarcję

Bardziej szczegółowo

C++ wprowadzanie zmiennych

C++ wprowadzanie zmiennych C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym

Bardziej szczegółowo

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

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,

Bardziej szczegółowo

Mechanizm dziedziczenia

Mechanizm dziedziczenia Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia

Bardziej szczegółowo

Programowanie Proceduralne

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

Bardziej szczegółowo

Wstęp do programowania

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

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

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

Bardziej szczegółowo

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana.

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana. 8. Wektory Przykłady 8.1. Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana. Uwaga! Kod poniżej. To zadanie można rozwiązać przy użyciu wiedzy

Bardziej szczegółowo

tablica: dane_liczbowe

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

Bardziej szczegółowo

Kontrola przebiegu programu

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

Bardziej szczegółowo

3. Instrukcje warunkowe

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

Bardziej szczegółowo

Języki programowania obiektowego Nieobiektowe elementy języka C++

Języki programowania obiektowego Nieobiektowe elementy języka C++ Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Instrukcje sterujące wykonaniem programu, przykłady wykorzystania

Bardziej szczegółowo

> 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. 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

Bardziej szczegółowo

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

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

Bardziej szczegółowo

MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata

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

Bardziej szczegółowo

Laboratorium_1: Temat: Wprowadzenie do języka C++ 1. Operatory. Arytmetyczne

Laboratorium_1: Temat: Wprowadzenie do języka C++ 1. Operatory. Arytmetyczne 3-EAzI(s) Programowanie Laboratorium_1: Temat: Wprowadzenie do języka C++ 1. Operatory Arytmetyczne Porównania Logiczne + Dodanie dwóch wartości - Odjęcie jednej wartości od drugiej / Podzielenie jednej

Bardziej szczegółowo

Modelowanie komputerowe

Modelowanie komputerowe Modelowanie komputerowe wykład 1- Generatory liczb losowych i ich wykorzystanie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 5,12 października 2016 r.

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Tablice Wskaźniki Adresy pamięci Operator adresu

Bardziej szczegółowo

WYKŁAD 3 (13 MARZEC 2014) LICZBY CAŁKOWITE I RZECZYWISTE. Bartosz Łakomy i Dariusz Dobiesz

WYKŁAD 3 (13 MARZEC 2014) LICZBY CAŁKOWITE I RZECZYWISTE. Bartosz Łakomy i Dariusz Dobiesz WYKŁAD 3 (13 MARZEC 2014) LICZBY CAŁKOWITE I RZECZYWISTE Bartosz Łakomy i Dariusz Dobiesz SPIS TREŚCI: Liczby parzyste i nieparzyste Liczby podzielne lub niepodzielne przez zadane podzielniki NWD algorytm

Bardziej szczegółowo

(3 kwiecień 2014) Marika Pankowska Kamila Pietrzak

(3 kwiecień 2014) Marika Pankowska Kamila Pietrzak (3 kwiecień 2014) Marika Pankowska Kamila Pietrzak Wyszukiwanie liniowe (ang. linear search), zwane również sekwencyjnym (ang. sequential search) polega na przeglądaniu kolejnych elementów zbioru Z. Jeśli

Bardziej szczegółowo

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski

Bardziej szczegółowo

Klasyfikacja typów w C++

Klasyfikacja typów w C++ Klasyfikacja typów w C++ Typy języka C++ można na przykład podzielić na: typy fundamentalne (podstawowe, proste), typy złożone (pochodne). Te same typy ze względu na autora ich definicji dzielimy na: typy

Bardziej szczegółowo

4. Napisz program wyznaczający wartość funkcji. f (x) = x cos x + e 4x 7. w zadanym punkcie.

4. Napisz program wyznaczający wartość funkcji. f (x) = x cos x + e 4x 7. w zadanym punkcie. Zadania 1. Napisz program, który wyświetla na ekranie komunikat Witaj. 2. Napisz program przeliczający wielkość kąta wyrażoną w stopniach na radiany według wzoru π Rad = St 180. Liczba π ma w języku C++

Bardziej szczegółowo

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 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

Bardziej szczegółowo

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

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ć

Bardziej szczegółowo

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 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:

Bardziej szczegółowo

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne 1 Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,

Bardziej szczegółowo

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: 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

Bardziej szczegółowo

Pytanie 1. Pytanie 2. Pytanie 3 WOJEWÓDZKI KONKURS INFORMATYCZNY. Treść pytania

Pytanie 1. Pytanie 2. Pytanie 3 WOJEWÓDZKI KONKURS INFORMATYCZNY. Treść pytania WOJEWÓDZKI KONKURS INFORMATYCZNY PRZEPROWADZANY W DOTYCHCZASOWYCH GIMNAZJACH W ROKU SZK. 2018/2019 Etap wojewódzki Pytanie 1 O rozmiarze obrazów w grafice rastrowej decyduje całkowita liczba pikseli (wielkość

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

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)

Bardziej szczegółowo

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy: Kurs C++ częśd II Podstawowa obsługa konsoli + zmienne. Autor: Dawid Chróścielski. Wprowadzanie i wyprowadzanie danych z/do konsoli. Jak wyprowadzad dane dowiedzieliśmy się już wcześniej (metoda cout z

Bardziej szczegółowo

Algorytmy. 1. Sortowanie 2. Statki i okręty. programowanie cz.7. poniedziałek, 2 marca 2009

Algorytmy. 1. Sortowanie 2. Statki i okręty. programowanie cz.7. poniedziałek, 2 marca 2009 Algorytmy. Sortowanie 2. Statki i okręty programowanie cz. ALGORYTMY SORTUJĄCE A. Przez zamianę (bąbelkowe) B. Przez wybieranie Najpopularniejsze metody sortowania C. Przez wstawianie Przez zamianę (sortowanie

Bardziej szczegółowo

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 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

Bardziej szczegółowo

DYNAMICZNE PRZYDZIELANIE PAMIECI

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

Bardziej szczegółowo

Zmienne i struktury dynamiczne

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Struktura pliku projektu Console Application

Struktura pliku projektu Console Application Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku

Bardziej szczegółowo

Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };

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ą

Bardziej szczegółowo

1,3,4,2,3,4,0,1,4,5,0. Wówczas największa suma trzech kolejnych liczb (zaznaczone na czerwono) wynosi:

1,3,4,2,3,4,0,1,4,5,0. Wówczas największa suma trzech kolejnych liczb (zaznaczone na czerwono) wynosi: Program 20 Napisać następujące funkcje: funkcję pobierającą (z klawiatury) zawartość tablicy liczb całkowitych podanej jako parametr, o długości podanej jako parametr; funkcję wypisującą zawartość tablicy

Bardziej szczegółowo

Podstawy algorytmiki i programowania - wykład 3 Funkcje rekurencyjne Wyszukiwanie liniowe i binarne w tablicy

Podstawy algorytmiki i programowania - wykład 3 Funkcje rekurencyjne Wyszukiwanie liniowe i binarne w tablicy 1 Podstawy algorytmiki i programowania - wykład 3 Funkcje rekurencyjne Wyszukiwanie liniowe i binarne w tablicy Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.

Bardziej szczegółowo

Wstęp do informatyki- wykład 7

Wstęp do informatyki- wykład 7 1 Wstęp do informatyki- wykład 7 Operatory operator przecinkowy, operator zasięgu Pętla for Instrukcja break i continue Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.

Bardziej szczegółowo

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Podstawowe algorytmy i ich implementacje w C. Wykład 9 Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny

Bardziej szczegółowo

Wstęp do informatyki- wykład 6

Wstęp do informatyki- wykład 6 1 Wstęp do informatyki- wykład 6 Operatory przypisania, złożone operatory przypisania, operator przecinkowy Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++.

Bardziej szczegółowo

Ć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 Ć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

Bardziej szczegółowo

1. Wypisywanie danych

1. Wypisywanie danych 1. Wypisywanie danych Przykłady 1.1. Napisz program, który wypisze na ekran słowa Hello, world!. 1 // Przyklad 1: Hello, world! 3 using namespace std; 5 int main() { 6 cout

Bardziej szczegółowo

PDF stworzony przez wersję demonstracyjną pdffactory Pro Program 15

PDF stworzony przez wersję demonstracyjną pdffactory Pro  Program 15 Program 15 Program zawierający następujące funkcje: funkcję wczytującą elementy do tablicy liczb całkowitych podanej jako parametr (długość tablicy również ma być podana jako parametr); funkcję wypisującą

Bardziej szczegółowo

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

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ć

Bardziej szczegółowo

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 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:

Bardziej szczegółowo

Mechanizm dziedziczenia

Mechanizm dziedziczenia Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia

Bardziej szczegółowo

r. Tablice podstawowe operacje na tablicach

r. Tablice podstawowe operacje na tablicach 27.03.2014r. Tablice podstawowe operacje na tablicach Tablica - definicja Tablica (ang. array) lub wektor (ang. vector) jest złożoną strukturą danych (ang. compound data structure) zbudowaną z ciągu elementów

Bardziej szczegółowo

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;

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

Bardziej szczegółowo

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:

Bardziej szczegółowo

Przeciążanie funkcji. Przykład 1: #include <iostream> using namespace std; double srednia(double n1, double n2) { return ((n1 + n2)/2.

Przeciążanie funkcji. Przykład 1: #include <iostream> using namespace std; double srednia(double n1, double n2) { return ((n1 + n2)/2. Przeciążanie funkcji W języku C++ można stosować tę samą nazwę dla funkcji o różnej treści, pod warunkiem, że funkcje te mają różne parametry (różny jest typ lub liczba parametrów). Jest to przeciążanie

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Anna Sobocińska Sylwia Piwońska

Anna Sobocińska Sylwia Piwońska Anna Sobocińska Sylwia Piwońska Problem Wyszukiwanie liniowe W n-elementowym zbiorze Z wyszukać element posiadający pożądane własności. Wyszukiwanie liniowe (ang. linear search), zwane również sekwencyjnym

Bardziej szczegółowo

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012 Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012 if (warunek) instrukcja1; if (warunek) instrukcja1; else instrukcja2; if (warunek) instrukcja1; else if (warunek2)

Bardziej szczegółowo

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

Bardziej szczegółowo

Pliki wykład 2. Dorota Pylak

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)

Bardziej szczegółowo

5. Rekurencja. Przykłady

5. Rekurencja. Przykłady 5. Rekurencja Uwaga! W tym rozdziale nie są omówione żadne nowe konstrukcje języka C++. Omówiona jest za to technika wykorzystująca funkcje, która pozwala na rozwiązanie pewnych nowych rodzajów zadań.

Bardziej szczegółowo

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++ 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

Bardziej szczegółowo

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz

Bardziej szczegółowo

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

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,

Bardziej szczegółowo

void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);

void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog); Program 19 Zadeklarować strukturę Student o polach: Imie, Nazwisko (ciągi znaków), Oceny (pięcioelementowa tablica wartości rzeczywistych reprezentujących oceny studenta) i Semestr_zaliczony (wartość logiczna

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Języki programowania obiektowego Nieobiektowe elementy języka C++

Języki programowania obiektowego Nieobiektowe elementy języka C++ Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Tablice koncepcja, deklaracje, podstawowe zastosowania Tablice

Bardziej szczegółowo

#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; }

#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; } #include using namespace std; Prototypy funkcji Funkcja 1 void ela(int); double info (double); int main( ); return 0; Funkcja 2 void ela(int); Funkcja 3 double info(double); return 4*t; jeszcze

Bardziej szczegółowo

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi. Program 3 Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy póki nam sie nie znudzi. #include using namespace std; int main() int odp,a,m; bool pierwsze_podanie =

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Wstęp do informatyki- wykład 7

Wstęp do informatyki- wykład 7 1 Wstęp do informatyki- wykład 7 Operatory przypisania, złożone operatory przypisania, Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

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

Bardziej szczegółowo

Instrukcje sterujące

Instrukcje sterujące Podstawy programowania w C++ Bibliografia: Instrukcje sterujące Nauka programowania dla początkujących; A. Struzińska-Walczak / K. Walczak CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Opracował:

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

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,

Bardziej szczegółowo