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



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

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.

Metody Metody, parametry, zwracanie wartości

Klasy i obiekty cz II

Programowanie, algorytmy i struktury danych

Podstawy i języki programowania

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

Odczyt danych z klawiatury Operatory w Javie

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

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

ZMIENNE. Podstawy PHP

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

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

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

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

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

Programowanie - instrukcje sterujące

Warunki logiczne instrukcja if

Algorytmy i struktury danych

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

ECDL Podstawy programowania Sylabus - wersja 1.0

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

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

Podstawy programowania C. dr. Krystyna Łapin

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Część 4 życie programu

3. Instrukcje warunkowe

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

JDK można pobrać ze strony

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

Algorytmika i Programowanie VBA 1 - podstawy

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Podstawy i języki programowania

Język ludzki kod maszynowy

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

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

Definicje. Algorytm to:

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

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

Visual Basic for Application (VBA)

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

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

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

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

JAVA?? to proste!! Autor: wojtekb111111

Programowanie obiektowe

Wykład 2 Składnia języka C# (cz. 1)

Podstawy programowania w języku C i C++

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

Liczby losowe i pętla while w języku Python

Visual Basic for Application (VBA)

Podstawy Programowania Algorytmy i programowanie

operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania, odejmowania

Programowanie komputerowe. Zajęcia 1

Algebra Boole a i jej zastosowania

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

XII. Warunek wielokrotnego wyboru switch... case

I - Microsoft Visual Studio C++

Wstęp do programowania

4. Funkcje. Przykłady

Pętla for. Wynik działania programu:

ForPascal Interpreter języka Pascal

Pascal - wprowadzenie

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

Wprowadzenie do języka Java

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

Bloki anonimowe w PL/SQL

Wyrażenie wewnątrz nawiasów jest atomem (rozpatrujemy je jako całość).

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

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

Wstęp do programowania

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

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

8. Wektory. Przykłady Napisz program, który pobierze od użytkownika 10 liczb, a następnie wypisze je w kolejności odwrotnej niż podana.

*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0)

Java Podstawy. Michał Bereta

Instrukcja warunkowa i złoŝona.

Problem Próby rozwiązania Maszyna stanów Inne zastosowania Podsumowanie. Maszyny stanów. Programowanie gier bez Unity, cz. 3.

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

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

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

1 Podstawy c++ w pigułce.

Krótki kurs JavaScript

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny

Podstawy i języki programowania

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

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

Budowa i generowanie planszy

Wstęp do programowania

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

Wykresy i interfejsy użytkownika

Transkrypt:

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Operatory logiczne Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

Podstawowe operatory logiczne operator znaczenie opis && AND Zwraca true jeśli oba wyrażenia są prawdziwe. OR Zwraca true jeśli przynajmniej jedno z wyrażeń jest prawdziwe. Przykłady: wyrażenie int x = 5; x == 5 && x > 0 x == 5 x > 0 x == 5 && x < 0 x == 5 x < 0 wynik true true false true

Priorytety operatorów Podobnie jak w matematyce (np. mnożenie przed dodawaniem), także w programowaniu należy brać pod uwagę priorytety operatorów. Poznane dotychczas operatory można uporządkować, w porządku od tych z największym priorytetem: 1. <, >, <=, >= 2. ==,!= 3. && 4.

Łączenie i porządkowanie Domyślne priorytety operatorów niekoniecznie muszą odpowiadać temu co chcemy, żeby komputer zrobił. Na przykład w matematyce 2+4*2 to nie to samo co (2+4)*2. Ponadto często chcemy połączyć różnego rodzaju porównania w dość skomplikowany układ warunków, który powinien być rozpatrywany w określonej kolejności. Możemy sobie pomóc używając nawiasów. Ma to znaczenie także dla przejrzystości kodu.

Przykład Piszemy aplikację, która określa grupę krwi (A, B, 0) na podstawie dostarczonego genotypu (użytkownik podaje osobno dwa allele). Jak wiadomo grupa krwi w systemie A, B, 0, zależy od genu który w populacji ludzkiej występuje w postaci trzech alleli: I A, I B, i 0 Tabela pokazuje jakie genotypy odpowiadają poszczególnym grupom krwi: grupa krwi AB I A i B genotypy A I A I A, I A i 0 B I B I B, I B i 0 0 i 0 i 0

Realizacja Dla uproszczenia, allele przy wprowadzaniu oznaczymy jako A, B, 0 Użytkownik wprowadzi w konsoli najpierw jeden (zmienna allel1), a później drugi allel (zmienna allel2) Trzeba wziąć pod uwage, że kolejność wprowadzonych alleli może być dowolna (allel1="a", allel2="0" jest równoważne allel1="0", allel2="a"), genotypy I A i 0 oraz i 0 I A są przecież tożsame. grupa krwi genotypy układy zmiennych AB I A i B A B, B A A I A I A, I A i 0 A A, A 0, 0 A B I B I B, I B i 0 B B, B 0, 0 B 0 i 0 i 0 0 0

Projektujemy program Zaprojektujmy ogólną konstrukcję programu używając pseudokodu: Jeśli (warunek na grupę krwi AB) to Wypisz Grupa AB Jeśli (warunek na grupę krwi A) to Wypisz Grupa A Jeśli (warunek na grupę krwi B) to Wypisz Grupa B Jeśli (warunek na grupę krwi 0) to Wypisz Grupa 0 Jeśli żaden z powyższych to Wypisz Złe dane! Zastosujemy konstrukcję: if... else if... else... Kluczową sprawą jest teraz prawidłowe sformułowanie warunków dla poszczególnych grup krwi

Zacznijmy od najprostszej grupy 0: Pierwszy allel musi być 0 i drugi allel musi być 0: if (allel1.equalsignorecase("0") && allel2.equalsignorecase("0")) System.out.println("Grupa krwi: 0"); Teraz AB: grupa krwi genotypy układy zmiennych AB I A i B A B, B A A I A I A, I A i 0 A A, A 0, 0 A B I B I B, I B i 0 B B, B 0, 0 B 0 i 0 i 0 0 0 Pierwszy allel musi być A i drugi B, lub pierwszy B i drugi A else if ((allel1.equalsignorecase("a") && allel2.equalsignorecase("b")) (allel1.equalsignorecase("b") && allel2.equalsignorecase("a"))) System.out.println("Grupa krwi: AB");

grupa krwi genotypy układy zmiennych AB I A i B A B, B A A I A I A, I A i 0 A A, A 0, 0 A B I B I B, I B i 0 B B, B 0, 0 B 0 i 0 i 0 0 0 Teraz grupa A: Pierwszy allel A i drugi allel A lub pierwszy allel A i drugi allel 0 lub pierwszy allel 0 i drugi allel A: else if ((allel1.equalsignorecase("a") && allel2.equalsignorecase("a")) (allel1.equalsignorecase("a") && allel2.equalsignorecase("0")) (allel1.equalsignorecase("0") && allel2.equalsignorecase("a"))) System.out.println("Grupa krwi: A");

grupa krwi genotypy układy zmiennych AB I A i B A B, B A A I A I A, I A i 0 A A, A 0, 0 A B I B I B, I B i 0 B B, B 0, 0 B 0 i 0 i 0 0 0 Grupa B analogicznie do A: Pierwszy allel B i drugi allel B lub pierwszy allel B i drugi allel 0 lub pierwszy allel 0 i drugi allel B: else if ((allel1.equalsignorecase("b") && allel2.equalsignorecase("b")) (allel1.equalsignorecase("b") && allel2.equalsignorecase("0")) (allel1.equalsignorecase("0") && allel2.equalsignorecase("b"))) System.out.println("Grupa krwi: B"); i w końcu: else System.out.println("Złe dane!");

String allel1, allel2; Scanner skaner = new Scanner(System.in); System.out.print("Podaj pierwszy allel [A/B/0]: "); allel1 = skaner.nextline(); System.out.print("Podaj drugi allel [A/B/0]: "); allel2 = skaner.nextline(); if (allel1.equalsignorecase("0") && allel2.equalsignorecase("0")) System.out.println("Grupa krwi: 0"); else if ((allel1.equalsignorecase("a") && allel2.equalsignorecase("b")) (allel1.equalsignorecase("b") && allel2.equalsignorecase("a"))) System.out.println("Grupa krwi: AB"); else if ((allel1.equalsignorecase("a") && allel2.equalsignorecase("a")) (allel1.equalsignorecase("a") && allel2.equalsignorecase("0")) (allel1.equalsignorecase("0") && allel2.equalsignorecase("a"))) System.out.println("Grupa krwi: A"); else if ((allel1.equalsignorecase("b") && allel2.equalsignorecase("b")) (allel1.equalsignorecase("b") && allel2.equalsignorecase("0")) (allel1.equalsignorecase("0") && allel2.equalsignorecase("b"))) System.out.println("Grupa krwi: B"); else System.out.println("Złe dane!");

Zadanie: Poprawić program rozpoznawania płci po chromosomach (z prezentacji dot. instrukcji wyboru) grupując warunki z użyciem poznanych operatorów logicznych.