03 elementy jezykow programowania


Języki programowania II
Elementy języków programowania
Wojciech Sobieski
Olsztyn 2005
Elementy JP
Języki programowania wymyślono po to, by można było dzięki nim
tworzyć różnorodne programy komputerowe. Oczekuje się również, że
tworzone aplikacje będą wykonywać swoje zadania w sposób
jednoznaczny i zgodny z określoną na etapie projektowania specyfikacją
wymagań - języki programowania muszą się więc opierać na ogólnie
obowiązujących zasadach logiki i arytmetyki. Z tego też względu, można
wyodrębnić w strukturach różnych języków szereg elementów
uniwersalnych, spełniających w nich analogiczną rolę.
Elementy JP
1. Ściśle określony zbiór znaków i symboli.
Używanie znaków niedozwolonych spowoduje wystąpienie błędów
podczas translacji kodu zródłowego. Zakres znaków obejmuje duże i małe
litery alfabetu (rozróżniane bądz nie), cyfry oraz znaki specjalne i symbole
wieloznakowe. Mimo, że wiele języków programowania posiada podobny
zestaw znaków dopuszczalnych, niektóre z nich mogą mieć zupełnie inne
znaczenie. Przykładem może być znak  // - w FORTRANIE służący do
łączenia łańcuchów tekstowych, zaś w PASCALU do oznaczenia wiersza
komentarza.
Elementy JP
Zestaw znaków i symboli dopuszczalnych
w językach Fortran G77 oraz Free Pascal.
Elementy JP
2. Skończona (zazwyczaj) liczba słów kluczowych i deklaratorów.
Słowa kluczowe są to określone zbiory znaków posiadające konkretne
znaczenie dla translatora (najczęściej są to wyrazy z języka angielskiego,
np. WRITE, READ, PROGRAM, FOR, DO, PROCEDURE, FUNCTION,
itd.).
Elementy JP
Zestaw słów kluczowych występujących
w językach Fortran G77 oraz Free Pascal.
Elementy JP
Bardzo często edytory kodu zródłowego stosują wyróżnienia dla słów
kluczowych (pogrubienie czcionki lub kolory), co ułatwia jego pisanie i
zmniejsza prawdopodobieństwo wystąpienia błędu. W przypadku braku
automatycznego wyróżnienia należy stosować duże i małe litery, np.
instrukcje pisać dużymi literami, a inne nazwy małymi. Nazwy takie jak
SIN, COS, LOG, MOD, itd. nie są słowami kluczowymi lecz nazwami
funkcji wewnętrznych. Oprócz słów kluczowych w językach
programowania występują również deklaratory, czyli słowa
odpowiadające za określanie obiektów lub ich właściwości.
Elementy JP
Edi
Elementy JP
ConText
Elementy JP
3. Ściśle określona struktura i zasady pisania kodu zródłowego.
Kod zródłowy składa się z przynajmniej jednego modułu (programu),
który musi mieć sztywno określoną budowę. Moduł musi posiadać
wyraznie określony początek i koniec, obszary deklaracji obiektów i
typów występujących zmiennych oraz obszary zawierające bloki
instrukcji, funkcji lub procedur. Budowa kodu zródłowego zależy w
decydujący sposób od rodzaju języka i sposobu realizacji drogi punktu
sterowania.
Zasady pisania kodów zródłowych w językach
Fortran G77 oraz FreePascal.
Elementy JP
Fortran Pascal
1.Używanie jedynie znaków dopuszczalnych. 1.Używanie jedynie znaków dopuszczalnych.
2.Brak rozróżnienia znaków pisanych małą lub 2.Brak rozróżnienia znaków pisanych małą lub
wielką literą. wielką literą.
3.Znaków narodowych nie należy używać 3.Znaków narodowych nie należy używać
(nawet w komentarzach). (nawet w komentarzach).
4.Nazwy (identyfikatory) stałych, zmiennych, 4.Nazwy (identyfikatory) stałych, zmiennych,
podprogramów, funkcji, itp. powinny podprogramów, funkcji, itp. powinny
zaczynać się od litery i nie powinny być zaczynać się od litery  długość dowolna.
dłuższe niż 6 znaków (słowa kluczowe mają
budowę identyfikatorów, ale mogą być
dłuższe).
5.Treść instrukcji wpisuje się między 7 a 72 5.Treść instrukcji wpisuje się w dowolnej
kolumną. Nie ma obowiązku zaczynania od 7 kolumnie.
kolumny. Znaki za 72 kolumną są ignorowane.
6.Odstępy umieszczane w instrukcjach są 6.Odstępy umieszczane w instrukcjach są
ignorowane  nie ma różnicy pomiędzy np. ignorowane  nie ma różnicy pomiędzy np.
GOTO i GO TO. x:=4 a x := 4.
Elementy JP
Fortran Pascal
7.W celu zwiększenia czytelności programu 7.W celu zwiększenia czytelności programu
należy stosować wcięcia  szczególnie podczas należy stosować wcięcia  szczególnie podczas
stosowania instrukcji zagnieżdżonych. stosowania instrukcji zagnieżdżonych.
8.W jednym wierszu może znajdować się tylko 8.W jednym wierszu może znajdować się kilka
jedna instrukcja. instrukcji, np. if x=1 then y:=1 else y:=2;.
9.Instrukcje przypisania realizowane są za 9.Instrukcje przypisania realizowane są za
pomocą znaku  = . pomocą znaku  := .
10.Na końcu wiersza nie stawia się żadnego 10.Na końcu wiersza zazwyczaj jest średnik.
znaku.
11.Poszczególne bloki programu zaczynają się
11.Poszczególne bloki programu zaczynają się i kończą w dowolny sposób, ale muszą być
i kończą w dowolny sposób. umieszczone między słowami BEGIN i END.
12.Główny blok programu rozpoczyna się 12.Główny blok programu rozpoczyna się
słowem PROGRAM z nazwą, a kończy słowem PROGRAM z nazwą, a kończy
słowem END. Po END nie stawia się kropki słowem END z kropką na końcu.
13.Warunki arytmetyczne i logiczne określone 13.Warunki arytmetyczne określane są
są znakami literowymi. znakiem  = .
Elementy JP
Fortran Pascal
14.Jedna instrukcja może zajmować 14.Jedna instrukcja może zajmować dowolną
maksymalnie 20 wierszy, przy czym pierwszy liczbę wierszy.
wiersz nazywa się wierszem początkowym, a
pozostałe wierszami kontynuacji. Każdy
wiersz kontynuacji należy zaznaczyć poprzez
umieszczenie w szóstej kolumnie znaku
różnego od zera i spacji.
15.W programie należy umieszczać
15.W programie należy umieszczać
komentarze. Bloki komentarza ujmuje się w
komentarze  zaczynają się one znakiem  * ,
nawiasy klamrowe:
 C lub  ! . Komentarze można dodawać na
{
początku linii lub w dowolnym jej miejscu.
komentarz...
Wiersze z samymi spacjami traktowane są jak
}
wiersze komentarzy.
16.Brak etykiet (istneje możliwość
16.W kolumnach 1-5 można wpisywać tzw.
zaznaczania miejsc w kodzie poleceniem
etykiety  niepowtarzalny ciąg cyfr 
LABEL).
identyfikujące określone miejsce w programie.
Elementy JP
Fortran Pascal
17.Numery etykiet powinny być nadawane w 17.-
odstępach (standardowo co 10)  daje to
możliwość dopisania nowych etykiet
pomiędzy już istniejące.
18.W programie najpierw umieszcza się
18.W programie najpierw umieszcza się
deklaracje a dopiero po nich instrukcje.
deklaracje a dopiero po nich instrukcje.
19.Deklaracja zmiennych: nazwa : typ
19.Deklaracja zmiennych: typ nazwa
20.Zmienne mogą być lokalna oraz globalne
20.Zmienne są lokalne, tzn. obowiązują w
(zależy to od miejsca deklaracji).
obszarze jednego modułu. Wymiana wartości
odbywa się poprzez odpowiednie instrukcje.
21.Podczas pisania programów należy dążyć
21.Podczas pisania programów należy dążyć
do zminimalizowania liczby zmiennych.
do zminimalizowania liczby zmiennych.
22.Należy dbać o przejrzystość i czytelność
22.Należy dbać o przejrzystość i czytelność
kodu  dlatego też zaleca się stosowanie
kodu  dlatego też zaleca się stosowanie
podprogramów i funkcji.
podprogramów i funkcji.
Elementy JP
4. Występowanie zasady jednoznaczności identyfikatorów w obrębie
jednego projektu.
Identyfikatory są to nazwy programów, modułów, bloków,
podprogramów, procedur, funkcji i zmiennych. Ponieważ działanie
każdego programu oparte jest na pewnych logicznych zasadach, nie może
dochodzić do sytuacji, w których translator nie wie o jaki moduł, funkcję
czy procedurę chodzi. Większość języków programowania kontroluje,
przynajmniej w podstawowym zakresie, nazwy poszczególnych struktur i
zgłasza błędy o powtarzających się nazwach lub ich błędnej budowie.
Elementy JP
Przykłady poprawnego i błędnego deklarowania nazw
w językach Fortran G77 oraz Free Pascal.
Elementy JP
5. Konieczność komunikacji z użytkownikiem.
Potrzeba taka dotyczy również innych urządzeń komputera, a także zapisu
i odczytu danych z plików. Czynności takie nazywane są operacjami
wejścia-wyjścia. Standardowo do komunikacji z użytkownikiem służy
klawiatura (ewentualnie myszka) i monitor. Pobieranie danych z
klawiatury (lub pliku) wymaga wcześniejszego zadeklarowania typu
zmiennej (chyba, że istnieje możliwość niejawnej deklaracji typu) -
wprowadzany typ będzie wówczas jednoznaczny i zgodny z
oczekiwaniami. Podczas wyprowadzania danych na monitor (lub do pliku)
należy ustalić ich format (wygląd). Podczas zapisu (odczytu) danych do
pliku należy dodatkowo określić rodzaj pliku.
Elementy JP
6. Potrzeba sterowania formatem (wyglądem) zmiennych.
Formatowanie jest dokonywane podczas wyprowadzania wartości danych
na ekran monitora lub podczas zapisu do plików. Formatowanie
zmiennych nie zawsze jest konieczne (każdy język programowania
posiada domyślne sposoby zapisu poszczególnych typów zmiennych) ale
może być bardzo przydatne  można zażądać, aby wszystkie liczby miały
tą samą ilość znaków i były zapisane np. w postaci wykładniczej o
określonej liczbie cyfr po przecinku.
Elementy JP
7. Konieczność jawnego lub niejawnego deklarowania typów zmiennych.
Rozróżnia się typ całkowity, rzeczywisty, zespolony, tekstowy, logiczny i
inne. Zależnie od języka, poszczególne typy mogą mieć wiele odmian.
Oprócz typów prostych, wiele języków umożliwia tworzenie własnych
typów lub struktur danych o bardziej złożonej budowie. Odpowiednie
dobranie typów zmiennych pozwala zaoszczędzić pamięć operacyjną oraz
skrócić czas wykonywania obliczeń. Często istnieje konieczność
konwersji typów, czyli zamiany zawartości jednego typu na inny.
Elementy JP
Należy pamiętać, że nie każdy rodzaj konwersji jest możliwy
(przykładowo: nie da się zamienić łańcucha liter na liczbę) i że nie zawsze
konwersja jest dokładna (np. podczas konwersji zmiennej rzeczywistej na
całkowitą traci się część ułamkową). Konwersję wykorzystuje się między
innymi podczas używania kodów ASCII (często stosowane w
FORTANIE), wyprowadzania danych na ekran monitora (OBJECT
PASCAL) lub dostosowywania do innych standardów danych (np.
konwersja typów STRING i PCHAR w języku OBJECT PASCAL).
Elementy JP
Typy występujących zmiennych oraz ich zakresy
w języku Fortran G77.
Elementy JP
Typy występujących zmiennych oraz ich zakresy
w języku Free Pascal.
Elementy JP
8. Potrzeba wymiany danych między różnymi modułami (podprogramami,
funkcjami i procedurami).
Sposób wymiany danych (wartości zmiennych) zależy w dużej mierze od
organizacji i struktury konkretnego języka programowania. Podstawowe
metody to:

deklarowanie wspólnych bloków pamięci,

deklarowanie wspólnych adresów pamięci,

deklarowanie bloków zawierających zbiory zmiennych
przenoszenie wartości zmiennych w nagłówkach nazw
procedur i funkcji,

podział zmiennych na zmienne lokalne i publiczne,

ładowanie pliku wejściowego,

wykorzystanie plików (zapis i odczyt).
Elementy JP
9. Potrzeba wykonywania działań na zmiennych.
Rozróżnia się trzy podstawowe rodzaje zmiennych: liczbowe, tekstowe i
logiczne, przy czym każda grupa wymaga innego podejścia. Zdarza się, że
języki programowania (szczególnie starsze) są ukierunkowane na jeden
rodzaj danych. Działania na zmiennych wymagają stosowania operatorów,
relacji, wyrażeń, instrukcji, funkcji lub procedur.
Elementy JP
10. Potrzeba wykonywania działań na plikach.
Bardzo często programy komputerowe odczytują pewne dane z plików,
przekształcają je lub na ich podstawie obliczają nowe dane, a następnie
zapisują wyniki do pliku. Język programowania powinien nie tylko
umożliwiać zapis i odczyt, ale także wykonywanie podstawowych działań
na plikach (tworzenie, kasowanie, przenoszenie czy zmiana nazwy).
Zależnie od rodzaju języka i jego implementacji możliwości w tym
zakresie są bardzo zróżnicowane.
Elementy JP
11. Potrzeba komunikacji z systemem operacyjnym.
Przydatnym elementem języka programowania jest możliwość korzystania
w funkcji systemu operacyjnego. Jest to zazwyczaj możliwe na dwa
sposoby:

język posiada własne instrukcję odpowiadające poleceniom
systemu operacyjnego (ale i tak przeważnie w jakiś sposób z
nich korzysta),

język posiada mechanizm wywoływania poleceń
systemowych i ich parametrów.
Elementy JP
12. Potrzeba zarządzania pamięcią operacyjną komputera.
Istnieją dwa podstawowe rodzaje zarządzania pamięcią: statyczne i
dynamiczne. Zarządzanie statyczne polega na ścisłym przydzielaniu
zmiennym określonej ilości pamięci operacyjnej (identyfikowanej tzw.
adresami), przy czym ilość ta zależna jest od zadeklarowanego typu
zmiennej. Ilość przydzielonej pamięci nie może się już zmienić  wskutek
czego nie można np. zadeklarować tablicy o nieznanym z góry rozmiarze.
Zarządzanie dynamiczne nie posiada takich ograniczeń, a pamięć
operacyjna przydzielana jest automatycznie, w zależności od potrzeb.
Elementy JP
13. Potrzeba obsługi błędów (wyjątków).
Jest to konieczne ze względu na dwa podstawowe czynniki: niemożność
przewidzenia wszystkich działań użytkownika oraz możliwość
wystąpienia awaryjnych stanów pracy komputera (np. uszkodzenie pliku,
nośnika danych, systemu operacyjnego).
Zmienne i stałe
Zmienna - jest to symboliczna nazwa komórki w pamięci operacyjnej
komputera i służy do zapisu wartości liczbowej, tekstowej, logicznej, itd.
Zmienne są podstawowym elementem algorytmu obliczeniowego.
W czasie działania programu wartości przypisane zmiennym mogą się
dowolnie zmieniać, zależnie od wykonywanych operacji. Zmienne są
rozróżniane po nazwach, czyli tzw. identyfikatorach. Nadanie wartości
zmiennym odbywa się poprzez instrukcję przypisania  bezpośrednio
podczas deklaracji typu lub pózniej (zależy to od języka programowania).
Zmienne i stałe
Zmienna indeksowana (tablica)  zmienna zawierająca nie jedną wartość
lecz cały ich zbiór. W przypadku zmiennych indeksowanych oprócz
deklaracji typu należy podać jej wymiar. Służy do zapisywania list,
wektorów i tablic. Maksymalna ilość wymiarów zmiennej indeksowanej
jest zależna od języka programowania.
Zmienne i stałe
Stała  jest to symboliczna nazwa komórki w pamięci operacyjnej
komputera i również służy do zapisu określonej wartości. Różnica
pomiędzy zmienną a stałą jest taka, że wartości stałej nie można zmienić
podczas wykonywania obliczeń. Deklaracja stałej i nadanie wartości
realizuje się odpowiednią instrukcją.
Zmienne i stałe
Podział zmiennych i stałych ze względu na typ:

zespolone,

rzeczywiste,

całkowite,

logiczne,

walutowe,

daty lub czasu,

tekstowe.
Podział zmiennych i stałych ze względu na sposób deklaracji:

deklarowane jawnie,

deklarowane niejawnie.
Zmienne i stałe
Podział zmiennych i stałych ze względu na dokładność (dotyczy
zmiennych zespolonych i rzeczywistych):

o pojedynczej precyzji,

o podwójnej precyzji.
Podział zmiennych i stałych ze względu na strukturę:

prosty,

indeksowany (wektory i tablice).
Zmienne i stałe
Podział zmiennych i stałych ze względu na ilość zajmowanej pamięci:

o określonej ilości bajtów (1, 2, 4, 6, 8 lub 10 bajtów),

o dowolnej ilości bajtów.
Podział zmiennych i stałych ze względu na sposób przydziału pamięci:

statyczne,

dynamiczne.
Wyrażenia
Wyrażenia arytmetyczne  służą do obliczania wartości zmiennych
liczbowych na podstawie wzorów matematycznych.
W wyrażeniach arytmetycznych mogą wystąpić następujące elementy:

stałe arytmetyczne,

odwołania do zmiennych,

odwołania do elementów tablic,

wywołania funkcji wewnętrznych i zewnętrznych.
Wyrażenia
Wyrażenia realizowane są przy pomocy operatorów (znaków dodawania,
odejmowania, mnożenia, dzielenia i potęgowania) oraz funkcji
(wewnętrznych i zewnętrznych). Podczas tworzenia wyrażeń
arytmetycznych należy zwrócić uwagę na typ wyniku, szczególnie w
przypadku, gdy w wyrażeniu biorą udział zmienne różnych typów.
Kolejność wykonywania operacji zależy od priorytetu operatora, wg
kolejności: potęgowanie, mnożenie i dzielenie oraz dodawanie i
odejmowanie. Kolejność wykonywania działań można dowolnie zmienić
stosując nawiasy.
Elementy JP
Pascal
+ - * / ** div mod shl shr
Fortran
+ - * / **
BASIC
+ - * / ę! (**)
C++
+ - * / * % ++ -- << >>
Rodzaje operatorów arytmetycznych
w językach Fortran G77, Free Pascal, BASIC i C++.
Wyrażenia
Wyrażenia tekstowe  służą do przetwarzania zmiennych tekstowych (np.
tworzenie podłańcuchów) oraz do zbierania określonych informacji (np.
określanie długości łańcucha, położenia określonego znaku w łańcuchu,
itp.). Elementami wyrażeń tekstowych są:

stałe i zmienne tekstowe,

podłańcuchy,

wywołania funkcji tekstowych.
Wyrażenia
Wyrażenia relacji  służą do porównania wartości dwóch wyrażeń
arytmetycznych lub logicznych. Dostępne operatory relacji to znaki:

mniejsze niż,

mniejsze lub równe,

równe,

nierówne,

większe lub równe,

większe niż.
Wyrażenia
Operatory relacji mogą być zapisywane symbolami matematycznymi lub
tekstowymi w zależności od języka programowania. Często zdarza się, że
operator relacji nie pokrywa się z operatorem przypisania - poniżej
przedstawiony jest przykład:
Wyrażenia
Wyrażenia logiczne  służą do wyznaczania wartości logicznej typu
PRAWDA lub FAASZ. Elementami wyrażenia logicznego są:

stałe i zmienne logiczne,

elementy tablic logicznych,

wywołania funkcji logicznych,

wyrażenia relacji.
Najczęściej stosowane operatory logiczne to:

negacja,

koniunkcja,

alternatywa,

tożsamość,

nie tożsamość.
Wyrażenia
Podane operatory zostały uporządkowane według priorytetów, czyli
kolejności w jakiej wykonywane są operacje podczas wyznaczania
wartości wyrażenia logicznego. Argumenty operatorów logicznych muszą
być typu logicznego. Kiedy dwa następujące po sobie w wyrażeniu
operatory mają równe priorytety, to najpierw wykonywana jest operacja
stojąca z lewej strony. Operator negacji poprzedza argument, pozostałe
operatory wymagają podania dwóch argumentów w porządku (operator w
środku). Jeżeli w jakimś wyrażeniu występują jednocześnie operatory
arytmetyczne, relacji i logiczne, to kolejność wykonywania działań jest
następująca:

operacje arytmetyczne,

operacje relacji,

operacje logiczne.
Wyrażenia
Tabela wyrażeń logicznych.
Dziękuję za uwagę
Wojciech Sobieski
Olsztyn 2005


Wyszukiwarka

Podobne podstrony:
03 Elementy Biotechnologii
03 elementy o przekroju kolowym
03 elementy termodynamiki
04 instrukcje jezykow programowania
Siedem jezykow w siedem tygodni Praktyczny przewodnik nauki jezykow programowania 7je7ty
elementy algorytmu programu kolektorek
2008 03 Wojny rdzeniowe [Progra Nieznany
program seminarium 2010 03 11
Elementy programowania języka C
BNg75 0380 Prefabrykaty budowlane z betonu Elementy nawierzchni dróg ulic parkingów Krawę
2010 03 Tworzenie kopii obiektów [Programowanie C C ]
Elementy wiedzy o świecie i krajach danego obszaru językowego
BNg75 0380 Prefabrykaty budowlane z betonu Elementy nawierzchni dróg ulic parkingów Plyty

więcej podobnych podstron