• Nie Znaleziono Wyników

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje dr inż. Jakub Możaryn

N/A
N/A
Protected

Academic year: 2021

Share "Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje dr inż. Jakub Możaryn"

Copied!
22
0
0

Pełen tekst

(1)

Podstawy Programowania C++

Wykład 3 - podstawowe konstrukcje

dr inż. Jakub Możaryn

Instytut Automatyki i Robotyki

Warszawa, 2014

dr inż. Jakub Możaryn Podstawy Programowania C++

(2)

Wstęp

(3)

Plan wykładu

Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia: operatory, priorytety, standardowe funkcje matematyczne.

Instrukcja warunkowa if, typ logiczny boolean.

Pętle sterowane warunkiem c++: while (), do ... while ();

instrukcja wielokrotnego wyboru: switch.

Pętla ze skończoną liczba wywołań for, tablice jednowymiarowe (wektory).

Operacje na tablicach dwuwymiarowych (macierze).

Rekordy (struktury) i typ rekordowy. Tablice typu rekordowego. Typ tablicowy.

dr inż. Jakub Możaryn Podstawy Programowania C++

(4)

Podstawowe wyrażenia - zadania

Zadanie 3.1

Wczytać z klawiatury swoje imię, nazwisko (zmienne typu: łańcuch znaków) oraz wiek (jako zmienną typu całkowitego). Wypisać wczytane dane na ekranie.

Zadanie 3.2

Wczytać z klawiatury wartość podstawy trójkąta oraz jego wysokość (jako zmienne typu całkowitego). Policzyć i wypisać na ekranie jego pole (jako zmienną typu rzeczywistego).

(5)

Instrukcja warunkowa, typ logiczny

Instrukcja warunkowa

Uzależnia wykonanie instrukcji w programie od spełnienia lub

niespełnienia warunku. Warunek ma wartość typu logicznego (boolean).

Instrukcje warunkowe mogą być zagnieżdżone.

Składnia

if (warunek) instrukcja

if (warunek) instrukcja1 else instrukcja2 if (warunek) { instrukcja złożona 1 } else { instrukcja złożona 2 }

gdzie instrukcja złożona ma postać {

instrukcja_1;

...

}

dr inż. Jakub Możaryn Podstawy Programowania C++

(6)

Instrukcja warunkowa, typ logiczny - zadania

Zadanie 3.3

Wczytać trzy liczby. Wydrukować wartość największą i najmniejszą.

Wykorzystać zamianę wartości przy pomocy zmiennej pomocniczej.

Zaproponować sposób zamiany dwóch liczb bez zmiennej pomocniczej.

Zadanie 3.4

Dany jest ciąg liczb zakończony zerem. Policzyć i wydrukować średnią arytmetyczną ze wszystkich wartości ciągu.

(7)

Instrukcja wielokrotnego wyboru

Instrukcja wielokrotnego wyboru

inaczej instrukcja decyzyjna jest to instrukcja umożliwiająca wybór działań do wykonania spośród wielu opcji.

Instrukcja wielokrotnego wyboru ma postać switch (\textbf{selektor})

{

case stała: case stała: ...

instrukcja; instrukcja; ....

break;

case stała: case stała: ...

instrukcja; instrukcja; ....

break;

...

case stała: case stała: ...

instrukcja; instrukcja; ....

break;

default:

instrukcja; instrukcja; .... można pominąć }

dr inż. Jakub Możaryn Podstawy Programowania C++

(8)

Instrukcja wielokrotnego wyboru

Selektor może być wyrażeniem jednego z typów porządkowych (przeliczalnych), tzn. może być typu int, char, a nawet bool, ale nie może być typu rzeczywistego ani typu string.

Każda z pozycji stała może być:

stałą (np. 5, true czy ’a’), typu takiego samego jak selektor lub umożliwiającego jednoznaczne rzutowanie typów

wyrażeniem stałym, dającym się policzyć na etapie kompilacji Pozostałe słowa kluczowe:

break; - instrukcja przerywająca działanie instrukcji switch case: - Jeśli wartość zmiennej występującej po słowie kluczowym switch będzie równa wartości umieszczonej po słowie kluczowym case, to wykonywane są instrukcje znajdujące się po znaku dwukropka.

default - Wykonanie instrukcji znajdujących się po słowie kluczowym default nastąpi tylko wtedy, gdy żaden z wcześniejszych warunków (case) nie zostanie spełniony.

(9)

Pętle sterowane warunkiem

Pętla while (pol. ’podczas gdy’)

Pętla wykonuje instrukcję tak długo, dopóki jej warunek jest spełniony (ma wartość różną od zera). Instrukcja sprawdza warunek przed

wykonaniem ciała pętli. Pętla while może wykonywać się nieskończoną ilość razy, gdy wyrażenie nigdy nie przyjmie wartości 0, może także nie wykonać się nigdy, gdy wartość przed pierwszym przebiegiem będzie zerowa.

Pętla do ... while (pol. ’wykonuj, dopóki zostanie spełniony warunek’) Pętla wykonuje instrukcję tak długo, dopóki jej warunek jest spełniony (ma wartość różną od zera). Instrukcja sprawdza warunek po wykonaniu ciała pętli. Pętla while może wykonywać się nieskończoną ilość razy, gdy wyrażenie nigdy nie przyjmie wartości 0, może także nie wykonać się nigdy, gdy wartość przed pierwszym przebiegiem będzie zerowa.

dr inż. Jakub Możaryn Podstawy Programowania C++

(10)

Pętle sterowane warunkiem

Pętla while (pol. ’podczas gdy’)

while (warunek) {

instrukcja\_złożona;

...

}

(11)

Pętle sterowane warunkiem

Pętla do ... while (pol. ’wykonuj, dopóki zostanie spełniony warunek’)

do {

instrukcja\_złożona;

...

}

while (warunek);

dr inż. Jakub Możaryn Podstawy Programowania C++

(12)

Pętle sterowane warunkiem

Zadanie 3.5

Wczytać n > 0, a następnie n liczb. Znaleźć i wydrukować dwie największe liczby (warianty: mogą być te same lub różne).

Zadanie 3.6

Wczytywać ciąg znaków aż do momentu wpisania dwukrotnie litery ’a’.

Wypisać ile we wpisanym ciągu było liter ’m’, oraz ile było liter dużych i małych z zakresu [’b’.. ’l’]

(13)

Pętle sterowane warunkiem

Instrukcje przerywające działanie pętli Instrukcja break

Instrukcja ta przerywa działanie pętli (for, do, while) a następnie powoduje przejście do pierwszej instrukcji znajdującej się za pętlą;

Instrukcje break może być wywoływana tylko w pętli lub instrukcji switch.

Instrukcja continue

Instrukcja ta przerywa bieżącą iterację pętli (for, do, while) a następnie powoduje przejście do następnego cyklu pętli. Instrukcja continue może być wywoływana tylko w pętli .

do {

instrukcja\_złożona;

...

break ...

}

while (warunek); dr inż. Jakub Możaryn Podstawy Programowania C++

(14)

Pętle sterowane warunkiem

Pętla for (pol. ’wykonuj dla’)

Petla for umożliwia wpisanie: ustawiania zmiennej, sprawdzania warunku i inkrementowania zmiennej w jednej linijce (zwiększa czytelność kodu).

for (wyrażenie1; wyrażenie2; wyrażenie3) { /* instrukcje do wykonania w pętli */

...

}

/*PRZYKŁAD:*/

for (int i=0; i<10; i++) {

/* instrukcje do wykonania w pętli */

...

}

(15)

Pętle sterowane warunkiem

Odpowiednie wyrażenia w pętli:

for (wyrażenie1; wyrażenie2; wyrażenie3) { /* instrukcje do wykonania w pętli */

...

}

są następujące

wyrażenie1 - instrukcja wykonana przed pierwszym przebiegiem pętli. Zwykle jest to inicjalizacja zmiennej, która będzie służyła jako łicznik”przebiegów pętli.

wyrażenie2 - warunek zakończenia pętli. Pętla wykonuje się tak długo, jak prawdziwy jest ten warunek.

wyrażenie3 - instrukcja wykonywana będzie po każdym przejściu pętli (także po ostatnim). Zamieszczone są tu instrukcje, które zwiększają licznik o odpowiednią wartość

UWAGA: zmienna zdefiniowana w pętli for jest dostępna tylko w obszarze tej pętli.

dr inż. Jakub Możaryn Podstawy Programowania C++

(16)

Tablice

Tablica

Jest to ciąg zmiennych jednego typu. Ciąg taki posiada jedną nazwę a do jego poszczególnych elementów odnosi się przez numer (indeks).

Elementy przechowywane są jeden za drugim w pamięci komputera.

Tablicę deklaruje się w następujący sposób:

typ nazwa tablicy[rozmiar];

gdzie rozmiar oznacza ile zmiennych danego typu możemy zmieścić w tablicy.

Przykłady deklaracji tablic, oraz odwoływania się do ich elementów int tablica1[20]; // 20 elementowa, bez inicjalizacji int tablica2[3] = {0,1,2}; // 3 elementowa

int tablica3[] = {1, 2, 3, 4, 5}; // 5 elementowa int a1=tablica2[2];

(17)

Tablice

Rysunek :Tablica 5 elementowa; numeracja indeksów, oraz zmienne indeksowane (elementy tablicy)

Tablicami posługujemy się tak samo jak zwykłymi zmiennymi. Różnica polega jedynie na podawaniu indeksu tablicy. Określa on, z którego elementu (wartości) chcemy skorzystać spośród wszystkich

umieszczonych w tablicy.

UWAGA: Numeracja indeksów rozpoczyna się od zera, co oznacza, że pierwszy element tablicy ma indeks równy 0, drugi 1, trzeci 2, itd.

dr inż. Jakub Możaryn Podstawy Programowania C++

(18)

Pętle sterowane warunkiem, wektory - zadania

Zadanie 3.7

Dla x = 0.1, 0.2, .., 1 i y = 1, −2, 4, −8, 16, −32, 64 drukować argumenty i wartości funkcji

y = y · sin x , jeżeli sin x < cos x

y · cos x , jeżeli sin x ­ cos x (1)

Zadanie 3.8

Wczytać 100 liczb rzeczywistych do wektora A. Zamienić miejscami wartość największą z najmniejszą w tej tablicy.

(19)

Tablice wielowymiarowe

Tablica wielowymiarowa

Jest to zbiór zmiennych jednego typu. Ciąg taki posiada jedną nazwę a do jego poszczególnych elementów odnosi się przez indeksy. Elementy przechowywane są w pamięci komputera jako ”tablica tablic”. Tablice wielowymiarowe definiuje się podając przy zmiennej kilka wymiarów.

Tablicę wielowymiarową deklaruje się w następujący sposób:

typ nazwa tablicy[rozmiar1][rozmiar2]...;

gdzie rozmiar# rozmiar jednego wymiaru tablicy.

Przykłady deklaracji tablic wielowymiarowych, oraz odwoływania się do ich elementów

float macierz[10][10];

macierz[2][3] = 1.2;

float macierz[2][2] = {

{ 1.6, 4.5}, /* pierwszy wiersz */

{ 5.7, 4.3}, /* drugi wiersz */

};

dr inż. Jakub Możaryn Podstawy Programowania C++

(20)

Tablice wielowymiarowe

Rysunek :Tablica n × n elementowa; numeracja indeksów, oraz zmienne indeksowane (elementy tablicy)

(21)

Tablice wielowymiarowe - zadania

Zadanie 3.9

Wczytać dane z klawiatury do tablicy A ∈ R9 × 9 przechowującej liczby rzeczywiste.

1 Policzyć i wydrukować średnią arytmetyczną z dodatnich wartości.

2 Wyzerować na obwodzie elementy większe od średniej arytmetycznej.

3 Przesunąć cyklicznie do góry wartości tych kolumn, które mają chociaż jedno zero.

dr inż. Jakub Możaryn Podstawy Programowania C++

(22)

Rekordy - zadania

Zadanie 3.10

Wczytać dane do tablicy A o rozmiarze n (n - stała). Każdy z elementów jest strukturą Towar - rekord o polach: nazwa (string), cena

(double), ilość (int).

1 Wydrukować tablicę

2 Wydrukować ilość i nazwę tych towarów, których cena jest większa od 10

3 Umieścić towar o największej wartości (cena?ilość) w ostatnim elemencie tablicy.

4 Wydrukować, ile jest towarów o cenie większej od średniej ceny wszystkich towarów

Cytaty

Powiązane dokumenty

Takie układy przekaźnikowe nazywają się układami mostkowymi albo układami klasy H. Przykładem układu mostkowego

Do tworzenia algebraicznego zapisu dowolnie złożonych funkcji logicznych niezbędny jest odpowiedni zestaw elementarnych operacji logicznych, tzw. system

Do realizacji dowolnie złożonych układów logicznych niezbędny jest zestaw elementów realizujących funkcje logiczne tworzące system funkcjonalnie pełny... Układy z

W układach automatyki wyróżnia się otwarty układ sterowania zwany też układem sterowania i zamknięty układ sterowania nazywany układem regulacji automatycznej lub

Układy ekstremalne - układy regulacji, których zadaniem jest utrzymywanie wielkości wyjściowej obiektu regulacji na wartości ekstremalnej (minimum lub maksimum). Przykład:

wzmacniania sygnałów dostarczanych przez przekaźniki wejściowe, przekaźniki wyjściowe (wykonawcze), zwane także stycznikami, przystosowane pod względem mocy do sterowania

Metody tabelaryczne doboru nastaw regulatorów na podstawie parametrów matematycznego modelu obiektu regulacji i wymaganego kryterium jakości układu regulacji (np:

stany, w których zmiana jednego z sygnałów wejściowych, zgodnie z równaniem opisującym działanie układu, wywołuje zmianę wartości sygnału wyjściowego.