Łódź, 3 października 2013 r. Katedra Analizy Nieliniowej, WMiI UŁ Podstawy Programowania Złożona składnia języka C++

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Katarzyna Szafrańska kl. II ti
Język C/C++ Funkcje.
Programowanie obiektowe
Programowanie obiektowe
Podstawy programowania PP – LAB2 Wojciech Pieprzyca.
Wzorce.
Język ANSI C Funkcje Wykład: Programowanie komputerów
Instrukcje warunkowe Zajęcia 5.
ZŁOŻONOŚĆ OBLICZENIOWA
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
Programowanie imperatywne i język C Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Podstawy informatyki Powtórka Grupa: 1A Prowadzący: Grzegorz Smyk
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
Tablice.
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Podstawy programowania PP – WYK3 Wojciech Pieprzyca.
Podstawy programowania PP – WYK2 Wojciech Pieprzyca.
Podstawy programowania PP – LAB6 Wojciech Pieprzyca.
Podstawy programowania
Podstawy programowania PP – LAB4 Wojciech Pieprzyca.
Podstawy programowania PP – LAB5 Wojciech Pieprzyca.
Programowanie obiektowe W2
Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.
Podstawy programowania
Podstawy informatyki (4)
Podstawy programowania
Zbiór do posortowania mieści się w pamięci
Podstawy informatyki 2013/2014
Podstawy programowania
Podstawy informatyki Struktury, operatory, wyjątki
TABLICE C++.
Procedury i funkcje.
Podstawy Programowania
Przekazywanie argumentów
Podstawy programowania
Podstawy programowania w języku C i C++
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Algorytmy rekurencyjne - przykład
Łódź, 3 października 2013 r. Katedra Analizy Nieliniowej, WMiI UŁ Podstawy Programowania Programy różne w C++
Programowanie obiektowe
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Tablice. Tablica struktura danych, służy do przechowywania danych tego samego typu, zapisana w pamięci w sposób ciągły. Deklaracja tablicy PascalC++,
Liczby rzeczywiste ©M.
Programowanie obiektowe 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy języka Instrukcje - wprowadzenie
Programowanie strukturalne i obiektowe C++
Programowanie strukturalne i obiektowe C++
Programowanie obiektowe Wykład 9 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/15 Dariusz Wardowski.
Tablice Zajęcia 8. Definicja Tablica (z ang. array) jest zmienną złożoną, która składa się z ciągu elementów tego samego typu. W pamięci komputera tablica.
Pętle Zajęcia 6.
Klasy String i Vector Zajęcia 9. Klasa String Atutem języka C++ jest biblioteka standardowych szablonów STL (Standard Template Library), która udostępnia.
Funkcje - rekurencja Zajęcia 8. Funkcje - definicja Ogólna postać funkcji w C++: typZwracany nazwaFunkcji(listaParametrówWejściowychFunkcji) { ciało funkcji.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Wstęp do programowania wykład 3 Typy wyliczeniowe, tablice.
ALGORYTMY I STRUKTURY DANYCH
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Zmienne typy danych w VBA. MS Excel – typy danych w języku programowania VBA.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Wskaźniki Elżbieta Labocha.
Dane, zmienne, instrukcje
Przycisk uruchamiający napisany przez nas program
Język C++ Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Łódź, 3 października 2013 r. Katedra Analizy Nieliniowej, WMiI UŁ Podstawy Programowania Złożona składnia języka C++

2 Definicja tablicy Tablica (z ang. array) jest zmienną złożoną, która składa się z ciągu elementów tego samego typu. W pamięci komputera tablica zajmuje spójny obszar, a jej elementy są ułożone kolejno jeden obok drugiego. Elementy tablicy nazywamy komórkami. Komórki w tablicy są ponumerowane. Numer komórki nazywamy indeksem tablicy. W języku C++ wszystkie indeksy komórek tablic rozpoczynają się od zera. Odwołując się do komórek spoza zakresu tablice możesz liczyć na to, że otrzymasz śmieci!! Deklaracja tablicy: TypElementów nazwaTablicy[liczbaKomórekTablicy]; Np. int tab[5] // deklaracja 7 elementowej tablicy elementów typu int char tablica[9] // deklaracja 9 elementowej tablicy pojedynczych znaków typu char Inicjalizacja elementów tablicy: int tab[5] = {2,3,4,-11,3}; lub tab[0]=2; tab[1]=3; tab[2]=4; tab[3]=-11; tab[4]=3; char tablica[15]= "niezapominajka"; lub char tablica[14]= {'n','i','e','z','a','p','o','m','i','n','a','j','k','a'};

3 Zadanie 1 Napisz program w C++, który zrealizuje następujace zadania: 1.Wczytaj dowolną liczbę całkowitą n>0. 2.Wczytaj następnie n liczb całkowitych (zapamiętaj je w formie tablicy tab int[n] ). 3.Wyświetl elementy tablicy po kolei, tj. według indeksów: 0,1,…,n-1. 4.Wyświetl elementy tablicy po kolei od końca, tj. według indeksów: n-1,n-2,…,0. 5.Wyświetl sumę elementów tablicy tab. 6.Wyświetl iloczyn elementów tablicy tab. 7.Wyświetl ilość liczb parzystych i nieparzystych występujących w tablicy tab. 8.Wyświetl największy element z tablicy tab oraz jego pozycję. 9.Wyświetl najmniejszy element z tablicy tab oraz jego pozycję. 10.Posortuj tablicę tab rosnąco. 11.Posortuj tablicę tab malejąco.

4 Zadanie 2 Napisz program w C++, który zrealizuje nastepujace zadanie: 1.Wczytaj swoje imię, nazwisko oraz wiek z klawiatury jako jeden ciąg znaków. Możesz to zrobić tak: Zadeklaruj najpierw tablicę 100 elementową zmiennych char : char dane[100]; Następnie ciąg znaków z klawiatury do tej tablicy możesz wczytać za pomocą konstrukcji: cin.getline(dane,100); Rzeczywistą ilość znaków w tablicy możesz odczytać w następujący sposób: int dlugosc = (int)strlen(dane); 2.Napisz teraz tak dalszą część programu aby na przykładowo wczytany ciąg: Robert Kowalczyk 35 program reagował w następujący sposób: Witaj chłopaku Robert. Widzę, że masz 35 lat i na nazwisko Kowalczyk.

5 Funkcja w C++ - definicja Ogólna postać funkcji w C++: typZwracany nazwaFunkcji(listaParametrówWejściowychFunkcji) { ciało funkcji } Funkcja nie zwracająca wartości (procedura): void nazwaFunkcji(listaParametrówWejściowychFunkcji) { ciało funkcji } Funkcja zwracająca wartość: typZwracany nazwaFunkcji(listaParametrówWejściowychFunkcji) { ciało funkcji return wyrazenie; //wyrazenie musi być typu typZwracany }

6 Funkcje - przykłady Przykład 1: void piszLiczbe(int a) { cout << Wartosc liczby wynosi: << a; } int main() { int n; cout << Podaj liczbe do wczytania: ; cin >> n; piszLiczbe(n); return 0; } Przykład 2: void suma(int a, int b) { return a+b; } int main() { int a,b; cout << Podaj dwie liczby a i b: ; cin >> a; cin >> b; cout << Suma liczb wynosi << suma(a,b); return 0; }

7 Funkcje - ćwiczenia Zadanie 1 Napisz program z funkcjami: int poleProstokata(int bok1, int bok2); i int obwodProstokata(int bok1, int bok2); a następnie dwukrotnie wczytaj po dwie pary liczb całkowitych a i b (długości boków prostokąta) i używając funkcji poleProstokata i obwodProstokata oblicz i wyprowadź na ekran odpowiednie wyniki. Zadanie 2 Popraw funkcje z Zadania 1 tak, aby zwracały wartość -1 o ile długości boków przesłane do są liczbami ujemnymi. Zadanie 3 Przerób funkcje z Zadania 1 na: void poleProstokata(int bok1, int bok2); i void obwodProstokata(int bok1, int bok2); tak aby realizowały problem zasygnalizowany w Zadaniu 2.

8 Funkcje – iteracja a rekurencja Rozwiązanie obliczania silni z liczby n z użyciem rekurencji (czyli funkcji wywołującej samą siebie) i bez rekurencji: Przykład 1 (iteracja) long long silnia(int n) { long long wynik=1; for (int i=1; i<=n; i++) wynik=wynik*i; return wynik; } Przykład 2 (rekurencja) long long silnia(int n) { if (n==0) return 1; return n*silnia(n-1); }

9 Funkcje – iteracja a rekurencja - zadania Zadanie 1 Rozwiąż problem obliczania sumy n początkowych wyrazów w ciągu arytmetycznym. Zadanie 2 Rozwiąż problem obliczania sumy n początkowych wyrazów w ciągu geometrycznym. Zadanie 3 Rozwiąż problem obliczania wartości wielomianu n-tego stopnia w punkcie – wykorzystaj schemat Hornera.

10 Zapis do pliku tekstowego Prosty program pokazujący sposób zapisu do pliku tekstowego: #include using namespace std; int main () { ofstream myfile ("example.txt"); if (myfile.is_open()) { myfile << "This is a line.\n"; myfile << "This is another line.\n"; myfile.close(); } else cout << "Unable to open file"; system("pause"); return 0; }

11 Odczyt z pliku tekstowego #include using namespace std; int main () { string line; ifstream myfile ("example.txt"); if (myfile.is_open()) { while (! myfile.eof() ) { getline (myfile,line); cout << line << endl; } myfile.close(); } else cout << "Unable to open file"; system("pause"); return 0; }

12 Zadanie lekcyjne do dokończenia w domu Napisz dwa programy w C++: czytanie.cpp i pisanie.cpp. W programie pisanie.cpp wczytujesz w pętli nieskończonej z klawiatury pary liczb całkowitych (a,b) jako stringi: …….. i w takiej postaci zapisujesz je do pliku tekstowego plik1.txt. Program kończy działanie jeśli wpiszesz z klawiatury napis: koniec. W programie czytanie.txt wczytujesz zawartość pliku tekstowego linia po linii, każdą linię parsujesz (odseparowujesz od siebie dwie liczby), z odczytanych liczb wybierasz większą i wypisujesz ją na ekran. Program kończy działanie po osiągnięciu końca pliku tekstowego.