Techniki Programowania



Podobne dokumenty
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Materiały. Języki programowania II (Java+AVR-GCC) Literatura

Programowanie obiektowe

Podstawy języka C++ Marek Pudełko

Słowa kluczowe i nazwy

Na ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia

Języki programowania - podstawy

Język ludzki kod maszynowy

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Microsoft IT Academy kurs programowania

Wykład 1

Wstęp do programowania

1 Podstawy c++ w pigułce.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Podstawy programowania w języku C

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

1 Podstawy c++ w pigułce.

Podstawy programowania skrót z wykładów:

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Programowanie strukturalne i obiektowe

Języki i paradygmaty programowania

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Programowanie strukturalne język C - wprowadzenie

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Spis treści

ECLIPSE wnioski z dwóch pierwszych laboratoriów

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Wprowadzenie do języka Java

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Podstawy informatyki. Prowadzący cz. 2 (C++) wykładu: dr inż. Sylwester Przybył Instytut Fizyki WFT tel. (0-61) ;

Podstawy programowania. Wprowadzenie

ROZDZIAŁ 2. Operatory

Programowanie obiektowe

Wstęp do programowania

Język C - podstawowe informacje

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Wstęp do programowania

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Podstawy programowania wykład

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Tworzenie aplikacji w języku Java

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i metodyka programowania. Wprowadzenie do języka C

Język C++ Różnice między C a C++

Wykład 8: klasy cz. 4

PROGRAMOWANIE w C prolog

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy Programowania. Wykład 1

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wstęp do programowania 1

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie RAD Delphi

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi

( wykł. dr Marek Piasecki )

Podstawy Programowania

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Programowanie C# mgr in. Dariusz Ku. p. 119A

Szablony funkcji i szablony klas

Podstawy Programowania Podstawowa składnia języka C++

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia. Krzysztof Banaś Podstawy programowania 1

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Powtórka algorytmów. Wprowadzenie do języka Java.

Języki i metody programowania. Omówienie języków C, C++ i Java

Zmienne, stałe i operatory

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

Podstawy Programowania

Podstawy i języki programowania

Programowanie 2. Język C++. Wykład 3.

Jzyk C++ cz 2. Jarosław Gramacki Instytut Informatyki i Elektroniki

Techniki Programowania wskaźniki

Języki C i C++ Wykład: 1. Wstęp Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Języki C i C++, sem.

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

wykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Technologie cyfrowe semestr letni 2018/2019

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Java EE produkcja oprogramowania

Transkrypt:

Techniki Programowania Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem

Dr hab. inż. Łukasz Madej, prof. AGH Budynek B5, pokój 716 lmadej@agh.edu.pl home.agh.edu.pl/lmadej Konsultacje: Poniedziałek: 7:30 9:00.

Wykład: Czwarek 16:00 17:30 Sala 601 Obecność nieobowiązkowa Ćwiczenia (mgr inż. Mateusz Sitko): Środa 8:00 09:30 Sala 601 Obecność obowiązkowa!!!

Egzamin pisemny Zaliczenie min 3.0 Termin 0 ocena z zaliczenia min 4.5 Termin 1 pisemny Termin 2 ustny/pisemny Termin 3 ustny

Wykład 1

Język zrozumiały przez komputer: 0000010101010101010101010 Język zrozumiały przez programistę: Język programowania

Techniki programowania 1. Programowanie strukturalne 2. Programowanie proceduralne 3. Programowanie z ukrywaniem danych 4. Programowanie obiektowe 5. Programowanie obiektowo orientowane

Języki programowania 1. Niskopoziomowe - assembly languages 2. Klasyczne - C/C++, Pascal, Basic, Fortran, Lisp Język programowania 3. Używające maszyny wirtualnej - Java, rodzina.net (C#, Visual Basic, Delphi) Język programowania kompilator maszyna wirtualna 4. Skryptowe (interpetowane) - PHP, Perl, Python, JavaScript, Ruby, języki powłok (bash, awk) Język komputera Język komputera

Assembly languages - Rodzina języków programowania niskiego poziomu, w których jedno polecenie odpowiada jednemu rozkazowi procesora. - Używane do pisania fragmentów oprogramowania wymagających bardzo wysokiej wydajności lub mających inne specjalne wymagania - Stosowane głównie do programowania mikrokontrolerów

Klasyczne - Zapewniają wyższy poziom niż asembler i istnieją w informatyce od dawna. - Język C służy do programowania systemów operacyjnych i aplikacji. - Na bazie C powstał język C++, który wprowadza możliwość programowania obiektowego. C++ jest językiem ogólnego przeznaczenia. - Języki C/C++ bazują w dużej mierze na samodzielnej obsłudze pamięci przez programistę.

Używające maszyny wirtualnej - Wirtualna maszyna to oprogramowanie pośredniczące pomiędzy programem, a systemem operacyjnym i sprzętem. - Program nie jest tłumaczony do kodu maszyny/sprzętu na którym go kompilujemy lecz do pseudokodu maszyny wirtualnej. - Java język programowania doskonale przenośny pomiędzy różnym sprzętem i systemami operacyjnymi właśnie ze względu na maszynę wirtualną. - Microsoft stworzył własną maszynę wirtualną.net, lecz nie jest ona tak przenośna jak maszyna wirtualna Javy.

Używające maszyny wirtualnej cd. - Wadą rozwiązań opartych o maszynę wirtualną jest ich wolne działanie (spowodowane dodatkową warstwą pośredniczącą, która musi być w dodatku uniwersalna, skoro ma być przenośna). - Główną domeną JAVY są tzw. aplety (programy wbudowane w strony WWW), a także aplikacje na telefony komórkowe. - Java istnieje także jako rozwiązanie serwerowe JSP jawowy odpowiednik PHP - Istotną cechą Javy jest brak wskaźników oraz automatyczne odśmiecanie pamięci.

Używające maszyny wirtualnej cd. -.NET Framework, platforma programistyczna opracowana przez Microsoft, obejmująca środowisko uruchomieniowe (Common Language Runtime CLR) i biblioteki klas dostarczające standardowej funkcjonalności dla aplikacji. - Główną zaletą jest to, że platforma nie ogranicza się do jednego języka. - Obecnie ponad 40 języków programowania jest zgodnych z.net. - Główną wadą języka jest bardzo słaba przenośność.

Skryptowe - Programy napisane w językach skryptowych nie są kompilowane aż do momentu ich wykonania. Są interpretowane w czasie uruchomienia. - Języki tego typu są bardzo wysoko poziomowe, dokonują sporej części pracy za programistę. Najczęściej zmienne są uniwersalne, dowolnych typów, pamięć przydzielana i zwalniana jest automatycznie. - Programy napisane w językach skryptowych są wolniejsze, a uniwersalność zmiennych i mała odporność na brzydki kod programu prowadzą do większych szans na błąd logiczny, a programy bywają niezrozumiałe nawet dla samego autora.

Skryptowe cd. - PHP język służący przede wszystkim do tworzenia dynamicznych stron WWW. - Perl język służący głównie do pracy z danymi tekstowymi, ale doskonale radzący sobie z wszystkimi potrzebami programisty, czy administratora systemu. - Python język został zaprojektowany tak, by zapewnić możliwie dużą czytelność kodu źródłowego. - JavaScript ("JS") to stworzony przez firmę Netscape zorientowany obiektowo skryptowy język programowania, najczęściej stosowany na stronach WWW.

Klasyczne - C/C++ Środowisko programistyczne - aplikacja służąca do: tworzenia, modyfikowania, testowania, konserwacji oprogramowania.

Środowisko programistyczne Microsoft Visual Studio - Microsoft Visual C++ Visual Studio Express - Visual C++ Express Borland C++ Builder Dev-C++ CodeLite KDevelop LabWindows/CVI MonoDevelop NetBeans C/C++ pack

Literatura Jerzy Grębosz Symfonia C++ Rozdziały: 1. Startujemy 2. Instrukcje sterujące 3. Typy 4. Operatory 5. Funkcje 6. Preprocesor 7. Tablice 8. Wskaźniki 9. Przeładowanie nazwy funkcji 11. Biblioteczna klasa std::string do operacji z tekstami 13. Struktury, unie, pola bitowe 22. Operacje wejścia/wyjścia (fragmenty)

Pierwszy program w języku programowania C++ Ciało funkcji w nawiasach Obiekt klasy ostream #include<iostream> using namespace std; int main() { cout << "Hello\n"; system("pause"); return 0; } Wstawienie pliku nagłówkowego biblioteki Określenie przestrzeni nazw Funkcja main \n znak nowej linii Zwrócenie wartości Zatrzymanie programu

Komentarze /* komentarz, który ma wiele linijek*/ // tylko jedna linia komentarza Komentarze typu /* */ nie mogą się zagnieżdżać, czyli: /* jakiś tam komentarz /* i jeszcze jeden*/ */ - BŁĄD

Zmienne Deklaracja informuje kompilator że dana nazwa reprezentuje obiekt jakiegoś typu, np.: extern int a; Definicja dodatkowo rezerwuje miejsce w pamięci, np.: int a; Inicjalizacja definicja + przypisanie wartości, np.: int a = 5; a a 5 pamięć

Nazwy zmiennych Nazwa zmiennej może być dowolnie długim ciągiem liter, cyfr oraz znaków podkreślenia, przy czym: nie może zaczynać się od cyfry, rozróżniane są duże i małe litery, nie może być słowem kluczowym.

Słowa kluczowe asm auto bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpreter _cast return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq

Stałe Stałe będące liczbami całkowitymi (zapis dziesiętny): 1 10 5 Stałe będące liczbami całkowitymi (zapis ósemkowy): 01 010 05 09 BŁĄD Stałe będące liczbami całkowitymi (zapis szesnastkowy): 0x1 0x10 0x5 0xf

Stałe Stałe będące liczbami zmiennoprzecinkowymi: 1.2 10.5 5.1 2e4 3.2e-2-5.2e2

Stałe Stałe znakowe: a x Znaki specjalne \b cofacz \f nowa strona \n nowa linia \r powrót karetki \t tabulator poziomy \v tabulator pionowy \a sygnał dźwiękowy

Stałe Stałe tekstowe: Hello Hi