wykład I programowanie Lazarus

background image

PROGRAMOWANIE

background image

Algorytm

Algorytm

–w informatyce to

skończony zbiór jasno
zdefiniowanych i
uporządkowanych
(następujących po sobie)

czynności

, niezbędnych do

wykonania założonego

zadania

.

2

background image

Algorytm

Działanie algorytmu wymaga:

zdefiniowania danych wejściowych

(niekiedy ich liczba równa jest zero,
przykład)

Precyzyjnego zdefiniowania jego

zachowania tj. wszystkich „kroków”
(skończonej ich liczby) algorytmu

ustalenia „formy” oczekiwanego

wyniku;

3

background image

Programowanie

Programowanie to proces projektowania, tworzenia,

testowania i utrzymywania 

kodu źródłowego

 

programów komputerowych lub urządzeń mikroprocesorowych
 (

mikrokontrolery

).

• Kod źródłowy jest napisany w 

języku programowania

, z

użyciem określonych reguł, może on być modyfikacją
istniejącego programu lub czymś zupełnie nowym.

• Programowanie wymaga dużej wiedzy i doświadczenia w wielu

różnych dziedzinach, jak projektowanie aplikacji, 

algorytmika

struktury danych

, znajomość 

języków programowania

 i

narzędzi programistycznych, wiedza nt. kompilatorów, czy
sposób działania podzespołów 

komputera

.

4

background image

Programowanie

• W inżynierii oprogramowania,

programowanie (implementacja) jest tylko jednym
z etapów powstawania programu.

• Między programistami trwają nieustanne debaty,

czy programowanie jest sztuką, rzemiosłem czy
procesem inżynieryjnym. Bezpośrednią formą sztuki
w tej dziedzinie jest 

demoscena

.

• Inną debatą dotyczącą tego przedmiotu jest stopień,

w jakim język programowania wpływa na formę, jaką
przybiera oraz jak funkcjonuje końcowy program.

Żródło:

http://pl.wikipedia.org/wiki/Programowa
nie

5

background image

Programowanie

Podsumowując, programowanie to ogół czynności
Przez programowanie rozumie się wszystkie

czynności dotyczących budowy i zapisu algorytmu
służącego do wykonania zdefiniowanego zadania:

Zdefiniowanie (zrozumienie) problemu
Badanie wykonywalności numerycznej
Konstrukcja algorytmu
„Kodowanie” programu
Testowanie aplikacji
Przygotowanie dokumentacji (zbyt rzadko )

Żródło:

http://pl.wikipedia.org/wiki/Programowa
nie

6

background image

Schematy blokowe

Większość algorytmów można zrealizować za

pomocą jednego z wielu dostępnych
języków stąd można pokusić się o jego opis:

• w postaci naturalnej (języku „naturalnym”)
• Formalny (posługując się notacją

techniczną, naukową itp.)

• Graficzny np. za pomocą schematów

blokowych odwzorowywane są czynności
konieczne do wykonania przez komputer do
realizacji postawionego mu zadania.

7

background image

Schematy blokowe

8

Oznaczenie początku (START) lub końca
(STOP) działania programu

Wprowadzanie danych (Zapytanie)

Oznaczenie operatora tj. instrukcji lub
zbioru instrukcji prowadzących do zmian
wartości „zmiennych” wewnątrz
algorytmu.
Może mieć wiele „wejść” ale TYLKO jedno
wyjście.

Instrukcja wyboru – predykat. Tylko to pole
wskazuje na wybór jednej z wielu dróg
wykonania algorytmu
Może mieć wiele „wejść” i wiele
(przynajmniej 2) „wyjścia”.

Wskazuje jednoznacznie powiązania i ich
kierunek

background image

Zmienna

Zmienna - konstrukcja 

programistyczna

 posiadająca trzy podstawowe

atrybuty:

- symboliczną nazwę

(służy do identyfikowania zmiennej stąd często

nazywana identyfikatorem)

- miejsce przechowywania

(przeważnie znajduje się w pamięci

komputera i określane jest przez adres i długość danych)

- wartość

pozwalająca w programie odwoływać się przy pomocy

nazwy do wartości lub miejsca przechowywania (zawartość miejsca
przechowywania.)

Zmienna zazwyczaj posiada również czwarty atrybut:

- typ

, określający rodzaj danych przechowywanych w zmiennej i co za

tym idzie sposób reprezentacji wartości w miejscu przechowywania.

W programie wartość zmiennej może być odczytywana lub

zastępowana nową wartością, 

Źródło:

http://pl.wikipedia.org/wiki/Zmienna_(infor
matyka)

9

background image

Zasięg i czas życia zmiennej

Zasięg

:

Określa gdzie w ramach całego programu zmienna

może być wykorzystana i uogólniając wyróżnia się
zmienne:

1) globalne - obejmujące zasięgiem cały program,
2) lokalne - o zasięgu obejmującym pewien blok,

podprogram.

Czas życia zmiennej

:

to okresy w trakcie wykonywania programu gdy

zmienna ma przydzieloną pamięć i posiada
(niekoniecznie określoną) wartość.

Źródło:

http://pl.wikipedia.org/wiki/Zmienna_(informatyka)

10

background image

Programowanie

proceduralne

Programowanie proceduralne to paradygmat

programowania zalecający dzielenie kodu na

procedury

, czyli fragmenty wykonujące ściśle

określone operacje.

Procedury

nie powinny korzystać ze

zmiennych

globalnych

(w miarę możliwości), lecz pobierać i

przekazywać wszystkie dane (czy też wskaźniki do
nich) jako

parametry wywołania

.

Charakteryzuje się brakiem skoków bezwarunkowych

do wnętrza innych procedur.

Żródło:

http://pl.wikipedia.org/wiki/Programowa
nie

11

background image

Programowanie strukturalne

To paradygmat programowania zalecający:

hierarchiczne dzielenie

kodu na bloki, z jednym

punktem wejścia i jednym lub wieloma punktami
wyjścia. Chodzi przede wszystkim o nieużywanie (lub
ograniczenie) instrukcji skoku (goto).

Dobrymi strukturami są np. instrukcja warunkowe (if,

if...else), pętle (while, repeat), wyboru (case, ale nie
switch z C i potomnych).

Strukturalność zakłócają instrukcje typu: break,

continue, switch (w C itp.), które jednak w niektórych
przypadkach znacząco podnoszą czytelność kodu.

Źródło:

http://pl.wikipedia.org/wiki/Programowanie_struktur
alne

12

background image

ASCII

(

A

merican

S

tandard

C

ode for

I

nformation

I

nterchange)

Kod ASCII jest numeryczną reprezentacją znaków.
Jest to 7-bitowy kod przyporządkowujący liczby z zakresu 0-127

literom (alfabetu angielskiego), cyfrom, znakom przestankowym i
innym symbolom oraz poleceniom sterującym. Przykładowo litera
"a" jest kodowana liczbą :97, a znak spacji: 32.

Litery, cyfry oraz inne znaki drukowane tworzą zbiór znaków ASCII.

Jest to 95 znaków o kodach 32-126. Pozostałe 33 kody (0-31 i
127) to tzw. kody sterujące służące do sterowania urządzeniem
odbierającym komunikat, np. drukarką czy terminalem.

Ponieważ kod ASCII jest 7-bitowy, a większość komputerów operuje

na 8-bitowych bajtach, dodatkowy bit można wykorzystać na
powiększenie zbioru kodowanych znaków. Powstało wiele różnych
rozszerzeń ASCII wykorzystujących ósmy bit (np. norma ISO 8859)

Źródło:

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

14

background image

ISO 8859

ISO/IEC 8859 to zestaw standardów służących do kodowania znaków za pomocą 8 bitów.
Wszystkie zestawy ISO 8859 mają znaki 0-127 (hex 00-7F) takie same jak ASCII, zaś pozycjom 128-

159 (hex 80-9F) przypisane są dodatkowe kody sterujące, tzw. C1 (faktycznie są nieużywane).

ISO 8859-1 (Latin-1) - alfabet łaciński dla Europy zachodniej
ISO 8859-2 (Latin-2) - łaciński dla Europy środkowej i wschodniej, również odpowiednia Polska

Norma

ISO 8859-3 (Latin-3) - łaciński dla Europy południowej
ISO 8859-4 (Latin-4) - łaciński dla Europy północnej
ISO 8859-5 (Cyrillic) - dla cyrylicy
ISO 8859-6 (Arabic) - dla alfabetu arabskiego
ISO 8859-7 (Greek) - dla alfabetu greckiego
ISO 8859-8 (Hebrew) - dla alfabetu hebrajskiego
ISO 8859-9 (Latin-5)
ISO 8859-10 (Latin-6)
ISO 8859-11 (Thai) - dla alfabetu tajskiego
ISO 8859-12 - brak
ISO 8859-13 (Latin-7)
ISO 8859-14 (Latin-8)
ISO 8859-15 (Latin-9) - z ISO 8859-1 usunięto kilka rzadko używanych znaków i wprowadzono znak

euro oraz litery Š, š, Ž, ž, Œ, œ oraz Ÿ

ISO 8859-16 (Latin-10) - łaciński dla Europy środkowej - zmodyfikowany ISO 8859-2 ze znakiem

euro i dodatkowymi literami dla kilku języków.

Polskie litery są obecne w ISO-8859-2, ISO-8859-13 i ISO-8859-16.
ISO-8859-13 i ISO-8859-16 zawierają prawidłowe cudzysłowy stosowane w języku polskim zgodnie z

normą PN-83/P-55366[1] („ i ”), których brak jest w ISO-8859-2. ostatnim obecne są również Ó i
ó).

15

background image

UNICODE i UTF-8

Unicode – komputerowy zestaw znaków mający w zamierzeniu obejmować wszystkie pisma używane na świecie.

Definiują go dwa standardy – Unicode oraz ISO 10646. Znaki obu standardów są identyczne. Standardy te różnią się
w drobnych kwestiach, m.in. Unicode określa sposób składu.

Pełny Unikod jest standardem 32-bitowym (UCS-4): 4 294 967 295 znaków. 
Aktualnie używane jest jednak tylko 16 bitów:  65 535 znaków.

UTF-7 i UTF-8 przy przesyłaniu kodów ASCII nie wprowadza żadnych zmian. Tylko kody większe niż 127 podlegają

modyfikacji.

Dzięki temu polskie teksty w kodowaniu regionalnym (np.polskim) powiększają swoją objętość tylko o niewielki procent

Standard Unicode obejmuje przydział przestrzeni numeracyjnej poszczególnym grupom znaków, nie obejmuje zaś

sposobów bajtowego kodowania znaków. Jest kilka metod kodowania, oznaczanych skrótowcami UCS (Universal
Character Set) i UTF (Unicode Transformation Format). Do najważniejszych należą:

UTF-32/UCS-4
UTF-8.
Mniej popularnymi kodowaniami Unicode są:

UTF-16
UTF-7
UCS-2.
Istnieją również inne kodowania, stanowiące margines lub pozostające na etapie propozycji, na przykład:

UTF-9 i UTF-18
UTF-EBCDIC
UTF-6
UTF-5.

Źródło:

http://pl.wikipedia.org/wiki/UTF-8

16

background image

KeyCode

17

background image

Bity,bajty…kB,MB,GB,TB

BIT- podstawowa jednostka informacji

("jest, "nie ma„ „prawda”, ”fałsz”)
przyjmująca wartości "1" lub "0".

BAJT- to 8 (osiem=oktet) bitów (np.

10000001) czyli liczba w systemie
dwójkowym składająca się z ośmiu
zer lub jedynek ułożonych w
dowolnej kombinacji. Jest najmniejszą
adresowaną jednostką informacji
pamięci komputerowej.

18

background image

Zapis dziesiętny binarny,

szesnastkowy

Są to systemy pozycyjne, które posiadają symbole (cyfry)

tylko dla kilku najmniejszych liczb naturalnych: 0, 1, 2, ..., g −
1, gdzie g to tzw. podstawa systemu, która może być dowolną
liczbą naturalną większą niż 1.

• Cyfry te są kolejno umieszczane w ściśle określonych

pozycjach i są mnożone przez odpowiednią potęgę g.

• W sytuacji, gdy dana potęga nie jest potrzebna do zapisu danej

liczby, zostawia się w zapisie puste miejsce, lub częściej
specjalny symbol. Współcześnie jest to cyfra 

0

. Na przykład

liczbę 5004,3 w

dziesiętnym

systemie liczbowym (czyli

systemie, którego podstawą jest 10) odczytuje się jako:

• Współcześnie powszechnie używany jest system dziesiątkowy

a w informatyce stosowany jest system dwójkowy (binarny), 

ósemkowy

 i 

szesnastkowy

(heksadecymalny).

19

background image

Proces

Proces

- jedno z najbardziej podstawowych pojęć w informatyce, definiowane jako egzemplarz

wykonywanego programu,

Każdy nowo powstały proces otrzymuje unikalny numer, który go jednoznacznie identyfikuje, tzw.

numer PID (ang. process IDentifier).

W celu wykonania programu system operacyjny przydziela procesowi zasoby :
pamięć,
czas procesora,
Urządzenia peryferyjne
Sieć etc.
Aby zrealizować program może zażądać utworzenia określonej liczby wątków, wykonujących

wskazane części programu - o ich współbieżne wykonanie dba system operacyjny albo sam
program

Wątki współdzielą prawie wszystkie zasoby zarezerwowane dla danego procesu, wyjątkiem jest czas

procesora, który jest przydzielany indywidualnie każdemu wątkowi.

Za zarządzanie procesami odpowiada jądro systemu operacyjnego.
W systemie operacyjnym każdy proces posiada proces nadrzędny, z kolei każdy proces może,

poprzez wywołanie funkcji systemu operacyjnego, utworzyć swoje procesy potomne; w ten sposób
tworzy się swego rodzaju drzewo procesów. Każdy proces otrzymuje od systemu operacyjnego
odrębne zasoby, w tym odrębną przestrzeń adresową, listę otwartych plików, urządzeń itp.

Źródło

www.wikipedia.org

20

background image

Wątek

Wątek

(ang. thread) - część programu wykonywana

współbieżnie w obrębie jednego procesu; w jednym
procesie może istnieć wiele wątków.

Różnica między zwykłym procesem a wątkiem polega na

współdzieleniu przez wszystkie wątki działające w
danym procesie przestrzeni adresowej oraz wszystkich
innych struktur systemowych (np. listy otwartych
plików, gniazd, itp.) - z kolei procesy posiadają
niezależne zasoby.

Wielowątkowość, wielozadaniowość…

Źródło:

http://pl.wikipedia.org/wiki/W%C4%85tek_(informat
yka)

21


Document Outline


Wyszukiwarka

Podobne podstrony:
wykład IV programowanie Lazarus
wykład III programowanie Lazarus
Wykład 4 programy
Wykład 8 programy
Ekonomia wykłady program PS1
Wykład 2 programy
wyklad c++, Programowanie
Wykład 1 + program wykładów RACH KOSZ projekt 2012
Jadczak R - Badania operacyjne Wykład 3, programowanie całkowitoliczbowe
Wykład 1 Program, literatura, warunki zaliczenia, definicje
Zadania dodatkowe, studia wsiz, semestr 1 2, programowanie LAB wyklad, Programowanie, BFryc, 1IID, Z
Laboratorium nr 2 tablice, studia wsiz, semestr 1 2, programowanie LAB wyklad, Programowanie, BFryc,
WYKŁAD 3 program badan prenatalnych
WYKŁAD 1 Program przedmiotu nauki
Wykład 1 + program wykładów PROGRAM WYKŁADÓW 2013
infa wykłady Programowanie w języku C# Informatyka wykład
Wykład 6 programy
wykład programypolitykizdrowotnej
Wykład 3 Programowanie Definicje

więcej podobnych podstron