Podstawy programowania

Slides:



Advertisements
Podobne prezentacje
C++ w Objectivity Marcin Michalak s1744. Pomocne pakiety: Data Definition Language (DDL). Standard Template Library (STL). Active Schema.
Advertisements

Testowanie oprogramowania metodą badania pokrycia kodu
Podstawy programowania
Porysujmy trochę czyli Łączenie SQLa, AutoCADa i Delphi
Przygotował: Adrian Walkowiak
– poradnik dla babci i dziadka”
Tajemnice klawiatury.
FUNKCJA L I N I O W A Autorzy: Jolanta Kaczka Magdalena Wierdak
MATURA 2012 Na podstawie informatora CKE Edyta Rosiak.
ZESPÓŁ SZKÓŁ OGÓLNOKSZTAŁCACYCH NR 11 W SOSNOWCU PODSUMOWANIE ANKIETY DLA RODZICÓW.
III. Proste zagadnienia kwantowe
Systemy klastrowe inaczej klasterowe.
Propozycja siatki godzin Specjalność: Modelowanie i Programowanie Systemów Informatycznych.
Elektronika cyfrowa Prezentacja Remka Kondrackiego.
Prąd Elektryczny.
Autorzy: Agnieszka Kuraj Natalia Gałuszka Kl. III c.
To jest bardzo proste  Lekcja nr 3
Debata- samorządność.. Samorząd Uczniowski to działająca w szkole instytucja, obejmująca całą społeczność uczniowską, niezależna od administracji oświatowej.
Prezentacja z przedmiotu „systemy wizyjne”
Podstawy programowania
Cechy dobrej i udanej strony www Net etykieta. Ergonomia stron WWW.
Szkoła w chmurze.
Program wspomagający sekretariat Korespondencja. Wprowadzenie Instytucja dla którego ma być aplikacja pracuje w sieci Ethernet. Serwery pracują na systemie.
Zwiększenie wykorzystania energii z OZE w budownictwie
Microsoft® Office EXCEL 2003
Co każdy użytkownik komputera wiedzieć powinien
Można powiedzieć, że nasi dziadowie, jeżeli chodzi o kuchnię i gotowanie byli dużo bardziej ekologiczni niż my czy choćby nasi rodzice. Potrawy były zazwyczaj.
ALGORYTMY.
Dyplomant : Karol Czułkowski
ALGORYTM.
Automatyczne wyznaczanie złożoności obliczeniowej algorytmów
Wykonała Sylwia Kozber
Antonie de Saint-Exupery
Rola tabel w kodzie HTML
xHTML jako rozszerzenie HTML
Instalacja serwera WWW na komputerze lokalnym
1 Danuta Stanek 1 Reprezentacja informacji tekstowej.
Prezentacja dla klasy III gimnazjum Przedmiot: matematyka Dział: Funkcje Temat: Graficzna ilustracja układów równań (lekcja pierwsza)
T44 Przepisy bhp podczas wytwarzania części maszyn.
Elementy programowania
SZKO Ł A PODSTAWOWA IM. JANA PAW Ł A II W BIELINACH.
Warsztaty C# Część 2 Grzegorz Piotrowski Grupa.NET PO
Warsztaty C# Część 3 Grzegorz Piotrowski Grupa.NET PO
KINECT – czyli z czym to się je?. Damian Zawada
SKALA MAPY Skala – stosunek odległości na mapie do odpowiadającej jej odległości w terenie. Skala najczęściej wyrażona jest w postaci ułamka 1:S, np. 1:10.
Lokalne konta użytkowników i grup
1 Strategia dziel i zwyciężaj Wiele ważnych algorytmów ma strukturą rekurencyjną. W celu rozwiązania rozwiązania problemu algorytm wywołuje sam siebie.
Bazy danych.
Narodowy Fundusz Ochrony Środowiska i Gospodarki Wodnej UNIA EUROPEJSKA FUNDUSZ SPÓJNOŚCI Kryteria wyboru projektów w ramach Programu Operacyjnego Infrastruktura.
A. Jędryczkowski – 2006 ©. Tablica to struktura danych zawierająca zbiór obiektów tego samego typu i odpowiada matematycznemu pojęciu wektora (tablica.
Pliki elementowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików elementowych. Pliki takie zawierają informację zakodowaną
Budowa programu #include /*instrukcje preprocesora */ #include int main(void) { /*podstawowa funkcja programu */ int a=1; /*deklaracja i inicjalizacja.
Narzędzie wspomagające projektowanie aplikacji Proficy iFIX
Strategie badań – ilościowe v. jakościowe - porównanie
Ocenianie. 6 Ocenę celującą otrzymuje uczeń wówczas, jeżeli posiadł wiedzę i umiejętności wykraczające poza program nauczania w danej klasie, samodzielnie.
Temat 5: Elementy meta.
Temat 1: Składnia języka HTML
Temat 1: Umieszczanie skryptów w dokumencie
Temat 6: Elementy podstawowe
Temat 4: Znaki diakrytyczne i definiowanie języka dokumentu
Informacje podstawowe
Warsztaty użytkowników programu PLANS – Karwia06 Język makropoleceń JMP programu PLANS Część I mgr inż. Tomasz Zdun.
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
Instrukcje sterujące: W instrukcjach sterujących podejmowane są decyzje o wykonaniu tych czy innych instrukcji programu. Decyzje te podejmowane są w zależności.
Komtech Sp. z o.o. Magic Janusz ROŻEJ.
w/g Grzegorz Gadomskiego
SERCE SPORTOWCA Zespół objawów fizjologicznej, odwracalnej adaptacji u trenujących sporty wytrzymałościowe.
Create Tworzenie Match Dopasowanie Design Projektowanie Unikalne narzędzie zwiększające skuteczność procesów rekrutacji i selekcji, budowanie ścieżek karier.
1 Technika cyfrowa Systemy zapisu liczb wykonał Andrzej Poczopko.
Zapis prezentacji:

Podstawy programowania Zachodniopomorska Szkoła Biznesu Podstawy programowania Wykład 1: Wprowadzenie dr inż. Michał Pałczyński mpalczynski@wi.ps.pl

Cele i zakres przedmiotu Zapoznanie z istotą i metodyką programowania Opanowanie podstawowych technik programowania strukturalnego Nabycie umiejętności zapisu algorytmów w wybranym języku programowania Nauka czytania i analizy prostych programów w celu przewidywania ich wyniku oraz poszukiwania błędów Literatura: Jerzy Grębosz - Symfonia C++ (tom I) Podstawy programowania - Wprowadzenie

Co to jest programowanie Proces tworzenia mechanizmów definiujących pracę danego urządzenia w zakresie zadań możliwych do wykonania Proces projektowania, tworzenia i poprawiania kodu źródłowego programu komputerowego z użyciem wybranego języka programowania Podstawy programowania - Wprowadzenie

Podstawy programowania - Wprowadzenie Algorytm a program Algorytm - opis czynności, które mają na celu rozwiązanie postawionego problemu lub realizację zadania. Typowe formy zapisu algorytmów to - opis słowny - lista kroków - schemat blokowy - diagramy NS - pseudokod Program - algorytm zapisany w postaci umożliwiającej (zwykle po przetworzeniu) jego automatyczną realizację za pomocą komputera lub jego części. Postać ta zależy od użytego języka programowania. Kodowanie - proces „tłumaczenia” algorytmu z dowolnej postaci na wybrany język programowania Podstawy programowania - Wprowadzenie

Od problemu do programu Sformułowanie problemu (definicja zadania) Analiza problemu Wybór metody (metod) rozwiązania Opracowanie algorytmu Kodowanie (implementacja) programu Testowanie programu Sporządzenie dokumentacji Podstawy programowania - Wprowadzenie

Podstawy programowania - Wprowadzenie Język programowania Zrozumiały dla komputera sposób przekazywania poleceń przez człowieka. Symbol - najmniejszy element języka Alfabet - zbiór wszystkich symboli danego języka Program - napis rozumiany jako ciąg symboli należących do alfabetu Składnia - kolejność występowania symboli w programie Gramatyka - zbiór reguł definiujących zbiór wszystkich możliwych ciągów symboli poprawnych z punktu widzenia danego języka Semantyka - znaczenie poprawnego składniowo ciągu symboli czyli akcja, która została zakodowana Podstawy programowania - Wprowadzenie

Podstawy programowania - Wprowadzenie Cechy programów Skuteczność - czy program dla różnych danych wejściowych realizuje postawione zadanie Dokładność - stopień, w jakim uzyskane rozwiązanie problemu odpowiada postawionemu celowi Wydajność - odpowiada szybkości działania programu dla określonego sprzętu, na jakim działa. Często jest przedmiotem porównania różnych rozwiązań, czasem odnosi się do wymogów tzw. czasu rzeczywistego lub interakcyjności. Czytelność - odnosi się do tekstu programu, oznacza pełną zrozumiałość występujących w nim symboli i ich wzajemnych relacji Zużycie zasobów - konieczność dostępu programu do różnych zasobów sprzętowych systemu, zwłaszcza pamięci RAM Podstawy programowania - Wprowadzenie

Klasyfikacje języków programowania Paradygmat: Imperatywny, Obiektowy, Funkcyjny, Logiczny Poziom (generacja) Asemblery, Języki wysokiego poziomu, Języki 4 generacji Przeznaczenie Języki ogólnego przeznaczenia i specjalizowane Tryb interpretacji Języki interpretowane i kompilowane Podstawy programowania - Wprowadzenie

Poziom języka: Kod maszynowy i asembler Zależność od sprzętu (procesora), nieprzenośność Wysoka wydajność Duża pracochłonność tworzenia programów Przykładowy fragment Interpretacja w postaci programu w pamięci: symboli asemblera 8D 7D C0 lea edi,[ebp-40h] B9 10 00 00 00 mov ecx,10h B8 CC CC CC CC mov eax,0CCCCCCCCh F3 AB rep dword ptr [edi] C6 05 D8 25 42 00 0A mov byte ptr [c (004225d8)],0Ah A0 D8 25 42 00 mov al,[c (004225d8)] 04 05 add al,5 A2 D8 25 42 00 mov [c (004225d8)],al B8 01 00 00 00 mov eax,1 Podstawy programowania - Wprowadzenie

Poziom języka: Języki wysokiego poziomu (3G) Dużo większa zrozumiałość tekstu programu dla człowieka niż w przypadku asemblera Możliwość operowania zarówno na prostych danych, jak i tworzenia złożonych struktur Kod źródłowy - tekst programu zapisany w postaci pliku tekstowego Konieczność przetworzenia kodu źródłowego na postać wykonywalną (kod maszynowy) Przenośność Stosunkowo duża wydajność przy dużo krótszym czasie tworzenia programu niż dla asemblera Podstawy programowania - Wprowadzenie

Poziom języka: Języki wysokiego poziomu (3G) - c.d. Poprzedni fragment programu zapisany w języku C++: c=10; c+=5; return 1; Fragment innego programu w języku Pascal: for i:=1 to N do begin for j:=1 to m do write(macierz[i,j]:4); writeln; end; Podstawy programowania - Wprowadzenie

Poziom języka: Języki wysokiego poziomu (3G) - c.d. Przykładowe języki wysokiego poziomu to: - C, C++, C# - Pascal, Fortran, Cobol, Algol - Java, Python - Basic - PHP - SmallTalk - HTML Podstawy programowania - Wprowadzenie

Poziom języka: Języki czwartej Generacji (4G) Instrukcje symbolizują bardzo złożone działania Bardzo krótki kod źródłowy (kilka linijek programu może odpowiadać nawet tysiącom linii kodu w języku 3G) Specjalizacja Przykładowe języki: SQL Języki tworzenia GUI w systemach SDK (Delphi, Visual, Builder) Matlab TEX, LATEX PostScript Podstawy programowania - Wprowadzenie

Tryby wykonania programu: Interpretacja i interpreter Interpreter - system pobierający instrukcje kodu źródłowego, dekodujący je i wykonujący na bieżąco (po jednej). Jego obecność jest niezbędna do wykonania programu. Umożliwia to programiście interaktywną pracę poprzez podawanie pojedynczych rozkazów. Niska wydajność (konieczność dekodowania poleceń) Typowe języki interpretowane: BASIC Większość języków 4G Języki skryptowe Polecenia systemu operacyjnego Podstawy programowania - Wprowadzenie

Tryby wykonania programu: Kompilacja i kompilator Kompilator - program „tłumaczący” kod źródłowy w całości na postać wykonywalną. Zwykle odbywa się to w 4 etapach: Analiza leksykalna - kontrola poprawności oraz rozpoznanie poszczególnych symboli (znaków) kodu źródłowego Analiza składniowa (syntaktyczna) - analiza i kontrola poprawności kodu źródłowego pod względem zgodności z gramatyką języka Analiza semantyczna - analiza znaczenia (sensu) poszczególnych struktur programu (częściowa kontrola) Generacja kodu - tworzenie kodu maszynowego, przeznaczonego na konkretną platformę sprzętową, realizującego zapisany program Podstawy programowania - Wprowadzenie

Tryby wykonania programu: Kompilacja i kompilator - c.d. Wysoka wydajność Możliwości optymalizacji kodu Brak możliwości pracy interaktywnej Postać skompilowana jest samodzielnym programem i do wykonania nie wymaga obecności innych programów Przykładowe języki kompilowane: Większość języków wysokiego poziomu, w tym C, C++, Pascal Szczególnym przypadkiem są koncepcje typu Java lub .NET, gdzie kod źródłowy podlega skompilowaniu do tzw. postaci pośredniej, która do pracy wymaga specjalnego programu zwanego maszyną wirtualną Podstawy programowania - Wprowadzenie

Paradygmaty programowania Programowanie imperatywne: Program to sekwencja poleceń wpływających na stan maszyny aż do uzyskania oczekiwanego wyniku Programowanie obiektowe: Program to zbiór obiektów porozumiewających się ze sobą. Obiekty to dane oraz operacje, jakie można na tych danych wykonać Programowanie funkcyjne: Program to funkcja, której wynik należy obliczyć. Z reguły bazuje ona na wynikach innych funkcji Programowanie logiczne: Program to zbiór przesłanek i hipoteza, którą należy udowodnić Podstawy programowania - Wprowadzenie

Języki proceduralne i funkcyjne Są to podstawowe odmiany pozwalające na programowanie strukturalne. Procedura - fragment kodu programu opatrzony nazwą, który można wywoływać poprzez jej podanie Funkcja - od procedury różni ją jedynie fakt zwracania wartości określonego typu Definiowanie takich struktur pozwala na budowanie większych, złożonych programów z gotowych elementów Program jest zazwyczaj ciągiem deklaracji oraz instrukcji lub wyrażeń Podstawy programowania - Wprowadzenie

Podstawy programowania - Wprowadzenie Języki obiektowe Podstawowymi elementami języka obiektowego są: Klasa - opis formalny zestawu danych oraz operacji, jakie można wykonać na tych danych Obiekt - konkretny egzemplarz danej klasy Możliwości definiowania klas obejmujące: Zawieranie się innych klas wewnątrz danej klasy Dziedziczenie, oznaczające zdefiniowanie podklasy powodują, że sposób definiowania struktur danych jest zbliżony do ludzkiego postrzegania obiektów świata rzeczywistego Duża efektywność tworzenia złożonych systemów Wymagają specyficznego podejścia przy projektowaniu oprogramowania Podstawy programowania - Wprowadzenie

Podstawy programowania - Wprowadzenie Dlaczego C++? Uniwersalność (język ogólnego przeznaczenia) Możliwość programowania zarówno strukturalnego jak i obiektowego Język wysokiego poziomu, ale z możliwościami dostępu do zasobów sprzętowych Wydajność kodu wynikowego Przenośność (w części niezależnej od systemu) Liczne biblioteki Popularność Podstawy programowania - Wprowadzenie

Budowa programu wykonywalnego Główne typy plików związane z C++: Moduł źródłowy (.CPP) Plik nagłówkowy (.H) Biblioteka statyczna (.LIB) Skompilowany moduł (.OBJ) Program wykonywalny (.EXE) (na platformie PC) Biblioteka dołączana dynamicznie (.DLL) Zazwyczaj programista tworzy moduły i pliki nagłówkowe wykorzystując biblioteki (częściowo dzięki ich plikom nagłówkowym) w celu zbudowania programu wykonywalnego. Podstawy programowania - Wprowadzenie

Budowa programu wykonywalnego .H .H .H .H .CPP .CPP .LIB .LIB kompilacja kompilacja .OBJ .OBJ Konsolidacja (linkowanie) .EXE, .LIB lub .DLL Podstawy programowania - Wprowadzenie

Systemy SDK (Sofware Development Kit) Wspomaganie dla tworzenia złożonych projektów Kontrola nad procesem tworzenia programu wykonywalnego, prezentacja błędów i ostrzeżeń Wspomaganie pisania kodu źródłowego Podświetlanie kolorami poszczególnych symboli „Podpowiadanie” kolejnych elementów programu Wyświetlanie informacji o wskazanym symbolu Kontekstowa pomoc dotycząca wybranego języka programowania Biblioteki standardowe i dodatkowe (w tym GUI) Debugger Podstawy programowania - Wprowadzenie

Podstawy programowania - Wprowadzenie Co to jest Debugger? Debugger - (ang. bug - pluskwa - błąd) program umożliwiający interaktywne śledzenie wykonania programu znacznie ułatwiając odnalezienie źródeł błędów. Typowe możliwości debuggera: Ręczne uruchamianie kolejnych instrukcji (trace into, step over) Ustawianie tzw. pułapek (breakpoints) Wyświetlanie wartości dowolnych wyrażeń (watch) Zatrzymanie programu na dowolnym etapie Użycie debuggera wymaga włączenia do programu wykonywalnego dodatkowych informacji Podstawy programowania - Wprowadzenie

Podstawy tworzenia kodu w C++ Case-sensitive czyli rozmiar ma znaczenie Ignorowanie odstępów (whitespace - białe znaki) Spacje Tabulacje New-line Komentarze: symbol // oraz para /* - */ Układ graficzny i wielkość liter w służbie czytelności Konwencje Układ graficzny Nadawane nazwy Język Komentarze z grafiką Podstawy programowania - Wprowadzenie

Kolejność kompilacji i wykonania Podstawową zasadą programowania jest zapis poleceń w kolejności, w jakiej mają być wykonywane, a więc od góry do dołu, a jeżeli kilka instrukcji znajduje się w jednej linii kodu: od lewej do prawej Kolejność ta nie zawsze dotyczy całości pliku programu ze względu na strukturę programu w języku C++, można jednak założyć, że obowiązuje wewnątrz każdego wydzielonego bloku Kompilacja: zgodna z kolejnością znaków w pliku, a więc od góry do dołu i od lewej do prawej Podstawy programowania - Wprowadzenie

Komunikaty o błędach kompilacji Podczas kompilacji generowane są komunikaty: Błędów (Error) - wskazują miejsca w programie niezgodne z alfabetem lub gramatyką języka i niemożność dokonania pełnej kompilacji. Ostrzeżeń (Warning) - wskazują miejsca, które pomimo poprawności leksykalnej i składniowej, nasuwają przypuszczenie, że programista popełnił błąd semantyczny, a program może działać błędnie Błąd wskazywany jest za pomocą numeru linii lub bezpośrednio w tekście programu i zwykle pokazuje początek fragmentu, który nie odpowiada specyfikacji języka. W rzeczywistości często zdarza się, że właściwy błąd popełniono znacznie wcześniej. Podstawy programowania - Wprowadzenie