Podstawy programowania. Tomasz Tyksiński. Rok akademicki 2014/15
|
|
- Andrzej Sobczak
- 8 lat temu
- Przeglądów:
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.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ółowoPodstawy 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ółowoCzęść 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ółowo1 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ółowoPodstawy 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ółowoI - 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ółowoPodstawy 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ółowoPodstawy 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ółowoWykł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ółowoPodstawy 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ółowo3. 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ółowoInstrukcje 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ółowoInformacje 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ółowoWiadomoś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ółowoJę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ółowoPliki. 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ółowoWstę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ółowoStruktura 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ółowoNiezwykł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ółowoProste 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ółowoProgramowanie 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ółowoJę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ółowoArgumenty 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ółowo4. 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ółowoSpis 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ółowo1 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ółowodo 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ółowoProgramowanie 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ółowoPodstawy 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ółowoProgramowanie 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ółowoMETODY 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ółowoPodstawy 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ółowoProgramowanie 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ółowoProgramowanie 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ółowoAlgorytm. 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ółowoC++ 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ółowoProgramowanie - 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ółowoPodstawy 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ółowoPodstawy 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ółowoJĘ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ółowoutworz 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ółowoTemat 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ółowoStrona 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ółowoAlgorytmika 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ółowo7. 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ółowoProgramowanie - 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ółowoI. 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ółowoWstę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ółowoPytania 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ółowoJę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ółowoProgramowanie 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ółowoDefinicje. 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ółowoznajdował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ółowoPodstawowe 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ółowoPę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ółowoTablice. 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ółowoWstę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ółowoWstę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ółowoProgramowanie 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ółowoPodstawy 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ółowoWHILE (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ółowoStał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ółowoZaję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ółowoLab 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ółowoPodstawy 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ółowoa[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ółowoProgramowanie 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ółowoWHILE (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ółowoZASADY 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ółowoTablice 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ółowoJak 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ółowoRozwią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 ); }
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ółowoWstę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ółowoLaboratorium 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ółowoJę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ółowoZaję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ółowoInformatyka 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ółowoPodstawy 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ółowoWskaź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ółowoPzetestuj 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ółowoUwagi 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ółowolekcja 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ółowoJAVA. 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ółowo1. 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ółowoProgram 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ółowo1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Bardziej szczegółowo1 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ółowoTablice (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ółowo1. 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ółowoInstrukcje 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ółowoPodstawy programowania w C++
Podstawy programowania w C++ Strumienie wejścia cin>> i wyjścia cout
Bardziej szczegółowoOPERACJE 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ółowoProgramowanie 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ółowoPliki. 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ółowoWskaź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ółowoLaboratorium 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ółowoPliki 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ółowoPROE 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ółowoWstę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