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 zródłowego utworzonego za pomocą edytora
plików tekstowych. Kod zró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
6. Przykłady języków programowania:
a. Język maszynowy, asembler, Fortran, C, C++, C#, Pascal, Java, PHP
7. Poziom języka:
a. Języki wysokiego poziomu (BASIC, C, Pascal, C#)
b. Języki niskiego poziomu (asembler, język maszynowy)
8. Języki niskiego poziomu:
a. Najbardziej efektywne
b. Trzeba znać architekturę systemu komputerowego oraz działanie mikroprocesora
c. Bardzo czasochłonne
9. Język maszynowy:
a. CiÄ…g zer i jedynek
b. Można heksadecymalnie upraszczać (76 z 0111 0110)
10. 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
11. 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
12. 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
13. 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
14. Procedura  moduł programu wykonujący określone zadanie (program mogący działać
samodzielnie)
15. 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
·ð AaÅ„cuchy  ciÄ…g znaków
·ð LiteraÅ‚y logiczne (true, false  wartoÅ›ci logiczne)
·ð Komentarze i separatory {& .} // spacja, ENTER
16. 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.
a. CONST MaxWysokość=100;
b. CONST MaxWysokość:integer=1000;
c. 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
a. 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Ä…
b. Aańcuchowe  reprezentacja zbiorów znaków (łańcuchów)
c. 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 (..?)
d. Wskaznikowe  przypisanie adresu, dwojaka informacja o elemencie (jaki
typ)+(adres elementu)
e. Proceduralne  posługiwanie się procedurami jak zmiennymi
f. 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
Litery =  A ..  Z
Zakres = 0 .. 100
·ð Typ rzeczywisty
Real
Single  4 bajty
Double  8 bajtów
Extended  12 bajtów
Comp od -263+1 do 263-1
10. Typy łańcuchowe
Reprezentowane ciągiem znaków
TYPE nazwa = string [rozmiar]; np. 20
11. Typy strukturalne
Opis obiektów złożonych
Podajemy typy składowe i metodę strukturyzacji + określony sposób dostępu
a. 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)
b. 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.
c. 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)
d. 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.
12. Typ wskaznikowy  istnieje przez cały czas wykorzystywania części programu
SÄ… to tzw. ZMIENNE STATYCZNE
ZMIENNE DYNAMICZNE  dzięki wskaznikom
a.
TYPE a=real;
TYPE WWW=6666;
6666=record
Tekst: string [50];
Liczba: Integer;
End.
b. VAR aaa:WWW;
Definiuje na wzór wskazań, które są typu.
Wykład 3
1. Procedury i funkcje mogą być traktowane jako:
a. Część programu wykonywana na skutek wywołania
b. Elementy, które mają być przypisywane do zmiennych i przekazywane do innych funkcji
lub procedur jako (ponenety???)
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
2. 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.
3. 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.
4. Zmienne
VAR
a. Zdefiniowane na zewnÄ…trz procedur (funkcji) = GLOBALNE
b. Zdefiniowane wewnÄ…trz procedur (funkcji) = LOKALNE
TYPE
P=real typ wskaznikowy
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
5. Wyrażenia
·ð Argumenty
·ð Operatory: (wg priorytetu)
a. +, -(zmiany znaku), @ (adres zmiennej), NOT
b. *, /, DIV (dzielenie całkowite), MOD (reszta z dzielenia), AND, SHL, SHR(przesunięcie o n
bitów left, right)
c. + (suma), - (różnica), OR, XOR
d. =, <>, <, >, <=, IN (zawiera siÄ™  logiczny)
6. Instrukcje  czynności wykonywane na danych
a. Proste  bez instrukcji  składowych
·ð Przypisania, skoku, puste, inline, wywoÅ‚ania procedury
·ð Przypisania A:=1
·ð Skoku GOTO
PROGRAM AAA
LABEL e1;
BEGIN
GOTO e1;
e1:x:=a+2
END.
·ð Pusta ;
·ð WywoÅ‚ania procedury
Nazwa_procedury (lista_parametrów);
Np.
Oblicz;
b. Strukturalne
o Złożone
BEGIN
& .. } n instrukcji
END.
o Warunkowe
If & & then
Case & . Of
o Iteracyjne
For & .. do
While & . Do
Repeat & . Until
o Wiążące
o Asemblerowe
7. 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=
(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]
8. 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
a. Przez wartość (można na niech określać)
Procedure obl Ä…ð parametry formalne
//Wywoła
Obl (a, y+k, sqrt(w), j+5); Ä…ð parametry aktualne
b. 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;
c. 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;
2. Dane Ä…ð(wprowadzanie) Pamięć operacyjnaÄ…ð(przetwarzanie) ProcesorÄ…ð(Wyprowadzanie)
Port wyjściowy elementu
Do obsługi fizycznych danych = pliki
3. Pliki:
a. Zdefiniowane
b. Niezdefiniowane
c. 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 )
4. Tworzenie, otwieranie I zamykanie pliku
a. Tworzenie
Rewrite (F)  fizyczne utworzenie na dysku
Rewrite (FFF, rozmiar)
b. Otwieranie
Reset (F) lub Append (T) Ä…ð tylko tekstowe
c. Zamykanie
Close (T)  zamykanie
d. Write, read  wpis/odczyt  zdefiniowane
e. BlockWrite, BlockRead (T, bufer, licznik, rezultat)  niezdefiniowane
5. Pliki tekstowe
Eof Ä…ð End of file
Eoln Ä…ð End of line
a. Zdef:
Eof; FileSize (w bajtach)
File Pos(pozycja w pliku)
Seek (ustawienie położenie zbioru na elemencie określonym przez pozycja = longint)
b. Erase (F)  usuwanie
Podstawa programowej modyfikacji
c. Grupowanie procedur i funkcji bibliotek
d. Dzielenie dużych programów na powiązane logicznie części
e. Unit  nazwa
Interface def+dek } cz. Opisowa
Implementation } cz. Implementacyjna
End }cz. InicjujÄ…ca
Wykład 5
1. Object Pascal
a. Hermetyczność
b. Dziedziczność
c. Polimorfizm
2. 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
3. Dziedziczność obiektowa umożliwia przyspieszenie definiowania potomstw istniejących
obiektów
a. Potomek dziedziczy własności i metody, więc musimy tylko określić różnice w stosunku
do poprzednika
b. Oprogramowanie własności i metod (?)
c. Zmiana w całej klasie
o W obiekcie nadrzędnym z którego reszta dziedziczy
4. Polimorfizm umożliwia tworzenie w obiektach potomnych metod o takich samych nazwach,
jak w obiektach nadrzędnych, ale wykonywujących różne czynności:
a. Åšrodowisko zintegrowane
o Edytor
o Debuggera
o Projektor formularzy
Cały kod w modułach
5. 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
6. 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:
a. Form1.series1.clear;
b. Form1.series2.clear;
Form1.Visible:=False
Form2.Visible:=True Ä…ð Boole a
2. 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:
Informatyka jezyki programowania Wyklad
Program wykładu Fizyka II 14 15
Makroekonomia program wykladu
11 Jezyki programowania Historia Przykładyid434
PiS15 W00k Program wykładów
Wykład 1 program wykładów W1 13 wprowadzenie
Egzamin z programowania (wyklad)
Woroniecka Program wykładów z ekonomii
Program wykładów i ćwiczeń KTZ 2014
Program wykladu
Program wykładu 4 do samodzienego opracowania
rucki,języki programowania, język C
Języki programowania
Podhorski Program wykładów

więcej podobnych podstron