1 / 12

Łódź, 3 października 2013 r.

Podstawy Programowania Złożona składnia języka C++. Łódź, 3 października 2013 r. Katedra Analizy Nieliniowej, WMiI UŁ. Definicja tablicy. Tablica (z ang. array ) jest zmienną złożoną, która składa się z ciągu elementów tego samego typu.

barton
Download Presentation

Łódź, 3 października 2013 r.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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ównazwaTablicy[liczbaKomórekTablicy]; Np. inttab[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: inttab[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: • Wczytaj dowolną liczbę całkowitą n>0. • Wczytaj następnie n liczb całkowitych (zapamiętaj je w formie tablicy tabint[n]). • Wyświetl elementy tablicy po kolei, tj. według indeksów: 0,1,…,n-1. • Wyświetl elementy tablicy po kolei od końca, tj. według indeksów: n-1,n-2,…,0. • Wyświetl sumę elementów tablicy tab. • Wyświetl iloczyn elementów tablicy tab. • Wyświetl ilość liczb parzystych i nieparzystych występujących w tablicy tab. • Wyświetl największy element z tablicy tab oraz jego pozycję. • Wyświetl najmniejszy element z tablicy tab oraz jego pozycję. • Posortuj tablicę tab rosnąco. • Posortuj tablicę tab malejąco.

  4. Zadanie 2 • Napisz program w C++, który zrealizuje nastepujace zadanie: • 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: • intdlugosc = (int)strlen(dane); • 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++: typZwracanynazwaFunkcji(listaParametrówWejściowychFunkcji) { ciało funkcji } Funkcja nie zwracająca wartości (procedura): voidnazwaFunkcji(listaParametrówWejściowychFunkcji) { ciało funkcji } Funkcja zwracająca wartość: typZwracanynazwaFunkcji(listaParametrówWejściowychFunkcji) { ciało funkcji return wyrazenie; //wyrazenie musi być typu typZwracany }

  6. Funkcje - przykłady Przykład 1: voidpiszLiczbe(int a) { cout << „Wartosc liczby wynosi: „ << a; } intmain() { 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; } intmain() { inta,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: intpoleProstokata(int bok1, int bok2); i intobwodProstokata(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: voidpoleProstokata(int bok1, int bok2); i voidobwodProstokata(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 longsilnia(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 Horner’a.

  10. Zapis do pliku tekstowego Prosty program pokazujący sposób zapisu do pliku tekstowego: #include <iostream> #include <fstream> usingnamespacestd; intmain () { ofstreammyfile ("example.txt"); if (myfile.is_open()) { myfile << "Thisis a line.\n"; myfile << "Thisisanotherline.\n"; myfile.close(); } else cout << "Unable to open file"; system("pause"); return 0; }

  11. Odczyt z pliku tekstowego #include<iostream> #include <fstream> #include <string> usingnamespacestd; intmain () { stringline; ifstreammyfile ("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: 3 76 45 89 -45 78 …….. 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.

More Related