Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

AJS Język programowania Rozwijanie zdolności logicznego i precyzyjnego inżynierskiego myślenia poprzez naukę programowania.

Podobne prezentacje


Prezentacja na temat: "AJS Język programowania Rozwijanie zdolności logicznego i precyzyjnego inżynierskiego myślenia poprzez naukę programowania."— Zapis prezentacji:

1

2 AJS Język programowania Rozwijanie zdolności logicznego i precyzyjnego inżynierskiego myślenia poprzez naukę programowania.

3 AJS 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.

4 AJS 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,

5 AJS Instytut Materiałów Inżynierskich i Biomedycznych Zakład Odlewnictwa Wydział Mechaniczny Technologiczny Politechniki Śląskiej Gliwice ul. Towarowa 7 tel

6 AJS Zakres tematyczny wykładu obejmuje: 1. 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

7 AJS 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).

8 AJS 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 są związane z kierunkiem studiowania.

9 AJS Ć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++.

10 AJS Tematy ćwiczeń laboratoryjnych Język Programowania 1. 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.

11 AJS Tematy ćwiczeń laboratoryjnych cd Język Programowania 3. 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 Tablice w języku C++ - tablice liczbowe.

12 AJS Tematy ćwiczeń laboratoryjnych cd Język Programowania 6. 6.Konstruowanie funkcji w języku C Programowanie własnych funkcji w języku C++, 6.2. Wykorzystanie funkcji iteracyjnych i rekurencyjnych w programowaniu. 7. Wskaźniki w języku C Posługiwanie się typem wskaźnikowym w programowaniu, 7.2. Wykorzystanie wskaźników w operowaniu tablicami. Dynamiczny przydział pamięci.

13 AJS 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 Początki programowania obiektowego w C++

14 AJS - 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ę lub zadanie inżynierskie przygotowane przez prowadzącego laboratorium, termin 15 listopad, 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

15 AJS - -ocena końcowa z przedmiotu: O K = 0.6*O W + 0.4*O L - - zaliczenie laboratorium w normalnym toku zajęć na ocenę 5 zwalnia z zaliczania wykładów i staje się oceną końcową z przedmiotu, - - 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 na 4.5, 5.0) tylko po obronie napisanego programu z zestawu zadań przygotowanego przez wykładowcę warunki zaliczenia przedmiotu cd

16 AJS 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

17 AJS 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

18 AJS 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, Literatura

19 AJS 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, Literatura

20 AJS 1. Wróblewski P.: Język C++ dla programistów. Wyd. Helion, Gliwice 1994, 2. Kernighan B., Ritchie D.: Język C. WNT, Warszawa 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.

21 AJS 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

22 AJS Programowanie jako umiejętność rozwiązywania problemów Wykonanie programu Dane Wyniki Problem Sprawa do rozwiązania Algorytm Sposób, przepis rozwiązania danego problemu w skończonej liczbie kroków Program Sformalizowany zapis algorytmu w danym języku programowania

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

24 AJS 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)

25 AJS 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ń.

26 AJS 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.

27 AJS START STOP DANE C C max Oblicz dodatek wsadu obniża- jący węgiel (złom stalowy) C C min Oblicz dodatek wsadu zwiększający węgiel (grafit) Dodaj do wsadu T T N N

28 AJS PROBLEM 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ść zmiany tylko w programie źródłowym)

29 AJS START 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

30 AJS PROBLEM 3 Ustalenie spawalności stali konstrukcyjnej dla opracowania optymalnej technologii spawania. DANE - - skład chemiczny stali konstrukcyjnej

31 AJS START STOP Skład chemiczny stali Oblicz równoważnik węgla Rc Wybór Rc Rc 0.55 Stal łatwospawalna Stal spawalna po podgrzaniu lub elektrodą zasadową Stal spawalna po podgrzaniu tylko elektrodą zasadową Stal niespawalna Podaj technologię spawania

32 AJS Schemat blokowy jest graficznym zapisem algorytmu, pokazuje następstwo działań, nazywany jest też siecią działań. SCHEMAT BLOKOWY

33 AJS 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 są składane w coraz większe części aż do otrzymania całego pełnego algorytmu realizującego problem.

34 AJS 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ń):

35 AJS 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

36 AJS 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) Zmienna= w1w2w3wn 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

37 AJS 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 Funkcja

38 AJS 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

39 AJS 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]).

40 AJS Komputer Kod źródłowy program źródłowy [*.cpp] Kod kompilowany kod binarny [*.obj] Kod wykonywalny Kod maszynowy [*.exe] Zintegrowane środowisko pracy

41 AJS

42 AJS September : Dev-C++ 5 Beta 6 ( ) PC FORMAT CD#27 Listopad 2002 Strona internetowa Bloodshed Software

43 AJS Ogólny schemat kodu źródłowego programu w C++ #include #include nazwa_uzytkownika #define stala 2 main() { int liczba, suma=0, iloczyn=1; clrscr; cout<>liczba; while (liczba!=0) {suma+=liczba; iloczyn*=liczba; cin>>liczba; } cout<

44 AJS # main( ) {} dyrektywy preprocesora: #include –dołącz pliki nagłówkowe #define –zdefiniuj stałe funkcja główna - start programu deklaracja zmiennych i ciąg instrukcji realizujący dany algorytm

45 AJS # main( ) {} Zadania preprocesora - definiowanie makrodefinicji upraszczających postać kodu źródłowego, - włączanie tekstów innych plików, - sterowanie przebiegiem kompilacji

46 AJS Typy danych w C++ Typ danych definiuje zakres lub zbiór dopuszczalnych wartości dla stałej, zmiennej, wyrażenia, funkcji oraz zbiór dopuszczalnych operacji wykonywanych na tych wartościach. Określa też format zapisu w pamięci.

47 AJS 1. Typy proste (skalary) - arytmetyczne (całkowite i rzeczywiste) - wskaźnikowe, - referencyjne. Typy danych w C++ 2. Typy strukturalne (złożone) - tablice, - struktury, - unie, - klasy.

48 AJS Typy całkowite (skończone, przeliczalne podzbiory zbioru liczb całkowitych) Słowa kluczowe określające typy całkowite char typ znakowy int typ całkowity long typ tzw.długich liczb całkowitych signed liczby ze znakiem short typ tzw.krótkich liczb całkowitych unsigned liczby bez znaku

49 AJS Typy całkowite (skończone, przeliczalne podzbiory zbioru liczb całkowitych) Typ Rozmiar w bitach minmax unsigned char8, jeden znak0255 char, signed char 8, jeden znak int, signed int unsigned int long unsigned int long signed int

50 AJS char a, b=F; int x, y=2; long k; inicjowanie składnia typ całkowity identyfikator[=wartość zainicjowana Deklaracje i inicjacja zmiennych całkowitych

51 AJS Typy rzeczywiste (skończone, przeliczalne podzbiory zbioru liczb rzeczywistych) Typ Rozmiar w bitach minmax Liczba znaczących cyfr float32 3.4E-383.4E38 6 double64 1.7E E long double E E

52 AJS Typy rzeczywiste (skończone, przeliczalne podzbiory zbioru liczb rzeczywistych) Pojęcie znaczących cyfr Liczbę rzeczywistą w pamięci komputera zapisuje się w postaci dwóch liczb (mantysa, cecha) L=mantysa*10 cecha Dla float liczba zostanie zapisana w E16 A więc zostanie zaokrąglona do wartości:

53 AJS float a, b=123.16e10; double x, y= ; long double k; inicjowanie składnia typ rzeczywisty identyfikator[=wartość zainicjowana Deklaracje i inicjacja zmiennych rzeczywistych


Pobierz ppt "AJS Język programowania Rozwijanie zdolności logicznego i precyzyjnego inżynierskiego myślenia poprzez naukę programowania."

Podobne prezentacje


Reklamy Google