w01

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


Wyszukiwarka

Podobne podstrony:
W01(Patomorfologia) II Lek
IMW W01 Wstepny System produkc Nieznany
FPA W01 v1 0
bal w01
BD 2st 1 2 w01 tresc 1 1 (2)
MB W01 PWr
AM23 w01 Całki niewłaściwe pierwszego rodzaju
PA W01 Wprowadzenie
Gazownictwo w01
Elektronika W01

więcej podobnych podstron