background image

1

Podstawy programowania

wykład

dr inż. Robert Arsoba

Politechnika Koszalińska
Wydział Elektroniki i Informatyki

2009/2010

 

WYDZIAŁ 

ELEKTRONIKI 

POLITECHNIKA

 

KOSZALIŃSKA

 

i INFORMATYKI 

background image

2

Materiały do wykładu i 

ćwiczeń

http://moskit.ie.tu.koszalin.pl/~bobby

background image

3

Czym jest 

programowanie?

Programowanie

 to formułowanie ciągu 

operacji rozwiązującego dany problem 
w postaci akceptowalnej przez komputer.

inaczej:

Proces tworzenia programu (systemu) 
komputerowego, na który składają się:

 opracowanie założeń

 kodowanie

 testowanie

Dobre programowanie łączy elementy 
inżynierii, „rzemiosła” i „sztuki”.

background image

4

Podstawowe pojęcia

Algorytm

Język programowania

Program

Kod źródłowy i wynikowy

Kompilacja

Programowanie strukturalne i 
obiektowe

Środowisko programistyczne

background image

5

Algorytm

Algorytm

 to dokładny, jednoznacznie sformułowany

sposób postępowania, umożliwiający rozwiązanie 
określonego zadania w skończonej liczbie kroków.
(zbiór poleceń ze wskazaniem porządku, w jakim 
mają
być realizowane).

Słowo 

algorytm

 pochodzi od przydomka 

matematyka arabskiego (IX w.) Al-Chwarizmi 
(Algorismus, Algorithmus).

Zapis algorytmu:

 w postaci opisu słownego

 w postaci pseudokodu

 w postaci schematu blokowego

background image

6

Schematy blokowe

Podstawowe symbole

początek lub koniec 

algorytmu

operacja 

wejścia/wyjścia

łączni
k

START

STOP

1

1

WE

WY

background image

7

Schematy blokowe

Podstawowe symbole

blok operacyjny 

(wykonanie 

działania)

blok 

decyzyjny

TAK

NIE

PRAWDA

FAŁSZ

background image

8

Przykład schematu 

blokowego

SIEĆ DZIAŁAŃ

DIAGRAM

PRZEPŁYWU

DANYCH

d >= 0

Start

Oblic

z

Wczytaj a, b, 

c

Założenie:

a jest różne od 

0

Brak 

pierwiastków 

rzeczywistych

ac

b

d

4

2

a

d

b

x

2

2

,

1

x1, x2

Stop

TAK

NIE

background image

9

Język programowania

Język programowania

 to zbiór:

 zasad (tzw. składnia języka)

 instrukcji

 operatorów

 …..

dzięki którym powstaje program 
komputerowy
(a ściślej: kod źródłowy programu).

background image

10

Dlaczego powstały języki 

programowania?

Język naturalny

Język maszynowy

Język programowania

„Dodaj a do b,

wynik zapamiętaj w c

c = a + b;

01001101001
10001011011
11010111001

background image

Języki programowania

Niskiego 

poziomu

Wysokiego poziomu

Pascal

Smalltalk

asembl

er

Eiffel

OBIEKTOW

E

STRUKTURALN

E

SQL

Forth

Lisp

Prolog

Object 

Pascal

Modul

a

SPECJALIZOWAN

E

Java

C

C+

+

Perl

C#

Ruby

PHP

Python

SKRYPTOW

E

JavaScript

Visual 

Basic

background image

12

Program komputerowy

Program

 to ciąg poleceń 

(instrukcji) do wykonania dla 
komputera.

Program

 to algorytm zapisany 

w języku programowania.

Program może występować w dwóch 
postaciach:

  kod źródłowy

  kod wynikowy

background image

13

Kod źródłowy i wynikowy

Kod źródłowy

 to zapis programu 

komputerowego w pewnym języku 
programowania.
Jest to postać programu zrozumiała dla 
programisty
(bez konieczności jego uruchamiania).

Kod wynikowy

 to rezultat pracy translatora 

(kompilatora, interpretera), nadający się do 
bezpośredniego wykonywania przez procesor.

background image

14

Kompilacja

Kompilator

 to translator języka wysokiego

poziomu, którego programy wynikowe mogą
być wprowadzone do pamięci i wykonane
dopiero po zakończeniu tłumaczenia
(w odróżnieniu od interpretera, w którym
instrukcje wynikowe są wykonywane na bieżąco).

Kompilacja

 to proces przekształcania 

kodu
źródłowego na kod wynikowy 
(maszynowy).

background image

15

Kompilacja kodu źródłowego 

w C

Kod źródłowy

*.C, *.H

Kod wynikowy 

(pośredni)

*.OBJ

Kod 

wynikowy

*.EXE

Biblioteki

KOMPILATOR

KONSOLIDATOR

(LINKER)

PREPROCESOR

background image

16

Programowanie 

strukturalne

Programowanie obiektowe

Dane i wykonywane na nich operacje 
są połączone - tworzą tzw. klasę.           
obiekt

Program podzielony jest na niewielkie
fragmenty (podprogramy) nazywane
procedurami lub funkcjami.

Komponentowe

Modularne

background image

17

Środowisko 

programistyczne

IDE (Integrated Development 

Environment)

C++ 

Builder

Delph

i

JBuilder

Visual 

Studio

PowerBuild

er

.NET

RAD (Rapid Application Development)

Eclipse

Szybkie tworzenie aplikacji

Kylix

NetBean

s

background image

18

Etapy tworzenia programu

ANALIZA 

PROBLEMU

POMYSŁ

(koncepcja)

PROJEKT

(struktury 

danych, 

algorytmy)

strukturalna

obiektowa

KODOWANIE

OPTYMALIZACJA

KODU

(szybkość, 

rozmiar)

KOMPILACJA

DOKUMENTACJA

TESTOWANIE

Wybór języka 

programowani

a

KONSERWACJA

C

Pasca

l

background image

19

Język C

Historia języka

Zaprojektowany w 1972 w Bell Laboratories
(Dennis Ritchie).
Zrealizowany pod systemem
operacyjnym UNIX
dla komputera DEC PDP-11.

Początkowo był językiem oprogramowania systemowego
(powstał jako język do programowania systemu UNIX).
Szybko zyskał popularność jako uniwersalny język
programowania ogólnego przeznaczenia.

PDP 11/45

background image

20

Zaglądamy do

muzeum…

background image

21

Zaglądamy do muzeum…

background image

22

Język C

Główne cechy

  język proceduralny (strukturalny)

  język wysokiego poziomu, ale dość „bliski” 

sprzętowi

  zwięzły i elastyczny

  mały zestaw instrukcji

  rozbudowany zestaw operatorów

  duża przenośność kodu źródłowego

  przerzuca dużą odpowiedzialności na 

programistę
   (np. brak wbudowanej kontroli indeksowania 
tablic)

„Język C jest jak ostry nóż: w sprawnych 
rękach narzędzie proste i użyteczne, które 
jednak może skaleczyć nowicjusza”
 
(Andrew Koenig).

background image

23

Język C

Standard języka (

ANSI C

)

ANSI (American National Standards 
Institute)
Amerykański Narodowy Instytut 
Normalizacyjny

Standaryzacja w latach 1983-1988

Standard ANSI X3.159-1989

„Programming Language C”

(1988 rok)

tzw. pure C („czysty” język C)

background image

24

B. Kernighan, D. Ritchie: “Język ANSI C”, WNT, Warszawa, 

2000.

J. Grębosz: “Symfonia C++. Programowanie w języku 

C++ orientowane obiektowo”, Oficyna Kallimach, 

Kraków, 1999.

K. Barteczko: “Praktyczne wprowadzenie do 

programowania obiektowego w języku C++”

Wydawnictwo Lupus, Warszawa 1993.

B. Stroustrup: “Język C++”, WNT, Warszawa, 2000.

S. Lippman: “Podstawy języka C++”, WNT, Warszawa, 

1997.

S. Lippman, J. Lajoie: “Podstawy języka C++”, WNT, 

Warszawa 2001.

B. Eckel: “Thinking in C++. Edycja polska”

Wydawnictwo Helion, Gliwice 2002.

Literatura


Document Outline