Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Język programowania Rozwijanie zdolności logicznego

Podobne prezentacje


Prezentacja na temat: "Język programowania Rozwijanie zdolności logicznego"— Zapis prezentacji:

1 Język programowania Rozwijanie zdolności logicznego
„Język programowania”, Osoby prowadzące, Zakres tematyczny wykładu, Zakres tematyczny ćwiczeń laboratoryjnych Rozwijanie zdolności logicznego i precyzyjnego inżynierskiego myślenia poprzez naukę programowania

2 Zakładane wyniki nauki:
opanowanie logiki układania programów - opanowanie podstaw języka programowania C++ - umiejętność budowania algorytmów dla rozwiązywania podstawowych problemów inżynierskich „Język programowania”, Osoby prowadzące, Zakres tematyczny wykładu, Zakres tematyczny ćwiczeń laboratoryjnych

3 - dr inż. Krzysztof Janerka
Osoby prowadzące laboratorium: - dr inż. Krzysztof Janerka - dr inż. Jacek Suchoń - dr inż. Andrzej Studnicki - dr inż. Dariusz Bartocha - dr inż. Marcin Kondracki - dr inż. Marcin Stawarz - mgr inż. Maria Dziuba - mgr inż. Anna Dulęba - mgr inż. Agnieszka Walasek Prowadzący przedmiot: dr hab. inż. Mirosław Cholewa prof. Pol. Śl.

4 Zakład Odlewnictwa Gliwice ul. Towarowa 7 tel.: 231-60-31
Instytut Materiałów Inżynierskich i Biomedycznych Zakład Odlewnictwa Wydział Mechaniczny Technologiczny Politechniki Śląskiej Gliwice ul. Towarowa 7 tel.: Platforma E-learning Język Programowania hasło: jpm

5 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.

6 Ć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++.

7 Tematy ćwiczeń laboratoryjnych „Język Programowania”
„Język Programowania” 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.

8 Tematy ćwiczeń laboratoryjnych cd „Język Programowania”
„Język Programowania” 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.   

9 Tematy ćwiczeń laboratoryjnych cd „Język Programowania”
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.

10 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++

11 Zakres tematyczny wykładów obejmuje:
Analizy problemów na przykładach związanych z kierunkiem studiowania i poszukiwanie metod ich rozwiązywania 2. Projektowanie algorytmów według wybranej metody rozwiązywania problemu – budowanie schematów blokowych

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

13 WARUNKI ZALICZENIA PRZEDMIOTU:
- 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), warunkiem przystąpienia do 2 kolokwium jest zaliczenie 1, wcześniejsze zaliczenie laboratorium: zestaw zadań przygotowany przez wykładowcę -termin 17 listopad lub zadanie inżynierskie przygotowane przez prowadzącego laboratorium – termin 15 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),

14 OK = 0.6*OW + 0.4*OL WARUNKI ZALICZENIA PRZEDMIOTU: cd
ocena końcowa z przedmiotu: OK = 0.6*OW + 0.4*OL 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 b. db napisaniu programu z zestawu zadań przygotowanego przez wykładowcę

15 C++ - ogólna charakterystyka
„Język wysokiego, ale dostatecznie niskiego poziomu” – synteza Język niskiego poziomu (asembler- symboliczna reprezentacja języka wewnętrznego komputera) –efektywność i szybkość działania kodu wynikowego programu. Język wysokiego poziomu – łatwiejsza przenośność programów, prostszy zapis algorytmu.

16 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

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

18 5. Wróblewski P. : Algorytmy struktury danych i techniki programowania
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 uzupełniająca:

19 1. Wróblewski P. : Język C++ dla programistów. Wyd
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

20 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

21 Programowanie jako umiejętność rozwiązywania problemów
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 Wykonanie programu Dane Wyniki

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

23 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)

24 Algorytm składa się z opisu: - obiektów, na których wykonywane są działania - działań realizujących cel algorytmu - kolejności działań

25 przykładowy PROBLEM 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

26 START STOP DANE CCmax Oblicz dodatek wsadu obniża-jący węgiel (złom stalowy) CCmin Oblicz dodatek wsadu zwiększający węgiel (grafit) Dodaj do wsadu T N

27 Drzwi z zamkiem na hasło.
przykładowy PROBLEM 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)

28 T N N T START Utwórz wzór hasła Wprowadź hasło Poprawne Dodaj p+1
Otwórz drzwi N p>3 T Włącz alarm STOP

29 przykładowy PROBLEM Ustalenie spawalności stali konstrukcyjnej dla opracowania optymalnej technologii spawania. DANE: -        skład chemiczny stali konstrukcyjnej

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

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

32 metoda od szczegółu do ogółu :
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

33 metoda od ogółu do szczegółu:
Metody tworzenia algorytmu i jego zapisu w postaci schematu blokowego (sieci działań): 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

34 Postać graficzna podstawowych bloków
wykorzystywanych w schematach blokowych blok początkowy rozpoczyna algorytm Start blok we/wy określa nazwy danych wprowadzanych i wyprowadzanych przez program Dane blok operacyjny określa działanie, które może zmienić wartość zmiennej Działanie

35 Postać graficzna podstawowych bloków
wykorzystywanych w schematach blokowych cd 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= w1 w2 w3 wn blok wyboru wybiera jedną z wielu możliwych dróg algorytmu, na podstawie aktualnej wartości wyrażenia

36 Postać graficzna podstawowych bloków
wykorzystywanych w schematach blokowych cd Blok podprogramu określa nazwę procedury lub funkcji i jej zadanie Nazwa Funkcja Blok kolekcyjny - kolektor łączy różne drogi algorytmu Blok końcowy kończy algorytm Stop

37 Postać graficzna podstawowych bloków
wykorzystywanych w schematach blokowych cd Blok wyjściowy łącznika na stronie 1 Blok wejściowy łącznika na stronie 1 Blok wejściowy łącznika międzystronicowego 3/5 3/5 Blok wyjściowy łącznika międzystronicowego

38 Tworzenie i uruchamianie programów w C++
September : Dev-C++ 5 Beta 6 ( ) PC FORMAT Listopad 2002 CD#27 Kompilator Dev C++ Strona internetowa Bloodshed Software

39

40 Tworzenie i uruchamianie 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 funkcji gotowe do użycia i tworzy program wykonywalny na komputerze (program wynikowy, maszynowy) [*.exe] Łączenie z bibliotekami - linkowanie

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

42 # { } 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

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

44 Ogólny schemat kodu źródłowego programu w C++
dyrektywy preprocesora #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; } cout<<”Suma liczb wynosi” <<suma<<endl; cout<<”Podwojony iloczyn liczb wynosi”<<iloczyn*stala<<endl; getch(); return 0; funkcja główna - start programu lista wszystkich zmiennych ciąg instrukcji realizujący dany algorytm

45 Dobrze jest mieć w jednej linijce tylko jedną instrukcję – mamy możliwość śledzenia wykonywania programu linijka za linijką – debuggery – „odpluskwiacze” bug – owad

46 include – zawrzyj cout – C-onsole OUT-put konsola wyjścia – np. ekran << „ ” ; main – główny (Funkcja główna) { } cin – Console IN put odnosi się do urządzenia wejścia – klawiatury, kierunek strzałek >> cuot<<”\n”; odpowiada cout<<endl endl – end of line cout <<”witam” ; wprowadzanie i wyprowadzanie informacji jest poza definicjami C++, podprogramy są w jednej z bibliotek programu # include <iostream.h> main() { cout << ”witam”; }

47 continue, default, delete, do, double, else, enum,
Przeniesienie do następnej linii: \n Komentarz: do końca linii: //… /*….*/ o dowolnej długości takie komentarze nie mogą być w sobie zagnieżdżane: wewnątrz /*…*/ jest nieprawidłowy !!! kompilacja warunkowa Nazwy obiektów (zmiennych lub stałych) nie mogą zaczynać się od cyfry, dowolnie długi ciąg liter i cyfr oraz podkreśleń, poza słowami kluczowymi: asm, auto, break, case, catch, char, class, const, continue, default, delete, do, double, else, enum, extern, float, for, friend, goto, if, inline, int, long, new, operator, private, protected, public, register, return, short, signed, sizeof, static, struct, switch, template, this, throw, try, typedef, union, unsigned, virtual, void, volatile, while

48 zarezerwuj w pamięci miejsce na obiekt typu całkowitego o nazwie:…
Każda nazwa musi być zadeklarowana np.: int – intiger - l. całkowita float – l. rzeczywista, zmiennoprzecinkowa deklaracja: jakbyś spotkał (jakby kompilator spotkał) nazwę: … (np. int) to wiedz, że oznacza ona obiekt typu … (np. całkowitego) definicja: zarezerwuj w pamięci miejsce na obiekt typu całkowitego o nazwie:… Definicja jest równocześnie deklaracją, ale nie odwrotnie deklaracja – clarus – jasny, zrozumiały; de-klarować -> wy-jaśniać definicja – finis – kniec, granica; de-finiować -> zakreślać granicę (wokół komórek pamięci)

49 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

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

51 Systematyka typów z języka C++
dwojaki podział: - typy fundamentalne - typy pochodne, będące wariacjami typów fundamentalnych lub - typy wbudowane (build-in) - typy zdefiniowane przez użytkownika – jedno z lepszych rozwiązań C++

52 typy reprezentujące liczby całkowite:
short int inaczej short int long int inaczej long oraz typ wyliczeniowy enum typ reprezentujący obiekty zadeklarowane jako znaki alfanumeryczne char wszystkie powyższe typy mogą być ze znakiem i bez znaku. posługujemy się modyfikatorem: signed lub unsiged

53 np.: signed int - może reprezentować liczbę ujemną i dodatnią unsigned int – reprezentuje liczbę dodatnią zapis: int a – oznacza signed int a – czyli typ ze znakiem

54 (skończone , przeliczalne podzbiory zbioru liczb całkowitych)
Typy całkowite (skończone , przeliczalne podzbiory zbioru liczb całkowitych) Słowa kluczowe określające typy całkowite char typ znakowy alfanumeryczny (litera, cyfra lub znak przestankowy) 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

55 Typy całkowite skończone , przeliczalne podzbiory zbioru liczb całkowitych Typ Rozmiar w bitach min max unsigned char 8, jeden znak 255 char, signed char -128 127 int, signed int 16 -32768 32767 unsigned int 65535 long unsigned int 32 long signed int 0, lub 1-bit, najmniejsza porcja informacji, bajt 8 bitów

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

57 Liczba znaczących cyfr
Typy rzeczywiste reprezentujące liczby zmiennoprzecinkowe (skończone , przeliczalne podzbiory zbioru liczb rzeczywistych) Typ Rozmiar w bitach min max Liczba znaczących cyfr float 32 3.4E-38 3.4E38 6 double 64 1.7E-308 1.7E308 15 long double 80 3.4E-4932 1.1E4932 18 Twój komputer może zapisywać inaczej – jak ?- mówi operator sizeof – rozmiar - potem

58 L = mantysa * 10 cecha Typy rzeczywiste Pojęcie znaczących cyfr
(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:

59 double x, y = - 145.67; long double k;
Deklaracje i inicjacja zmiennych rzeczywistych float a, b = e10; double x, y = ; long double k; inicjowanie składnia typ całkowity identyfikator = wartość zainicjowana


Pobierz ppt "Język programowania Rozwijanie zdolności logicznego"

Podobne prezentacje


Reklamy Google