Typy standardowe Typ Boolean Typ Integer Typ Float Typ Character Operacje wejścia-wyjścia.

Slides:



Advertisements
Podobne prezentacje
Funkcje matematyczne Microsoft Office 2003 Exel.
Advertisements

Tablice 1. Deklaracja tablicy
Wartość bezwzględna liczby rzeczywistej opracowała: monika kulczak, kl
Katarzyna Szafrańska kl. II ti
Teoria układów logicznych
Zmienne i Typy.
mgr inż. Ryszard Chybicki Zespół Szkół Ponadgimnazjalnych
Wykład 10 Metody Analizy Programów Specyfikacja Struktur Danych
Języki programowania C++
ZŁOŻONOŚĆ OBLICZENIOWA
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 5: Typy porządkowe, wyliczeniowe i okrojone. Definiowanie.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 4: Wyrażenia i operatory. Podstawowe instrukcje języka.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
WARTOŚĆ BEZWZGLĘDNA Z LICZBY
1.
Podprogramy 1 W Adzie mamy dwa rodzaje podprogramów (subprograms, subroutines): funkcje (functions) i procedury (procedures) Deklaracja i treść funkcji 
Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami.
Typy pochodne 1 Często dogodnie jest wprowadzić nowy typ, który jest podobny do istniejącego, niemniej jednak różny. Niech T będzie pewnym typem. Możemy.
Instrukcje 1 Definicje wstępne Formalny opis akcji wykonywanej przez komputer nazywamy instrukcją ( statement), Każda instrukcja kończona jest średnikiem.
Ogólne jednostki programowe 1
Kompilacja przechodnia
Tablice jednowymiarowe 1
Typy danych – podstawy 1 W Adzie wszystkie dane muszą być określonego typu. Definicja Typ danych (data type) jest to zbiór wartości i operacji, które można.
Typy prywatne 1 Typy prywatne W Adzie typy prywatne (private types) służą do bezpiecznego udostępniania danych zdefiniowanych w pakiecie, z którego korzysta.
Rekordy 1 Definicja Typ strukturalny nazywamy typem rekordowym, jeżeli zawiera pewną liczbę nazwanych składowych, które mogą być różnych typów. Dostęp.
Stałe i zmienne 1 Definicja Literałem (literal) nazywamy wartość danej jawnie pisaną w programie Przykład Ada.Float_Text_Io.Put ( ); Definicja Stałą
Tablice wielowymiarowe 1
Wykład 2 struktura programu elementy języka typy zmienne
Wyrażenia Wyrażenie w Fortranie jest poprawną syntaktycznie kombinacją zmiennych, stałych, operatorów i funkcji. Wyrażenia są jednozdaniowymi przepisami.
PASCAL Dr Anna Kwiatkowska.
Wprowadzenie do programowania w języku Turbo Pascal
KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN 90/95 – cz II Adam FIC INSTYTUT TECHNIKI CIEPLEJ.
Typy wyrażenia, schematy blokowe, writeln, readln, if, pętle
Reprezentacje - zmiennoprzecinkowa
„Są plusy dodatnie i plusy ujemne.”
Podstawy C# Grupa .NET PO.
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Podstawy informatyki (4)
Podstawy programowania w języku C i C++
Informatyka I Wykład 5 OPERATORY Priorytety i kolejność obliczeń
Wyrażenia w Turbo Pascalu.
Podstawy programowania
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
Programowanie obiektowe III rok EiT
Programowanie baz danych
Podstawy programowania
Temat 4: Typy danych.
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
Własności bramek logicznych RÓZGA DARIUSZ 20061
Przegląd konstrukcji języka OCL
Podstawowe struktury danych. Typy danych.
Typy danych, klucz podstawowy, klucz obcy
Wybrane aspekty programowania w C++ (i nie tylko)
Zasady arytmetyki dwójkowej
Rodzaje liczb.
METODY REPREZENTOWANIA IFORMACJI
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
DALEJ Sanok Spis treści Pojęcie funkcji Sposoby przedstawiania funkcji Miejsce zerowe Monotoniczność funkcji Funkcja liniowa Wyznaczanie funkcji liniowej,
Liczby całkowite Definicja Działania na liczbach całkowitych Cechy podzielności Potęga.
Liczby naturalne i całkowite Spis treści Definicje Działania na liczbach Wielokrotności liczb naturalnych Cechy podzielności Przykłady potęg,potęgi o.
Liczbami naturalnymi nazywamy liczby 0,1,2,3,..., 127,... Liczby naturalne poznaliśmy już wcześniej; służą one do liczenia przedmiotów. Zbiór liczb.
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL Układy kombinacyjne.
Matematyka przed egzaminem czyli samouczek dla każdego
Wstęp do Informatyki - Wykład 6
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

Typy standardowe Typ Boolean Typ Integer Typ Float Typ Character Operacje wejścia-wyjścia

Typ standardowy Boolean 1 Definicja type Boolean is (False, True); Operatory relacyjne takie same jak dla typów wyliczeniowych = /= >= Operatory logiczne Jednoargumentowy (unarny - unary) - not Dwuargumentowe (binarne – binary) – and, or, xor Priorytety (priorities) operatorów logicznych Priorytet(not) > Priorytet(and)=Priorytet(or)=Priorytet(xor) Zalecenie. Stosuj nawiasy jeżeli masz wątpliwości jak będzie obliczone wyrażenie

Typ standardowy Boolean 2 Dodatkowe operatory logiczne dwuargumentowe: or else (odpowiada or ), and then (odpowiada and ) W przypadku tych operatorów najpierw obliczany jest lewy argument i jeżeli wartość operacji może być wyznaczona na tej podstawie, prawy argument nie jest obliczany. Priorytet taki sam jak pozostałych operatorów logicznych dwuargumentowych Operatory przynależności: in not in służą do sprawdzania czy dana typu skalarnego należy do pewnego zakresu Liczba not in not (Liczba in )

Typ standardowy Boolean 3 Przykłady PP_003_Operatory_Logiczne, PP_004_Nand_Nor

Typ standardowy Integer 1 Zbiór do którego należą dane tego typu zależy od implementacji języka. Liczby z tego zbioru reprezentowane są dokładnie. Atrybuty First Last Size Przykład PP_005_Atrybuty_Typu_Integer Operatory relacyjne = /= >= Operatory algebraiczne (algebraic operators) jednoargumentowe + - abs dwuargumentowe + - * / rem mod ** Przykład PP_006_Operacje_Calkowite Definicja Stosowanie tych samych oznaczeń do różnych operatorów nazywamy przeciążaniem operatorów (operator overloading)

Typ standardowy Integer 2 Priorytety operatorów działających na argumentach typu Integer ** abs * / mod rem + - jednoargumentowe + - dwuargumentowe = /= >= relacyjne Zalecenie Stosuj nawiasy jeżeli masz wątpliwości jak będzie obliczone wyrażenie. Nawiasy kosztują mniej niż błędy (Van Tassel, 1982) Uwaga Operacja ** nie jest operacją wewnętrzną ponieważ drugi argument (wykładnik) jest typu Natural, a nie Integer.

Typ standardowy Integer 3 Zdefiniowane wstępnie (predefined) podtypy utworzone na bazie typu Integer subtype Natural is Integer range 0..IntegerLast subtype Positive is Integer range 1..IntegerLast Dzielenie całkowite 1 Przy dzieleniu dwóch liczb całkowitych - dzielnej A przez dzielnik B /= 0 otrzymuje się iloraz Q i resztę R, a więc liczby te spełniają równanie A = Q*B + R W Adzie mamy operatory dwuargumentowe / i rem takie, że Q = A/B i R = A rem B

Typ standardowy Integer 4 Należy zwrócić uwagę na to, że jeżeli A i B nie dzielą się bez reszty, to iloraz jest zawsze liczbą bliższą zera. Przykład 5 / 2 = 2, 5 rem 2 = 1 5 / (-2) = -2, 5 rem (-2) = 1, (-5) / 2 = -2, (-5) rem 2 = -1, (-5) / (-2) = 2,(-5) rem (-2) = -1. W przypadku operatorów /, rem mamy I.Wartość bezwzględna ilorazu jest równa ilorazowi wartości bezwzględnych argumentów, II.Znak reszty jest zawsze równy znakowi dzielnej.

Typ standardowy Integer 5 Dzielenie całkowite 2 Drugim operatorem obliczającym resztę jest dwuargumentowy operator wewnętrzny mod. Jeżeli B > 0, to A mod B in 0..B-1 i jeżeli B < 0, to A mod B in B+1..0 Możemy zinterpretować operator mod jako operator obliczający resztę z dzielenia całkowitego, gdy iloraz jest obliczany przy pomocy funkcji nazywanej częścią całkowitą – funkcją podłoga (floor). Funkcja ta oznaczana jest symbolem. (Ross, Wright, 1999, 188) i określona jest następująco: x = największej liczbie całkowitej takiej, że jest mniejsza lub równa x

Typ standardowy Integer 6 Przykład 4.5 = 4, -4.5 = -5. Jeżeli A = Q m *B + R m, to Q m = A/B. Przykład 7/3 = 2, 7 mod 3 = 1, -7/3 = -3, -7 mod 3 = 2, 7/-3 = -3, 7 mod -3 = -2, -7/-3 = 2, -7 mod -3 = -1. W przypadku operatora mod mamy: 1.O znaku wyniku decyduje zawsze znak drugiego argumentu, czyli dzielnika 2.W przypadku, gdy znaki argumentów są różne, wyniki operacji A rem B i A mod B różnią się.

Typ standardowy Integer 7 Operacja mod służy do implementacji arytmetyki modulo (modular arithmetic). W arytmetyce tej mamy m.in. (A + B) mod N = (A mod N + B mod N) mod N Przykład Wykresy funkcji k k mod 5, k k/5, k in –10..10, k k rem 5, k k/5, k in – pokazano na kolejnych dwóch rysunkach.

Typ standardowy Integer 8

Typ standardowy Integer 9

Typ standardowy Float 1 Ogólnie, liczby rzeczywiste są reprezentowane w sposób przybliżony. Reprezentacja typu standardowego Float zależy od implementacji języka. Inne typy zdefiniowane wstępnie: Short_Float, Long_Float, Long_Long_Float Wybrane atrybuty First, Last, Size, Digits, Model_Epsilon, Safe_First, Safe_Last Przykład PP_007_Zakresy_Typow_Float Przykład PP_008_ Atrybuty_Typu_Float

Typ standardowy Float 2 Operatory relacyjne = /= >= algebraiczne jednoargumentowe + - abs dwuargumentowe + - * / ** Priorytety takie jak dla typu Integer Uwaga Wykładnik czyli drugi argument operatora potęgowania jest typu Integer Przykład PP_009_Operacje_Rzeczywiste Konwersja liczb rzeczywistych na całkowite i odwrotnie Float(67 = 67.0, Integer(67.4 = 67

Typ standardowy Float 3 Przy konwersji liczb rzeczywistych na całkowite wynik jest liczbą całkowitą najbliższą liczbie rzeczywistej W przypadku, gdy liczba rzeczywista jest w równej odległości od dwóch liczb całkowitych wynik konwersji jest liczbą całkowitą dalszą od zera Integer(3.5) = 4, Integer(-3.5) = -4 Przykład PP_010_Konwersja Częste stosowanie konwersji jawnej może wskazywać na to, że przyjęto nieodpowiednie typy danych Przykład PP_011_Konwersja_Jednostek

Typ rzeczywisty ogólny Przykład PP_012_Moje_Liczby_Rzeczywiste Można jednak to zrobić ogólniej, co zapewni nam przenośność programów Przykład Pakiet definicyjny My_Reals Przykład PP_013_ Atrybuty_Typu_Real Przykład PP_014_ Test_Reals

Wybrane operacje wejścia-wyjścia 1 subtype Field is Integer range ; subtype Number_Base is Integer range ; Liczby rzeczywiste type Num is digits <>; Default_Fore : Field := 2; Default_Aft : Field := Num'Digits - 1; Default_Exp : Field := 3; procedure Put (Item : in Num; Fore : in Field := Default_Fore; Aft : in Field := Default_Aft; Exp : in Field := Default_Exp);

Wybrane operacje wejścia-wyjścia 2 Liczby całkowite package Ada.Text_IO.Integer_IO is Default_Width : Field := Num'Width; Default_Base : Number_Base := 10; type Num is range <>; procedure Put (Item : in Num; Width : in Field := Default_Width; Base : in Number_Base := Default_Base);

Wybrane operacje wejścia-wyjścia 3 Przykład PP_015_Formatowanie Przykład PP_016_Read_Boolean Przykład PP_017_Czytaj_Typ_Wyliczeniowy Przykład PP_018_Czytaj_Dowolny_Napis Przykład Pakiet definicyjny My_Robust_Input.ads, Pakiet implementacyjny My_Robust_Input.adb Przykład PP_019_Test_My_Robust_Input

Zadania. Literatura podstawowa Zadania Ada_Zadania_04_Typy_Standardowe.pdf Literatura podstawowa Morawski, M., Zajączkowski, A.M. (2003). Wstęp do programowania w języku Ada95. Rozdziały