„Język programowania”

Slides:



Advertisements
Podobne prezentacje
Kurs języka C++ Paweł Rzechonek Instytut Informatyki
Advertisements

C++ Paweł Rzechonek Instytut Informatyki Uniwersytetu Wrocławskiego
Programowanie obiektowe
Programowanie w języku C++. Jak napisać prosty program obliczeniowy lub grę komputerową? Zbigniew Nagórny Pracownia Komputerowa Wyższa Szkoła Humanistyczno-Przyrodnicza.
Wprowadzenie.
Wprowadzenie do C++ Zajęcia 2.
Techniki konstrukcji algorytmów
PROGRAMOWANIE STRUKTURALNE
ALGORYTM Co to jest algorytm?
Informatyka Stosowana
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 1: Wprowadzenie do programowania.
P O D S T A W Y P R O G R A M O W A N I A
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Podstawy informatyki Wirtotechnologia Grupa: 1A Wydział Inżynierii Metali i Informatyki Przemysłowej Wydział Odlewnictwa Akademia Górniczo – Hutnicza im.
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
Języki programowania C++
Algorytmy i struktury danych
Wstęp do interpretacji algorytmów
CO TO JEST ALGORYTM!.
Dr Anna Kwiatkowska Instytut Informatyki
PODSTAWY PROGRAMOWANIA
ALGORYTMY.
Podstawy programowania
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Podstawy programowania w języku C i C++
ODLEWNICTWO - wykład Dr inż. Jan Jezierski Zakład Odlewnictwa
LabVIEW Technologie informacyjne – laboratorium Irmina Kwiatkowska
WebQuest wykonane w ramach projektu BelferOnLine
Informatyka I - Wykład ANSI C
Podstawy Programowania
Język programowania Rozwijanie zdolności logicznego
ODLEWNICTWO - wykład dr hab. inż. Mirosław Cholewa, Zakład Odlewnictwa
Tematyka zajęć Zintegrowane środowisko programistyczne i proces tworzenia programu Identyfikatory, słowa kluczowe, zmienne, typy danych – typy proste Instrukcja.
Elżbieta Fiedziukiewicz
Podstawy informatyki 2013/2014
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
Na wysokościach myślenia jest sfera,
Ogólna struktura programu w TP
Programowanie Matlaba Przedmiot wykładów na Studia doktoranckie Instytut Geofizyki PAN Warszawa 2013/2014.
Kurs języka C++ – organizacja zajęć ( )
Metody numeryczne metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane tą drogą wyniki są na ogół przybliżone, jednak.
Algorytmika.
C++.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Algorytm to przepis prowadzący do osiągnięcia celu lub rozwiązania problemu, opisujący każdy krok. Algorytmika to dziedzina zajmująca się algorytmami (własnościami,
Wprowadzenie do programowania w Pascalu mgr inż. Agata Pacek.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Wstęp do interpretacji algorytmów
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Temat: Schematy blokowe - ćwiczenia
Wstęp do programowania Wykład 1
PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania.
K URS JĘZYKA C++ – ORGANIZACJA ZAJĘĆ ( ) Paweł Rzechonek Instytut Informatyki Uniwersytetu Wrocławskiego.
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Algorytmy i Struktury Danych Algorithms and Data Structures dr inż. Lech Jamroż Wydział Fizyki, Matematyki I Informatyki.
Algorytmy. Co to jest algorytm? Przepis prowadzący do rozwiązania zadania.
Co to jest algorytm? Uporządkowany i uściślony sposób rozwiązania danego problemu, zawierzający szczegółowy opis wykonywanych czynności w skończonej.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Informacje ogólne.
Podstawy Informatyki.
Kurs języka C++ – organizacja zajęć ( )
Algorytm to przepis prowadzący do osiągnięcia celu lub rozwiązania problemu, opisujący każdy krok. Algorytmika to dziedzina zajmująca się algorytmami (własnościami,
Zrozumieć, przeanalizować i rozwiązać
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

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

Zakładane wyniki nauki: „Język programowania”, Osoby prowadzące, Zakres tematyczny wykładu, Zakres tematyczny ćwiczeń laboratoryjnych 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.

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,

Instytut Materiałów Inżynierskich i Biomedycznych Zakład Odlewnictwa Wydział Mechaniczny Technologiczny Politechniki Śląskiej Gliwice ul. Towarowa 7 tel.231-60-31 sekrmt3@zeus.polsl.gliwice.pl

Zakres tematyczny wykładu obejmuje: 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

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

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.

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

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.

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.   

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.

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

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), - 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 cd ocena końcowa z przedmiotu: OK = 0.6*OW + 0.4*OL 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ę

C++ - ogólna charakterystyka „Język wysokiego, ale dostatecznie niskiego poziomu” – synteza Język niskiego poziomu (asemblery) –szybkość i efektywność kodu wynikowego programów. Język wysokiego poziomu – łatwiejsza przenośność programów, prostszy zapis algorytmu.

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

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,

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

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.

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

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

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

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)

Algorytm składa się z opisu: 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ń.

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.

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

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)

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

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

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

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

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.

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.

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

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)

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 (łączy dwie różne drogi algorytmu) Blok końcowy (kończy algorytm) Stop

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

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

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

Strona internetowa Bloodshed Software http://www.bloodshed.net September 28 2002 : Dev-C++ 5 Beta 6 (4.9.6.0) PC FORMAT CD#27 Listopad 2002 Strona internetowa Bloodshed Software http://www.bloodshed.net

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

# 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 # main( ) { }

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

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.

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.

(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 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

Typy całkowite Typ Rozmiar w bitach min max unsigned char (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 4294967295 long signed int -2147483648 2147483647

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

Liczba znaczących cyfr Typy rzeczywiste (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

L=mantysa*10cecha 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*10cecha Dla float liczba 1254986719873674.678 zostanie zapisana w 0.125498 E16 A więc zostanie zaokrąglona do wartości: 1254980000000000

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