Języki programowania wykłady

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ć:

  1. Zbiór dopuszczalnych znaków

  2. Reguły tworzenia poprawnych zdań

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

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

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

  1. Poziom języka:

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

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

  1. Języki niskiego poziomu:

  1. Najbardziej efektywne

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

  3. Bardzo czasochłonne

  1. Język maszynowy:

  1. Ciąg zer i jedynek

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

  1. Asembler:

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

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

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

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

  5. Trudne

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

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

  1. Języki wysokiego poziomu:

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

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

  3. Tłumaczenie dokonuje się podczas procesu kompilacji

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

  5. 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:

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

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

  3. 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

- edycję programów

- kompilację programów

- uruchamianie programów

- śledzenie programó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

  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.

  1. 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

  1. 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.

  1. 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

  1. 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

  1. Deklaracje zmiennych VAR

Deklarujemy zmienne, które muszą być zdefiniowane

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

VAR

Wynik,y,z: Byte;

I:integer;

  1. 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.

  1. 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

  1. Typy proste

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

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

Wykonujemy operacje porównywania

  1. Porządkowe – następnik i poprzednik

  2. Rzeczywiste

TYPE identyfikator=(lista);

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

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

True = 1

False = 0

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

Np.

TYPE

Litery = „A”.. „Z”

Zakres = 0 .. 100

Real

Single – 4 bajty

Double – 8 bajtów

Extended – 12 bajtów

Comp od -263+1 do 263-1

  1. Typy łańcuchowe

Reprezentowane ciągiem znaków

TYPE nazwa = string [rozmiar]; np. 20

  1. Typy strukturalne

Opis obiektów złożonych

Podajemy typy składowe i metodę strukturyzacji + określony sposób dostępu

  1. Tablicowy – elementy są identyczne pod względem typu

(łańcuchowe, proste, strukturalne)

Dostęp do elementów poprzez podanie indeksu

Indeks typu porządkowego

Określony zakres

TYPE nazwa = array [typy_indeksowe] of typ_składowy;

Np.

TYPE

V=array [1..5] of integer;

Macierze = array [1..20, 1..30] of real;

VV=array [1..10] of V typ uprzednio zdefiniowany typeception (5 wersów i 10 kolumn)

  1. Typ rekordowy

Elementy = pola

Różne elementy

Poszczególne pola mogą być elementami złożonymi

Typ i identyfikator

TYPE nazwa = record

{lista deklaracji pól składowych}

End.

Np.

TYPE Data = record

Rok:Integer;

Miesiąc: 1..12; (typ okrojony)

Dzień: 1..31;

End.

  1. Typ zbiorowy

1 el. <= 256

Zbiór potęgowy danego typu porządkowego

Zbiór potęgowy – zbiór wszystkich podzbiorów + zbiór pusty

TYPE nazwa = set of typ_porządkowy

Np.

TYPE Klasy = set of (1a,1b,1c,1d,1e)

  1. Typ plikowy

Ściśle powiązane z plikami

Liczba elementów uzależniona od przebiegu wykonywania i skojarzenia pliku z fizycznymi zbiorami danych

Tablica – metoda dostępu do elementu – Indeksy

Plik – metoda dostępu do elementu – funkcje np. seek

TYPE nazwa = file of opis_typu (np. byte, integer)

Np.

Text – plik tekstowy predefiniowany

Przykład typów plikowych

TYPE

Dane = file of Integer;

Zbiór = file;

Wynik = Text; //lub TextFile (Delphi)

F = file of record

Rok: integer

Miesiąc: 1..12;

Dzień: 1..31;

End.

  1. Typ wskaźnikowy – istnieje przez cały czas wykorzystywania części programu

Są to tzw. ZMIENNE STATYCZNE

ZMIENNE DYNAMICZNE – dzięki wskaźnikom

TYPE a=real;

TYPE WWW=6666;

6666=record

Tekst: string [50];

Liczba: Integer;

End.

  1. VAR aaa:WWW;

Definiuje na wzór wskazań, które są typu.

Wykład 3

  1. Procedury i funkcje mogą być traktowane jako:

  1. Część programu wykonywana na skutek wywołania

  2. Elementy, które mają być przypisywane do zmiennych i przekazywane do innych funkcji lub procedur jako parametry

TYPE nazwa = procedure (lista_parametrów);

TYPE nazwa = function (lista_parametrów);

Przykład:

TYPE

YY=procedure (x,y:Byte,var z)

FF=function (x,y:Byte):Boolean

  1. Typ obiektowy

Obiekt – złożona struktura o ustalonej liczbie elementów składowych

Każdy element – pole (dana) i metodę (procedura lub funkcja)

Elementem opisującym operację wykonywaną na danych obiektach

POLE – (specyfikacja): typ i identyfikator

Opis metody składa się z: nagłówka procedury (funkcji). Konstruktora lub destruktora.

OBJECT ….. END

TYPE nazwa_typu object (opcjonalny element) dziedzictwo

Listy

End.

  1. Dziedzictwo – identyfikator innego, zdefiniowanego wcześniej typu obiektowego. Jeśli element ten wystąpi, to definiowany typ dziedziczy wszystkie elementy podane w definicji typu obiektowego.

TYPE identyfikator_typu=object (dziedzictwo)

Lista_deklaracji_pól

Lista_deklaracji_metod

Sekcje_list

End.

Przykład:

TYPE punkt=object

x,y:integer

end;

TYPE piksel=object(punkt) zawiera punkt

End.

  1. Zmienne

VAR

  1. Zdefiniowane na zewnątrz procedur (funkcji) = GLOBALNE

  2. Zdefiniowane wewnątrz procedur (funkcji) = LOKALNE

TYPE

P=real typ wskaźnikowy

Punkt=record typ rekordowy

X:real

Y:real

End;

W=array[1..10;1..20] of real

VAR

X,Y,Z:real;

A,B:W

aa:string[10]

Q:P; przypisanie do P

ss:Punkt; przypisanie do Punkt

  1. Wyrażenia

  1. +, -(zmiany znaku), @ (adres zmiennej), NOT

  2. *, /, DIV (dzielenie całkowite), MOD (reszta z dzielenia), AND, SHL, SHR(przesunięcie o n bitów left, right)

  3. + (suma), - (różnica), OR, XOR

  4. =, <>, <, >, <=, IN (zawiera się – logiczny)

  1. Instrukcje – czynności wykonywane na danych

  1. Proste – bez instrukcji – składowych

PROGRAM AAA

LABEL e1;

BEGIN

GOTO e1;

e1:x:=a+2

END.

Nazwa_procedury (lista_parametrów);

Np.

Oblicz;

  1. Strukturalne

BEGIN

….. } n instrukcji

END.

If …… then

Case …. Of

For ….. do

While …. Do

Repeat …. Until

  1. Instrukcja wyboru

CASE znak OF

„+”:BEGIN x:=x+1; z:=z-1; END;

„-„ :BEGIN x:=x-1; z:=z+1; END;

Gdy znak ≠ + 1 znak ≠ - end

Lub else

Może być też przedział np. 710

FOR TO

FOR DOWNTO

Np.

FOR i=1 TO i=10 DO Begin …. End;

FOR i=10 DOWNTO i=11 DO ….;

Przykład:

Oblicz iloczyn A4x4, B4x4, C=AxB

Cik=$\sum_{j = 1}^{4}{a_{\text{ij}} \circ b_{\text{jk}}}$

(Tu mnożenie macierzowe wiersz pierwszego razy kolumna drugiego daje pierwszy wyraz wyniku)

For i:=1 to 4 do

For k:=1 to 4 do

For j:=1 to 4 do

C[i,k]=C[i,k]+a[i,j]*b[j,k]

  1. Instrukcja wiążąca:

WITH lista_zmiennych DO instrukcja

Np.

Liczba zespolona: Record

Re,im:REAL;

END;

WITH liczba_zespolona DO

BEGIN

Liczba_zespolona.re:=5

Liczba_zespolona.im:=2

END;

Ułatwienie operowania na złożonych strukturach danych np. rekord

Dla asemblera

ASM

Instrukcje_asemblera

END Funkcje i procedury

Wykład 4

  1. Lista parametrów formalnych określa sposób w jaki lista ma być zastąpiona listą parametrów aktualnych przy wywołaniu funkcji lub procedury

  1. Przez wartość (można na niech określać)

Procedure obl parametry formalne

//Wywoła

Obl (a, y+k, sqrt(w), j+5); parametry aktualne

  1. Przez stałe (określonego typu)

Function Silnia (const n:byte) longint

Var i:byte;

Begin

Silnia:=1;

For i:=1 to n do Silnia=Silnia*i;

End;

  1. Przez zmienne (z nich uzyskuje się informacje)

Var: a:longint; (deklaracja globalna)

Procedure obl_silnie (n:byte; var s:longint)

Var i:longint (deklaracja lokalna)

Begin

S:=1

If n<=12 then for i=1 to n do S:=S*1 else S:=-1

End;

  1. Dane (wprowadzanie) Pamięć operacyjna(przetwarzanie) Procesor(Wyprowadzanie) Port wyjściowy elementu

Do obsługi fizycznych danych = pliki

  1. Pliki:

  1. Zdefiniowane

  2. Niezdefiniowane

  3. Tekstowe

Np.

TYPE

R=File of real;

Z=File of record

Re,im:Real

End.

TYPE

ZZ=File;

File of text

Dostęp do pliku – zmienna plikowa

TYPE

R=File of real

Z=File of record

Re,im:Real

END;

Var

F:tekst

Zbiór:R; {Zbiór: File of real}

AA: File of integer;

Zbiorek: Z;

ZZ: file;

Zmienna plikowa skojarzona z fizycznym zbiorem danych

F:tekst; Assign np. Assign(F,’Dane’)

  1. Tworzenie, otwieranie I zamykanie pliku

  1. Tworzenie

Rewrite (F) – fizyczne utworzenie na dysku

Rewrite (FFF, rozmiar)

  1. Otwieranie

Reset (F) lub Append (T) tylko tekstowe

  1. Zamykanie

Close (T) – zamykanie

  1. Write, read – wpis/odczyt – zdefiniowane

  2. BlockWrite, BlockRead (T, bufer, licznik, rezultat) – niezdefiniowane

  1. Pliki tekstowe

Eof End of file

Eoln End of line

  1. Zdef:

Eof; FileSize (w bajtach)

File Pos(pozycja w pliku)

Seek (ustawienie położenie zbioru na elemencie określonym przez pozycja = longint)

  1. Erase (F) – usuwanie

Podstawa programowej modyfikacji

  1. Grupowanie procedur i funkcji bibliotek

  2. Dzielenie dużych programów na powiązane logicznie części

  3. Unit „nazwa”

Interface def+dek } cz. Opisowa

Implementation } cz. Implementacyjna

End }cz. Inicjująca

Wykład 5

  1. Object Pascal

  1. Hermetyczność

  2. Dziedziczność

  3. Polimorfizm

  1. Hermetyczność – zamknięcie w jednej całości dwóch kategorii; struktur danych i funkcji, procedur (kodów) dotyczących działań na strukturach danych

Deklaracje „private” i „public” ukryte

Struktury danych = własność

Kody programów = metody

Obiekt może korzystać z metod i własności innego obiektu, ale metody 1 obiektu

  1. Dziedziczność obiektowa umożliwia przyspieszenie definiowania potomstw istniejących obiektów

  1. Potomek dziedziczy własności i metody, więc musimy tylko określić różnice w stosunku do poprzednika

  2. Oprogramowanie własności i metod (?)

  3. Zmiana w całej klasie

  1. Polimorfizm umożliwia tworzenie w obiektach potomnych metod o takich samych nazwach, jak w obiektach nadrzędnych, ale wykonywujących różne czynności:

  1. Środowisko zintegrowane

Cały kod w modułach

  1. Klasy – deklaracja klasy odbywa się przez deklarację naszego typu danych

Unit

Interface

TYPE moja_klasa=class

Procedury

End;

Zaimplementować

Procedure moja_klasa.p1

Begin

End;

Showmessage(‘tekst’)

Wyszukiwanie CTRL+SPACJA

Potomek=class(protoplasta)

Kod:

Procedure TForm1.ButtonClick(Sender:ToObject)

X:=MK1.Create; przyporządkowanie pamięci operacyjnej

Y:=MK2.Create;

Wywołanie //x.p1

  1. Wybór kolorowych paneli

Var c:integer

Begin

If Form1.ColorDialog1.Execute then

Begin

C:= Form1.ColorDialog1 Color;

Case Form1.RadioGroup1.ItemIndex of

0: Form1.Panel1.Color:=c;

1: Form1.Panel2.Color:=c;

2: Form1.Panel3.Color:=c;

End;

End;

End;

End.

Wykład 6

  1. FloatToStr(x,ffFixed,9,2) 9 l. liczb + przecinek 2 druga po przecinku

Wykresy Chart

TChart – formularz edycja opcji

Zerowanie serii:

  1. Form1.series1.clear;

  2. Form1.series2.clear;

Form1.Visible:=False

Form2.Visible:=True Boole’a

  1. Menu nawigacja

For i:=1 to 1000

Begin

Form1.Series1.AddXY(i, sin(i*pr/180); XY odcięte X I rzędne Y

Form1.Series2.AddXY(i, cos(i*pr/180);

End;


Wyszukiwarka

Podobne podstrony:
Języki programowania wykłady
Języki programowania wykłady
Informatyka jezyki programowania Wyklad
wyklad5.cpp, JAVA jest językiem programowania obiektowego
Języki programowania zaliczenie wykłady Języki programowania3
Języki programowania zaliczenie wykłady Wykład 5
Języki programowania zaliczenie wykłady Opracowanie1 2
pytania z wykładu sciaga jezyki programowania
Języki programowania zaliczenie wykłady, Opracowanie1, Języki programowania
Języki programowania zaliczenie wykłady Języki programowania4
Algorytmy i struktury danych Wykład 8 Języki programowania
Podstawy Informatyki Wykład X Object Pascal Jezyki programowania, Proste typy danych
Języki programowania zaliczenie wykłady Języki programowania2
Podstawy programowania (wykład III)
Program wykładów 1 sem
Program wykładu Fizyka II

więcej podobnych podstron