90 likes | 237 Views
Informatyka I Wykład 3. - Nazwy - Typy i rozmiary danych - Zakłócenia numeryczne - Stałe. Jerzy Kotowski Politechnika Wrocławska. NAZWY. Nazwy mają: dane, funkcje, etykiety, etc. Ala = ma(_kota); Nazwy tworzy się z liter, cyfr oraz znaku podkreślenia. Dopuszczalne nazwy zmiennych:
E N D
Informatyka IWykład 3 - Nazwy- Typy i rozmiary danych- Zakłócenia numeryczne- Stałe Jerzy Kotowski Politechnika Wrocławska
NAZWY • Nazwy mają: dane, funkcje, etykiety, etc. Ala = ma(_kota); • Nazwy tworzy się z liter, cyfr oraz znaku podkreślenia. • Dopuszczalne nazwy zmiennych: Cx_1 a_1_2 Ala_ma_kota Liczba_zmiennych xyz xYz XyZ • Uwaga!! Język C prawie wszędzie odróżnia małe litery od dużych => wszystkie wymienione powyżej nazwy są różne!!
NAZWY c.d.Ograniczenia • Pierwszy znak nie może być cyfrą 1Ala ERROR!!! • Pierwszy znak może być znakiem podkreślenia • Po znakach podkreślenia na początku nazwy nie może być cyfra _1Ala ERROR!!! ___Ala OK!!! • Nazwa zmiennej (identifier) może mieć dowolną długość. JęzykC odróżnia zmienne po określonej liczbie pierwszych znaków (w produktach Borlanda jest to standardowo 32 - identifier length)
TYPY I ROZMIARY DANYCH • Podstawowe typy danych char int float double • Kwalifikatory short long signed unsigned • Przykład (deklaracji zmiennej) unsigned char Ala; • Operator jednoargumentowy sizeof long double Ula; int x = sizeof(long double); x = sizeof(Ula);
ZAKRESY WARTOŚCI ZMIENNYCHdla implementacji TURBO C++ 1.0Obiekty typu rzeczywistego Przykład char i; for(i=0;i<200;i++) printf("\n%d",i);To jest nieskończona pętla
ZAKŁÓCENIA NUMERYCZNE • Skończona precyzja zapisu może doprowadzić do następującej sytuacji 1.e6 + 1.e-6 - 1.e6 = 0 1.e6 - 1.e6 +1.e-6 = 1.e-6 Czyli: 1. komputer źle liczy 2. dodawanie w komputerze nie jest przemienne • Zjawisko nosi nazwę szumów numerycznych (zakłócenia numeryczne) i jest bardzo trudne do uniknięcia. Przy analizie złożonych algorytmów obliczeniowych sprawdza się w szczególności , czy szumy się kumulują czy też się wytłumiają.
STAŁE • Stałe są to napisy reprezentujące dane, z których zapisu (w ramach ustalonej interpretacji wynikają wszystkie własności danych, w tym ich wartości. • Stałe dzielimy na: liczbowe, znakowe i łańcuchowe. • Stałe liczbowe mogą być dwóch typów: - całkowitoliczbowego lub - zmiennopozycyjnego. • Stałe całkowitoliczbowe dzielimy na: - dziesiętne, - ósemkowe, - szesnastkowe i - długie.
STAŁE CAŁKOWITOLICZBOWE y=128; stała typu dziesiętnego y=0377; ósemkowego y=0xFF; szesnastkowego y=0XFF;x może być duże lub małe y=0xFFL; stała długa, zapisana tak jak liczba typu long. CIEKAWOSTKI • y=0128; ERROR!!! • Ile to jest?: y=50/8;dokładnie 6. • Ile to jest?: y=100/010; y=12