Pojęcia: kod maszynowy, kod źródłowy, asembler; program, programowanie, procedura; paradygmaty programowania; różnice w stylu programowania proceduralnego, strukturalnego i obiektowego.
Kod maszynowy- przekształcony kod źródłowy, zrozumiały dla maszyny przez translator lub jest analizowany i wykorzystywany przez specjalny program zwany imperatorem.
Kod źródłowy/ program źródłowy- to program komputerowy w postaci takiej jaką tworzy ją całości w pewnym języku programowania, jako tekst lub postać graficzną.
Asembler - najbliższy kodu maszynowego, wymaga śledzenia zawartości rejestrów, np. dodanie dwóch liczb:
LD rejestr1 adres1
LD rejestr2 adres2
ADD rejestr1 rejestr2
Program - zbiór poleceń wybranych zgodnie z dopuszczalnymi przez dany język regułami.
Programowanie - tworzenie, modyfikowanie, rozszerzenie, naprawienie i wszystkie inne operacje dokonywane na oprogramowaniu.
Procedura - to wydzielona część programu wykonująca jakieś operacje, nie zwraca żadnych wyników.
Paradygmaty programowania:
programowanie ekstremalne (badanie stanów dotychczasowych zmian układów)
funkcjonalne (interesuje nas wykonywanie pewnych funkcji- obliczeń)
intencyjne
obiektywne
proceduralne
strukturalne
wieloporadygmatowe (łączące pewne elementy)
zdarzeniowe (oparte o badania zdarzeń)
agentowe
logiczne
Podkreślone są używane współcześnie.
Programowanie proceduralne to paradygmat programowania zalecający dzielenie kodu na procedury, czyli fragmenty wykonujące ściśle określone operacje.
Programowanie obiektowe to metodologia tworzenia programów komputerowych, która definiuje programy za pomocą "obiektów" - elementów łączących stan (czyli dane) i zachowanie (czyli procedury, tu: metody).
Programowanie strukturalne to paradygmat programowania zalecający hierarchiczne dzielenie kodu na moduły, które komunikują się jedynie poprzez dobrze określone interfejsy. Jest to rozszerzenie koncepcji programowania proceduralnego.
Translatory kodu: interpreter a kompilator.
Translatory to programy tłumaczące języki symboliczne na języki maszynowe:
interpreter - to forma translatora, która za każdym razem analizuje od nowa kod źródłowy w celu przetłumaczenia poleceń w nim zawartych na formę zrozumiałą dla procesora
kompilator - to program służący do automatycznego tłumaczenia kodów źródłowych na język maszynowy.
Algorytm, jego własności; schemat blokowy algorytmu; skrzynki graniczne, operacyjne, decyzyjne, wejściowo-wyjściowe, skrzynki podprogramów.
Algorytm- skończony zbiór jasno zdefiniowanych czynności koniecznych do wykonania pewnego zadania w skończonej liczbie kodów.
Własności:
Skończona liczba operacji
Realizator algorytmu potrafi wykonywać wszystkie operacje
Istotna kolejność wykonywania operacji
Algorytm rozwiązuje zadanie w rozsądnym czasie
Schemat blokowy algorytmu- diagram, na którym procedura, system albo program komputerowy, są reprezentowane przez opisane figury geometryczne połączone liniami zgodnie z kolejnością wykonywania czynności wynikających z przyjętego algorytmu rozwiązania zadania. Schemat blokowy pozwala dostrzec istotne etapy algorytm i logiczne zależności między nimi.
Skrzynki graniczne- oznacza ona początek, koniec, przerwanie lub wstrzymanie wykonywania działania, np. skrzynka startu programu.
Skrzynka operacyjna - zwana też instrukcyjną, jest prostokątem, w którym znajdują się instrukcje. Ze skrzynki operacyjnej wychodzi tylko jedno połączenie. W takiej skrzynce dokonujemy przypisania wartości zmiennym.
Skrzynka wejścia-wyjścia - przedstawia czynność wprowadzania danych do programu i przyporządkowania ich zmiennym dla późniejszego wykorzystania jak i wyprowadzenia wyników obliczeń
Skrzynka decyzyjna - przedstawia wybór jednego z dwóch wariantów wykonywania programu na podstawie sprawdzenia warunku wpisanego ową skrzynkę.
Skrzynka wywołania podprogramu - oznacza zmianę wykonywanej czynności na skutek wywołania podprogramu
Umowny język programowania - pseudokod:
zdania imperatywne, zdania decyzyjne (proste, z alternatywą, wielokrotnego wyboru), zdania sterujące (iteracyjne ograniczone i warunkowe, skoku), zdania grupujące.
(same rysunki wiec nie przerysowywałam )
Umowny język programowania:
zdania imperatywne;
zdania decyzyjne:
proste;
z alternatywą;
wielokrotnego wyboru.
zdania sterujące (iteracyjne, skoku):
ograniczone;
warunkowe;
skoku.
zdania grupujące.
Związki pseudokodu ze schematem blokowym:
Zdania decyzyjne
Zdania interacyjne
Zdania sterujące - warunkowe ograniczone
Zdania sterujące - skoku
Zadania grupujące
Struktura danych - pojęcie; struktury danych proste i złożone; łańcuchy znakowe, listy (wektory), tablice dwuwymiarowe i trójwymiarowe, kolejki, stosy oraz pliki.
Struktura danych- definicja organizacji elementów oraz zbiór dopuszczalnych opcji
Struktury danych proste:
Liczby: całkowite, rzeczywiste, dwójkowe
Operacje: arytmetyczne, logiczne
Znaki: zestawienie
Operacje
Łańcuchy znakowe:
Łączenie łańcuchów
Wycinanie fragmentów łańcuchów
Porównywanie łańcuchów
Kolejki -dane dopisywane są na końcu, a pobierane z początku listy. Struktura taka zwana jest często FIFO czasami mówi się też o n- buforze (n- ilość zapamiętanych informacji)
Stos zwany Stogiem - dane są dopisywane i pobierane z wierzchu stosu. Struktura taka zwana jest FILO
Języki programowania niskiego i wysokiego poziomu. Języki szybkiego projektowania RAD.
Języki programowania niskiego:
Asemblery
Wysokiego poziomu: (w miarę szybkie pisanie)
Cobol - język dla przedsiębiorstw i firm
C, Pascal - język uniwersalny
Prolog - oparty na logice klauzul
SQL - język zapytań do baz danych
PHP - zaawansowane generowanie stron internetowych
Języki szybkiego projektowania RAD (mała ilość błędów i logicznych nie składni, szybki ale zajmuje dużo miejsca)
Visual C
Delphi - wywodzi się z Pascala
Java Beans
Visual Basic
=4
=3
=2
=1
proste
z alternatywą
wielokrotnego wyboru
W
W
I1
I2
W
I
W
I
W
I
warunkowe z badaniem warunku na początku
„dopóki”
warunkowe z badaniem warunku na końcu
„powtarzaj”
Określenie wartości początkowej i końcowej zmiennej sterującej
Zwiększenie lub zmniejszenie wartości zmiennej sterującej
I
Czy osiągnięto wartość końcową?
NIE
TAK
?
?
wstecz
w przód
etykieta:
Instrukcja
Instrukcja
Skoku
Instrukcja
Skoku
etykieta:
Instrukcja
I1
I2
I3
=
I