Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Podobne dokumenty
Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Odczyt danych z klawiatury Operatory w Javie

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

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

Podstawy i języki programowania

Warunek wielokrotnego wyboru switch... case

1 Podstawy c++ w pigułce.

4. Funkcje. Przykłady

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne Wyrażenie warunkowe operator selekcji Instrukcja switch

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

Warunki logiczne instrukcja if

3. Instrukcje warunkowe

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

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

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

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

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;

ZMIENNE. Podstawy PHP

Część 4 życie programu

Cw.12 JAVAScript w dokumentach HTML

Język ludzki kod maszynowy

Języki i paradygmaty programowania

Pętla for. Wynik działania programu:

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Programowanie - instrukcje sterujące

Podstawy programowania w języku C i C++

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Konstrukcje warunkowe Pętle

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

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 INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.

1 Podstawy c++ w pigułce.

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Podstawy Programowania C++

Wstęp do programowania

dr inż. Jarosław Forenc

Instrukcje sterujące

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

I - Microsoft Visual Studio C++

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

Przedrostkowa i przyrostkowa inkrementacja i dekrementacja

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

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

Język C część 2. Podejmowanie decyzji w programie. if else. switch

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, ZAGNIEŻDŻANIE IF-ELSE.

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

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

dr inż. Jarosław Forenc

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Struktura pliku projektu Console Application

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

JAVAScript w dokumentach HTML (1)

C++ wprowadzanie zmiennych

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

Podstawowe typy zmiennych

Programowanie komputerowe. Zajęcia 1

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

WHILE (wyrażenie) instrukcja;

W powyższym kodzie utworzono wyliczenie dni tygodnia.

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

PHP w-3. Sterowanie w PHP

Celem tego projektu jest stworzenie

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

while (test) instrukcja; int i=0; while (i<10) i++; dopóki test prawdziwy wykonuj instrukcję Wykonano: 35% / \ fałsz test prawda instrukcja

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Warunki i pętle. Instrukcja warunkowa if. Przykład zastosowania.

if (wyrażenie ) instrukcja

Język C, instrukcje sterujące (laboratorium)

Ćwiczenie 1. Wprowadzenie do programu Octave

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania w języku C

do instrukcja while (wyrażenie);

WHILE (wyrażenie) instrukcja;

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

1 Wielokrotne powtarzanie tych samych operacji

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

* WWW: * * Adres: Instytut Informatyki ul. Będzińska Sosnowiec Pokój 214 * Telefon:

Transkrypt:

Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Operatory matematyczne - są te znaki, które wykonują jakieś działanie matematyczne. W C++ są to: + - dodawanie dwóch liczb (zmiennych), - - odejmowanie dwóch liczb (zmiennych), * - mnożenie dwóch liczb (zmiennych), / - dzielenie dwóch liczb (zmiennych), % - reszta z dzielenia liczb całkowitych (zmiennych). 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 3 1

Kolejność wykonywania działań jest taka sama jaka obowiązuje w matematyce: operacja mnożenia i dzielenia, operacja dodawania i odejmowania. Jeśli chcemy zmienić kolejność wykonywania operacji, należy wykorzystać nawiasy zaokrąglone. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 4 Operatory mogą być prawostronnie lub lewostronnie łączne: Lewostronne - oznacza to, że działa na argumencie stojącym po jego prawej stronie!x Lewostronna łączność operatora + oznacza, że wyrażenie: a + b + c + d + e ((((a + b) + c ) + d) + e) Prawostronna łączność operatora dwuargumentowego = oznacza, że wyrażenie: a = b = c = d = e (a = (b = (c = ( d = e)))) 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 5 Wykonując różne operacje matematyczne, najgroźniejszą operacją dla naszego programu jest dzielenie. Może ona bowiem spowodować zamknięcie krytyczne aplikacji. Należy zwrócić uwagę na: dzielenie przez 0 (zero), dzielenie przez liczbę całkowitą powoduję, że wynik dzielenia jest również liczbą całkowitą, obliczanie reszty z dzielenia spowoduje błąd w przypadku, gdy wartość po znaku % będzie równa 0 (zero). 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 6 2

Dodawanie: x = x + y; x += y; Odejmowanie: x = x - y; x -= y; Mnożenie: x = x * y; x *= y; Dzielenie: x = x / y; x /= y; Reszta z dzielenia: x = x % y; x %= y; 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 7 Inkrementacja - zwiększenie wartości zmiennej o jeden zmienna += 1; // zmienna = zmienna + 1; Dekrementacja - zmniejszenie wartości zmiennej o jeden zmienna -= 1; // zmienna = zmienna - 1; Ponadto można wyróżnic: Preinkrementacja: ++zmienna; zmienna += 1; Postinkrementacja: zmienna++; zmienna += 1; Predekrementacja: --zmienna; zmienna -= 1; Postdekrementacja: zmienna--; zmienna -= 1; 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 8 wyrażenia logiczne - sprawdzanie czy wartość wyrażenia jest prawdą czy fałszem. x > 0 zmienne logiczne bool - sprawdzanie operacji logicznych i zapamiętywanie w obiekcie typu bool. int x; bool niepelnoletnosc; niepelnoletnosc = ( x<18 ); zmienne logiczne int fałsz - w przypadku zmiennej int równej 0, prawda - w przypadku zmiennej int różnej od 0. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 9 3

Są to wszystkie spójniki klasycznego rachunku zdań. W przypadku języka C++ są to i, lub oraz negacja. && (i) - iloczyn logiczny - wszystkie wartości muszą być prawdziwe, aby została zwrócona prawda. (lub) - suma logiczna - co najmniej jedna z wartości musi być prawdziwa, aby została zwrócona prawda.! (negacja) - zanegowanie wartości - czyli zwrócenie wartości przeciwnej. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 10 Kolejność wykonywania działań jest następująca: operator negacji, operacje iloczynu logicznego, operacje sumy logicznej. Kolejnością wykonywania operacji można jednak manipulować poprzez zaokrąglone nawiasy - tak samo jak ma to miejsce w przypadku działań arytmetycznych. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 11 Można wyróżnić następujące operatory porównania (operatory relacji): > -... jest większe od... >= -... jest większe lub równe niż... < -... jest mniejsze od... <= -... jest mniejsze lub równe niż... == -... jest równe...!= -... jest różne od... 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 12 4

Instrukcja if - else if - else Instrukcja switch Wyrażenie warunkowe 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 13 Start Wyrażenia do wykonania Nie if Tak Wyrażenia do wykonania Wyrażenia do wykonania, umieszczone poza instrukcją warunkową Koniec 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 14 01. if ( wyrazenie_logiczne_1 ) 02. { 03. //(...) wyrażenia do wykonania 04. } 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 15 5

Start Wyrażenia do wykonania Nie if Tak Wyrażenia do wykonania Wyrażenia do wykonania Wyrażenia do wykonania, umieszczone poza instrukcją warunkową Koniec 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 16 01. if ( wyrazenie_logiczne_1 ) 02. { 03. //(...) wyrażenia do wykonania 04. }else 05. { 06. //(...) wyrażenia do wykonania 07. } 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 17 Start Wyrażenia do wykonania Nie if Tak Nie if Tak Wyrażenia do wykonania Wyrażenia do wykonania Wyrażenia do wykonania Wyrażenia do wykonania, umieszczone poza instrukcją warunkową Koniec 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 18 6

01. if ( wyrazenie_logiczne_1 ) 02. { 03. //(...) wyrażenia do wykonania 04. }else if ( wyrazenie_logiczne_2 ) 05. { 06. //(...) wyrażenia do wykonania 07. }else 08. { 09. //(...) wyrażenia do wykonania 10. } 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 19 1. if( wyrazenielogiczne == true )... 2. if( wyrazenielogiczne!= true )... 3. if( wyrazenielogiczne )... 4. if(!wyrazenielogiczne )... 5. if( wiek > 100)... 6. if( wiek > 100 wiek < 2 )... 7. if( wiek > 100 && wiek < 102 )... 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 20 if( wyrazenielogiczne == true ) cout<< tekst 1 wypisany przy spełnionym warunku ; cout<< tekst 2 wypisany przy spełnionym warunku ; cout<< tekst 3 wypisany przy spełnionym warunku ; if( wyrazenielogiczne == true ) { cout<< tekst 1 wypisany przy spełnionym warunku ; cout<< tekst 2 wypisany przy spełnionym warunku ; cout<< tekst 3 wypisany przy spełnionym warunku ; } 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 21 7

if( wyrazenie_logiczne_1 ){ // wyrażenia do zrealizowania if(wyrazenie_logiczne_2 ){ // wyrażenia do zrealizowania if(wyrazenie_logiczne_1) // wyrażenie do zrealizowania else // wyrażenie do zrealizowania } } 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 22 if(a > b a == 2 ){ // wyrażenia do zrealizowania } if ((j >= 0 && j <= 4) ( j>6 && j<10 )){ // wyrażenia do zrealizowania } 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 23 if( wyrazenie_logiczne_1 ){ // wyrażenia do zrealizowania if(wyrazenie_logiczne_2 ){ // wyrażenia do zrealizowania if(wyrazenie_logiczne_1); // wyrażenie do zrealizowania else // wyrażenie do zrealizowania }else; // wyrażenie do zrealizowania } 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 24 8

( <warunek> )?<wyrażenie1>:<wyrażenie2>; Jeżeli spełniony jest <warunek> to operator zwróci wartość <wyrażenia1>, w przeciwnym wypadku wartość <wyrażenia2>. UWAGA: <wyrażenie1> nie jest zakończone średnikiem natomiast <wyrażenie2> musi być zakończone średnikiem, gdy wartość zwracana przez operator nie jest przekazywana jako argument. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 25 Zadanie 1 Napisz program pozwalający na zadanie pytania użytkownikowi dotyczącego ilości lat (podana wartość ma być liczbą całkowitą). Zadanie programu ma polegać na tym, iż powinien on w zależności od podanego wieku wyświetlić jeden z następujących komunikatów: Nie jesteś pełnoletni Jesteś pełnoletni Masz w tym roku 18 lat. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 26 Zadanie 2 Napisz program, który poprosi o dowolną liczbę całkowitą: jeżeli będzie mniejsza niż 0 odpisze użytkownikowi, że podana liczba jest liczbą ujemną jeżeli będzie większa niż 0 odpisze użytkownikowi, że podana liczba jest liczbą dodatnią jeżeli będzie to jedna z liczb: 1, 9, 3, 5, 7, 28 odpisze użytkownikowi, że podana liczba nie zawiera się w zapamiętanym przez program zbiorze liczb szczególnych. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 27 9

Start Sprawdzenie zmiennej w warunku Prawda Przypadek 1 Wyrażenia do wykonania Wyjście z przypadku Fałsz Prawda Przypadek 2 Wyrażenia do wykonania Wyjście z przypadku Fałsz Prawda Domyślnie Wyrażenia do wykonania Wyjście z przypadku Wyrażenia do wykonania, umieszczone poza instrukcją warunkową Koniec 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 28 1. switch( wyrazenie_kluczowe ){ 2. case wartosc_1: 3. //(...) instrukcje do wykonania 4. break; 5. case wartosc_2: 6. //(...) instrukcje do wykonania 7. break; 8. default: 9. cout<< "zly parametr wyrazenie_kluczowe"; 10. } 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 29 Słowa kluczowe: switch - służy do podejmowania decyzji wyłącznie na podstawie wartości jednej zmiennej. Zmienna ta musi być typem podstawowym i jednocześnie typem całkowitym. Oznacza to w konsekwencji, że wybór będziemy mogli dokonywać tylko i wyłącznie na podstawie wartości liczby całkowitej czy też kodu znaku ASCII (który również jest liczbą). Zmienną, na której chcemy pracować podajemy w nawiasach zaokrąglonych, które muszą znaleźć się zaraz po wystąpieniu słowa kluczowego switch. Dodatkowo może zostać wykorzystany typ wyliczeniowy enum, który również jest w rzeczywistości liczbą całkowitą. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 30 10

Słowa kluczowe: case - po tym słowie ustawiony jest przypadek, który w przypadku prawdy spowoduje wykonanie fragmentu kodu umieszczonego w tej części instrukcji warunkowej. Czyli, 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 wykonaj kod (znajdujący się po znaku dwukropka). default - Wejście w kod znajdujący się po słowie kluczowym default nastąpi tylko wtedy, gdy żaden z case'ów nie zostanie spełniony 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 31 Słowa kluczowe: break - oznacza: przerwij wykonywanie obecnej instrukcji sterującej. W tym przypadku instrukcją sterującą jest switch. Użycie słowa kluczowego break ma bardzo duże znaczenie w instrukcji sterującej switch... case. Informuje ona bowiem kompilator, że dany case się wykonał i program ma już opuścić instrukcję sterującą switch. Jeśli zabraknie słowa kluczowego break to program wykona wszystkie instrukcje od momentu spełnienia warunku aż do samego końca switch'a. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 32 Zadanie 1 Napisz aplikację, która po podaniu numeru dnia wyświetli nazwę dnia tygodnia. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 33 11

Dziękuję za uwagę i zapraszam na 15 minut przerwy. W dalszej części ćwiczenia do samodzielnego wykonania. 11/3/2016 Katedra Informatyki Stosowanej i Modelowania 34 Zadanie 1 Napisz program pozwalający po podaniu numeru dnia oraz numeru miesiąca wypisać na ekranie ich odpowiedniki tekstowe: 1 - poniedziałek 1 - styczeń Aplikacja powinna pytać użytkownika czy chce wczytać: dzień miesiąc dzień i miesiąc 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 35 Zadanie 2 Napisz program kalkulator, pozwalający na obliczanie operacji: dodawania, odejmowania, mnożenia dzielenia. Program powinien wykonywać się do momentu, w którym użytkownik nie będzie chciał wykonywać operacji matematycznych wymienionych w treści zadania. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 36 12

Zadanie 3 Napisz program pozwalający na rozwiązanie równania kwadratowego postaci: ax 2 +bx+c = 0. Współczynniki a, b, c podawane są przez użytkownika. Uwaga: Równanie takie może w zależności od parametru delta= b 2-4ac: nie posiadać rozwiązania (delta<0), posiadać jedno rozwiązanie (delta=0): x 0 = -b/2a, posiadać dwa rozwiązania (delta>0): x 1 = (-b-pierwistek(delta))/2a, x 2 = (-b+pierwistek(delta))/2a. 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 37 13