C++ Wykład I 2010 2011 M Ch

background image

Język

Język

programowania

programowania

Rozwijanie zdolności logicznego

i precyzyjnego inżynierskiego myślenia

poprzez naukę programowania

background image

Zakładane wyniki nauki:

- opanowanie logiki układania
programów

- opanowanie podstaw języka
programowania C++

- umiejętność budowania
algorytmów dla rozwiązywania
podstawowych

problemów

inżynierskich

background image

Osoby prowadzące laboratorium:

-

dr inż. Krzysztof Janerka

- dr inż. Jacek Suchoń
- dr inż. Andrzej Studnicki
- dr inż. Dariusz Bartocha
- dr inż. Marcin Kondracki
- dr inż. Marcin Stawarz
- mgr inż. Tomasz Szuter
- mgr inż. Anna Dulęba
- mgr inż. Agnieszka Walasek

Prowadzący przedmiot

:

dr hab. inż. Mirosław Cholewa prof.

dr hab. inż. Mirosław Cholewa prof.

Pol. Śl.

Pol. Śl.

background image

Katedra Odlewnictwa

Wydział Mechaniczny Technologiczny

Politechniki Śląskiej

Gliwice ul. Towarowa 7

tel.: 338 55 35

Mirosław.Cholewa@polsl.pl

Platforma E-learning

http://

www.platforma.imiib.polsl.pl

Język Programowania

hasło:

jpm

background image

Laboratorium obejmuje

ćwiczenia

praktyczne

(programowanie

w

C++)

dające prawidłowe nawyki i
właściwe

podejście

do

rozwiązywania

problemów.

Ćwiczenia

praktyczne

związane

z

kierunkiem

studiowania.

background image

Ćwiczenia laboratoryjne obejmują:

-

podstawy C++ (obsługa zintegrowanego

środowiska C++, struktura programu, typy
danych, wyrażenia i operatory),

- stopniowe wprowadzanie instrukcji C++
(instrukcje wejścia, wyjścia, warunkowe,
obliczeń cyklicznych-pętle),

- zastosowanie funkcji w programie,

- wybrane funkcje graficzne w C++

- podstawy programowania obiektowego w
C++,

- umiejętność czytania programów w C++.

background image

Tematy ćwiczeń laboratoryjnych

 

„Język Programowania”

 
 

1.

Ogólna struktura i podstawowe elementy
programu źródłowego w C++ - program
sekwencyjny

1.1.   Obsługa zintegrowanego środowiska pracy

C++, Ogólna

struktura programu źródłowego w C++,

operacje wejścia-

wyjścia
1.2.   Program sekwencyjny – proste typy danych,

wybrane

operatory, funkcje biblioteczne

(matematyczne)

 
2.     

Podejmowanie decyzji w programie

2.1.   Instrukcja warunkowa – if...else, operatory

relacyjne i

logiczne,
2.2.   Instrukcja wyboru – switch...case.

background image

Tematy ćwiczeń laboratoryjnych cd

 

„Język Programowania”

 
 

3.

Organizacja obliczeń cyklicznych w
programie (pętle)

3.1.   Pętle o nieokreślonej liczbie powtórzeń –

instrukcje

while i do-while,
3.2.   Pętla o określonej liczbie powtórzeń –

instrukcja for.

 
4.     

Instrukcje sterujące przebiegiem

programu

4.1.   Wykorzystanie instrukcji sterujących w

pisaniu

programów.
 
5.     

Zmienne strukturalne w języku C++

5.1.   Tablice w języku C++ - tablice liczbowe.   

background image

Tematy ćwiczeń laboratoryjnych cd

„Język Programowania”

 

 

6.

Konstruowanie funkcji w języku C++

6.1.   Programowanie własnych funkcji w języku

C++,

6.2.   Wykorzystanie funkcji iteracyjnych i

rekurencyjnych w

programowaniu.
 
7.     

Wskaźniki w języku C++

7.1.   Posługiwanie się typem wskaźnikowym w

programowaniu,

7.2.   Wykorzystanie wskaźników w operowaniu

tablicami.

Dynamiczny przydział pamięci.
 

background image

Tematy ćwiczeń laboratoryjnych

cd

„Język Programowania”

 

 

8.    

Programy graficzne w języku C++

wykorzystujące
bibliotekę graph

8.1.   Tworzenie prostej grafiki punktowej w
języku C++ przy
użyciu funkcji standardowych,
 
9.   

 Obsługa plików dyskowych w C++ - file

handling

9.1.   Zapis i odczyt prostych plików
tekstowych i binarnych.
 
10. 

Wprowadzenie do programowania

obiektowego w C++

10.1. Początki programowania obiektowego w
C++

background image

Zakres tematyczny wykładów

obejmuje:

1.Analizy

problemów

na

przykładach

związanych

z

kierunkiem

studiowania

i

poszukiwanie

metod

ich

rozwiązywania

2.

Projektowanie

algorytmów

według

wybranej

metody

rozwiązywania

problemu

budowanie schematów blokowych

background image

Cd Zakres tematyczny wykładu

obejmuje:

3. Podstawy programowania w języku
C++ (struktura programu, typy
danych, deklaracje zmiennych i
stałych,

operatory

i

wyrażenia,

instrukcje, funkcje)

4. Wybrane algorytmy i ich programy
(np. sortowanie, przeszukiwanie).

background image

-

uczestnictwo w zajęciach lab. (dopuszczalne 2 zajęcia

nieusprawiedliwione),

- zaliczenie dwóch kolokwiów na komputerach (pisanie
programów 40 min., poprawa nie zaliczonych kolokwiów tylko
na konsultacjach), warunkiem przystąpienia do 2 kolokwium jest
zaliczenie 1,

-wcześniejsze zaliczenie laboratorium:

-zestaw zadań przygotowany przez wykładowcę -termin 16
listopad

lub

-zadanie inżynierskie przygotowane przez prowadzącego
laboratorium – termin 14 grudzień (?), obrona na konsultacjach-
listing programu źródłowego, dyskietka z programem
źródłowym, oceny

„4; 4,5; 5”

zwalniają

z wykładów),

- zaliczenie wykładów (1 kolokwium),

WARUNKI ZALICZENIA
PRZEDMIOTU:

background image

-ocena końcowa z przedmiotu:

O

K

= 0.6*O

W

+ 0.4*O

L

-możliwość podwyższenia oceny końcowej (na 3.5,
4.0) na konsultacjach po zaliczeniu wybranego
przez prowadzącego zadania z zestawu

- możliwość podwyższenia oceny końcowej (z 4.0
na 4.5, 5.0) tylko po b. db napisaniu programu z
zestawu zadań przygotowanego przez wykładowcę

WARUNKI ZALICZENIA PRZEDMIOTU:

cd

background image

Język niskiego poziomu

(asembler-

symboliczna

reprezentacja języka wewnętrznego komputera

)

–efektywność i szybkość działania kodu
wynikowego programu.

Język wysokiego poziomu

łatwiejsza

przenośność

programów,

prostszy zapis algorytmu.

C++

- ogólna charakterystyka

„Język wysokiego, ale dostatecznie

niskiego poziomu” – synteza

background image

 Autorami pierwszego standardu

języka C są

Kernighan i Ritchie

Bjarne Stroustrup

z

Laboratorium Bella firmy AT&T jest

twórcą C++ - początek lat 80

background image

1.

Struzińska-Walczak A., Walczak K.:

Nauka

programowania dla początkujących C++.

Wyd.

W&W, Warszawa 2000

2. Zalewski A.: Programowanie w językach C i
C++ z wykorzystaniem pakietu Borland C++.
Wyd. Nakom, Poznań 2000

3. Snaith P.:

Nie tylko dla orłów C++.

Wyd.

Intersoftland, Warszawa 2000

4. N. M. Josuttis:

C++ Biblioteka standardowa.

Podręcznik Programisty.

Wyd. Helion, Gliwice

2003

Literatu
ra

background image

5. Wróblewski P.: Algorytmy struktury
danych i techniki programowania. Wyd.
Helion, Gliwice 1997

6. Bentley J.: Perełki oprogramowania.
WNT, Warszawa 1992

7.

Wirth N

.: Algorytmy+struktury danych

= programy. WNT, Warszawa 1989

Literatura uzupełniająca:

background image

1. Wróblewski P.: Język C++ dla programistów. Wyd. Helion,

Gliwice 1994

2. Kernighan B., Ritchie D.: Język C. WNT, Warszawa 1988

3.

Lippman S.: Podstawy języka C++. WNT,

Warszawa 1994

4. Delanoy C.: Ćwiczenia z języka C++. WNT, Warszawa 1993

5. Ragen A.: Leksykon języka C. WNT, Warszawa 1990

6. Kopacz T.: Język C w praktyce Turbo C i C++. Wyd. Mikom,

Warszawa 1993

7. Wróblewski P.: Od C do Asemblera. Wyd. Helion, Gliwice 1992

8. K. Loundon: C++ Leksykon kieszonkowy. Wyd. Helion, Gliwice

2003

background image

Wirth N.: Algorytmy+struktury danych = programy. WNT,
Warszawa 1989,

„ ... programowanie stało się
dziedziną wiedzy, której
opanowanie ma zasadnicze
znaczenie przy rozwiązywaniu
wielu problemów
inżynierskich ...”

Niklaus Wirth

background image

Programowanie jako
umiejętność rozwiązywania
problemów

Wykonan
ie
program
u

Dane

Wyniki

Proble
m

Sprawa do
rozwiązania

Algoryt
m

Sposób, przepis rozwiązania
danego problemu w
skończonej liczbie kroków

Progra
m

Sformalizowany zapis
algorytmu w języku
programowania

background image

Algorytm

- określa sposób wykonania pewnego
zadania, rozwiązania określonego
problemu,
czy osiągnięcia zamierzonego celu

background image

Algorytm

opracowany dla

progra-mu

określa sposób

przekształcenia danych
wejściowych w dane wyj-
ściowe zgodnie z celem

(dla realizacji jednego celu
można zastosować wiele
algorytmów)

background image

Algorytm składa się z opisu:

Algorytm składa się z opisu:

-

-

obiektów

obiektów

,

,

na których

na których

wykonywane są

wykonywane są

działania

działania

-

-

działań

działań

realizujących cel

realizujących cel

algorytmu

algorytmu

-

-

kolejności działań

kolejności działań

background image

przykładowy

PROBLEM

Korekta zawartości węgla w piecu

metalurgicznym przy wytopie
żeliwa szarego

DANE:

1.  - norma określająca zawartość węgla w

wytapianym gatunku żeliwa

2.- masa ciekłego metalu w piecu

3. - dostępne materiały wsadowe do korekty

zawartości węgla

4. - analiza chemiczna zawartości węgla w

wytapianym żeliwie

background image

START

STOP

DANE

C>C

max

Oblicz dodatek wsadu

obniża-jący

węgiel

(złom stalowy)

C<C

min

Oblicz dodatek wsadu

zwiększający

węgiel

(grafit)

Dodaj do wsadu

Dodaj do wsadu

T

T

N

N

background image

przykładowy

PROBLEM

PROBLEM

Drzwi z zamkiem na hasło.

Po 3-krotnym błędnym wpisaniu
hasła ma uruchomić się alarm.

 

 

DANE:

- hasło definiowane jako stała (możliwość

- hasło definiowane jako stała (możliwość

zmiany tylko

zmiany tylko

w programie źródłowym)

w programie źródłowym)

background image

STAR
T

Utwórz wzór hasła

Wprowadź hasło

Poprawne

Dodaj p+1

p>3

Otwórz drzwi

Włącz alarm

STOP

N

T

N

T

background image

przykładowy

PROBLEM

 

 

Ustalenie spawalności stali
konstrukcyjnej dla
opracowania optymalnej
technologii spawania.

 

DANE:

 

 

-  

-  

     

      skład chemiczny stali konstrukcyjnej

background image

STAR
T

STOP

Skład chemiczny
stali

Oblicz równoważnik
węgla Rc

Wybór Rc

Rc0.4

0.4<Rc0.48

0.48<Rc0.5

5

Rc>0.
55

Stal łatwospawalna

Stal spawalna po
podgrzaniu lub
elektrodą zasadową

Stal spawalna po
podgrzaniu tylko
elektrodą zasadową

Stal niespawalna

Podaj technologię
spawania

background image

Schemat blokowy jest graficznym

zapisem algorytmu, pokazuje

następstwo działań, nazywany

jest też

siecią działań

.

SCHEMAT

BLOKOWY

background image

Metody tworzenia algorytmu i jego
zapisu w postaci schematu blokowego
(sieci działań):

metoda od szczegółu do ogółu

metoda od szczegółu do ogółu

:

:

polega na wyodrębnieniu w problemie małych

polega na wyodrębnieniu w problemie małych

fragmentów, które po oddzielnym opisaniu są

fragmentów, które po oddzielnym opisaniu są

składane w coraz większe części, aż do

składane w coraz większe części, aż do

otrzymania całego pełnego algorytmu

otrzymania całego pełnego algorytmu

realizującego problem

realizującego problem

background image

metoda od ogółu do szczegółu

metoda od ogółu do szczegółu:

polega na ogólnym zapisaniu całego problemu

polega na ogólnym zapisaniu całego problemu

bez szczegółowego analizowania jego

bez szczegółowego analizowania jego

fragmentów;

fragmentów;

po otrzymaniu podstawowego algorytmu

po otrzymaniu podstawowego algorytmu

należy przystąpić do podobnej analizy

należy przystąpić do podobnej analizy

poszczególnych fragmentów

poszczególnych fragmentów

Metody tworzenia algorytmu i jego
zapisu w postaci schematu blokowego
(sieci działań):

background image

Postać graficzna podstawowych bloków

wykorzystywanych w schematach

blokowych

blok początkowy

rozpoczyna algorytm

Start

blok we/wy

określa

nazwy

danych

wprowadzanych
i

wyprowadzanych

przez

program

Dane

blok operacyjny

określa działanie, które może
zmienić wartość zmiennej

Działanie

background image

Warunek

nie

tak

blok warunkowy (decyzyjny)

rozdziela wykonywanie algorytmu
na dwie drogi w zależności od
spełnienia

tak

lub

nie

spełnienia

warunku;

nie zmienia stanu zmiennych

Zmienn

a=

w1

w2

w3

w
n

blok wyboru

wybiera jedną z wielu możliwych
dróg

algorytmu,

na

podstawie

aktualnej wartości wyrażenia

Postać graficzna podstawowych bloków

wykorzystywanych w schematach

blokowych cd

background image

Postać graficzna podstawowych bloków

wykorzystywanych w schematach

blokowych

cd

Blok kolekcyjny

-

kolektor

łączy różne drogi algorytmu

Blok końcowy

kończy algorytm

Stop

Blok podprogramu

określa nazwę procedury lub
funkcji
i jej zadanie

Nazwa

Funkcj

a

background image

Postać graficzna podstawowych bloków

wykorzystywanych w schematach blokowych cd

3/5

Blok wyjściowy

łącznika
międzystronicow
ego

Blok
wejściowy

łącznika
międzystronicow
ego

3/5

Blok wejściowy

łącznika na
stronie

1

Blok
wyjściowy

łącznika na
stronie

1

background image

September 28 2002 :

September 28 2002 :

Dev-C++ 5 Beta 6 (4.9.6.0)

Dev-C++ 5 Beta 6 (4.9.6.0)

PC FORMAT Listopad 2002 CD#27

PC FORMAT Listopad 2002 CD#27

Kompilator Dev C++

Kompilator Dev C++

http://katodl.mt.polsl.gliwice.pl/www/C++.htm

http://katodl.mt.polsl.gliwice.pl/www/C++.htm

l

l

Strona internetowa

Strona internetowa

Bloodshed Software

Bloodshed Software

http://

http://

www.bloodshed.net

www.bloodshed.net

Tworzenie i uruchamianie programów w
C++

background image
background image

Każdy nowoczesny

Każdy nowoczesny

kompilator

kompilator

zawiera :

zawiera :

Edytor

- program do wpisywania i

modyfikowania tekstów programów (kodów
źródłowych)

[*.cpp]

Kompilator

- program do sprawdzania poprawności

i wyszukiwania formalnych błędów w kodzie
źródłowym. Gdy kod jest poprawny kompilator
przekształca go w plik binarny

[*.obj]

Konsolidator

(linker)

- program, który do pliku

binarnego (skompilowanego) dołącza z bibliotek

[*.lib]

kody maszynowe funkcji gotowe do

użycia i tworzy program wykonywalny na
komputerze (program wynikowy, maszynowy)

[*.exe]

Łączenie z bibliotekami -

linkowanie

Tworzenie i uruchamianie programów w
C++

background image

Komput

Komput

er

er

Kod
źródłowy

program

program

źródłowy

źródłowy

[*.cpp]

Kod
kompilowany

kod binarny

kod binarny

[*.obj]

Kod
wykonywalny

Kod maszynowy

Kod maszynowy

[*.exe]

Zintegrowane środowisko
pracy

background image

#

#

main(

main(

)

)

{

{

}

}

dyrektywy preprocesora:

#include –dołącz pliki
nagłówkowe
#define –zdefiniuj stałe

funkcja główna - start

funkcja główna - start

programu

programu

deklaracja zmiennych i ciąg instrukcji

deklaracja zmiennych i ciąg instrukcji

realizujący dany algorytm

realizujący dany algorytm

background image

#

#

main( )

main( )

{

{

}

}

Zadania preprocesora

-definiowanie makrodefinicji
upraszczających postać kodu
źródłowego

-włączanie tekstów (treści)
innych plików

- sterowanie przebiegiem
kompilacji

background image

Ogólny schemat kodu źródłowego
programu w C++

#include <iostream.h>

#include <conio.h>

#include <math.h>

#include
“nazwa_uzytkownika”

#define stala 2

main()

 {

int liczba, suma=0, iloczyn=1;

clrscr;

cout<<”Podaj pierwsza liczbe”<<endl;

cin>>liczba;

while (liczba!=0)

{

suma+=liczba;

iloczyn*=liczba;

cin>>liczba;

}

cout<<”Suma liczb wynosi” <<suma<<endl;

cout<<”Podwojony

iloczyn

liczb

wynosi”<<iloczyn*stala<<endl;

getch();

return 0;

}

funkcja główna - start

funkcja główna - start

programu

programu

lista wszystkich

lista wszystkich

zmiennych

zmiennych

ciąg instrukcji

ciąg instrukcji

realizujący

realizujący

dany algorytm

dany algorytm

dyrektywy
preprocesora

background image

Dobrze jest mieć w jednej linijce tylko

Dobrze jest mieć w jednej linijce tylko

jedną instrukcję – mamy możliwość

jedną instrukcję – mamy możliwość

śledzenia wykonywania programu

śledzenia wykonywania programu

linijka za linijką – debuggery –

linijka za linijką – debuggery –

„odpluskwiacze”

„odpluskwiacze”

bug – owad

bug – owad

background image

i

i

nclude

nclude

zawrzyj

zawrzyj

cout

cout

– C-onsole OUT-put konsola wyjścia – np. ekran

– C-onsole OUT-put konsola wyjścia – np. ekran

<< „ ” ;

<< „ ” ;

main

main

– główny (Funkcja główna)

– główny (Funkcja główna)

{ }

{ }

cin

cin

– Console IN put

– Console IN put

odnosi się do urządzenia wejścia –

odnosi się do urządzenia wejścia –

klawiatury, kierunek strzałek

klawiatury, kierunek strzałek

>>

>>

cuot<<”\n”;

cuot<<”\n”;

odpowiada

odpowiada

cout<<endl

cout<<endl

endl

endl

– end of line

– end of line

cout <<”witam” ;

cout <<”witam” ;

wprowadzanie i wyprowadzanie informacji jest

wprowadzanie i wyprowadzanie informacji jest

poza

poza

definicjami C++, podprogramy są w jednej z bibliotek

definicjami C++, podprogramy są w jednej z bibliotek

programu

programu

# include <iostream.h>

# include <iostream.h>

main()

main()

{

{

cout << ”witam”;

cout << ”witam”;

}

}

background image

Przeniesienie do następnej linii:

Przeniesienie do następnej linii:

\n

\n

Komentarz:

Komentarz:

do końca linii: //…

do końca linii: //…

/*….*/ o dowolnej długości

/*….*/ o dowolnej długości

takie

takie

komentarz

komentarz

e

e

nie mogą być w sobie zagnieżdżane:

nie mogą być w sobie zagnieżdżane:

wewnątrz

wewnątrz

/*…*/

/*…*/

jest nieprawidłowy

jest nieprawidłowy

!!!

!!!

kompilacja warunkowa

kompilacja warunkowa

Nazwy obiektów (zmiennych lub stałych) nie mogą zaczynać się od

Nazwy obiektów (zmiennych lub stałych) nie mogą zaczynać się od

cyfry, dowolnie długi ciąg liter i cyfr oraz podkreśleń, poza słowami

cyfry, dowolnie długi ciąg liter i cyfr oraz podkreśleń, poza słowami

kluczowymi:

kluczowymi:

asm, auto, break, case, catch, char, class, const,

asm, auto, break, case, catch, char, class, const,

continue, default, delete, do, double, else, enum,

continue, default, delete, do, double, else, enum,

extern, float, for, friend, goto, if, inline, int, long, new,

extern, float, for, friend, goto, if, inline, int, long, new,

operator, private, protected, public, register, return, short,

operator, private, protected, public, register, return, short,

signed, sizeof, static, struct, switch, template, this, throw, try,

signed, sizeof, static, struct, switch, template, this, throw, try,

typedef, union, unsigned, virtual, void, volatile, while

typedef, union, unsigned, virtual, void, volatile, while

background image

Każda nazwa musi by

Każda nazwa musi by

ć

ć

zadeklarowana

zadeklarowana

np.:

np.:

int

int

– intiger - l. całkowita

– intiger - l. całkowita

float

float

– l. rzeczywista,

– l. rzeczywista,

z

z

miennoprzecinkowa

miennoprzecinkowa

deklaracja:

deklaracja:

jakbyś spotkał (jakby kompilator spotkał)

jakbyś spotkał (jakby kompilator spotkał)

nazwę: … (np.

nazwę: … (np.

int

int

) to wiedz, że oznacza ona

) to wiedz, że oznacza ona

obiekt typu … (np.

obiekt typu … (np.

całkowitego

całkowitego

)

)

definicja

definicja

:

:

zarezerwuj w pamięci miejsce na obiekt typu

zarezerwuj w pamięci miejsce na obiekt typu

całkowitego o nazwie:…

całkowitego o nazwie:…

Definicja jest równocześnie deklaracją, ale nie odwrotnie

Definicja jest równocześnie deklaracją, ale nie odwrotnie

deklaracja

deklaracja

clarus

clarus

– jasny, zrozumiały; de-klarować ->

– jasny, zrozumiały; de-klarować ->

wy-jaśniać

wy-jaśniać

definicja

definicja

– finis – kniec, granica; de-finiować ->

– finis – kniec, granica; de-finiować ->

zakreślać granicę (wokół komórek pamięci)

zakreślać granicę (wokół komórek pamięci)

background image

Typy danych w C++

Typ danych

-

definiuje zakres lub zbiór

dopuszczalnych wartości dla stałej,
zmiennej, wyrażenia, funkcji oraz zbiór
dopuszczalnych operacji wykonywanych
na tych wartościach.

- określa też format zapisu w pamięci

background image

1.

Typy proste

(skalary)

- arytmetyczne (

całkowite i

rzeczywiste

)

- wskaźnikowe

- referencyjne

Typy danych w
C++

2.

Typy

strukturalne

(złożone)

-

tablice

- struktury

- unie

- klasy

background image

Systematyka typów z

Systematyka typów z

języka C++

języka C++

dwojaki podział:

dwojaki podział:

- typy fundamentalne

- typy fundamentalne

- typy pochodne, będące wariacjami

- typy pochodne, będące wariacjami

typów fundamentalnych

typów fundamentalnych

lub

lub

-

-

typy wbudowane (build-in)

typy wbudowane (build-in)

- typy zdefiniowane przez użytkownika

- typy zdefiniowane przez użytkownika

– jedno z lepszych rozwiązań C++

– jedno z lepszych rozwiązań C++

background image

typy reprezentujące

typy reprezentujące

liczby całkowite

liczby całkowite

:

:

short int

short int

inaczej

inaczej

short

short

int

int

long int

long int

inaczej

inaczej

long

long

oraz

oraz

typ wyliczeniowy

typ wyliczeniowy

enum

enum

typ reprezentujący obiekty zadeklarowane jako

typ reprezentujący obiekty zadeklarowane jako

znaki alfanumeryczne

znaki alfanumeryczne

char

char

wszystkie powyższe typy mogą być ze znakiem i

wszystkie powyższe typy mogą być ze znakiem i

bez znaku. posługujemy się modyfikatorem

bez znaku. posługujemy się modyfikatorem

:

:

signed

signed

lub

lub

unsiged

unsiged

background image

np.:

np.:

signed int

signed int

-

-

może reprezentować

może reprezentować

liczbę ujemną i dodatnią

liczbę ujemną i dodatnią

unsigned int

unsigned int

reprezentuje

reprezentuje

liczbę dodatnią

liczbę dodatnią

zapis

zapis

:

:

int a

int a

oznacza

oznacza

signed int a

signed int a

czyli typ ze znakiem

czyli typ ze znakiem

background image

Typy całkowite

(skończone , przeliczalne podzbiory zbioru liczb

całkowitych)

Słowa kluczowe określające typy całkowite

char

typ znakowy

alfanumeryczny

(litera, cyfra lub znak przestankowy)

int

typ całkowity

long

typ tzw. długich

liczb całkowitych

signed

liczby ze znakiem

short

typ tzw. krótkich

liczb całkowitych

unsigned

liczby bez znaku

background image

Typy całkowite

Typy całkowite

skończone , przeliczalne podzbiory zbioru liczb
całkowitych

Typ

Typ

Rozmiar w bitach

Rozmiar w bitach

min

min

max

max

unsigned

unsigned

char

char

8, jeden znak

8, jeden znak

0

0

255

255

char, signed

char, signed

char

char

8, jeden znak

8, jeden znak

-128

-128

127

127

int, signed

int, signed

int

int

16

16

-32768

-32768

32767

32767

unsigned int

unsigned int

16

16

0

0

65535

65535

long

long

unsigned int

unsigned int

32

32

0

0

4294967295

4294967295

long signed

long signed

int

int

32

32

-2147483648

-2147483648

2147483647

2147483647

0, lub 1-bit, najmniejsza porcja informacji, bajt 8 bitów

background image

Wielokrotności bitów

Przedrostki dziesiętne

(

SI

)

Przedrostki binarne

(

IEC 60027-2

)

Nazwa

Symbol

Mnożnik

Nazwa

Symbol

Mnożnik

kilobit

kb

10

3

=1000

1

kibibit

Kib

2

10

=1024

1

megabit

Mb

10

6

=1000

2

mebibit

Mib

2

20

=1024

2

gigabit

Gb

10

9

=1000

3

gibibit

Gib

2

30

=1024

3

terabit

Tb

10

12

=1000

4

tebibit

Tib

2

40

=1024

4

petabit

Pb

10

15

=1000

5

pebibit

Pib

2

50

=1024

5

eksabit

Eb

10

18

=1000

6

eksbibit

Eib

2

60

=1024

6

zettabit

Zb

10

21

=1000

7

zebibit

Zib

2

70

=1024

7

jottabit

Yb

10

24

=1000

8

jobibit

Yib

2

80

=1024

8

Bit (w 

ang.

 kawałek

skrót

 od binary digit, czyli 

cyfra dwójkowa

) – najmniejsza ilość

informacji

 potrzebna do określenia, który z dwóch

równie prawdopodobnych stanów przyjął układ. Jednostka logiczna.
Jest to również najmniejsza 

jednostka informacji

 używana w odniesieniu do sprzętu komputerowego a oznaczana jest za pomocą „b”.

Przeważnie stosuje się podstawowe przedrostki wielokrotności 

SI

, czyli o mnożniku 1000.

Bit przyjmuje jedną z dwóch wartości, które zwykle określa się jako 0 (zero) i 1 (jeden), choć można przyjąć dowolną inną parę wartości, np.
prawda i fałsz, tak lub nie czy -1 i +1. W pierwszym przypadku bit jest tożsamy z 

cyfrą

 w systemie dwójkowym.

Binarny sposób zapisu informacji związany jest z tym, że komputer jako urządzenie cyfrowe rozpoznać może dwa stany napięciowe:

•0 – brak napięcia lub bardzo niskie (mniej niż 10% wartości wysokiego)

•1 – wysokie napięcie.
Z tego względu obliczenia wykonywane przez procesor opierają się na 

binarnym

background image

char a, b = 15;

int x, y = 2;

long k;

inicjowanie

składnia

typ całkowity identyfikator = wartość
zainicjowana

Deklaracje i inicjacja zmiennych
całkowitych

background image

Typy rzeczywiste

reprezentujące liczby

zmiennoprzecinkowe

(skończone , przeliczalne podzbiory zbioru liczb
rzeczywistych)

Typ

Rozmiar

w bitach

min

max

Liczba

znaczących

cyfr

float

32

32

3.4E-38 3.4E38

6

double

64

64

1.7E-

308

1.7E30

8

15

long

double

80

80

3.4E-

4932

1.1E49

32

18

Twój komputer może zapisywać inaczej – jak ?- mówi

operator

sizeof

rozmiar

- potem

background image

Typy rzeczywiste

(skończone , przeliczalne podzbiory zbioru liczb
rzeczywistych)

Pojęcie znaczących cyfr

Pojęcie znaczących cyfr

Liczbę rzeczywistą w pamięci komputera

Liczbę rzeczywistą w pamięci komputera

zapisuje się

zapisuje się

w postaci dwóch liczb (mantysa, cecha)

w postaci dwóch liczb (mantysa, cecha)

L = mantysa * 10

L = mantysa * 10

cecha

cecha

Dla

Dla

float

float

liczba

liczba

1254986719873674.678

1254986719873674.678

zostanie zapisana w

zostanie zapisana w

0.125498 E16

0.125498 E16

A więc zostanie zaokrąglona do wartości:

A więc zostanie zaokrąglona do wartości:

1254980000000000

1254980000000000

background image

float a, b = 123.16e10;

double x, y = - 145.67;

long double k;


inicjowanie

składnia

typ całkowity identyfikator = wartość
zainicjowana

Deklaracje i inicjacja zmiennych
rzeczywistych


Document Outline


Wyszukiwarka

Podobne podstrony:
mechatronika plan 2010 SV, Polibuda, IV semestr, SEM IV, Mechatronika. Wykład, Wykłady 2010 2011
Mechanika i mechatronika zaliczenie SV, Szkoła, Politechnika 1- 5 sem, SEM IV, Mechatronika. Wykład,
IV WL wyklady 2010 2011
Wykład 2010 2011 dobór silnika, Wykład KCh5
IV WL wyklady 2010 2011
histologia wykłady 2010 2011
pytania z wykładów 2010-2011, Psychologia różnic indywidualnych(1)
Wykład 2010 2011 dynamika, Automatyka i Robotyka, SEMESTR 5, NEMAR, Nemar stary, nemar, nemar DUŻO,
Wyklad 2010 2011 Układ silnik koło zamachowe
wykład3 - Eutanazja, Stomatologia UMED, prawo medyczne, prawo i etyka w stomatologii 2010-2011
MIKOLOGIA biol 2010 2011 wyklad1 a
MIKOLOGIA biol 2010 2011 wyklad2 3 a
Przykładowe zadania z równowagi chemicznej CD CH 2010 2011, Technologia chemiczna, Chemia fizyczna,
MIKOLOGIA biol 2010 2011 wyklad2 3 a 2
MIKOLOGIA biol 2010 2011 wyklad1 a 2
Z wyklad SGH (2010 2011) Studium Licencjackie (caly semestr)

więcej podobnych podstron