Podstawy programowania. Tomasz Tyksiński. Rok akademicki 2014/15

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

Download "Podstawy programowania. Tomasz Tyksiński. Rok akademicki 2014/15"

Transkrypt

1 Rok akademicki 2014/15

2 Podstawy programowania Tematyka zajęć 1. Zapis algorytmu Sieci działań Przykłady zapisu algorytmu w postaci sieci działań 2. Podstawowe elementy języka wyższego rzędu Typ danych Stałe i zmienne Instrukcja przypisania Elementarne instrukcje wejścia wyjścia 3. Wyrażenia i operatory Wyrażenia logiczne i arytmetyczne Liniowy zapis wyrażeń Pierwsze programy 4. Sterowanie przebiegiem programu Instrukcje warunkowe oraz instrukcje wyboru z wielu Przykłady zastosowań 5. Organizacja obliczeń cyklicznych Pętle 6. Procedury i funkcje Przekazywanie parametrów Zmienne lokalne, ukrywanie informacji Funkcje biblioteczne 7. Złożone typy danych Tablice Przykładowe algorytmy przetwarzania tablic Łańcuchy znaków 8. Pliki Literatura 1. N. Wirth, Wprowadzenie do programowania systematycznego. WNT Warszawa J. Grębosz, Symfonia C++, Oficyna Kallimach, Kraków A. Struzińska-Walczak, K. Walczak, Nauka programowania dla początkujących. C++, W&W B. Eckel, Thinking in C, Beta B. Eckel, Thinking in C++, Wydawnictwo Helion,

3 1. Zapis algorytmu Algorytm to sposób wykonania konkretnego zadania, składa się z danych na których wykonywane będą operacje, wyniku działania oraz szczegółowego opisu kolejno wykonywanych działań prowadzących do rozwiązania. Dane określające operacje przetwarzania Dane wejściowe Komputer Dane wyjściowe Komputer przetwarza dane wejściowe w dane wyjściowe zgodnie z zadanym algorytmem. W algorytmie możemy wyróżnić dwie części składowe: - opis używanych w algorytmie obiektów - opis czynności wykonywanych na tych obiektach w określonej kolejności Obiekty mogą być proste (liczby, znaki) lub złożone (tablice, struktury). Czynności również mogą być proste (logika, arytmetyka) lub złożone (funkcje, procedury). Algorytm można zapisać na trzy sposoby: - schemat blokowy (inaczej nazywany siecią działań) - pseudokod - język programowania Schemat blokowy przedstawia zapis algorytmu w postaci graficznej. Składa się z bloków (skrzynek) opisujących kolejne działania powiązanych w sieć za pomocą strzałek. Będziemy wykorzystywać następujące skrzynki: 3

4 Drugim sposobem zapisu algorytmu jest pseudokod. Jest to zapis w języku pośrednim między językiem naturalnym i sztucznym (komputerowym). Zrozumiały dla człowieka ale nieprzydatny dla komputera. Ostatnim sposobem jest zapisanie algorytmu w konkretnym języku programowania, w naszym przypadku będzie to język programowania C/C++. Prawidłowo skonstruowany algorytm musi spełniać następujące warunki: - skończoność działanie algorytmu musi zakończyć się po skończonej liczbie kroków - określoność każdy algorytm musi być dokładnie określony, ujęte wszystkie możliwe przypadki - postulat wejścia alg. powinien posiadać pewną liczbę danych wejściowych do zapoczątkowania obliczeń - postulat wyjścia alg. powinien posiadać jedno lub więcej danych wyjściowych, wynik operacji - efektywność wszystkie operacje powinny być dostatecznie proste, możliwe do wykonania Zapisz za pomocą schematu blokowego poniższe algorytmy 1. Wczytać dwie liczby a, b oraz wywnioskować ich zależność (tzn. czy a<b, a>b, a=b). 2. ZADANIE DOMOWE: Porównać trzy różne liczby a, b, c, następnie wypisać je w kolejności rosnącej. 3. ZADANIE DOMOWE: Odgadywanie wieku użytkownika przez komputer. Użytkownik odpowiada tylko TAK/NIE. 4. Obliczanie NWD dwóch podanych liczb a i b. Algorytm Euklidesa. 4

5 2. Podstawowe elementy języka wyższego rzędu 1. Środowisko Dev-C++ - Darmowe środowisko programistyczne, istnieje również w wersji Portable, zalecana wersja programu (Bloodshed). Do pobrania ze strony z zajęciami. - Uruchamianie - Nowy projekt - Menu: Plik, Nowy, Projekt, Console Application - Wybieramy projekt C++ - Po wybraniu projektu C++ dostajemy szablon programu w języku C++ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { system("pause"); return EXIT_SUCCESS; } - Menu Plik: Zapisz projekt jako, Zapisz, Zamknij projekt, Zakończ - Warto zapisywać każdy projekt w osobnym folderze o sensownej nazwie - Menu Uruchom: - Kompiluj, Ctrl+F9 wygeneruj program uruchamialny (preprocesor, kompilator, asembler, linker) - Uruchom, Ctrl+F10 po wygenerowaniu programu, można go uruchomić - Kompiluj i uruchom, F9 nowa kompilacja po zmianach i uruchomienie - Przebuduj wszystko, Ctrl+F11 kompilacja wszystkich plików składowych projektu - Parametry przekazanie dodatkowych parametrów uruchomieniowych z poziomu systemu operacyjnego 2. Struktura programu w C/C++ - Kompilator rozróżnia wielkość liter - Funkcja main() musi wystąpić stąd zaczyna się przetwarzanie programu - Zagnieżdżanie komend { } nawiasy klamrowe - Komentarze: - // - komentarz do końca linii - /* */ - komentarz wewnątrz programu 3. Podstawowe typy zmiennych - typy proste: - Typy całkowite: int, char - Typ rzeczywisty: float, double - Modyfikatory: long, long long, short; signed, unsigned - Deklaracje zmiennych: [modyfikator(y)] typ nazwa; - Definicje zmiennych: [modyfikator(y)] typ nazwa = wartość; - Definicje stałych: const [modyfikator(y)] typ nazwa = wartość; Czy stałą można modyfikować? - Zapis wartości: n[l, l, U, u], 0xn, 0n, n., n.m[l, l, F, f] - Operacja podstawienia: zmienna = wartość; /* NIE := */ - Gdzie można deklarować zmienne i zasięg zmiennej 5

6 int a=3; int a=3; { { int a=4; a=4; a=a+1; //tu a jest równe 5 a=a+1; //a jest 5 } ALE } a=a+1; //tu a jest równe 4 a=a+1 //a jest 6 1. Sprawdzić rozmiar zmiennych różnych typów w bajtach oraz zakresy ich wartości. Wykorzystaj materiały na stronie 2. Które modyfikatory nie łączą się z jakimi typami, przykładowo long float. 3. Czy można pominąć typ danych, a zostawić sam modyfikator, co się wtedy stanie? 4. Podstawowe operacje wejścia/wyjścia w języku C++ - Biblioteka strumieni: iostream.h - Wypisywanie na ekranie: cout << łańcuch << zmienna << endl; - Wczytywanie z wejścia cin >> zmienna; 4. Wypisać na ekranie swoje imię. 5. Napisać program wypisujący liczbę π z różną precyzją. Precyzja liczb zmiennoprzecinkowych, wykorzystaj manipulatory dla strumieni wyjścia: setw, precision, setprecision, iomanip.h Opis manipulatorów można znaleźć na stronie w sekcji Input/Output 6. Wypisać na ekranie kilka znaków specjalnych np.? \ Poszukać innych znaków specjalnych. 7. Wczytać naraz kilka liczb, a następnie wypisać je na ekranie. Wypróbować różne typy. 6

7 3. Wyrażenia i operatory 1. Operatory arytmetyczne - Podstawowe działania na zmiennych całkowitych: +, -, *, /, % Sprawdzić jak działa operator / - Podstawowe działania na zmiennych rzeczywistych: +, -, *, / - Inkrementacja i dekrementacja: unarne operatory ++ i --. Mogą być postfiksowe lub prefiksowe (i++, ++i). i++ i=i+1 i-- i=i-1 - Kolejność wykonywania działań. - Wyrażenia w C++ mają zapis liniowy. 1. Wczytać dwie liczby z klawiatury i podać ich sumę, różnicę itp. 2. Zapisz poniższe wyrażenia w języku C++ ab b a a b a d d a b 1 b a d c c a d d 1 ( c) b a d 1 c b 3. Napisz program obliczający wszystkie cztery wartości, dla wczytanych wartości zmiennych a, b, c, d. Porównaj wyniki z sąsiadem dla tych samych danych wejściowych. 4. Jakie wartości przyjmą zmienne c i d po wykonaniu poniższego fragmentu kodu int a=2, b=3; c = (a++) + (b++); a=2; b=3; d = (++a) + (++b); Wyjaśnij odpowiedź. 5. ZADANIE DOMOWE: Napisać program obliczający objętość stożka, po podaniu przez użytkownika wysokości stożka oraz średnicy podstawy. Jakiego typu zmienne wykorzystasz? 2. Operatory logiczne - relacje: ==,!=, >, <, >=, <= - operatory:!, &&, - Przypisania: Operatory dwuargumentowe w postaci a = a op b można zapisać w prostszej postaci a op= b. Gdzie op może być równe: +, -, *, /, %, <<, >>, &, ^, 6. ZADANIE DOMOWE: Jakie są priorytety poszczególnych operatorów. 7. Napisz program wypisujący tablice logiczne poniższych wyrażeń logicznych (jeżeli wyrażenie jest prawdziwe to napisz 1, jeżeli jest fałszywe to wypisz 0) p q p q p q p q (p q) (r p) 7

8 4. Sterowanie przebiegiem programu 1. Instrukcja dowolne poprawne wyrażenie zakończone średnikiem. 2. Instrukcja warunkowa if (wyrażenie) // MUSI być nawias, jeżeli wartość numeryczna wyrażenia Instrukcja1 // różna od 0 to wykonywana jest Instrukcja1 [else // instrukcja kończy się średnikiem Instrukcja2] // w przeciwnym razie Instrukcja2 3. Stosuje się również uproszczoną wersję instrukcji wyboru: wyrażenie1? wyrażenie2 : wyrażenie3 1. Wczytać dwie liczby całkowite i wypisać je w kolejności niemalejącej. 2. ZADANIE DOMOWE: Wczytać trzy liczby całkowite i wypisać je w kolejności niemalejącej. 3. Program sprawdzający czy podana liczba n jest parzysta czy nieparzysta. 4. Rozwiązywanie równania liniowego a x + b = 0 dla wczytanych wartości a i b. Wartości zmiennych nie tylko całkowitoliczbowe. 5. Napisz program obliczający pierwiastki rzeczywiste równania kwadratowego, po podaniu parametrów a, b, c. UWAGA: Programy uzupełnij o czytelny interfejs użytkownika, wypisuj co należy wpisać, opisuj wyniki na ekranie. Pamiętaj w kodzie programów o używaniu wcięć w instrukcjach oraz pisaniu komentarzy. Powinieneś zacząć od zaplanowania rozwiązania w postaci schematu blokowego lub pseudokodu. Pisz program dopiero jak opracujesz poprawny algorytm! 6. Za pomocą instrukcji warunkowej? : napisać program liczący wartość bezwzględną liczby całkowitej. Najprostsza postać: int x=(x>0? x : -x); 4. Instrukcja wyboru switch (wyrażenie){ case wyrażenie-stałe: instrukcje case wyrażenie-stałe: instrukcje [default: instrukcje] } Należy jawnie przerwać wykonywanie instrukcji (słowo kluczowe break), bo inaczej zostaną również wykonane następne instrukcje. 7. Co wypisze program po naciśnięciu klawiszy: a b c: char c=getch(); switch(c){ case 'a': cout << "a"; case 'b': cout << "b"; default: cout << "?"; } Dlaczego i jak go poprawić by działał dobrze? 8

9 8. Napisz program wczytujący liczbę całkowitą n i wypisujący czy jest ona ujemna, równa zero czy dodatnia. Jakiego typu należy użyć? Czy można użyć instrukcji switch? 9. Napisz program wczytujący liczbę całkowitą dodatnią n i wypisujący czy jest ona mniejsza lub równa 10, większa od 10 ale mniejsza lub równa 100, większa od 100 ale mniejsza lub równa 1000, większa od Czy można użyć instrukcji switch? 9

10 5. Organizacja obliczeń cyklicznych 1. Pętle służą do cyklicznego powtarzania pewnego bloku instrukcji. Porównaj do algorytmu Euklidesa w którym cyklicznie dokonywano odejmowania. Proces powtarzania kończy się w ściśle określonym momencie. W zależności od miejsca i rodzaju warunku zatrzymującego cykl obliczeń wyróżniamy w C trzy rodzaje pętli. 2. Pętla while while (wyrażenie) // Najpierw obliczana jest wartość wyrażenia, instrukcja // jeżeli różna od 0 to nadal wykonuj instrukcja // Koniec gdy wyrażenie równe 0 Oczywiście zamiast pojedynczej instrukcji można użyć bloku instrukcji, czyli wykorzystać nawiasy klamrowe. while (wyrażenie) // Najpierw obliczana jest wartość wyrażenia, { instrukcja1 // jeżeli różna od 0 to nadal wykonuj instrukcje instrukcja2 instrukcja3 // Koniec gdy wyrażenie równe 0 } 1. Napisz program wypisujący 20 znaków * w jednej linii. 2. Napisz program wypisujący n znaków * w jednej linii, gdzie n jest podane przez użytkownika. 3. Napisz program wypisujący liczby całkowite od 1 do n, gdzie n jest podane przez użytkownika. 4. Napisz program wypisujący liczby całkowite od n do 1, gdzie n jest podane przez użytkownika. 5. Napisz program wypisujący parzyste liczby całkowite z zakresu od 1 do n, gdzie n jest podane przez użytkownika. 3. Pętla do-while do //najpierw wykonuje instrukcję, a następnie oblicza wyrażenie, Instrukcja //jeżeli różne od 0 to wraca, jeżeli równe 0 to koniec while(wyrażenie); 6. Wykorzystując pętlę do napisz program wypisujący sumę liczb całkowitych z zakresu od 1 do n, gdzie n jest podane przez użytkownika. 7. Napisz program wypisujący iloczyn liczb całkowitych z zakresu od 1 do n, gdzie n jest podane przez użytkownika. Sprawdź zakres wyników. Jakiego typu zmiennych należy użyć. Jaką funkcję matematyczną oblicza ten program? 8. ZADANIE DOMOWE: Napisz ponownie programy z poprzednich zadań (1-7) używając odwrotnego rodzaju pętli. 10

11 4. Pętla for Jest odmianą pętli while upraszczającą często jej zapis. Z reguły używana w przypadku znanej z góry liczby powtórzeń. for(wyrażenie1; wyrażenie2; wyrażenie3) instrukcja Należy ją czytać jako: wyrażenie1; // wartość początkowa (zazwyczaj przypisanie) while(wyrażenie2) // sprawdzenie warunku kontynuacji { // (zazwyczaj wyrażenie warunkowe) instrukcja wyrażenie3; // modyfikacja licznika (zazwyczaj przypisanie) } Wyrażenia można pomijać (pętla nieskończona: for(;;){...}) 9. Za pomocą pętli for wypisz liczby całkowite od n do n, po podaniu wartości n. 10. Napisz program wypisujący na ekranie prostokąt złożony z gwiazdek, wymiaru m x n. Wartości m, n podane przez użytkownika. Zmodyfikuj program by wypisywał kwadrat n x n. Przykład dla m = 3, n = 4 **** **** **** 11. Napisz program wypisujący trójkąty wymiaru n x n złożone z gwiazdek (połówki kwadratu do przekątnej). Wartość n podana przez użytkownika. Rozważ wszystkie możliwe rodzaje trójkątów. Przykład dla n=3: * ** *** *** ** * *** *** *** *** *** *** 12. ZADANIE DOMOWE: Napisz zadania 1-8 za pomocą pętli for. 11

12 Poniższe zadania napisz z wykorzystaniem dowolnego rodzaju pętli. 13. ZADANIE: Napisz program wypisujący kody ASCII naciśniętego klawisza, aż do momentu naciśnięcia ESC (27dec, 1Bhex). Wypisuj też ile już klawiszy naciśnięto: i klawisz? ma numer n.. Stałe ASCII o numerze i oznaczamy \0i (i - ósemkowo) lub \xi (i szesnastkowo) Wykorzystaj rzutowanie typów podczas wypisywania wartości kodów ASCII. W języku C rzutowanie ma postać: (typ)zmienna; W języku C++ rzutowanie ma postać: static_cast<typ>(zmienna); 14. Napisać menu wyboru postaci: Proszę wybrać opcję i nacisnąć ENTER: 1)... 2)... 3)... 4) Wyjście. Wybierz: _ Po wybraniu 1-3 program wypisuje wybraną opcję, po wybraniu 4 kończy działanie nic nie robiąc, po wybraniu dowolnej innej wartości sygnalizuje błąd. Po wypisaniu wybranej opcji czeka na naciśnięcie klawisza i znów wypisuje menu. 15. ZADANIE DOMOWE: Napisz algorytm Euklidesa obliczający NWD(a, b), po podaniu przez użytkownika liczb a i b. 16. Program rozkładający podaną liczbę n liczbę na czynniki pierwsze. 12

13 6. Funkcje 1. Definicja Opis działania funkcji, algorytm. Składa się z - specyfikatorów (extern funkcja dostępna poza modułem programu z jej definicją, static dostępna tylko w module programu gdzie ją zdefiniowano, inline dla małych funkcji kompilator nie umieszcza skoku do wywołania funkcji ale całe ciało funkcji w miejscu jej wywołania) - typ wyniku funkcji - identyfikator funkcji, czyli nazwa - lista deklaracji argumentów w nawiasach okrągłych (bez średnika na końcu) - ciało funkcji w nawiasach klamrowych Jeżeli funkcja zwraca wartość to następuje to przez wywołanie instrukcji return wartość; 2. Argumenty Argumenty funkcji są przekazywane przez wartość. Aby zmienić argumenty to należy je przekazać przez wskaźnik (w języku C) lub referencję (w języku C++). np. void suma(int a, int b, int wynik) { wynik=a+b; // tu jest OK., ale na zewnątrz nie zwróci wartości } 1. Zmodyfikuj funkcję Suma by zwracała prawidłowo wynik sumy dwóch liczb. 2. Napisz funkcję WartoscBezwzgledna. Jakie typy danych należy użyć. Czy można zdefiniować dwie funkcje na różnych typach danych? 3. Napisz funkcję obliczającą objętość stożka. Jakie parametry ma funkcja? 4. Napisz funkcję sprawdzającą czy podana liczba n jest parzysta czy nieparzysta. Jakie wartości powinna zwracać ta funkcja. Wykorzystaj ją do programu wypisującego parzystość podanej liczby. Powtórz wypisywanie aż do podania wartości zerowej. 5. Zmodyfikuj funkcję Suma by zwracała wynik przez parametr Wynik. Wykorzystaj referencje. 13

14 7. Tablice 1. Pojęcie tablicy Jest to złożony typ danych przechowujący jednocześnie kilka wartości tego samego typu. Dostęp do poszeczególnych wartości jest swobodny. Elementy tablicy są ponumerowane (indeksowane). Pierwszy element tablicy ma zawsze indeks równy 0. W momencie deklarowania zmiennej tablicowej decydujemy o jej rozmiarze. Jest to maksymalna liczba danych którą można przechować w tablicy. Deklaracja: typ_danych nazwa_zmiennej[rozmiar]; PRZYKŁADY: int liczby[10]; // tablica 10 liczb całkowitych float rzeczywiste[100]; // tablica 100 liczb rzeczywistych char znaki[256]; // tablica 256 znaków Dostęp do danych w tablicy uzyskujemy przez podanie indeksu elementu w nawiasie kwadratowym. PRZYKŁADY: liczby[0]=10; rzeczywiste[99]=r; znaki[1]= A ; 1. Wstaw do tablicy liczby 10 kolejnych liczb parzystych, zaczynając od 0. Następnie wypisz wszystkie elementy tablicy wraz z indeksami. Na ekranie powinna się pojawić informacja typu: tablica[0] = 0 2. Wstaw do tablicy rzeczywiste kolejne wyniki funkcji sin(x) dla wartości x całkowitych od 0 do 99. Wypisz elementy tablicy po wstawieniu. 3. Wstaw do tablicy znaki wszystkie znaki ASCII, następnie wypisz z tej tablicy wszystkie litery małe i wielkie. 4. Napisz program zamieniający podaną liczbę dziesiętną na zapis w postaci binarnej (dwójkowej). Wykorzystaj w tym celu tablicę liczb całkowitych. 2. Tablice wielowymiarowe Skoro elementem tablicy może być dana dowolnego typu, w szczególności elementem tablicy może być również tablica. Zatem int tablica[3][5]; oznacza trzyelementową tablicę złożoną z 5 elementowych tablic, czyli macierz o 3 wierszach i 5 kolumnach. 0,0 0,1 0,2 1,0 1,1 1,2 2,0 2,1 2,2 3,0 3,1 3,2 4,0 4,1 4,2 Odwołania do elementów podobnie jak w jednowymiarowych tablicach, tylko używamy podwójnego indeksowania tablica[0][0] = 1; tablica[1][2] = 2; 14

15 tablica[i][j] = w; Można podobnie jak tablice jednowymiarowe inicjować je konkretnymi wartościami int tablica[3][5]={0,0,0,0,0,1,1,1,1,1,2,2,2,2,2}; 15 kolejnych elementów tablicy, albo czytelniej int tablica[3][5]={{0,0,0,0,0},{1,1,1,1,1},{2,2,2,2,2}}; 3 wiersze po 5 elementów. Można oczywiście tworzyć tablice o bardziej złożonej strukturze float wyniki[100][2][3]; co oznacza 100 elementów tablicowych wymiarów 2x3. 5. Znajdywanie minimum w tablicy dwuwymiarowej, wczytaj najpierw wymiary tablicy, potem dane do tablicy podanych rozmiarów. Jak sprawdzać zakres wymiarów, jak dobrać wymiar tablicy? 6. Program obliczający sumę dwóch macierzy. 7. ZADANIE DOMOWE: Program dokonujący transponowania macierzy. 3. Łańcuchy W języku C łańcuch to po prostu tablica znaków o danym rozmiarze, dane łańcucha zakończone są zawsze znakiem ASCII o numerze 0. char tekst[256] Skoro tablica jest równoważna wskaźnikowi możemy łańcuch również traktować jako wskaźnik do typu char char *tekst; Jednak wtedy trzeba osobno rezerwować pamięć na przechowanie tego łańcucha. 8. Napisz funkcję zwracającą długość podanego jako parametr łańcucha (przykładowo: dla Ala zwróci 3). 9. Napisz funkcję zmieniającą na odwrotną kolejność znaków w podanym jako parametr łańcuchu (przykładowo: zamieni Ala na ala ). 10. ZADANIE DOMOWE: Napisz funkcję która będzie zamieniać pierwsze litery w kolejnych słowach łańcucha na wielkie (przykładowo: ala ma kota na Ala Ma Kota ). W języku C++ wprowadzono nowy typ łańcuchowy string, jest to podejście obiektowe do obsługi łańcuchów. string tekst; cin >> tekst; cout << Podałeś napis: << tekst << endl; 11. Napisz program wczytujący do zmiennej tekst dowolny tekst z klawiatury, wraz ze spacjami. Program po wczytaniu ma wypisać liczbę wprowadzonych znaków oraz wczytany łańcuch. 15

16 Przykładowo: Podaj tekst: Ala ma kota Wczytano: 11 znaków Podałeś: Ala ma kota 12. Dodaj do powyższego programu funkcję odwracającą kolejność znaków z zadania 9, a następnie wypisz podany tekst od końca Przykładowo: Odwrotnie: atok am ala 13. Napisz program przechowujący w tablicy 20 danych osobowych (imię, nazwisko, płeć, wiek). Uzupełnij program o funkcję: dodającą osobę na końcu, wypisującą wszystkie podane osoby. Możesz stworzyć proste menu wyboru. Przykładowo: Baza osób 1. Dodaj osobę 2. Wypisz osoby 3. Zakończ Wybierz opcję: _ 14. ZADANIE DOMOWE: Dokończ powyższe zadanie i dodaj funkcję wypisującą dane osoby o zadanym numerze. Dodaj odpowiednią opcję w menu. 16

17 8. Pliki Pliki służą do przechowywania danych na dysku, dostęp do plików realizowany jest za pomocą zmiennej wskaźnikowej do typu FILE (w języku C) lub za pomocą strumieni (w języku C++), podobnie do wczytywania i wyprowadzania danych. Obsługę plików można realizować na poziomie tekstu (pliki tekstowe) lub bloków danych (pliki binarne). Przed wykorzystaniem plików należy zawsze plik otworzyć, następuje wówczas powiązanie danego pliku dyskowego (dostępnego poprzez nazwę pliku) ze zmienną plikową. Podczas otwierania pliku decydujemy się na tryb otwarcia pliku (odczyt, zapis, dodawanie danych na końcu pliku lub tryby mieszane) oraz wybór pliku tekstowego lub binarnego. Po otwarciu pliku możemy zapisywać dane do plików, odczytywać dane z pliku, przesuwać głowicę w pliku. Po zakończeniu pracy z plikiem, należy go zamknąć. W języku C, obsługę pliku tekstowego do odczytu można przedstawić następującym przykładem FILE* plik = NULL; // deklaracja zmiennej plikowej plik = fopen( dane.txt, rt ); // otwarcie pliku do odczytu if(plik!=null) { char znak; while(!feof(plik)) { // jeżeli nie ma końca pliku znak = fgetc(plik); // odczytaj jeden znak printf("%c", znak); // wypisz jeden znak } fclose(plik); // zamknij plik } else printf("błądotwarcia pliku\n"); 1. Zmodyfikuj powyższy przykład, tak by wynik był zapisywany do pliku dane2.txt zamiast na ekran. 2. Zmień sposób działania zadania 1 na plik binarny. Zmień funkcje otwierania, odczytu i zapisu danych. W przypadku obsługi strumieniowej plików w C++ wykorzystujemy zmienne typu fstream, ifstream, ofstream. Otwieramy plik deklarując zmienną plikową (obiekt). Przykładowo fstream plik( dane.txt, ios::in ios::out); // otwarcie pliku do odczytu i zapisu Zmienna typu ifstream dotyczy plików do odczytu, ofstream do zapisu. Po otwarciu pliku możemy zapisywać dane tekstowo z wykorzystaniem operatora <<, odczytywać tekstowo za pomocą operatora >>. Przykładowo: plik << x <<, << y <<, << z << endl; // np. 1,2,3 plik >> tekst; // odczyt do białego znaku 17

18 cout << tekst; // wypisze 1,2,3 getline(plik, tekst); // odczyt całej linii cout << tekst; // wypisze: Ala ma kota Można również wykorzytać getline do odczytu linijki ze standardowego wejścia getline(cin, linijka); Dostęp do strumienia z wykorzystaniem bloków binarnych można uzyskać stosując funkcje read i write Przykładowo char dane[128]; plik.read(dane, 128); 3. Napisz program kopiujący plik o podanej nazwie do drugiego pliku o podanej nazwie, z wykorzystaniem strumieni binarnych 4. Uzupełnij zadanie 14 z poprzedniego działu o zapis danych do pliku na końcu programu oraz odczyt w momencie uruchamiania programu. Użyj czytelnego pliku tekstowego baza.txt składającego się w kolejnych liniach z poszczególnych składowych typu osoba: imię nazwisko płeć wiek Warto zwiększyć rozmiar tablicy przechowującej dane osobowe. 18

19 9. dodatkowe 1. Napisać funkcję void LosujP(int P[], int n) losującą permutację P rozmiaru n. Permutacja P jest zapisana w tablicy przykładowo dla n = 6, funkcja może wylosować następującą tablicę P = {5, 2, 1, 4, 0, 3}. Wykorzystaj funkcje obsługujące liczby pseudolosowe rand() oraz srand() 2. Napisać funkcję unsigned long long int PermutujBity(int P[], unsigned long long int n) permutującą bity 64 bitowej wartości n zgodnie z wylosowaną wcześniej 64 elementową permutacją P. Przykładowo dla 8 bitowej wartości n można uzyskać następujące przekształcenia n (bity numerowane od lewej ) P (zapis permutacji oznacza przesuń 7 bit na 2 pozycję, 6 bit na 4, 5 bit na 6,, 1 bit na 3, 0 bit na 5 P(n) (bity po przestawieniu pozycji zgodnie z P) 3. Napisać funkcję void Szachownica(int n) rysującą na ekranie szachownicę wymiaru n x n, przykładowo dla n = 6 funkcja powinna wypisać * * * * * * * * * * * * * * * * * * 4. Zmodyfikuj powyższą funkcję do postaci void Szachownica2(int n, int m) podobnie jak poprzednio rysującą szachownicę wymiaru n x n, ale dodatkowo każde pole szachownicy powinno być wymiaru m x m. Przykładowo Szachownica2(4, 2) wyrysuje ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** 5. Napisz funkcję int Zaprzyjaznione(int n, int m) sprawdzającą czy dwie liczby n i m są liczbami zaprzyjaźnionymi, tzn. suma dzielników liczby n z wyłączeniem wartości n jest równa m i na odwrót. Funkcja zwraca 1 jeżeli liczby są zaprzyjaźnione, 0 jeżeli nie są zaprzyjaźnione. Przykładowo: 220 = (suma dzielników wynosi 284) 284 = (suma dzielników wynosi 220) 6. Napisz program, który znajdzie i wypisze wszystkie możliwe pięciocyfrowe pary liczb zaprzyjaźnionych. 19

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

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

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

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

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

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

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

Bardziej szczegółowo

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

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

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

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

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

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

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

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

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

Proste programy w C++ zadania

Proste programy w C++ zadania Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna

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

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Argumenty wywołania programu, operacje na plikach

Argumenty wywołania programu, operacje na plikach Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują

Bardziej szczegółowo

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować

Bardziej szczegółowo

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

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.

Bardziej szczegółowo

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe: Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard

Bardziej szczegółowo

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

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ę

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

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

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

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

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 - 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 Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++ Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl

Bardziej szczegółowo

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

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

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Algorytmika i programowanie dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Algorytmy i sposoby ich przedstawiania Algorytm - informatyczny opis planu rozwiązania zadania Sposoby

Bardziej szczegółowo

7. Pętle for. Przykłady

7. Pętle for. Przykłady . Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i

Bardziej szczegółowo

Programowanie - instrukcje sterujące

Programowanie - instrukcje sterujące Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication

Bardziej szczegółowo

I. Podstawy języka C powtórka

I. Podstawy języka C powtórka I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

Pytania sprawdzające wiedzę z programowania C++

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?

Bardziej szczegółowo

Języki i metodyka programowania. Wprowadzenie do języka C

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

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

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

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

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

Bardziej szczegółowo

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini

Bardziej szczegółowo

WHILE (wyrażenie) instrukcja;

WHILE (wyrażenie) instrukcja; INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

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

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

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 języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

WHILE (wyrażenie) instrukcja;

WHILE (wyrażenie) instrukcja; INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while

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

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

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

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje

Bardziej szczegółowo

Języki programowania - podstawy

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

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

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009 Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk 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, Materiał

Bardziej szczegółowo

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to

Bardziej szczegółowo

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Pzetestuj działanie pętli while i do...while na poniższym przykładzie: Pzetestuj działanie pętli while i do...while na poniższym przykładzie: Zadania pętla while i do...while: 1. Napisz program, który wczytuje od użytkownika liczbę całkowitą, dopóki podana liczba jest mniejsza

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

1. Napisz program wypisujący w kolejnych wierszach standardowego wyjścia pojedyncze słowa następującego napisu Bardzo dlugi napis. 2.

1. Napisz program wypisujący w kolejnych wierszach standardowego wyjścia pojedyncze słowa następującego napisu Bardzo dlugi napis. 2. 1. Napisz program wypisujący w kolejnych wierszach standardowego wyjścia pojedyncze słowa następującego napisu Bardzo dlugi napis. 2. Napisz program, który wczytuje ze standardowego wejścia liczbę całkowitą

Bardziej szczegółowo

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku.

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. Program 7 Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. #include #include using namespace std; int main()

Bardziej szczegółowo

1 Powtórzenie wiadomości

1 Powtórzenie wiadomości 1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy

Bardziej szczegółowo

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

Bardziej szczegółowo

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

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

Podstawy programowania w C++

Podstawy programowania w C++ Podstawy programowania w C++ Strumienie wejścia cin>> i wyjścia cout

Bardziej szczegółowo

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

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

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach

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

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec PROE wykład 3 klasa string, przeciążanie funkcji, operatory dr inż. Jacek Naruniec Przypomnienie z ostatnich wykładów Konstruktory/destruktory i kolejność ich wywołania w złożonej klasie. Referencja Obiekty

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