Języki programowania - wykłady.docx

(37 KB) Pobierz

Języki programowania

Wykład 1

  1. Język programowania – sztuczny język składający się ze skończonego zbioru reguł zwanych składnią. Służy do przygotowywania poleceń dla komputera
  2. Programowanie – umiejętność pisania programów i umiejętność rozwiązywania problemów
  3. Program komputerowy – zbiór ułożonych w odpowiedniej kolejności rozkazów, z których każdy reprezentuje elementarną operację.
  4. Większość programów powstaje w formie kodu źródłowego utworzonego za pomocą edytora plików tekstowych. Kod źródłowy jest następnie interpretowany lub kompilowany na język maszynowy faktycznie wykonywane przez komputer.
  5. Definiując dowolny język programowania należy podać:

a.       Zbiór dopuszczalnych znaków

b.       Reguły tworzenia poprawnych zdań

c.       Reguły interpretujące znaczenie poszczególnych słów

  1. Przykłady języków programowania:

a.       Język maszynowy, asembler, Fortran, C, C++, C#, Pascal, Java, PHP

  1. Poziom języka:

a.       Języki wysokiego poziomu (BASIC, C, Pascal, C#)

b.       Języki niskiego poziomu (asembler, język maszynowy)

  1. Języki niskiego poziomu:

a.       Najbardziej efektywne

b.       Trzeba znać architekturę systemu komputerowego oraz działanie mikroprocesora

c.       Bardzo czasochłonne

  1. Język maszynowy:

a.       Ciąg zer i jedynek

b.       Można heksadecymalnie upraszczać (76 z 0111 0110)

  1. Asembler:

a.       Każdy procesor ma swój własny język asembler

b.       Jeden rozkaz w asemblerze odpowiada jeden rozkaz w języku maszynowym

c.       Mnemonik – rozkaz w asemblerze (zastąpienie binarnego)

d.       Tłumacz (translator) to też asembler

e.       Trudne

f.        Pełne wykorzystanie możliwości komputera

g.       Wykonywane bardzo szybko i zajmują mało miejsca w pamięci

  1. Języki wysokiego poziomu:

a.       Przypominają język naturalny (słowa i składnia)

b.       Każdemu poleceniu w j. wysokiego poziomu odpowiada ciąg poleceń w j. maszynowym

c.       Tłumaczenie dokonuje się podczas procesu kompilacji

d.       Kompilacja – tłumaczenie na j. maszynowy za pomocą programu tłumaczącego (kompilatora)

e.       Zajmują więcej miejsca i wykonuje się wolniej

 

  1. Przykładowy rozkaz w asemblerze:

 

EB03     JHP SHORT NEXT

EB – z heksadecymalnego kod operacji

03 – przesunięcie o 3 kroki

JHP – mnemonik

SHORT NEXT – argument

  1. Rodzaje języków programowania:

a.       Proceduralne (C, Pascal, Fortran) – zapisuje się procedury, które wykonuje komputer

b.       Deklaratywne (COBOL, PROLOG, LISP, SQL) – wyszukuje danych w oparciu o pytania

c.       Obiektowe – tworzysz interfejs bardzo łatwo, gotowe obiekty

  1. Procedura – moduł programu wykonujący określone zadanie (program mogący działać samodzielnie)
  2. Podstawy Turbo-Pascala

·         TP i BP umożliwia:

- edycję programów

- kompilację programów

- uruchamianie programów

- śledzenie programów

·         Zbiór znaków:

- rozróżnia A…Z, a…z

              - kreska _

              - cyfry

              - znaki specjalne np. spacja

              - {komentarz}

              - @ adresy obiektów

              - $ stałe

              - # numer znaku w tabeli ASCII

              - znaki sterujące z kodu ASCII od 0 do 31

              - := przypisanie

              - <>   <=   >=   operatory relacji

              - słowa kluczowe

              - dyrektywy np. index

·         Identyfikatory – ciąg liter i cyfr zaczynający się od litery (do 63 znaków). Służą do oznaczania w programach stałych, zmiennych itd.

·         Liczby (całkowite, rzeczywiste)

o        $A – 16-stkowo

o        #127 – znak ASCII 127

o        # $ 75 – znak ASCII 16-stkowo

·         Łańcuchy – ciąg znaków

·         Literały logiczne (true, false – wartości logiczne)

·         Komentarze i separatory   {….} // spacja, ENTER

  1. Struktura programu;

PROGRAM Nazwa_Programu; {Nagłówek programu}

USES {Deklaracja modułów}

 

{Początek części opisowej}

LABEL    - etykiety, definiowanie ich

CONST  - definiowanie stałych

TYPE   - definiowane typy (zbiór wartości, które mogą przyjmować zmienna danego typu)

VAR   - definiujemy zmienne

PROCEDURE   - definiowanie procedur

FUNCTION   - definiowanie funkcji

{Koniec części opisowej}

 

BEGIN

{Część wykonawcza programu}

END.                                                                  à        {Musi być kropka}

 

 

 

Wykład 2

1.       Console Application      Struktura

 

PROGRAM Nazwa

{$APPTYPE CONSOLE}

USES {deklaracja modułów}

SysUtils

LABEL {…… część opisowa}

BEGIN

{treść programu}

END.

 

2.       Deklaracja modułów

USES – umożliwia zdefiniowanie dowolnej liczby modułów np. crt, dos, graph

Moduły służą do grupowania funkcji i procedur w biblioteki oraz umożliwiają niezależne pisanie poszczególnych

3.       Deklaracje etykiet:

LABEL – deklarujemy zaraz po deklaracji modułów. Powodują one skok do określonej części programu

(GOTO) np.

LABEL skok_1,2;

BEGIN

GOTO skok_1;

……

END.

4.       Definicja stałych:

Stałe (CONST) – po label, przypisanie stałej wartości. NIE może być zmienna w programie. Gdy złożona to definiujemy.

    1. CONST MaxWysokość=100;
    2. CONST MaxWysokość:integer=1000;
    3. CONST MaxWysokość:real-50;

x:byte=12

5.       Deklaracje typu (TYPE)

Typ – zbiór wartości jakie może przyjmować zmienna (standardowe – predefiniowane, niestandardowe – wprowadzane rędznie do złożonych)

BYTE = {0,1,2,…..,255}

TYPE Dzien=(pon,wt,sr,czw,pt,sob,nie);

x=real;

Numer=Integer

Wacek=array [1..10] of real

Array à tablica

6.       Deklaracje zmiennych VAR

Deklarujemy zmienne, które muszą być zdefiniowane

W C++ rozróżniamy duże litery

 

VAR

   Wynik,y,z: Byte;

   I:integer;

7.       Definicje procedur i funkcji

PROCEDURE a FUNCTION – różnica składni

Jednoznaczna nazwa

Ustalony sposób wymiany informacji

Służą do tego (wyizolowane) i można je wielokrotnie używać i można uczynić program bardziej przejrzystym

FUNCTION – ma zwrócić wartość (zazwyczaj 1)

PROCEDURE – zwracana wartość ma złożoną strukturę

 

Definicja procedury:

PROCEDURE Nazwa (lista parametrów); ß ale można pominąć

{Część opisowa}

BEGIN

{ciągi instrukcji}

END.

 

Deklaracja funkcji:

FUNCTION Nazwa (lista parametrów);

{część opisowa}

BEGIN

{ciąg instrukcji}

Nazwa:=a; //lub Result:=a;

END.

8.       Typy danych i ich opis

Każda zmienna w programie ma swoją nazwę (identyfikator) i przyjmuje wartość z określonego zbioru: Typu

    1. Typy proste

·         Porządkowe – każdy element ma swój następnik

o        Wyliczeniowy

o        Całkowity

o        Logiczny

o        Znakowy

o        Okrojony

·         Typy rzeczywiste – między 2 dowolne liczby można wstawić kolejną

    1. Łańcuchowe – reprezentacja zbiorów znaków (łańcuchów)
    2. Strukturalne – łączy w całość typy proste

·         Tablicowe – jednakowe typy

·         Rekordowe – różne typy

·         Zbiorowe – obliczenia wyniki

·         Plikowe - jego elementy przyjmują ograniczone wartości. Zmienna przyjmuje wartość 1 lub (..?)

    1. Wskaźnikowe – przypisanie adresu, dwojaka informacja o elemencie (jaki typ)+(adres elementu)
    2. Proceduralne – posługiwanie się procedurami jak zmiennymi
    3. Obiektowy – mamy powiązane ze sobą struktury danych i funkcje, które na nich operują (różnica „f” i „a”-„e”)

9.       Typy proste

Bardziej złożone struktury (tablice, rekordy)

Skończony, uporządkowany zbiór wartości

Wykonujemy operacje porównywania

a.       Porządkowe – następnik i poprzednik

b.       Rzeczywiste

·         Typ wyliczeniowy – max 256 elementów

TYPE identyfikator=(lista);

Elementy uporządkowane (ponumerowane 0,1…….n-1)    n – liczba elementów

·         Typy całkowite – predefiniowane

ShortInt od -128 do 127

Byte  od 0 do 255

Integer  od-32768 do 32767

Word  od 0 do 65535

LongInt   duuuużo

 

Type

XX=integer

VAR

i,j:XX;

k:Integer

·         Typy logiczne (Boolean, ByteBool, WordBool, LongBool

True = 1

False = 0

·         Typ znakowy  char – znaki ASCII, ramki, okienka

·         Typ okrojony

TYPE nazwa = stała 1 … stała 2;

Np.

TYPE

...

Zgłoś jeśli naruszono regulamin