Podstawy programowania

Slides:



Advertisements
Podobne prezentacje
27/09/ Języki programowania 1 Piotr Górczyński Operatory.
Advertisements

Programowanie wizualne PW – LAB6 Wojciech Pieprzyca.
Programowanie obiektowe PO PO - LAB 4 Wojciech Pieprzyca.
Standardowa biblioteka języka C++
Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe PO PO - LAB 3 Wojciech Pieprzyca.
Podstawy programowania PP – LAB2 Wojciech Pieprzyca.
Podstawy programowania PP – LAB3 Wojciech Pieprzyca.
Operatory.
Języki programowania C++
TEMAT: Tworzenie prostych tabel
Podstawowe składniki funkcjonalne procesora i ich rola.
WEKTORY.
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Podstawy informatyki Wirtotechnologia – Funkcje Grupa: 1A
Podstawy programowania PP – WYK3 Wojciech Pieprzyca.
SO – LAB3 Wojciech Pieprzyca
Podstawy programowania PP – WYK2 Wojciech Pieprzyca.
Podstawy programowania PP – LAB6 Wojciech Pieprzyca.
Podstawy programowania PP – WYK5 Wojciech Pieprzyca.
Podstawy programowania
Podstawy programowania PP - LAB1 Wojciech Pieprzyca.
Podstawy programowania PP – LAB4 Wojciech Pieprzyca.
Podstawy programowania PP – LAB5 Wojciech Pieprzyca.
Jak uczę programowania?
Polsko – Japońska Wyższa Szkoła Technik Komputerowych
Język PHP Wprowadzenie.
Ułamki zwykłe.
Podstawy informatyki 2013/2014
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Podstawy informatyki (4)
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Microsoft Office Excel
Wyrażenia w Turbo Pascalu.
czyli wirtualny podręcznik dla klas 1-3
DODAWANIE, ODEJMOWANIE,
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Działania arytmetyczne.
Ułamki zwykłe.
Na początek kilka pojęć z arkusza
Materiały szkoleniowe Miedziowego Centrum Kształcenia Kadr.
UŁAMKI ZWYKŁE.
MS-Excel – formuły i funkcje
Temat: Liczby całkowite
Programowanie strukturalne i obiektowe C++ Przeładowanie operatorów Robert Nowak.
Podstawy Techniki Cyfrowej
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
1 Zagadnienia na egzamin. 2 Język C podsumowanie Struktura programu w języku C Zmienne, Stałe Operacje arytmetyczne Operatory logiczne Priorytety operatorów.
POZNAJ ŚWIAT LICZB CAŁKOWITYCH
Działania w zbiorze liczb całkowitych
1 informatyka +. 2 TYTUŁ: DZIELENIE WIELOMIANÓW - schemat Hornera - AUTORZY: Paweł Królikowski Agnieszka Brzostek.
Działania na ułamkach dziesiętnych
Ułamki zwykłe i dziesiętne
Typy liczbowe, zmienne, operatory Zajęcia 4. Zmienne Zmienna – to w programowaniu element programu, który może mieć przypisaną pewną wartość (wartość.
MATEMATYKA Ułamki zwykłe.
Działania podstawowe w zbiorze liczb naturalnych
DZIAŁANIA NA UŁAMKACH ZWYKŁYCH opracowała mgr Agnieszka Dyrka
Opracowała: Sylwia Wieczór
SciLab.
Tablica liczbowa – dodawanie i odejmowanie
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
a) 3x 3x b) X+3 X+3 c) X:3 X:3 d) X-3 X-3.
Obliczenia w arkuszu kalkulacyjnym
Visual Basic w programie Microsoft Excel
Działania pamięciowe na ułamkach dziesiętnych
Ułamki.
Zapis prezentacji:

Podstawy programowania PP – LAB3 Wojciech Pieprzyca

Operatory arytmetyczne Podstawowe operatory arytmetyczne i operator modulo + dodawanie - odejmowanie * mnożenie / dzielenie % reszta z dzielenia Liczba1 Liczba2 Liczba1/Liczba2 Liczba1%Liczba2 5 10 1 11 19 9

Przykład – formatowanie wydruku Operator modulo można wykorzystać także do formatowanie wydruku np. wstawianie nowej linii po wyświetlaniu w pętli kolejnych 10 wartości. int i; for (int i=1; i<=100; i++) { cout << i << ” ”; if (i%10==0) cout << endl; }

Operatory inkrementacji i dekrementacji Operator inkrementacji (zwiększanie wartości zmiennej o jeden) zmienna++ jest równoważny wykonaniu instrukcji przypisania zmienna = zmienna+1, Operator dekrementacji (zmniejszanie wartości zmiennej o jeden) zmienna-- jest równoważny wykonaniu instrukcji przypisania zmienna = zmienna-1, Rozróżniamy: postinkrementację zmienna++ postdekrementację zmienna--, preinkrementację ++zmienna, predekrementację --zmienna,

Różnica między post i pre W ogólności możemy powiedzieć, że preinkrementacja i predekrementacja wykonywana jest PRZED użyciem zmiennej która zwiększamy/zmniejszamy, z kolei postinkrementacja i postdekrementacja wykonywana jest PO użyciu zwiększanej/zmniejszanej zmiennej. Przykład: x = 3; y = 2; if( x == y++ ) // porównaj x z y, potem zwiększ y (y=3) a = 1; x++; // zwiększ x (x=4) if( x == ++y ) // zwiększ y (y=4), potem porównaj x z y b = 2;

Operatory logiczne i porównania Operator koniunkcji (i) && Operator alternatywy (lub) || Operator negacji ! Operatory porównania: mniejsze < mniejsze lub równe <= większe > większe lub równe >= równe == różne !=

Przykłady Przykłady: Liczby z zakresu 0-10 (liczba>=0 && liczba<=10) Liczby mniejsze od 0 lub większe od 10 (liczba<0 || liczba>10) Liczby różne od 10 (liczba!=10)

Liczby binarne (1) Liczby binarne przedstawiane są w postaci ciągu bitów tzn. wartości zero-jedynkowych. Mówimy, że dany bit może być włączony (ma wartość 1) lub wyłączony (ma wartość 0). Liczby dziesiętne całkowite z zakresu 0-255 mogą być zapisane w postaci binarnej przy użyciu 8 bitów tzn. jednego bajta (wynika to z tego, iż liczba kombinacji zero-jedynkowych dla 8 bitów jest równa 256). Każdy bit liczby binarnej ma swoją wagę. Najmniejszą wagę mają bity najmłodsze, a największą bity najstarsze liczby.

Liczby binarne (2) 8 bitowa liczba binarna x x x x x x x x 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 Przykład: Liczba 10 00001010 (wagi 8+2 = 10) Liczba 15 00001111 (wagi 8+4+2+1 = 15) Liczba 255 11111111 (wagi 128+64+32+16+8+4+2+1 = 255)

Operatory bitowe (1) przesunięcie w lewo << przesunięcie w prawo >> bitowy iloczyn logiczny & bitowa suma logiczna | bitowa negacja ~ Przykłady: Przesunięcie w lewo o 2 bity: int liczba = 10; //bitowo 00001010 (10) liczba = liczba << 2; //bitowo 00101000 (40)

Operatory bitowe (2) x y x&y 1 Przesunięcie w prawo o 2 bity: int liczba = 10; //bitowo 00001010 (10) liczba = liczba >> 2; //bitowo 00000010 (2) Iloczyn logiczny dwóch liczb int x = 14; //bitowo 00001110 int y = 5; //bitowo 00000101 int wynik = x&y; //bitowo 00000100 00001110 00000101 ======== 00000100 (4) x y x&y 1

Operatory bitowe (3) x y x|y 1 x ~x 1 Suma logiczna dwóch liczb 1 int x = 14; //bitowo 00001110 int y = 5; //bitowo 00000101 int wynik = x|y; //bitowo 00001111 00001110 00000101 ======== 00001111 (15) Negacja logiczna liczby x ~x 1 int x = 14; //bitowo 00001110 int wynik = ~x; //bitowo 11110001 ~(00001110) = 11110001 (241)

Operatory przypisania Dwuargumentowy operator przypisania dokonuje przypisania do zmiennej x stojącej po lewej stronie operatora, wartości wyrażenia y, stojącego po prawej stronie operatora. Przykładowe operatory przypisania wraz z opisem ich działania: Operator Przykład Działanie = x = y += x += y x = x + y -= x -= y x = x – y *= x *= y x = x * y /= x /= y x = x / y %= x %= y x = x% y >>= x >>= y x = x >> y <<= x <<= y x = x << y &= x &= y x = x & y

Konwersje typów (1) Konwersja typów polega na zmianie jednego typu danych na inny. Dotyczy ona zwykle sytuacji, gdy argumenty operatora (np. dodawania) są różnego typu i w celu wykonania prawidłowego działania konieczne jest przeprowadzenie konwersji. Wyróżniamy konwersję niejawną przeprowadzaną automatycznie przez kompilator i konwersję jawną wymuszoną przez programistę. Przykład konwersji: double d=2.123; int i = 5; d = i;

Konwersje typów (2) W przypadku konwersji niejawnej typ o mniejszej liczbie bajtów jest przekształcany na typ o większej liczbie bajtów np. short int na int, float na double, itp. Mówimy wtedy, że typ „węższy” jest przekształcany na typ „obszerniejszy” bez utraty informacji. Bezpieczna konwersja argumentu węższego (mniej bitów) do szerszego typu nazywana jest promocją typu. Typowym przykładem promocji jest automatyczna konwersja typu char do int. Powód - wszystkie predefiniowane operacje na zmiennych typu char są faktycznie wykonywane na liczbach porządkowych znaków pobieranych ze zbioru kodów maszynowych (tj. ASCII).

Konwersje typów (3) Poniżej podano kolejność w jakiej odbywa się promocja typów od typu najwęższego do najszerszego. Konwersja polega na przekształceniu węższego typu występującego jako pierwszy na typ występujący jako następny (szerszy). Gdy np. argumentami operatora są liczby typu int i double, to nastąpi konwersja typu int do double, ponieważ double jest typem szerszym od int. short int int unsigned int long unsigned long float double long double

Przykład konwersji niejawnej int l1=10; double l2 = l1 + 3.12; W tym przypadku zmienna l1 typu int zostanie rozszerzona do typu double. Dzięki temu operator + będzie działał na dwóch zmiennych typu double. int l1 = 10; int l3 = l1 + 3.12; Ten przykład pokazuje konwersję zawężającą. Co prawda liczba l1 typu int zostanie rozszerzona do typu double, ale następnie wynik zostanie skonwertowany do typu int, aby mógł zmieścić się w zmiennej l3.

Konwersja jawna Konwersja jawna jest wywoływana przez programistę w ramach pisanego programu przy użyciu operatora rzutowania, który ma następującą postać: (typ) wyrażenie Przykład: double l1 = 12.345; cout << (int)l1; Przykład pokazuje, że liczba typu double przed wyświetleniem zawężana jest do typu int. Spowoduje to wyświetlenie tylko części całkowitej liczby (w tym przypadku 12).

Przykład konwersji jawnej Ponieważ każdy ze znaków alfanumerycznych ma przyporządkowany swój numer w tabeli ASCII to możliwa jest konwersja liczb (odpowiednich kodów ASCII) na znaki i znaków na liczby. Przykłady: char znak = ‘a’; cout << ”Ten znak ma numer: ” << (int)znak; Wynik: Ten znak ma numer: 65 Int liczba = 65; cout << ”Ta liczba odpowiada znakowi: ” << (char)liczba; Wynik: Ta liczba odpowiada znakowi: a

Tabela kodów ASCII