Programowanie Strukturalne i Obiektowe

Podstawowe pojęcia

 

 
     
 

Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie danych w określonym przez twórcę zakresie. Programy (zwane Oprogramowaniem) tworzą programiści w procesie programowania.

Programowanie to modyfikowanie, rozszerzanie, naprawianie, ale przede wszystkim tworzenie oprogramowania.

Kod źródłowy (również źródło lub źródła) to program komputerowy napisany w jednym
z języków programowania (np. Delphi, C++Builder itp.).
Kod źródłowy jest zazwyczaj w postaci tekstu, który zrozumiały jest dla danego kompilatora języka programowania, jak i dla programisty piszącego program. Kod źródłowy jest przetwarzany na kod maszynowy zrozumiały dla maszyny (procesora), przez translator lub jest analizowany i wykonywany przez specjalny program zwany interpreterem.

Interpreter to rodzaj programu komputerowego (translatora), który analizuje kod źródłowy dowolnego języka programowanie (np. Delphi, C++Builder ), a przeanalizowane fragmenty (zazwyczaj jedna instrukcja) są wykonywane. W przypadku napotkania błędu interpreter nie musi ponownie tłumaczyć kodu od początku do miejsca jego wystąpienia (tak jak to robi kompilator), tylko kontynuuje od linii zawierającej błąd. W efekcie czas potrzebny na interpretację całego kodu jest mniejszy niż przy kompilacji. Wygenerowany kod jest jednak mniej efektywny (większy i wolniejszy).

Kompilator (ang. compiler) to program służący do automatycznego tłumaczenia kodu źródłowego dowolnego języka programowanie (np. Delphi, C++Builder ) na język maszynowy. W przypadku wystąpienia błędu, kompilacja zostaje wstrzymana. Po poprawieniu błędu kompilacja kodu źródłowego rozpoczyna się od początku. Stosowanie kompilatorów ułatwia programowanie (programista nie musi znać języka maszynowego) i pozwala na większą przenośność kodu pomiędzy platformami.

Kompilacja to proces tłumaczenia kodu źródłowego na kod maszynowy, dokonywany przez kompilator. Kompilacja jest swego rodzaju tłumaczeniem pomiędzy językami zrozumiałymi dla człowieka i maszyny. Polega na zamianie ciągu znaków, którego używa człowiek do reprezentacji jakiejś operacji na odpowiadający mu ciąg instrukcji. W zależności od złożoności języka, proces ten jest mniej lub bardziej skomplikowany.
 

Biblioteka (w informatyce) – to zbiór klas, funkcji (i ew. innych konstrukcji programistycznych), z których korzystają programiści piszący program.


Konsolidator (linker) - jeden z programów składowych kompilatora. Konsolidator łączy biblioteki z plikami zawierającymi kody źródłowe, które korzystają z dołączanych bibliotek.

Kod maszynowy to postać programu komputerowego (zwana postacią wykonywalną lub binarną) przeznaczona do bezpośredniego lub prawie bezpośredniego wykonania przez konkretny typ procesora, wyrażona w postaci kodów rozkazów procesora i ich argumentów, praktycznie nieczytelna dla człowieka.

Kod pośredni to skompilowany program najczęściej w języku JAVA z rozszerzeniem „class”, który może być wykonany na wirtualnej maszynie JAVY (VM). W przeciwieństwie do zwykłych kompilatorów, które produkują kod (w języku maszynowym) możliwy do wykonania na określonym typie komputera, kompilator JAVY tworzy kod pośredni, który może być wykonany na dowolnym komputerze wyposażonym w jego interpreter (zwany maszyną wirtualną). Ponieważ kod ten interpretowany jest przez maszynę wirtualną, powoduje to, że działa on wolniej niż program napisany dla danego typu komputera.

Maszyna wirtualna (ang. Virtual Machine, VM) to ogólna nazwa programów tworzących środowisko uruchomieniowe dla innych programów. Maszyna wirtualna kontroluje wszystkie odwołania uruchamianego programu bezpośrednio do sprzętu lub systemu operacyjnego
i zapewnia ich obsługę. Dzięki temu program uruchomiony na maszynie wirtualnej "myśli", że działa na rzeczywistym sprzęcie, podczas gdy w istocie pracuje na sprzęcie wirtualnym (udawanym).

Plik wykonywalny – plik, który może być uruchomiony bezpośrednio w środowisku systemu operacyjnego. Najczęściej zawiera binarną reprezentację instrukcji konkretnego typu procesora. Oprócz tego znajdują się w nim zwykle wywołania systemowe, dlatego pliki wykonywalne zazwyczaj są specyficzne nie tylko dla danego procesora, ale też dla danego systemu operacyjnego. Nie dotyczy to sytuacji, kiedy zawierają formę pośrednią, która do uruchomienia wymaga interpretera lub maszyny wirtualnej – takie pliki mogą być zwykle uruchamiane na różnych systemach.

Algorytm - w matematyce oraz informatyce to skończony, uporządkowany zbiór jasno zdefiniowanych czynności koniecznych do wykonania pewnego zadania, w ograniczonej liczbie kroków. Algorytm ma przeprowadzić system z pewnego stanu początkowego do pożądanego stanu końcowego. Rysunek 1. Przedstawia przykładowy schemat blokowy ilustrujący dzielenie dwóch liczb

 

Rysunek 1. Przedstawia przykładowy schemat blokowy ilustrujący dzielenie dwóch liczb

 

 

Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.

 

W pewnych językach programowania dzieli się podprogramy na funkcje i procedury:

  • Funkcja zwraca wynik wykonanego zadania (np. funkcja obliczająca pierwiastek kwadratowy);

  • Procedura natomiast nie zwraca żadnej wartości, a zamiast tego wykonuje pewne działania (np. procedura czyszcząca ekran);

Podział ten występuje w językach takich jak Pascal i ADA (język wykorzystywany w lotnictwie
i wojsku). W pozostałych językach (m. in. w C i C++) nie ma już takiego rozróżnienia i funkcją jest każdy podprogram, niezależnie od tego czy zwraca jakieś wartości i czy ma wpływ na program.

 

 

Typ danych - w językach programowania opis rodzaju, struktury i zakresu wartości, jakie może przyjmować stała, zmienna i argument (funkcji lub procedury).

 

Stała - to wartość (liczbowa, tekstowa, itp.), która nie zmienia się w trakcie działania programu.

Stałą zawsze umieszczamy przed zmienną, która będzie wykorzystywała stałą.

 

Na przykład:

const
     numIloscElementow = 9;
var
      Elementy :array[0..numIloscElementow] of string;
begin
     { TODO -oUser -cConsole Main : Insert code here }
end.
 

 

Zmienna to obszar pamięci przechowujący jakieś dane. O rodzaju i sposobie prezentacji tych danych decyduje typ zmiennej.

 

 

Rozróżniamy następujące zmienne:

  • Zmienna lokalna to zmienna widoczna tylko w obrębie danej procedury lub bloku, tworzona
    w momencie inicjowania bloku i niszczona w momencie kończenia bloku;

  • Zmienna globalna to zmienna widoczna w obrębie całego programu;

 

Zmienna tablicowa to (w informatyce) zmienna, która może przechowywać wiele wartości tego samego typu jednocześnie (w postaci tablicy). Taką zmienną jest
np. tablica liczb a = [1, 2, 3, 4], ponieważ przechowuje ona 4 wartości na raz.

 

Tablica kodów ASCII (ang. American Standard Code for Information Interchange) stanowi zestaw kodów używanych do reprezentacji znaków (liter, cyfr, znaków specjalnych np. @, $, # itp.). Każdy znak w tabeli ma przyporządkowaną wartość liczbową, np. litera „A” ma numer 65.
Tablica ASCII składa się 255 znaków, które podzielone są na kilka grup:
  • Od 0 do 31 – znaki sterujące np. drukarką;
  • Od 32 do 126 – znaki podstawowe;
  • Od 127 do 255 – znaki dodatkowe (zawierają znaki graficzne, oraz znaki polskie itp.).

Podstawowa tabela ASCII (tj. od 0 do 127) nie podlega wymianie, natomiast rozszerzona tablica (tj. od 128 do 255) może ulegać zmianie np. w celu zakodowania polskich znaków.
 

Rysunek przedstawia Tablicę ASCII

 

W związku z niewystarczającą ilością znaków tabela ASCII została zastąpiona inną tabelą znaków zwaną UNICODE.

Unicode (zwany czasem po polsku Unikod) to komputerowy zestaw znaków mający w zamierzeniu obejmować wszystkie pisma używane na świecie.