C Wykład I 2005 2006 s

background image

AJ

AJ

S

S

„Język

programowania”

Rozwijanie zdolności

logicznego

i precyzyjnego inżynierskiego

myślenia

poprzez naukę

programowania.

background image

AJ

AJ

S

S

Zakładane wyniki

nauki:

umiejętność budowania

algorytmów dla rozwiązywania
podstawowych problemów
inżynierskich,

opanowanie podstaw

języka programowania C++,

umiejętność myślenia

programistycznego.

background image

AJ

AJ

S

S

Główny prowadzący przedmiot:

dr inż. Andrzej

Studnicki

Osoby prowadzące laboratorium:

- dr inż. Krzysztof Janerka,
- dr inż. Jacek Suchoń
- dr inż. Andrzej Studnicki,
- dr inż. Dariusz Bartocha,
- mgr inż. Maria Dziuba,
- mgr inż. Marcin Kondracki

background image

AJ

AJ

S

S

Instytut Materiałów

Inżynierskich

i Biomedycznych

Zakład Odlewnictwa

Wydział Mechaniczny

Technologiczny

Politechniki Śląskiej

Gliwice ul. Towarowa 7

tel.231-60-31

Andrzej.Studnicki@polsl.pl

background image

AJ

AJ

S

S

Zakres tematyczny wykładu obejmuje:

1.analizę problemu na przykładach

ściśle związanych z kierunkiem
studiowania i poszukiwanie metody
(metod) jego rozwiązywania,

2. projektowanie algorytmów według

wybranej

metody

rozwiązywania

problemu – budowanie schematów
blokowych

background image

AJ

AJ

S

S

Cd Zakres tematyczny wykładu

obejmuje:

3. podstawy programowania w języku
C++

(struktura

programu,

typy

danych,

deklaracje

zmiennych

i

stałych,

operatory

i

wyrażenia,

instrukcje, funkcje),

4. wybrane algorytmy i ich programy
(np. sortowanie, przeszukiwanie).

background image

AJ

AJ

S

S

Laboratorium obejmuje

ćwiczenia

praktyczne

(programowanie w C++) dające
prawidłowe nawyki i właściwe
podejście

do

rozwiązywania

problemów.

Ćwiczenia

praktyczne

związane

z

kierunkiem studiowania.

background image

AJ

AJ

S

S

Ćwiczenia laboratoryjne obejmują:

-

podstawy C++ (obsługa zintegrowanego

środowiska C++, struktura programu, typy
danych, wyrażenia i operatory),

- stopniowe wprowadzanie instrukcji C++
(instrukcje wejścia, wyjścia, warunkowe,
obliczeń cyklicznych-pętle),

- zastosowanie funkcji w programie,

- wybrane funkcje graficzne w C++

- podstawy programowania obiektowego w
C++,

- umiejętność czytania programów w C++.

background image

AJ

AJ

S

S

Tematy ćwiczeń laboratoryjnych

 

„Język Programowania”

 
 

1.

Ogólna struktura i podstawowe elementy
programu źródłowego w C++ - program
sekwencyjny

1.1.   Obsługa zintegrowanego środowiska pracy

C++, Ogólna

struktura programu źródłowego w C++,

operacje wejścia-

wyjścia
1.2.   Program sekwencyjny – proste typy danych,

wybrane

operatory, funkcje biblioteczne

(matematyczne)

 
2.     

Podejmowanie decyzji w programie

2.1.   Instrukcja warunkowa – if...else, operatory

relacyjne i

logiczne,
2.2.   Instrukcja wyboru – switch...case.

background image

AJ

AJ

S

S

Tematy ćwiczeń laboratoryjnych cd

 

„Język Programowania”

 
 

3.

Organizacja obliczeń cyklicznych w
programie (pętle)

3.1.   Pętle o nieokreślonej liczbie powtórzeń –

instrukcje

while i do-while,
3.2.   Pętla o określonej liczbie powtórzeń –

instrukcja for.

 
4.     

Instrukcje sterujące przebiegiem

programu

4.1.   Wykorzystanie instrukcji sterujących w

pisaniu

programów.
 
5.     

Zmienne strukturalne w języku C++

5.1.   Tablice w języku C++ - tablice liczbowe.   

background image

AJ

AJ

S

S

Tematy ćwiczeń laboratoryjnych cd

„Język Programowania”

 

 

6.

Konstruowanie funkcji w języku C++

6.1.   Programowanie własnych funkcji w języku

C++,

6.2.   Wykorzystanie funkcji iteracyjnych i

rekurencyjnych w

programowaniu.
 
7.     

Wskaźniki w języku C++

7.1.   Posługiwanie się typem wskaźnikowym w

programowaniu,

7.2.   Wykorzystanie wskaźników w operowaniu

tablicami.

Dynamiczny przydział pamięci.
 

background image

AJ

AJ

S

S

Tematy ćwiczeń laboratoryjnych

cd

„Język Programowania”

 

 

8.    

Programy graficzne w języku C++

wykorzystujące
bibliotekę graph

8.1.   Tworzenie prostej grafiki punktowej w
języku C++ przy
użyciu funkcji standardowych,
 
9.   

 Obsługa plików dyskowych w C++ - file

handling

9.1.   Zapis i odczyt prostych plików
tekstowych i binarnych.
 
10. 

Wprowadzenie do programowania

obiektowego w C++

10.1. Początki programowania obiektowego w
C++

background image

AJ

AJ

S

S

- uczestnictwo w zajęciach lab. (dopuszczalne 2
zajęcia nieusprawiedliwione),

- zaliczenie dwóch kolokwiów na komputerach
(pisanie programów 40 min., poprawa nie
zaliczonych kolokwiów tylko na konsultacjach),

- wcześniejsze zaliczenie laboratorium (zestaw
zadań przygotowany przez wykładowcę -termin
10 listopad lub zadanie inżynierskie
przygotowane przez prowadzącego laboratorium
– twermin 2 grudzień, obrona na konsultacjach-
listing programu źródłowego, dyskietka z
programem źródłowym, oceny 4, 4.5, 5 zwalniają
z wykładów),

- zaliczenie wykładów (1 kolokwium),

warunki zaliczenia
przedmiotu

background image

AJ

AJ

S

S

-ocena końcowa z przedmiotu:

O

K

= 0.6*O

W

+ 0.4*O

L

-możliwość podwyższenia oceny końcowej
(na 3.5, 4.0) na konsultacjach po
zaliczeniu wybranego przez prowadzącego
zadania z zestawu

- możliwość podwyższenia oceny końcowej
(z 4.0 na 4.5, 5.0) tylko po obronie
napisanego programu z zestawu zadań
przygotowanego przez wykładowcę

warunki zaliczenia
przedmiotu cd

background image

AJ

AJ

S

S

Język niskiego poziomu

(asemblery)

–szybkość i efektywność kodu wynikowego
programów.

Język wysokiego poziomu

łatwiejsza

przenośność

programów,

prostszy zapis algorytmu.

C++

- ogólna charakterystyka

„Język wysokiego, ale dostatecznie

niskiego poziomu” – synteza

background image

AJ

AJ

S

S

 Autorami pierwszego standardu

języka C są

Kernighan i Ritchie

Bjarne Stroustrup

z

Laboratorium Bella firmy AT&T jest

twórcą C++ - początek lat 80

background image

AJ

AJ

S

S

1. Struzińska-Walczak A., Walczak K.:

Nauka programowania dla początkujących
C++.

Wyd. W&W, Warszawa 2000,

2. Zalewski A.: Programowanie w językach C
i C++ z wykorzystaniem pakietu Borland
C++. Wyd. Nakom, Poznań 2000,

3. Snaith P.:

Nie tylko dla orłów C++.

Wyd.

Intersoftland, Warszawa 2000,

4.

N.M.Josuttis:

C++

Biblioteka

standardowa. Podręcznik Programisty.

Wyd.

Helion, Gliwice 2003,

Literatu
ra

background image

AJ

AJ

S

S

5. Wróblewski P.: Algorytmy struktury
danych i techniki programowania. Wyd.
Helion, Gliwice 1997,

6. Bentley J.: Perełki oprogramowania.
WNT, Warszawa 1992,

7.

Wirth N

.: Algorytmy+struktury danych =

programy. WNT, Warszawa 1989,

Literatu
ra

background image

AJ

AJ

S

S

1. Wróblewski P.: Język C++ dla programistów.
Wyd. Helion, Gliwice 1994,

2. Kernighan B., Ritchie D.: Język C. WNT,
Warszawa 1988

3. Lippman S.: Podstawy języka C++. WNT,
Warszawa 1994,

4. Delanoy C.: Ćwiczenia z języka C++. WNT,
Warszawa 1993,

5. Ragen A.: Leksykon języka C. WNT, Warszawa
1990,

6. Kopacz T.: Język C w praktyce Turbo C i C++.
Wyd. Mikom, Warszawa 1993,

7. Wróblewski P.: Od C do Asemblera. Wyd.
Helion, Gliwice 1992,

8. K.Loundon: C++ Leksykon kieszonkowy. Wyd.
Helion, Gliwice 2003.

background image

AJ

AJ

S

S

Wirth N.: Algorytmy+struktury danych = programy. WNT,
Warszawa 1989,

„... programowanie
stało się dziedziną
wiedzy, której
opanowanie ma
zasadnicze znaczenie
przy rozwiązywaniu
wielu problemów
inżynierskich, ...”

Niklaus Wirth

background image

AJ

AJ

S

S

Programowanie jako
umiejętność rozwiązywania
problemów

Wykonan
ie
program
u

Dane

Wyniki

Proble
m

Sprawa do
rozwiązania

Algoryt
m

Sposób, przepis rozwiązania
danego problemu w
skończonej liczbie kroków

Progra
m

Sformalizowany zapis
algorytmu w danym języku
programowania

background image

AJ

AJ

S

S

Algorytm

w sensie

ogólnym określa
sposób wykonania
pewnego zadania,
rozwiązania
określonego
problemu, czy
osiągnięcia
zamierzonego celu

background image

AJ

AJ

S

S

Algorytm

opracowany dla

progra-mu

określa sposób

przekształcenia danych
wejściowych w dane wyj-
ściowe zgodnie z celem

(dla realizacji jednego celu
można zastosować wiele
algorytmów)

background image

AJ

AJ

S

S

Algorytm składa się z
opisu:

-

obiektów

, na których

wykony-wane są

działania,

-

działań

realizujących

cel algorytmu,

-

kolejności działań

.

background image

AJ

AJ

S

S

PROBLEM 1

Korekta zawartości węgla w
piecu metalurgicznym przy
wytopie żeliwa szarego

DANE

       -

norma określająca zawartość węgla w

wytapianym gatunku żeliwa,

       - masa ciekłego metalu w piecu,

       - dostępne materiały wsadowe do korekty
zawartości węgla,

       - analiza chemiczna zawartości węgla w
wytapianym żeliwie.

background image

AJ

AJ

S

S

START

STOP

DANE

CC

max

Oblicz dodatek wsadu
obniża-jący węgiel
(złom stalowy)

CC

min

Oblicz dodatek wsadu
zwiększający węgiel
(grafit)

Dodaj do wsadu

Dodaj do wsadu

T

T

N

N

background image

AJ

AJ

S

S

PROBLEM

PROBLEM

2

2

Drzwi z zamkiem na
hasło. Po 3-krotnym
błędnym wpisaniu hasła
ma uruchomić się alarm.

 

 

DANE

- hasło definiowane jako stała (możliwość

- hasło definiowane jako stała (możliwość

zmiany tylko w programie źródłowym)

zmiany tylko w programie źródłowym)

background image

AJ

AJ

S

S

STAR
T

Utwórz wzór hasła

Wprowadź hasło

Poprawne

Dodaj p+1

p>3

Otwórz drzwi

Włącz alarm

STOP

N

T

N

T

background image

AJ

AJ

S

S

PROBLEM 3

 

 

Ustalenie spawalności stali
konstrukcyjnej dla
opracowania optymalnej
technologii spawania.

 

DANE

 

 

-  

-  

     

      skład chemiczny stali konstrukcyjnej

background image

AJ

AJ

S

S

STAR
T

STOP

Skład chemiczny
stali

Oblicz równoważnik
węgla Rc

Wybór Rc

Rc0.4

0.4<Rc0.48

0.48<Rc0.5

5

Rc>0.
55

Stal łatwospawalna

Stal spawalna po
podgrzaniu lub
elektrodą zasadową

Stal spawalna po
podgrzaniu tylko
elektrodą zasadową

Stal niespawalna

Podaj technologię
spawania

background image

AJ

AJ

S

S

Schemat

blokowy jest

graficznym

zapisem

algorytmu,

pokazuje

następstwo

działań,

nazywany jest

też siecią

działań.

SCHEMAT

BLOKOWY

background image

AJ

AJ

S

S

Metody tworzenia algorytmu i jego
zapisu w postaci schematu blokowego
(sieci działań):

metoda od szczegółu do

ogółu

polega na wyodrębnieniu w

problemie

małych

fragmentów,

które

po

oddzielnym

opisaniu

składane w coraz większe
części aż do otrzymania
całego pełnego algorytmu
realizującego problem.

background image

AJ

AJ

S

S

metoda od ogółu do

szczegółu

polega na ogólnym zapisaniu
całego

problemu

bez

szczegółowego analizowania
jego

fragmentów.

Po

otrzymaniu

podstawowego

algorytmu należy przystąpić
do

podobnej

analizy

poszczególnych fragmentów.

Metody tworzenia algorytmu i jego
zapisu w postaci schematu blokowego
(sieci działań):

background image

AJ

AJ

S

S

Postać graficzna podstawowych bloków

wykorzystywanych w schematach blokowych

blok początkowy

(rozpoczyna
algorytm)

Start

blok we/wy

(określa

nazwy

danych

wprowa-dzanych

i

wyprowadzanych

przez

program)

Dane

blok operacyjny

(określa działanie, które
może zmienić wartość
zmiennej)

Działanie

background image

AJ

AJ

S

S

Warunek

nie

tak

blok warunkowy (decyzyjny)

(rozdziela

wykonywanie

algorytmu na dwie drogi w
zależności od spełnienia
tak
lub niespełnienia warunku;
nie zmienia stanu zmiennych)

Zmienn

a=

w1

w2

w3

w
n

blok wyboru

(wybiera

jedną

z

wielu

możliwych dróg algorytmu, na
podstawie aktualnej wartości
wyrażenia)

Postać graficzna podstawowych bloków

wykorzystywanych w schematach blokowych

cd

background image

AJ

AJ

S

S

Postać graficzna podstawowych bloków

wykorzystywanych w schematach blokowych

cd

Blok kolekcyjny

(łączy dwie różne drogi
algorytmu)

Blok końcowy

(kończy
algorytm)

Stop

Blok podprogramu

(określa nazwę procedury lub
funkcji i jej zadanie)

Nazwa

Funkcj

a

background image

AJ

AJ

S

S

Postać graficzna podstawowych bloków

wykorzystywanych w schematach blokowych

cd

3/5

Blok wyjściowy
łącznika
międzystr.

Blok
wejściowy
łącznika
międzystr.

3/5

Blok
wyjściowy
łącznika na
stronie

Blok wejściowy
łącznika na
stronie

1

1

background image

AJ

AJ

S

S

Proces tworzenia i uruchamiania
programów w C++

Każdy nowoczesny kompilator
zawiera :

Edytor

Program do wpisywania i modyfikowania

tekstów programów (kodów źródłowych)
[*.cpp],

Kompilator

Program do sprawdzania poprawności i

wyszukiwania formalnych błędów w kodzie
źródłowym. Gdy kod jest poprawny kompilator
przekształca go w plik binarny [*.obj]),

Konsolidator

(linker) Program, który do pliku

binarnego(skompilowanego) dołącza z bibliotek
(*.lib) kody maszynowe gotowych do użycia funkcji i
tworzy program wykonywalny (program wynikowy,
maszynowy) na komputerze [*.exe]).

background image

AJ

AJ

S

S

Komput
er

Kod
źródłowy

program
źródłowy

[*.cpp]

Kod
kompilowany

kod binarny

[*.obj]

Kod
wykonywalny

Kod maszynowy

[*.exe]

Zintegrowane
środowisko pracy

background image

AJ

AJ

S

S

background image

AJ

AJ

S

S

September 28 2002 :

September 28 2002 :

Dev-C++ 5 Beta

Dev-C++ 5 Beta

6 (4.9.6.0)

6 (4.9.6.0)

PC FORMAT CD#27

PC FORMAT CD#27

Listopad 2002

Listopad 2002

Strona internetowa

Strona internetowa Bloodshed

Bloodshed

Software

Software

http://

http://

www

www

.

.

bloodshed

bloodshed

.net

.net

background image

AJ

AJ

S

S

Ogólny schemat kodu źródłowego
programu w C++

#include <iostream.h>

#include <conio.h>

#include <math.h>

#include
“nazwa_uzytkownika”

#define stala 2

main()

 {

int liczba, suma=0, iloczyn=1;

clrscr;

cout<<”Podaj pierwsza liczbe”<<endl;

cin>>liczba;

while (liczba!=0)

{

suma+=liczba;

iloczyn*=liczba;

cin>>liczba;

}

cout<<”Suma liczb wynosi” <<suma<<endl;

cout<<”Podwojony

iloczyn

liczb

wynosi”<<iloczyn*stala<<endl;

getch();

return 0;

}

funkcja główna - start

funkcja główna - start

programu

programu

lista wszystkich

lista wszystkich

zmiennych

zmiennych

ciąg instrukcji

ciąg instrukcji

realizujący

realizujący

dany algorytm

dany algorytm

dyrektywy
preprocesora

background image

AJ

AJ

S

S

#

#

main(

main(

)

)

{

{

}

}

dyrektywy preprocesora:

#include –dołącz pliki
nagłówkowe
#define –zdefiniuj stałe

funkcja główna - start

funkcja główna - start

programu

programu

deklaracja zmiennych i ciąg instrukcji

deklaracja zmiennych i ciąg instrukcji

realizujący dany algorytm

realizujący dany algorytm

background image

AJ

AJ

S

S

#

#

main( )

main( )

{

{

}

}

Zadania
preprocesora

- definiowanie
makrodefinicji
upraszczających
postać kodu
źródłowego,
- włączanie tekstów
innych plików,
- sterowanie
przebiegiem
kompilacji


Document Outline


Wyszukiwarka

Podobne podstrony:
C Wykład V 2005 2006 s
Pedagogika specjalna - wykłady 2005-2006, niepełnosprawność intelektualna
C Wykład IV 2005 2006 s
C Wykład III 2005 2006 s
C Wykład II 2005 2006 s
Wyklad3 2005
Wyklad 09 2006
SZKOLNY KONKURS 2005 - 2006, Klasa VI(1)
Międzyszkolne Zawody Matematyczne 2005-2006, Klasa IV(1)
grupa 1clostridia, studia, 3 rok, Mikrobiologia, pytania, testy, ROK AKADEMICKI 2005-2006, MEDYCYNA
Pytania na komisyjny sprawdzian, studia, 3 rok, Mikrobiologia, pytania, testy, ROK AKADEMICKI 2005-2
grupa 6, studia, 3 rok, Mikrobiologia, pytania, testy, ROK AKADEMICKI 2005-2006, MEDYCYNA 2005-2006
Medycyna spr1, studia, 3 rok, Mikrobiologia, pytania, testy, ROK AKADEMICKI 2005-2006, MEDYCYNA 2005
Stomatologia test3, studia, 3 rok, Mikrobiologia, pytania, testy, polski, STOMATOLOGIA 2005-2006 wsz
3 wyklad - 8[1].10.2006, Edukacyjnie, K, Kosmetologia, Technik usług kosmetycznych, Farmakognozja, w
Sieci i systemy elektroenergetyczne wyklad # 10 2006

więcej podobnych podstron