PR1 01

background image



Język programowania



Algorytm



Elementy języka programowania



Przydział pamięci



Zmienne i stałe



Instrukcje



Typy danych



O

peratory i wyrażenia (wstępnie)



Kompilacja i konsolidacja

Wyk

Wyk

ł

ł

ad

ad

: J

: J

ę

ę

zyk programowania

zyk programowania

background image

Język programowania dostarcza abstrakcji pozwalającej
modelowa
ć problem (opisać byty w nim uczestniczące oraz
sposób ich przetworzenia tak, aby otrzyma
ć rozwiązanie
problemu)

Czym jest programowanie

Czym jest programowanie

Programowanie …

Sposób reprezentowania problemu prowadzi programistę do
wyboru:

• Zbliżyć się do maszyny (język asemblera: szybki, nieczytelny,
nieelastyczny)
• Zbliżyć się do człowieka (opis słowny: wysoki poziom abstrakcji,
elastyczny)

Ostatecznym celem programowania jest utworzenie
programu rozwi
ązującego określony problem (zapisanie
algorytmu rozwi
ązania w języku programowania)

background image

Definicja j

Definicja j

ę

ę

zyka programowania

zyka programowania



Język programowania to system notacji (sposób)
przekazywania komputerowi poleceń do wykonania.



Język programowania pozwala na precyzyjny zapis

algorytmów

oraz innych zadań, jakie komputer ma

wykonać.



Język programowania składa się ze zbioru reguł
syntaktycznych oraz semantycznych, które opisują, jak
należy budować poprawne wyrażenia oraz jak komputer
ma je rozumieć.

Imperatywne języki programowania definiują proces wykonywania jako

sekwencję instrukcji zmieniających stan programu. Programy składają się z

ciągu komend do wykonania przez komputer.

background image

J

J

ę

ę

zyki programowania

zyki programowania



strukturalne ↔ obiektowe



kompilowane ↔ interpretowane



maszynowe (asemblerowe) ↔ wysokiego poziomu



imperatywne ↔ deklaratywne



uniwersalne ↔ dedykowane dla dziedziny



„stacjonarne” ↔ skryptowe



C++



C#



Java



Basic



Delphi



PHP



ASP



Ruby



Perl



Python



Lisp



Prolog



Fortran



Modula

background image

Algorytm

Algorytm

Algorytm jest ściśle określoną procedurą obliczeniową,

generującą dla właściwych danych wejściowych
żądane dane wyjściowe → wynik działania algorytmu.

Algorytm jest ściśle określoną procedurą obliczeniową,

generującą dla właściwych danych wejściowych
żądane dane wyjściowe → wynik działania algorytmu.



Algorytm jest poprawny, gdy dla każdego
egzemplarza problemu algorytm zatrzymuje się
(kończy się) o daje dobry wynik.



Algorytm jest uniwersalny, gdy rozwiązuje „szerszy”
zakres problemów.



Algorytm jest efektywny jeśli ma odpowiednią do
problemu

złożoność obliczeniową

.

http://pl.wikipedia.org/wiki/Algorytm

background image

Elementy j

Elementy j

ę

ę

zyka programowania

zyka programowania

void Main()

{

float zm = 12.07;

int x = 10.31 * Math.Log(zm);

Console.WriteLine(„Wynik = {0}”, x);

}

stała

zmienna

typ wartości

funkcja standardowa

10.31 * Math.Log(zm);

Wyrażenie:

int x = 10.31 * Math.Log(zm);

Instrukcja:

Kurs C# on-line: http://www.tibik.nazwa.pl/

background image

Przydzia

Przydzia

ł

ł

pami

pami

ę

ę

ci w programie dla danych

ci w programie dla danych



Rejestry

(

najszybsza forma pamięci, ich liczba jest mocno

ograniczona → procesor)



Stos

(umieszczony w pamięci RAM, bezpośrednio

obsługiwany przez procesor poprzez wskaźnik stosu
(szybki), kompilator musi znać dokładny rozmiar i czas
życia danych przechowywanych na stosie)



Sterta

(w pamięci RAM, kompilator nie musi znać rozmiaru

danych ani wiedzieć jak długo dane będą zajmowały
obszar na stercie, operator new, elastyczne i
czasochłonne rozwiązanie)



Obszar stałych

(najczęściej umieszczone bezpośrednio w

kodzie, przez co są zabezpieczone przed zmianami)

Dane typów

referencyjnych

Dane typów

skalarnych

background image

Program. Kompilacja. Uruchomienie

Program. Kompilacja. Uruchomienie



Kompilacja

- kod źródłowy jest tłumaczony do postaci

kodu maszynowego, czyli sekwencji elementarnych

operacji gotowych do bezpośredniego przetworzenia

przez procesor komputera. Jeżeli dany język

programowania podlega kompilacji, określany jest

mianem

kompilowanego języka programowania

.



Interpretacja

- kod źródłowy (linia po linii) jest na

bieżąco tłumaczony i wykonywany przez dodatkowy

program zwany interpreterem.



Kod bajtowy

– rozwiązanie polegające na kompilacji

programów do postaci pośredniej (ang.

byte code

). Jest

ona wykonywana przez wirtualne maszyny tłumaczące

elementarne rozkazy byte-code'u na rozkazy procesora.

Kompilacja do kodu maszynowego zapewnia najwyższą wydajność programom, lecz zabiera

ona bardzo dużo czasu, zaś wygenerowany kod jest ściśle powiązany z platformą sprzętową.

background image

Program

Program

kod

kod

ź

ź

r

r

ó

ó

d

d

ł

ł

owy, kod wykonywalny

owy, kod wykonywalny



Program źródłowy

(zapisany w notacji języka

programowania)



Postać skompilowana

(program zapisany jako

instrukcje procesora)



Postać wykonywalna - konsolidacja

(linkowanie od ang.

link

-

łączyć

) to proces

polegający na połączeniu skompilowanych
modułów (plików zawierających kod obiektowy
i/lub plików bibliotek statycznych) i utworzeniu
pliku wykonywalnego

background image

Identyfikatory

Identyfikatory



Konwencja wielbłądzia: nazwy zaczynają się małą

literą lub podkreśleniem

normalnaTemperatura = 36.6;



Konwencja Pascalowa: nazwy zaczynają się dużą

literą

NormalnaTemperatura = 36.6;



Konwencja węgierska:

iNormalnaTemperatura = 36.6;

Identyfikatory to nazwy nadawane typom, funkcjom (metodom),

zmiennym, stałym, obiektom i innym jednostkom programu

Identyfikatory to nazwy nadawane typom, funkcjom (metodom),

zmiennym, stałym, obiektom i innym jednostkom programu

background image

Znaki specjalne

Znaki specjalne



\’ (apostrof)



\” (cudzysłów)



\\ (odwrócony ukośnik = backslash)



\0 (null)



\a (alarm)



\b (znak cofania)



\n (nowy wiersz)



\r (powrót karetki)



\t (tabulacja)



\v (tabulacja pionowa)

napis = „To jest napis z cudzysłowem \” i coś”;

background image

Sta

Sta

ł

ł

e

e



Literały

x = 7;
a = "Ala";
c = 'A';



Stałe symboliczne

const float normalnaTemp = 36.6;



Wyliczenia

enum Rozmiar: int

{ M = 30, S = 40, L = 50, XL = 60}

Wartości, które nie mogą zostać zmienione

background image

Wbudowane typy warto

Wbudowane typy warto

ś

ś

ci

ci

Liczby całkowite bez znaku.
Wartości: 0 .. 65535

UInt32

2

ushort

Liczby całkowite ze znakiem.
Wartości: -32768 .. 32767

Int16

2

short

Liczby całkowite ze znakiem.
Wartości: -128 .. 127

SByte

1

sbyte

Wartości logiczne

true

lub

false

Boolean

1

bool

Znaki w formacie Unicode

Char

1

char

Liczby bez znaku. Wartości 0..255

Byte

1

byte

Opis

Typ
CLS

Rozmiar

Typ

CLS = Common Language Specification

background image

Wbudowane typy warto

Wbudowane typy warto

ś

ś

ci (2)

ci (2)

Liczba całkowita ze znakiem. Wartości -
2147483648 .. 2147483647

Int32

4

int

Liczba całkowita ze znakiem. Wartości:
0 .. 0xffffffffffffffff

UInt64

8

ulong

Liczba całkowita ze znakiem. Wartości:
-

9223372036854775808 .. 9223372036854775807

Int64

8

long

Liczby zmiennoprzecinkowe.

Decimal

16

decimal

Liczby zmiennoprzecinkowe.

Double

8

double

Liczby zmiennoprzecinkowe. Wartości: ±
1,5*10

-45

.. ± 3,4*10

38

Single

4

float

Liczby całkowite bez znaku. Wartości: 0 ..
4294967295

UInt32

4

uint

Opis

Typ
CLS

Rozmia
r

Typ

http://pl.wikipedia.org/wiki/C_Sharp

background image

Zmienne

Zmienne



Wszystkie zmienne w języku C# są traktowane jako
obiekty (a zatem każdy typ jest klasą)



Każdy obiekt posiada własną pamięć (i adres)



Każdy obiekt posiada swój typ (jest instancją
określonej klasy), co określa jakie czynności można
na nim wykonać

Obiekt ma stan, zachowanie i tożsamość

(Grady Booch)

Może posiadać dane wewnętrzne (określające jego stan),

metody/funkcje (określające jego zachowanie) i można go

odróżnić od pozostałych (poprzez adres)

int x;
int y = 5;


Wyszukiwarka

Podobne podstrony:
PR1 01
TD 01
Ubytki,niepr,poch poł(16 01 2008)
01 E CELE PODSTAWYid 3061 ppt
01 Podstawy i technika
01 Pomoc i wsparcie rodziny patologicznej polski system pomocy ofiarom przemocy w rodzinieid 2637 p
zapotrzebowanie ustroju na skladniki odzywcze 12 01 2009 kurs dla pielegniarek (2)
01 Badania neurologicz 1id 2599 ppt
01 AiPP Wstep
ANALIZA 01
01 WPROWADZENIA
01 piątek
choroby trzustki i watroby 2008 2009 (01 12 2008)
syst tr 1 (2)TM 01 03)13
Analiza 01
04 01 MORBILLO ROSOLIA VaMALATTIA

więcej podobnych podstron