background image

 

 

 

 

ZARYS    METOD 

ZARYS    METOD 

PROGRAMOWANIA

PROGRAMOWANIA

background image

 

 

 

 

INFORMACJE   PODSTAWOWE

INFORMACJE   PODSTAWOWE

 

 

OPROGRAMOWANIE

OPROGRAMOWANIE

 – 

 – 

software

software

         

         

zbiór  sposobów  sterowania  pracą  komputerów 

zbiór  sposobów  sterowania  pracą  komputerów 

stanowiący    sekwencją  rozkazów,  które  instruują 

stanowiący    sekwencją  rozkazów,  które  instruują 

komputer jakie operacje i w jakiej kolejności powinien 

komputer jakie operacje i w jakiej kolejności powinien 

on wykonać dla rozwiązania określonego problemu. 

on wykonać dla rozwiązania określonego problemu. 

 

 

Do  niedawna były to głównie programy oparte o 

Do  niedawna były to głównie programy oparte o 

języki 

języki 

programowania

programowania

  : 

  : 

program  źródłowy

program  źródłowy

  musi  tu  być  napisany 

  musi  tu  być  napisany 

w danej notacji symboli i reguł syntaktycznych i semantycznych. 

w danej notacji symboli i reguł syntaktycznych i semantycznych. 

Po  czym  dokonywana  jest  - 

Po  czym  dokonywana  jest  - 

translacja

translacja

  –  zamiana  języka 

  –  zamiana  języka 

programu  na  kod   

programu  na  kod   

0  1

0  1

    stanowiący

    stanowiący

 

 

język    wewnętrzny   

język    wewnętrzny   

komputera.

komputera.

 

 

Aktualnie większość programów użytkowych oparta jest 

Aktualnie większość programów użytkowych oparta jest 

o bardziej uniwersalne tzw. 

o bardziej uniwersalne tzw. 

narzędzia programowe

narzędzia programowe

 

 

background image

 

 

 

 

FUNKCJONALNY    PODZIAŁ     

FUNKCJONALNY    PODZIAŁ     

OPROGRAMOWANIA

OPROGRAMOWANIA

 

 

  

  

Oprogramowanie  systemowe

Oprogramowanie  systemowe

systemy operacyjne

systemy operacyjne

translatory języków           

translatory języków           

programy  narzędziowe  eksploatacji

programy  narzędziowe  eksploatacji

oprogramowanie komunikacyjne

oprogramowanie komunikacyjne

  

  

Oprogramowanie  użytkowe - aplikacyjne

Oprogramowanie  użytkowe - aplikacyjne

       

       

np.  pakiety do programowania w określonym 

np.  pakiety do programowania w określonym 

    języku,      pakiety      oprogramowania    prac 

    języku,      pakiety      oprogramowania    prac 

administracyjnych ogólnego    przeznaczenia,…

administracyjnych ogólnego    przeznaczenia,…

background image

 

 

 

 

Typowa struktura  programu  

Typowa struktura  programu  

obliczeniowego 

obliczeniowego 

(aplikacyjnego)

(aplikacyjnego)

  

  

Części składowe programu:

Części składowe programu:

nagłówek

nagłówek

 (nazwa programu);

 (nazwa programu);

opis danych (

opis danych (

deklaracje stałych i zmiennych, deklaracje funkcji,  

deklaracje stałych i zmiennych, deklaracje funkcji,  

procedur, modułów

procedur, modułów

 itp.);

 itp.);

 

 

właściwy program

właściwy program

 -  część wykonawcza.

 -  część wykonawcza.

Podstawowe struktury programu:

Podstawowe struktury programu:

struktura sekwencyjna

struktura sekwencyjna

 - instrukcje są wykonywane w kolejności 

 - instrukcje są wykonywane w kolejności 

występowania w programie i nie powodują przekazywania 

występowania w programie i nie powodują przekazywania 

sterowania w inne miejsce programu;

sterowania w inne miejsce programu;

struktura wyboru

struktura wyboru

 - w zależności od wyniku postawionego 

 - w zależności od wyniku postawionego 

warunku, sterowanie przekazywane jest w odpowiednie miejsce;

warunku, sterowanie przekazywane jest w odpowiednie miejsce;

struktura powtarzania (pętla)

struktura powtarzania (pętla)

 - instrukcje znajdujące się w 

 - instrukcje znajdujące się w 

obrębie tej struktury są wielokrotnie wykonywane, aż zostanie 

obrębie tej struktury są wielokrotnie wykonywane, aż zostanie 

spełniony przyjęty warunek.

spełniony przyjęty warunek.

background image

 

 

 

 

Pojęcia  podstawowe 

Pojęcia  podstawowe 

 

 

Program

Program

 - zbiór instrukcji  stosowanych 

 - zbiór instrukcji  stosowanych 

zgodnie  z  dopuszczalnymi  przez  dany język 

zgodnie  z  dopuszczalnymi  przez  dany język 

regułami. 

regułami. 

Instrukcje programów są zamieniane na 

Instrukcje programów są zamieniane na 

polecenia w języku maszynowym  przez 

polecenia w języku maszynowym  przez 

translatory

translatory

, które dzielą się na : 

, które dzielą się na : 

i

i

nterpretery

nterpretery

 - każde polecenie jest na bieżąco 

 - każde polecenie jest na bieżąco 

zamieniane na kod maszynowy. Charakteryzuje je  

zamieniane na kod maszynowy. Charakteryzuje je  

łatwa praca interakcyjna i rekursja. 

łatwa praca interakcyjna i rekursja. 

kompilatory

kompilatory

 - cały program przekładany jest na kod 

 - cały program przekładany jest na kod 

maszynowy. Charakteryzuje je duża szybkość 

maszynowy. Charakteryzuje je duża szybkość 

wykonywania programu.

wykonywania programu.

background image

 

 

 

 

ITERACJA

background image

 

 

 

 

PODSTAWOWE  ELEMENTY 

PODSTAWOWE  ELEMENTY 

PROGRAMOWANIA

PROGRAMOWANIA

Definicja funkcji

Definicja funkcji

:

:

function

function

 

 

nazwa funkcji 

nazwa funkcji 

(parametry): 

(parametry): 

typ wyniku;

typ wyniku;

część opisowa

część opisowa

begin

begin

•   

•   

ciąg instrukcji

ciąg instrukcji

;

;

end

end

;

;

PĘTLA

PĘTLA

 element języka 

 element języka 

programowania służący do 

programowania służący do 

iteracyjnego wykonania 

iteracyjnego wykonania 

określonych instrukcji aż do 

określonych instrukcji aż do 

spełnienia warunku 

spełnienia warunku 

zakończenia działań

zakończenia działań

Definicja modułu

Definicja modułu

:

:

unit

unit

 

 

nazwa modułu;

nazwa modułu;

interface

interface

deklaracje zmiennych

deklaracje zmiennych

lista nagłówków procedur i 

lista nagłówków procedur i 

funkcji

funkcji

implementation

implementation

•   

•   

definicje procedur i funkcji

definicje procedur i funkcji

end

end

.

.

 

 

background image

 

 

 

 

background image

 

 

 

 

Tok procesu 

Tok procesu 

programowania

programowania

  

  

sformułowanie problemu (co program ma realizować);

sformułowanie problemu (co program ma realizować);

algorytm programu (jak program ma być realizowany);

algorytm programu (jak program ma być realizowany);

pisanie programu;

pisanie programu;

kompilacja programu (czy program jest napisany 

kompilacja programu (czy program jest napisany 

poprawnie);

poprawnie);

testowanie programu (czy program nie popełnia 

testowanie programu (czy program nie popełnia 

błędów);

błędów);

ostateczna realizacja programu.

ostateczna realizacja programu.

background image

 

 

 

 

ALGORYTMIZACJA   

PROBLEMU

background image

 

 

 

 

background image

 

 

 

 

background image

 

 

 

 

background image

 

 

 

 

PODSTAWOWE  INSTRUKCJE 

PODSTAWOWE  INSTRUKCJE 

WYSTĘPUJĄCE W JĘZYKACH    

WYSTĘPUJĄCE W JĘZYKACH    

PROGRAMOWANIA

PROGRAMOWANIA

  

  

  

  

Instrukcje warunkowe  

Instrukcje warunkowe  

if    then  

if    then  

  else

  else

  

  

pętle    

pętle    

for    while   repeat

for    while   repeat

  

  

instrukcje wyboru  

instrukcje wyboru  

case

case

  

  

funkcje i procedury

funkcje i procedury

  

  

zakresy deklarowanych danych

zakresy deklarowanych danych

background image

 

 

 

 

Paradygmaty  

Paradygmaty  

programowania

programowania

programowanie 

programowanie 

liniowe

liniowe

 - wszystko w jednym „worku”, 

 - wszystko w jednym „worku”, 

go to

go to

 !

 !

 

 

programowanie 

programowanie 

strukturalne

strukturalne

  - 

  - 

rodzaj  programowania, 

rodzaj  programowania, 

w  którym  program  tworzony  jest  poprzez  pisanie  wszystkich 

w  którym  program  tworzony  jest  poprzez  pisanie  wszystkich 

kolejnych procedur, funkcji i deklarowania danych linia po linii. 

kolejnych procedur, funkcji i deklarowania danych linia po linii. 

Zalety

Zalety

 - łatwy wgląd w strukturę programu

 - łatwy wgląd w strukturę programu

Wady

Wady

 - kompilacja programu jako całości .

 - kompilacja programu jako całości .

Przykłady   języków strukturalnych :  

Przykłady   języków strukturalnych :  

Pascal

Pascal

Turbo

Turbo

-

-

Pascal 

Pascal 

,

,

                                                                                    

                                                                                    

C,  

C,  

FORTRAN

FORTRAN

 ...

 ...

programowanie 

programowanie 

obiektowe

obiektowe

 - dane i procedury tworzą jeden 

 - dane i procedury tworzą jeden 

obiekt. 

obiekt. 

programowanie funkcyjne

programowanie funkcyjne

 - odwołania do funkcji. 

 - odwołania do funkcji. 

background image

 

 

 

 

Style programowania

Style programowania

 

 

 

 

Top-down

Top-down

 

 

czyli z góry do dołu; 

czyli z góry do dołu; 

najpierw planuje się całość  a  potem 

najpierw planuje się całość  a  potem 

dochodzi się do szczegółów 

dochodzi się do szczegółów 

 

 

 

 

Bottom-up

Bottom-up

,  czyli   z  dołu   w  górę 

,  czyli   z  dołu   w  górę 

,  tworzy  się kolejno elementy całości 

,  tworzy  się kolejno elementy całości 

programu. 

programu. 

background image

 

 

 

 

Komputery i teksty

 

        

  

 

                                                                                            

 

Dla wielu użytkowników komputer jest przede 
wszystkim inteligentną maszyną do pisania :

•  daje wiele opcji formatowania, wstawiania i 
poprawiania     
                                                                                    
tekstu

•  pozwala kopiować i manipulować tekstem np. 
makra,

         jest szybszy, elastyczniejszy i łatwiejszy w 
obsłudze 

Kategorie rozwiązań : 

  edytory narzędziowe, 

  edytory i procesory tekstu,.

background image

 

 

 

 

Generacje języków 

programowania

Pierwsza generacja

 — kod maszynowy ,  binarny kod 

instrukcji

 

 

Druga generacja

 — asemblery, symboliczny kod instrukcji 

Trzecia generacja

 — języki wysokiego poziomu :

–  instrukcje w j. angielskim,  wyrażenia arytmetyczne oraz logiczne 

a także zapisy funkcyjne

 

–  wymagają użycia kompilatorów i interpreterów

      

Generacja trzy i pół

 — środowiska programistyczne

Czwarta generacja

 — języki idealnie nieproceduralne, 

generatory aplikacji : naturalne postępowanie np.  język 

manipulowania rekordami b. d.  SQL

                                                                   

Piąta generacja

 — inteligentne systemy wiedzy

background image

 

 

 

 

Przykłady języków wysokiego 

poziomu

języki 

imperatywne

 (proceduralne) — FortranCOBOLC

języki 

aplikatywne

 (funkcjonalne) — LispScheme

języki 

deklaratywne

 (regułowe) — PrologCLIPS

języki 

symboliczne

 — LispPrologMathematicaMaple

języki 

obiektowe

 — SmalltalkAda95LispC++, Java

Środowisko programistyczne

Język programowania wysokiego poziomu + wbudowane
funkcje dla systemów informacyjnych      (obsługa ekranu, 
bazy danych itp.) + interfejs graficzny — buildery i wizardy

background image

 

 

 

 

Kod maszynowy i 

asemblery

background image

 

 

 

 

Języki wysokiego poziomu

background image

 

 

 

 

Języki czwartej generacji

Elementy składowe języka czwartej 

generacji:

  fizyczny słownik danych
  formater ekranu
  generator raportów
  język zapytań
  specyfikator dialogu
  generator kodu
  język wysokiego poziomu

background image

 

 

 

 

Przykłady języków czwartej 

generacji

Narzędzia CASE (Computer Aided Software Engineering)

Oracle — komercyjny pakiet zawierający:

– relacyjna baza danych;
– interfejs bazy danych
– narzędzia do integracji baz danych z językami wysokiego
                                                                                      poziomu;
– kreator formularzy;
– kreator raportów;
– kreator reprezentacji graficznych;
– narzędzia do wyszukiwania

UML — Unified Modeling Language

background image

 

 

 

 

UML

background image

 

 

 

 

Języki symboliczne —

Mathematica

background image

 

 

 

 

Języki symboliczne — 
Mathematica

background image

 

 

 

 

Inne języki

 języki opisu strony – np. TEX / LATEX
 języki skryptowe – np.  HTMLXML,    
                                                
JavaScript, PHP, Perl

 

 

 języki manipulowania tekstem - sed
awk
 metajęzyki -  np.  WSDL
 APL -  

A

   Programming Language

background image

 

 

 

 

INNY  POPULARNY  PODZIAŁ

INNY  POPULARNY  PODZIAŁ

 

 

  

  

PROGRAMOWANIE   PROCEDURALNE

PROGRAMOWANIE   PROCEDURALNE

 

 

    

    

Np. z wykorzystaniem języków wysokiego 

Np. z wykorzystaniem języków wysokiego 

poziomu należy  podać strukturę danego  

poziomu należy  podać strukturę danego  

programu

programu

  

  

PROGRAMOWANIE   OBIEKTOWE 

PROGRAMOWANIE   OBIEKTOWE 

         

         

Oparte  o  procedury  wynikające  głównie  z 

Oparte  o  procedury  wynikające  głównie  z 

języków 

wysokiego 

 

poziomu 

 

 

języków 

wysokiego 

 

poziomu 

 

 

sprowadzające się do operowania gotowymi  

sprowadzające się do operowania gotowymi  

blokami programów wg ustalonych reguł dla 

blokami programów wg ustalonych reguł dla 

danego pakietu        programowania

danego pakietu        programowania

 

 


Document Outline