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



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

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

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

Język ludzki kod maszynowy

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

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

Metody Metody, parametry, zwracanie wartości

Programowanie, algorytmy i struktury danych

Klasy i obiekty cz II

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

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

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

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

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

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

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

1 Podstawy c++ w pigułce.

Podstawy i języki programowania

Obliczenia, zmienne. Proste działania, zmienne, rodzaje zmiennych, proste operacje i działania na zmiennych.

Podstawy Programowania C++

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Odczyt danych z klawiatury Operatory w Javie

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

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

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

Zapis algorytmów: schematy blokowe i pseudokod 1

Programowanie - instrukcje sterujące

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

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

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

Instrukcja warunkowa i złoŝona.

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

Konstrukcje warunkowe Pętle

ZMIENNE. Podstawy PHP

JAVA?? to proste!! Autor: wojtekb111111

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

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

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Instrukcje sterujące. Programowanie Proceduralne 1

4. Funkcje. Przykłady

Warunki logiczne instrukcja if

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Pętla for. Wynik działania programu:

Powtórka algorytmów. Wprowadzenie do języka Java.

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

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

lekcja 8a Gry komputerowe MasterMind

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

Instrukcje sterujące

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

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

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania).

Schematy blokowe. Algorytmy Marek Pudełko

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

3. Instrukcje warunkowe

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

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

Wykresy i interfejsy użytkownika

Podstawy i języki programowania

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

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

Umieszczanie kodu. kod skryptu

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

Programowanie komputerowe. Zajęcia 1

Operacje logiczne i struktury sterujące.

Podstawy programowania w języku C

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Wstęp do informatyki- wykład 2

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

Programowanie obiektowe

Blockly Kodowanie pomoc.

Podstawowe części projektu w Javie

ALGORYTMY I STRUKTURY DANYCH

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

Zadanie nr 3: Sprawdzanie testu z arytmetyki

Podstawy i języki programowania

Projektowanie algorytmów z blokami decyzyjnymi

Zasady programowania Dokumentacja

Podstawy i języki programowania

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Instrukcje sterujące. Programowanie komputerowe

Wstęp do informatyki- wykład 7

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

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

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

Algorytm. a programowanie -

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Programowanie obiektowe

Wprowadzenie do programowania w języku C

Algorytmy i struktury danych

do instrukcja while(wyrażenie);

1 Podstawy c++ w pigułce.

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

Transkrypt:

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Instrukcje wyboru Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

Być, czy nie być? Chłopczyk, czy dziewczynka? Zwykle przebieg programu nie jest wytyczony przez jedną, jedynie słuszną drogę. Na przykład w zależności od dostarczonych danych powinien odpowiedzieć w różny sposób. Przykład: dostarczamy informację na temat chromosomów płciowych - program ma zinterpretować płeć.

Jak to powinno działać? Najpierw zastanówmy się jak program powinien działać: 1. Pobierz kariotyp 2. Sprawdź czy kariotyp to XY 3. Jeśli odpowiedź brzmi TAK to wydrukuj samiec 4. Jeśli odpowiedź brzmi NIE to wydrukuj samica 5. Zakończ program

Schemat blokowy Start Pobierz kariotyp Drukuj samica NIE Czy kariotyp to XY? TAK Drukuj samiec Koniec

Schematy blokowe (wybrane symbole) KIERUNEK BIEGU PROGRAMU POCZĄTEK/KONIEC PROGRAMU ODCZYT/ZAPIS/WYDRUK DANYCH DECYZJA - wpisujemy tu warunek, wychodzą dwie strzałki określające bieg programu gdy warunek jest i nie jest spełniony PROCES - tu wpisujemy różnego operacje które wykonuje program, nie podpadające pod powyższe.

Piszemy program Spróbujmy teraz zrealizować plan 1. Pobierz kariotyp Na razie uprościmy sytuację i wpiszemy w programie wartość: 2. Sprawdź czy kariotyp to XY Jak to zrobić? String kariotyp = "XX"; Czas poznać instrukcje sterujące.

if - czyli jeśli Opcjonalne if (warunek) {...} else {...} Jeśli warunek jest spełniony to program wykonuje kod umieszczony po warunku, Jeśli nie jest spełniony, to program pomija komendy po warunku i wykonuje kod po komendzie else (o ile jest). Ale jak zapisać warunek i co to znaczy, że jest prawdziwy?

Operatory warunkowe operator przykład wynikiem jest prawda (true) jeśli: == x == y x jest równe y!= x!= y x nie jest równe y > x > y x jest większe niż y < x < y x jest mniejsze niż y >= x >= y x jest większe lub równe y <= x <= y x jest mniejsze lub równe y UWAGA - jeśli porównujemy dwa elementy używamy operatora == Pojedynczy znak = oznacza przypisanie wartości (np. x = 1)

Porównanie tekstu metoda/przykład wynik String tekst = "kot"; tekst.equals("kot"); tekst.equals("pies") tekst.equals("kot") tekst.equalsignorecase("kot") tekst.equalsignorecase("pies") tekst.equalsignorecase("kot") true false false true false true UWAGA: Znak wykrzyknika (!), oznacza zaprzeczenie wyrażenia. Na przykład :!tekst.equals("kot") zwraca false!tekst.equals("pies") a zwraca true

Piszemy program Uzupełniamy nasz kod: 1. Pobierz kariotyp 2. Sprawdź czy kariotyp to XY 3. Jeśli odpowiedź brzmi TAK to wydrukuj samiec 4. Jeśli odpowiedź brzmi NIE to wydrukuj samica 5. Zakończ program String kariotyp = "XX"; if (kariotyp.equalsignorecase("xy")) { System.out.println("Samiec"); } else { System.out.println("Samica"); } System.out.println("KONIEC");

Ulepszamy program Wpisywanie na sztywno danych wejściowych, nie jest najlepszym pomysłem. Zmiana danych wejściowych wymaga każdorazowo kompilacji. Umożliwmy więc wpisanie przez użytkownika danych wejściowych. Zamieńmy linię String kariotyp = "XX"; na kod: Scanner skaner = new Scanner(System.in); System.out.print("Podaj kariotyp: "); String kariotyp = skaner.nextline(); Eclipse sygnalizuje błąd w pierwszej z tych linii, należy więc uzupełnić kod wpisując: import java.util.scanner; zaraz po linii z nazwą pakietu (o ile jest); Tworzymy obiekt typu Scanner o nazwie skaner skaner pobiera linię tekstu Dodajemy do programu dodatkowy zewnętrzny kod (będzie o tym później)

Ulepszamy program Teraz program wyświetla zapytanie: Podaj kariotyp: W zależności od tego, czy wpisujemy XY (xy) czy XX (xx) otrzymujemy odpowiedź Samiec lub Samica Wpiszmy teraz dla odmiany: AB Otrzymujemy odpowiedź: Samica Otrzymaliśmy więc odpowiedź bezsensowną. Jak to zmienić? Jak można zmienić algorytm?

Start Pobierz kariotyp Drukuj??? NIE Czy kariotyp to XX? NIE Czy kariotyp to XY? TAK TAK Drukuj samica Drukuj samiec Koniec

Ulepszamy program Modyfikowany fragment kodu można napisać tak: if (kariotyp.equalsignorecase("xy")) { System.out.println("Samiec"); } else { if (kariotyp.equalsignorecase("xx")) { System.out.println("Samica"); } else { System.out.println("???"); } }

Ulepszamy program Ale bardziej przejrzyście będzie tak: if (kariotyp.equalsignorecase("xy")) { System.out.println("Samiec"); } else if (kariotyp.equalsignorecase("xx")) { System.out.println("Samica"); } else { System.out.println("???"); }

switch - przełącz to! Instrukcja switch umożliwia dokonywanie wyboru jeszcze inaczej, ale na String-ach to nie działa*: System.out.print("Podaj ocenę: "); String ocena = skaner.nextline(); int ocenaliczba = Integer.parseInt(ocena); switch (ocenaliczba) { case 5 : System.out.println("Bardzo dobry"); break; case 4 : System.out.println("Dobry"); break; case 3 : System.out.println("Dostateczny"); break; case 2 : System.out.println("Niedostateczny"); break; default : System.out.println("Jakaś dziwna ocena!"); } break oznacza, że następne testy już nie będą wykonywane i program przeskakuje na koniec bloku. * W Javie 7 już działa, w poprzednich wersjach też można to obejść

operator warunkowy (? :) - albo, albo... test logiczny zwracający prawdę lub fałsz wartość zwracana jeśli warunek zwrócił prawdę wartość zwracana jeśli warunek zwrócił fałsz warunek? wartośćp : wartośćf Przykład: x < 0? "ujemna" : "nieujemna" Operator warunkowy działa podobnie jak konstrukcja if... else... Główna zaleta: jest krótszy Główna wada: pozwala tylko na wybór dwu możliwości (nie ma odpowiednika else if...).

operator warunkowy (? :) - albo, albo... Przykład: krótki program do rozpoznawania czy podana liczba jest parzysta czy nieparzysta:... String rodzajliczby; String liczba = skaner.nextline(); int liczbaint = Integer.parseInt(liczba); if... else... if (liczbaint%2 == 0) rodzajliczby="parzysta"; else rodzajliczby="nieparzysta"; System.out.println("Podana liczba jest "+rodzajliczby); Operator warunkowy (? :): Jeśli warunek zwrócił true rodzajliczby = (liczbaint%2 == 0? "parzysta" : "nieparzysta"); System.out.println("Podana liczba jest "+rodzajliczby); Można też zmieścić to w jednej linijce (? :): System.out.println("Podana liczba jest "+ (liczbaint%2 == 0? "parzysta" : "nieparzysta")); sprawdzamy czy liczba jest parzysta (jeśli %2 wynosi 0 to jest zwracane true) Jeśli warunek zwrócił false

Rozszerzamy aplikację Jak wiadomo, świat istot żywych nie ogranicza się do ludzi ani nawet ssaków. Model XX- samica, XY- samiec, nie jest uniwersalny. Uproszczona tabela determinacji płci przez chromosomy płciowe u wybranych organizmów: organizm samica samiec ssaki (większość) XX XY ryby XY XX ptaki XY XX motyle (niektóre) XY XX szczaw XX XYY

Zadanie: Napisz aplikację która uwzględni zamieszczone w tabeli przypadki.