ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP ) rok ak. 2012/2013. prof. nzw. dr hab. inż. Barbara Putz. Podstawowe pojęcia, najprostsze programy

Podobne dokumenty
ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2016 ) prof. nzw. dr hab. inż. Barbara Putz

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2014 ) prof. nzw. dr hab. inż. Barbara Putz

ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP - zima 2015 ) prof. nzw. dr hab. inż. Barbara Putz

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy programowania skrót z wykładów:

Programowanie komputerowe. Zajęcia 1

Podstawy Programowania

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2015) Liczby, znaki, napisy, wyrażenia. Pętle typu while.

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

1 Podstawy c++ w pigułce.

Podstawy Programowania Podstawowa składnia języka C++

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

I - Microsoft Visual Studio C++

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2016) Liczby, znaki, napisy, operatory logiczne, stałe. Pętle typu while.

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Część 4 życie programu

Wstęp do programowania. Wykład 1

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Podstawy algorytmiki i programowania - wykład 4 C-struktury

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

PRZEWODNIK PO PRZEDMIOCIE

1 Podstawy c++ w pigułce.

Wstęp do informatyki- wykład 7

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Struktura pliku projektu Console Application

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Język ludzki kod maszynowy

Podstawy Programowania C++

ZASADY PROGRAMOWANIA STRUKTURALNEGO (ZAP - zima 2014) Wyrażenia c.d. Pętle typu while.

Języki i metodyka programowania. Wprowadzenie do języka C

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

3. Instrukcje warunkowe

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

C++ wprowadzanie zmiennych

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

PRZEWODNIK PO PRZEDMIOCIE

Podstawy Programowania

Programowanie w języku C++ Grażyna Koba

Struktury Struktura polami struct struct struct struct

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

2 Przygotował: mgr inż. Maciej Lasota

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Język programowania C C Programming Language. ogólnoakademicki

PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Wstęp do programowania

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Programowanie w języku Python. Grażyna Koba

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

Podstawy programowania C. dr. Krystyna Łapin

( wykł. dr Marek Piasecki )

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Programowanie - wykład 4

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

4. Funkcje. Przykłady

C-struktury wykład. Dorota Pylak

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

dr inż. Jarosław Forenc

Podstawy programowania - 1

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

Język C++ Różnice między C a C++

Podstawy Programowania. Wykład 1

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

dr inż. Jarosław Forenc

7. Pętle for. Przykłady

Język programowania PASCAL

Programowanie proceduralne w języku C++ Podstawy

Informatyka 2. Informatyka 2. Wykład nr 1 ( ) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2)

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

Wstęp do Programowania 2

Wstęp do informatyki- wykład 9 Funkcje

Język C++ zajęcia nr 2

Transkrypt:

POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA STRUKTURALNEGO ( ZAP ) rok ak. 2012/2013 prof. nzw. dr hab. inż. Barbara Putz pok. 306 Język programowania: C/C++ Środowisko programowania: Code::Blocks Wykład 1 : Podstawowe pojęcia, najprostsze programy

Informacje organizacyjne 2 ZASADY PROGRAMOWANIA STRUKTURALNEGO TYGODNIOWY WYMIAR ZAJĘĆ Rok ak. Semestr W L P ECTS 2012/2013 I 1 E 2-5 2012/2013 II - - 1 3 Regulamin, harmonogram zajęć, prezentacje do wykładu : na witrynie przedmiotu ZAP w systemie komunikacji ze studentami (SKS) - tam będą zamieszczane oceny z laboratorium i egzaminu: http://iair.mchtr.pw.edu.pl/studenci (wejście przez login i hasło, które każdy student otrzyma w mailu). Tymczasowo prezentacje będą pod adresem: http://iair.mchtr.pw.edu.pl/bputz

Program wykładu 3 Temat 1: Podstawowe pojęcia i proste programy. Pojęcia algorytmu, programu, kodu wykonywalnego. Kompilacja i wykonanie programu. Sieci działań. Struktura programu. Komentarze i dokumentacja programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Definicje zmiennych. Instrukcje: czytania, pisania, przypisania. Klasyfikacja typów. Stałe, wyrażenia i funkcje standardowe. Instrukcje: warunkowa, złożona. Instrukcje cykliczne: pętla for, pętle sterowane warunkiem. Instrukcje przerywające wykonanie pętli. Instrukcja wielokrotnego wyboru. Temat 2: Tablice, rekordy i pliki. Tablice: definiowanie tablic, zmienna tablicowa i indeksowana. Operacje na tablicach. Algorytmy sortowania i przeszukiwania w tablicach, porównanie złożoności obliczeniowej. Struktury i rekordy, operacje wykonywane na rekordach. Definiowanie plików, zasady dostępu, operacje wejścia wyjścia. Temat 3: Funkcje i rekurencja. Zasady definiowania i wywołania funkcji. Parametry formalne i aktualne. Wiązanie parametrów przez wartość i referencję. Zasięg nazw, zasłanianie. Rekurencja jako jedna z podstawowych technik konstruowania algorytmów. Zasada działania rekurencji i warunek końca. Przykłady algorytmów rekurencyjnych.

Program wykładu (c.d.) 4 Temat 4: Wskaźniki i listy. Zmienne dynamiczne i wskaźniki. Przydział i zwalnianie pamięci. Dynamiczna rezerwacja tablic. Listy jednokierunkowe: zasada tworzenia, podstawowe operacje na listach. Listy dwukierunkowe i cykliczne. Iteracyjne i rekurencyjne algorytmy przetwarzania list. Temat 5: Struktury drzewiaste. Drzewa binarne i binarne drzewa sortowane (BST). Podstawowe operacje na drzewach z wykorzystaniem rekurencji. Drzewa wyważone (AVL i RBT). Kopce, B-drzewa, zastosowania do baz danych. Złożoność obliczeniowa. Temat 6: Przygotowanie do egzaminu. Przykłady zadań egzaminacyjnych z rozwiązaniami. Przegląd najczęściej popełnianych błędów, wskazówki, jak ich unikać. Temat 7: Przegląd algorytmów, algorytmy grafowe. Przegląd zasad konstruowania algorytmów: programowanie typu dziel i zwyciężaj, programowanie dynamiczne, algorytmy z powrotami, metody zachłanne. Grafy i algorytmy grafowe: przeszukiwanie grafu, problem najkrótszej ścieżki, minimalne drzewa rozpinające grafów.

Literatura uzupełniająca 5 1. P. Wnuk, B. Putz: Informatyka 2 - Programowanie. Wersja w języku C/C++. Podręcznik internetowy, OKNO PW, 2004-2010. http://iair.mchtr.pw.edu.pl/studenci/witryna/login.php 2. B. Putz, A. Putz jr, P. Wnuk : Algorytmy i struktury danych. Podręcznik internetowy, OKNO PW, 2006-2010. 3. S. Prata: Język C++. Wydanie V, Helion 2006. 4. J. Grębosz: Symfonia C++ standard. Tom I. Edition 2000 Kraków, 2005-2008. 4. B. Eckel: Thinking in C++. Edycja polska. Helion 2002. 6. N. Wirth: Algorytmy+struktury danych=programy. WNT 2004. 7. P. Wróblewski: Algorytmy, struktury danych i techniki programowania. Wyd. IV, Helion 2010. 8. T.H. Cormen et al.: Wprowadzenie do algorytmów. WNT 2007, PWN 2012 (nowe wydanie). Poz. 1, 2 - PODRĘCZNIKI wydane przez OKNO- Ośrodek Kształcenia na Odległość (dostępne online z witryny przedmiotu, napisane dla studiów internetowych PW).

Programowanie 6 PROBLEM ALGORYTM PROGRAM Algorytmizacja Kodowanie Założony cel zajęć: Nabycie umiejętności algorytmizacji różnorodnych problemów Nabycie umiejętności kodowania algorytmów z wykorzystaniem języka wysokiego poziomu

Dane do programu i wyniki z programu 7

Kompilacja i wykonanie programu 8 Błędy kompilacji jeśli kompilator nie rozumie programu źródłowego. Błędy wykonania programu jeśli program po kompilacji nie daje się wykonać. Błędy logiczne jeśli program wykonuje się nieprawidłowo.

Konsolidacja programu (linkowanie) 9

Prezentacja algorytmu w postaci sieci działań 10 Algorytmy przedstawiane są z różnym stopniem szczegółowości. Najczęściej stosuje się: opis słowny lub sieci działań (schematy blokowe). Symbole graficzne do budowy sieci działań Przykład: Początek Koniec Oznaczenie początku, końca sieci działań 5 5 Łączniki dzielące sieć działań na fragmenty Realizacja operacji Opis realizowanej w algorytmie czynności Tak Warunek prawdziwy? Nie Rozgałęzienie - przejście do części algorytmu wynikającej ze spełnienia warunku czytaj a, b, c pisz a, b, c Odpowiednio: wczytanie lub wydrukowanie wartości: a, b, c

Przykład sieci działań 11 Sprawdzić, czy wczytana liczba całkowita N>3 jest pierwsza (dzieli się tylko przez jeden i siebie). (Przykład z: D. van Tassel: Praktyka programowania. WNT Warszawa) Początek czytaj N liczby pierwsze: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,... reszta z dzielenia N przez 2 = 0 Tak k 3 Nie reszta z dzielenia N przez k = 0 Tak Nie k k +2 pisz N, " nie jest pierwsza " Koniec Nie k > N k zmienna pomocnicza Tak pisz N, " jest pierwsza" Koniec

Program w C/C++ 12 STRUKTURA PROGRAMU # include <iostream> dołączanie plików nagłówkowych bibliotek... using namespace std; int main ( ) { definicje, deklaracje i instrukcje return 0; } udostępnienie nazw ze standardowych bibliotek funkcja main (główna) - musi być w programie... inne funkcje - niekonieczne

Przykłady programów 13 1) Najprostszy program: int main ( ) { return 0; } To samo w innej konwencji zapisu nawiasów klamrowych: int main ( ) { return 0; } 2) Wydrukować większą wartość spośród dwóch wczytanych: # include <iostream> using namespace std; komentarze int main ( ) { double x, y; // definicje zmiennych x i y cin >> x >> y; // wczytywanie zmiennych x i y if (x>y) // jeśli x>y cout << x << endl; // wydrukuj x else // w przeciwnym razie cout << y << endl; // wydrukuj y return 0; } 3) Wczytać promień koła, a następnie obliczyć i wydrukować jego obwód i pole: #include <iostream> using namespace std; int main ( ) { const double pi=3.14159; // definicja stałej pi double r, obwod, pole; // definicje zmiennych cout << "Podaj promien kola" << endl; // drukowanie napisu zapraszającego do pisania cin >> r; // wczytywanie wartości r podanej przez użytkownika obwod = 2*pi*r; // obliczenie wartości zmiennej obwod pole = pi*r*r; // obliczenie wartości zmiennej pole cout << "Obwod = " << obwod << " Pole = " << pole << endl; // drukowanie wyników return 0; }

Środowisko programowania 14 Na zajęciach laboratoryjnych obowiązuje: środowisko programowania Code::Blocks (w skrócie C::B) - wieloplatformowe, bezpłatne, typu open source - do ściągnięcia ze strony: http://www.codeblocks.org/downloads/26 Należy pobrać wersję binarną z kompilatorem, np. dla Windows: codeblocks-10.05mingw-setup.exe (74 MB) Jeśli chwilowo wersji dla Widows nie można pobrać ze wskazanego źródła (BerliOS) z powodu Too many clients, to można pobrać ją stąd: http://apt.jenslody.de/downloads/cb-release-10.05 Tworzymy tylko aplikacje konsolowe: Create a new project > Console application select C++ language, GNU GCC compiler

Szkielety aplikacji konsolowych w Code::Blocks 15 Szkielet nowego programu po wykonaniu Create a new project >Console application > C++ Tu dołączamy ew. inne biblioteki Tę linię możemy usunąć A tu wpisujemy własne definicje i instrukcje Okno wynikowe - po wykonaniu Build and run Wynik działania programu

Zmienne, ich typy, deklaracje i definicje 16 Zmienną nazywa się daną mogącą przyjmować różne wartości. Każda zmienna występująca w programie ma swoją nazwę i przyjmuje wartości z określonego zbioru ( zdefiniowanego przez typ zmiennej ) Najprostsze typy zmiennych: całkowite (int) 10-243 +78 rzeczywiste (double) 1.5 3.14-2450.138 (kropka zamiast przecinka) znakowe (char) 'a' 'A' '?' napisowe (string) "Wcisnij jakis klawisz" "Napisz swoje imie" Nazwa zmiennej Dowolny ciąg liter i cyfr zaczynający się od litery. Znak podkreślenia też jest literą. Małe i duże litery są rozróżniane. Definicja zmiennej Informuje o typie zmiennej i przydziela na nią pamięć. Definicja jest zarazem deklaracją, ale nie na odwrót (deklaracja polega tylko na określeniu typu zmiennej). UWAGA: Dalej będziemy używać wyłącznie definicji będących zarazem deklaracjami. Wszystkie zmienne występujące w programie muszą być zdefiniowane przed ich pierwszym użyciem.

Definiowanie zmiennych 17 Definicje zmiennych Najpierw podaje się typ, a potem wymienia nazwy wszystkich zmiennych tego typu. Zmienne tego samego typu można zgrupować w listę, oddzielając je przecinkami. Definicja zmiennych typ zmienna1, zmienna2,...; Zmienne mogą być definiowane w dowolnym miejscu, jak tylko zajdzie potrzeba ich wykorzystania. Definicja zmiennej może być nawet wpleciona w instrukcje, np. połączona z instrukcją przypisania wartości początkowej (to jest zalecane - przykłady dalej). Przykład definicji zmiennych prostych : int i,j,k; double x1,x2,y1,y2 ; char znak_wczytany, znakwczytany; string nazwa_pliku, nazwapliku, filename; zalecany styl nazwy zmiennych zaczynać z małej litery styl1 styl2 Przykładowy zalecany styl programowania: http://geosoft.no/development/cppstyle.html

Wyrażenia 18 Wyrażenia - zapis tworzony z wykorzystaniem stałych, zmiennych, funkcji i łączących je operatorów i nawiasów ( okrągłych ) OPERATORY ARYTMETYCZNE + - * / % dodawanie odejmowanie mnożenie dzielenie reszta z dzielenia (modulo) UWAGI: 1. Dzielenie dwóch liczb całkowitych daje wynik całkowity (!!) powstały przez obcięcie części ułamkowej wyniku dzielenia: 8/3 = 2 8.0 /3 = 2.6667-8/3 = -2-8.0/3 = -2.6667 2.Resztę z dzielenia można wyznaczyć tylko dla argumentów całkowitych: 5%2 = 1 (reszta z dzielenia 5 przez 2=1) 6%3 = 0 OPERATORY RELACJI > >= (większy równy) < <= == (równy)!= (nierówny) OPERATORY LOGICZNE (suma logiczna) && (iloczyn logiczny)! (negacja)

Wyrażenia - priorytet operatorów 19 PRIORYTET OPERATORÓW - wewnątrz jednej pary nawiasów okrągłych 1.! (negacja) 2. * / % 3. + - 4. operatory relacji nierównościowych: > >= < <= 5. operatory relacji: równy == nierówny!= 5. && (iloczyn logiczny) 6. (suma logiczna) W przypadku operatorów o równych priorytetach obowiązuje kolejność od lewej do prawej, np.: -b / 2*a jest równe b 2 a Ale: -b / (2*a) -b / 2 / a b 2a UWAGA: W sytuacjach wątpliwych najpewniejszym sposobem jest używanie nawiasów okrągłych.

Instrukcje 20 INSTRUKCJE - polecenia dla komputera - zmuszają go do przetwarzania danych podczas procesu obliczeniowego. UWAGA: w C++ każda instrukcja kończy się średnikiem. Na początek: instrukcja pisania instrukcja czytania instrukcja przypisania instrukcja złożona instrukcja warunkowa

Instrukcja pisania (drukowania) 21 Instrukcja drukowania wyników Służy do wyprowadzania wyników (wartości wyrażeń) na standardowe urządzenia wyjściowe komputera (domyślnie na konsolę, czyli monitor ). Wymaga dołączenia pliku nagłówkowego biblioteki iostream. #include <iostream>... cout << wyrażenie1 << wyrażenie2...; W rzeczywistości cout jest obiektem tzw. klas strumieni wejścia-wyjścia, zaś << operatorem, ale dla uproszczenia będziemy mówili o instrukcji drukowania. Np.: cout <<34 <<x << y+5; cout << endl; cout << " Wynik = " << x+2*y <<endl; Funkcja endl oznacza przejście do nowej linii i jest równoważna wstawieniu \n do napisu: cout << " napisz swoje imie " << endl; cout << " napisz swoje imie \n" ;

Instrukcja czytania 22 Instrukcja czytania danych Służy do wprowadzania danych (nadawania wartości zmiennym) ze standardowego urządzenia wejściowego komputera (domyślnie z konsoli, czyli klawiatury ). #include <iostream> //... cin >> zmienna1 >>zmienna2...; // UWAGA: // Tu muszą być pojedyncze zmienne, a nie całe wyrażenia! Zmienne, pod które wczytujemy dane, mogą być tylko typu całkowitego, rzeczywistego, znakowego, napisowego lub logicznego (dopiero go poznamy). Np.: cin >> x; cin >> y; cin >> x >> y; cin >> znak; równoważne

Instrukcja przypisania 23 INSTRUKCJA PRZYPISANIA ( podstawienia ) Służy do nadawania zmiennej nowej wartości: ZMIENNA = WYRAŻENIE ; // ta zmienna powinna być wcześniej zdefiniowana lub: typ ZMIENNA = WYRAŻENIE ; // a tu definiujemy zmienną i nadajemy wartość początkową Przykłady instrukcji przypisania: k = 3; x = k-4.5; k = k+1; // zwiększ wartość k o 1 double y = 2.5*(x+3)/2; z = a ; imie = "Witold ";

Instrukcja złożona 24 INSTRUKCJA ZŁOŻONA ( inaczej: blokowa, grupująca) Tworzy z ciągu instrukcji jedną. Można używać jej wszędzie tam, gdzie wolno zastosować tylko jedną instrukcję. { ciąg instrukcji } ciąg instrukcji - instrukcje zakończone średnikami, wykonywane w kolejności zapisania. Przykład instrukcji złożonej: { suma=suma+x; ile=ile+1; } UWAGA: Instrukcja złożona kończy się klamrą, dodatkowy średnik za klamrą nie jest konieczny (ale nie jest błędem).

Instrukcja warunkowa if 25 Instrukcja warunkowa Uzależnia wykonanie instrukcji w programie od spełnienia lub niespełnienia warunku. if (warunek) instrukcja zalecany styl Przykład: if (liczba>0) suma = suma+liczba; Uwaga: tu musi być jedna (!) instrukcja; w szczególności może to być instrukcja złożona: if (warunek) { ciąg instrukcji } zalecany styl Przykład: if (a>0) { s = s+a; k = k+1; }

Instrukcja warunkowa if-else 26 if (warunek) instrukcja1 else instrukcja2 zalecany styl Przykład: if (liczba>0) s_dod = s_dod+liczba; else s_niedod = s_niedod+liczba; Uwaga: Każda z powyższych instrukcji musi być jedną (!) instrukcją; w szczególności może to być instrukcja złożona: if (warunek) { ciag_instrukcji_1 } else { ciag_instrukcji_2 } zalecany styl Przykład: if (a>0) { sd = sd+a; kd = kd+1; } else { snd = snd+a; knd = knd+1; }