Podstawy Programowania
Download
1 / 12

Łódź, 3 października 2013 r. - PowerPoint PPT Presentation


  • 108 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Łódź, 3 października 2013 r.' - barton


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Podstawy Programowania

Złożona składnia języka C++

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

Katedra Analizy Nieliniowej, WMiI UŁ


Definicja tablicy
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'};


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


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


Funkcja w c definicja
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

}


Funkcje przyk ady
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;

}


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


Funkcje iteracja a rekurencja
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);

}


Funkcje iteracja a rekurencja zadania
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.


Zapis do pliku tekstowego
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;

}


Odczyt z pliku tekstowego
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;

}


Zadanie lekcyjne do doko czenia w domu
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.


ad