Informatyka I Wykład 3

9
Informatyka I Wykład 3 Jerzy Kotowski Politechnika Wrocławska - - Nazwy Nazwy - - Typy i rozmiary danych Typy i rozmiary danych - - Zakłócenia numeryczne Zakłócenia numeryczne - - Stałe Stałe

description

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: - PowerPoint PPT Presentation

Transcript of Informatyka I Wykład 3

Page 1: Informatyka I Wykład 3

Informatyka IWykład 3

Jerzy Kotowski

Politechnika Wrocławska

-- NazwyNazwy-- Typy i rozmiary danychTypy i rozmiary danych-- Zakłócenia numeryczneZakłócenia numeryczne-- StałeStałe

Page 2: Informatyka I Wykład 3

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_kotaLiczba_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!!

Page 3: Informatyka I Wykład 3

NAZWY c.d.NAZWY c.d.OgraniczeniaOgraniczenia

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ęzyk C odróżnia zmienne po określonej liczbie pierwszych znaków (w produktach Borlanda jest to standardowo 32 - identifier length)

Page 4: Informatyka I Wykład 3

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);

Page 5: Informatyka I Wykład 3

ZAKRESY WARTOŚCI ZMIENNYCHdla implementacji TURBO C++ 1.0

Typy Wartości sizeof()charsigned char

-128 ... 127-2

7 ... 27-1

1

unsigned char 0 ... 255 1shortsigned shortintsigned int

-32768 ... 32767-2

15 ... 2

15-1

2

unsigned shortunsignedunsigned int

0 ... 655350 ... 2

16-1

2

longsigned long

-2147483648 ... 2147483647-2

31 ... 2

31-1

4

unsigned long 0 ... 4 294 967 295 (232 - 1) 4

Page 6: Informatyka I Wykład 3

ZAKRESY WARTOŚCI ZMIENNYCHdla implementacji TURBO C++ 1.0

Obiekty typu rzeczywistego

Typy Wartości sizeof()float -3.4e-38 ... 3.4e38 4double -1.7e-308 ... 1.7e308 8long double -3.4e-4932 ... 3.4e4932 10

Przykładchar i;for(i=0;i<200;i++)

printf("\n%d",i);

To jest nieskończona pętla

Page 7: Informatyka I Wykład 3

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ą.

Page 8: Informatyka I Wykład 3

STAŁESTAŁ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.

Page 9: Informatyka I Wykład 3

STAŁE CAŁKOWITOLICZBOWESTAŁE CAŁKOWITOLICZBOWEy=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=12y=12