Podstawy informatyki Wprowadzenie

Slides:



Advertisements
Podobne prezentacje
C++ Paweł Rzechonek Instytut Informatyki Uniwersytetu Wrocławskiego
Advertisements

Podstawy informatyki Informatyka Stosowana
PROGRAMOWANIE STRUKTURALNE
ALGORYTM Co to jest algorytm?
Informatyka Stosowana
Opracowała: Elżbieta Fedko
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Laboratorium z Probabilistyki IV sem. Wydział Transportu
Praktyka Programowania Semestr I: –wykład - 1 godz. –laboratorium - 1 godz. –projekt - 1 godz.
Języki programowania C++
Algorytmy i struktury danych
Wstęp do interpretacji algorytmów
Jak uczę programowania?
Algorytmy Marek Pudełko
PODSTAWY PROGRAMOWANIA
Budowa algorytmów Algorytm: skończony ciąg operacji wraz z ściśle sprecyzowanym porządkowaniem ich wykonywania, które po realizacji dają rozwiązanie dowolnego.
ALGORYTMY.
Podstawy informatyki 2013/2014
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Algorytmy.
Podstawy informatyki 2013/2014
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki 2013/2014
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki 2012/2013
Informatyka I - Wykład ANSI C
Podstawy Programowania
Tematyka zajęć Zintegrowane środowisko programistyczne i proces tworzenia programu Identyfikatory, słowa kluczowe, zmienne, typy danych – typy proste Instrukcja.
Algorytmy.
Elżbieta Fiedziukiewicz
Podstawy informatyki 2013/2014
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawowe informacje o maturze dla gimnazjalistów.
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Programowanie obiektowe 2013/2014
Spis treści W świecie algortmów -Budowa algorytmu
Podstawy programowania
ZAPIS BLOKOWY ALGORYTMÓW
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,
Podstawy programowania
Wstęp do interpretacji algorytmów
Wprowadzenie do programowania i programowanie obiektowe Wirtotechnologia Wydział Odlewnictwa Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia.
Pakiety numeryczne Wprowadzenie Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Pakiety numeryczne Interpolacja i aproksymacja
Pakiety numeryczne Wielomiany Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Wstęp do programowania Wykład 1
Podstawy informatyki Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki Funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Podstawy informatyki Szablony funkcji Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty.
Podstawy informatyki Operatory rzutowania Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały.
Podstawy informatyki Mechanizm obsługi sytuacji wyjątkowych Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu.
Algorytmy. Co to jest algorytm? Przepis prowadzący do rozwiązania zadania.
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.
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,
Zajęcia 1 – Zasady współpracy i zaliczenia
Obliczenia inżynierskie w Matlabie
Zrozumieć, przeanalizować i rozwiązać
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Język C++ Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Podstawy informatyki Wprowadzenie Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka

Prowadzący dr inż. Łukasz Sztangret Budynek B4 pokój 207A szt@agh.edu.pl home.agh.edu.pl/~szt Konsultacje: środa 11.30 – 13.00

Zasady zaliczenia Ćwiczenia laboratoryjne. Obecność na ćwiczeniach laboratoryjnych jest obowiązkowa. Dozwolona jest jedna nieusprawiedliwiona nieobecność. Każda nieusprawiedliwiona nieobecność (oprócz pierwszej) obniża ocenę końcową z ćwiczeń o jeden stopień. Zwolnienia lekarskie są respektowane na tylko pierwszych zajęciach po nieobecności. Usprawiedliwiając nieobecność należy zostawić prowadzącemu kserokopię zwolnienia lekarskiego. Student, który będzie miał więcej niż trzy nieusprawiedliwione nieobecności traktowany jest jak student, który nie uczęszczał na zajęcia. Student, który będzie na mniej niż siedmiu (pięciu w przypadku studiów niestacjonarnych) zajęciach jest traktowany jak student, który nie uczęszczał na zajęcia. Przychodząc na ćwiczenia student ma obowiązek znać materiał przedstawiony na wykładzie.

Zasady zaliczenia Ćwiczenia laboratoryjne c.d. W czasie semestru odbędą się trzy zapowiedziane kolokwia. W przypadku jeżeli prowadzący zajęcia laboratoryjne stwierdzi, że grupa notoryczne przychodzi na zajęcia nieprzygotowana, może przeprowadzić dodatkowe, niezapowiedziane kolokwium obejmujące materiał z ostatniego wykładu. Ostateczna ocena z ćwiczeń laboratoryjnych jest średnią z ocen z kolokwiów. Niezaliczone kolokwia nie będą poprawiane w trakcie semestru. Nieusprawiedliwiona nieobecność na kolokwium jest równoznaczna z otrzymaniem oceny 2.0 (nie dotyczy to kolokwium niezapowiedzianego) Student, który usprawiedliwi swoją nieobecność na kolokwium może je zaliczać w terminie podanym przez prowadzącego (nie dotyczy to kolokwium niezapowiedzianego). Ocena końcowa jest pozytywna, jeżeli średnia jest równa lub większa od 3.0.

Zasady zaliczenia Ćwiczenia laboratoryjne c.d. Student, który uzyskał ocenę średnią niższą niż 3.0 może w czasie sesji dwukrotnie przystąpić kolokwium poprawkowego (kolokwium poprawkowe obejmuje materiał z całego semestru), pod warunkiem, że uczęszczał na zajęcia. Usprawiedliwienie nieobecności na kolokwium poprawkowym jest możliwe tylko w terminie do dwóch tygodni od daty kolokwium, ale przed kolejnym terminem/końcem sesji egzaminacyjnej. Wykład. Obecność na wykładach jest nieobowiązkowa. Prezentacje z wykładów będą udostępniane na stronie wykładowcy na licencji Creative Commons: Uznanie autorstwa, Na tych samych warunkach 3.0. Tekst licencji dostępny jest na stronie: http://creativecommons.org/licenses/by-sa/3.0/deed.pl.

Zasady zaliczenia Egzamin. Do egzaminu może przystąpić wyłącznie osoba, która otrzymała zaliczenie z ćwiczeń laboratoryjnych. Student ma prawo do trzykrotnego przystąpienia do egzaminu w zaplanowanych terminach, w tym jeden raz w terminie podstawowym i dwa razy w terminie poprawkowym. Nieusprawiedliwiona nieobecność na egzaminie w danym terminie powoduje utratę tego terminu (brak zaliczenia nie jest usprawiedliwieniem nieobecności). Usprawiedliwienie nieobecności na egzaminie jest możliwe tylko w terminie do dwóch tygodni od daty egzaminu, ale przed kolejnym terminem/końcem sesji egzaminacyjnej. Termin zerowy - do ustalenia.

Zasady zaliczenia Ocena końcowa. Ocena końcowa jest pozytywna tylko wtedy, gdy ocena z ćwiczeń laboratoryjnych oraz egzaminu jest pozytywna. Ocena końcowa jest średnią ważoną oceny z ćwiczeń laboratoryjnych z wagą 0.4 i oceny z egzaminu z wagą 0.6, przy czym oceny niedostateczne z laboratorium i egzaminu są uwzględniane z wagami odpowiednio 0.1 i 0.15. Jeżeli ocena z ćwiczeń laboratoryjnych oraz egzaminu jest pozytywne ocena końcowa nie może być niższa niż 3.0. Nieusprawiedliwiona nieobecność na kolokwium poprawkowym/egzaminie traktowana jest przy obliczaniu oceny końcowej jak ocena niedostateczna.

Zasady zaliczenia Powtarzanie przedmiotu. Student, który nie uzyskał zaliczenia z ćwiczeń laboratoryjnych powtarza cały przedmiot. W przypadku niezdanego egzaminu, pozytywne oceny z ćwiczeń laboratoryjnych są przepisywane na kolejny rok, przy czym każda ocena niedostateczna z ćwiczeń laboratoryjnych obniża ocenę o pół stopnia (student, który uzyska ocenę 3.0 w pierwszym terminie poprawkowym lub 3.0/3.5 w drugim musi powtarzać cały przedmiot).

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

Literatura 3. Jerzy Grębosz Pasja C++ 4. Bruce Eckel Thinking in C++ Rozdziały: Szablony funkcji – wiadomości wstępne Szablon funkcji – oglądany z zewnątrz Zaglądamy do ciała szablonu - specjalizacja Krótki, ale za to nudny rozdział kończący Obsługa sytuacji wyjątkowych Odwikłanie stosu Gdy nikt nie złapie wyjątku O wyjątkach uwagi ogólniejsza 4. Bruce Eckel Thinking in C++ 5. Bjarne Stroustrup Język C++ 6. Dawid Harel Rzecz o istocie informatyki 7. B. Kernighan, D. Ritchie Język ANSI C 8. http://www.cplusplus.com/

INFORMATYKA Informatyka (ang. computer science, computing science, information technology, informatics) - ogół dyscyplin naukowych i technicznych zajmujących się informacją, a w szczególności jej komputerowym przetwarzaniem. Obejmuje: teorie informatyczne budowanie systemów informacyjnych, w tym programowanie budowanie i działanie sprzętu informatycznego zastosowanie metod informatycznych w różnych dziedzinach działalności ludzkiej Termin informatyka został zaproponowany przez Romualda Marczyńskiego (1968, Zakopane, ogólnopolska konferencja poświęconej maszynom matematycznym) na wzór fr. informatique i niem. informatik.

ALGORYTM Algorytm (intuicyjnie) jest to sposób postępowania, przepis, proces, metoda, technika, procedura. Algorytm (precyzyjnie) jest to skończony zbiór reguł wskazujący kolejność operacji dla rozwiązania problemu danego typu. Algorytmika – dział wiedzy zajmujący się badaniem algorytmów

Istotne cechy algorytmu Definicja zadania = co algorytm ma zrobić Opis ciągu czynności, które po kolei mają być wykonane Czynności te muszą być na tyle proste (i możliwe do wykonania), aby wykonawca algorytmu mógł je bez dodatkowego tłumaczenia, wykonać (operacje elementarne, odpowiednio dobrany poziom szczegółowości) Skończona liczba operacji elementarnych (skończony czas działania) Algorytm dostaje pewne informacje (dane wejściowe) i zwraca pewne (oczekiwane) wyniki — dane wyjściowe Może istnieć kilka algorytmów, które dają w wyniku te same wyniki

Sposoby zapisu algorytmu słowami za pomocą schematu blokowego w pseudokodzie – połączenie opisu słownego z implementacją w jednym z języków programowania

Schemat blokowy Schemat blokowy (block diagram, flowchart) to diagram, na którym algorytm jest reprezentowany przez opisane figury geometryczne, połączone liniami zgodnie z kolejnością wykonywania czynności wynikających z przyjętego algorytmu rozwiązania zadania. Pozwala dostrzec istotne etapy algorytmu i logiczne zależności między nimi.

operand (prostokąt) — wszystkie operacje z wyjątkiem instrukcji wyboru Schemat blokowy strzałka wskazuje kierunek przebiegu sterowania programem, łączy inne bloki operand (prostokąt) — wszystkie operacje z wyjątkiem instrukcji wyboru predykat (romb) — instrukcja wyboru etykieta (owal) — początek lub koniec sekwencji schematu wejście/wyjście (równoległobok) y=x+1 TAK x>5 NIE START Wprowadź x oraz y

Algorytm Euklidesa Algorytm Euklidesa — chronologicznie pierwszy nietrywialny algorytm Problem: mając dane dwie liczby naturalne a i b znaleźć ich największy wspólny dzielnik Pierwotnie problem ten sprowadzał się do czysto geometrycznego problemu znalezienia wspólnej miary dla dwóch odcinków Zadanie algorytmiczne: Dane: a; b  N, Wynik: NWD(a,b).

Algorytm Euklidesa Opis słowny: Schemat blokowy: Dane są dwie liczby a i b. Jeśli a jest równe b, to NWD jest równy a, w przeciwnym wypadku, jeśli a jest większe od b, weź a = a - b, a jeżeli a jest mniejsze od b weź b = b – a. Zacznij od początku.

Paradygmat programowania Paradygmat programowania jest to: zbiór koncepcji reprezentujących podejście do implementacji algorytmów, zbiór mechanizmów, jakich programista używa, pisząc program i o to, jak ów program jest następnie wykonywany przez komputer.

Programowanie proceduralne Programowanie proceduralne to paradygmat programowania zalecający dzielenie kodu na procedury (funkcje), czyli fragmenty wykonujące ściśle określone operacje. Kładziony jest nacisk na: modularność: wejścia procedur są opisywane syntaktycznie jako argumenty, a wyjścia jako wartości zwracane ograniczanie kontekstu: procedury nie powinny korzystać ze zmiennych globalnych (w miarę możliwości), lecz wykorzystywać zmienne lokalne

Jak powstaje program komputerowy? Gdybym miał problem, od którego zależało by moje życie i tylko jedną godzinę na jego rozwiązanie, spędziłbym 40 minut na jego analizie, 15 minut na ponownym badaniu i 5 minut na rozwiązaniu go. Albert Einstein Pisanie programu to nie tylko pisanie kodu źródłowego w komputerze! Cykl wytwarzania oprogramowania: sformułowanie problemu – analiza (25%), skonstruowanie algorytmu (25%), „pisanie programu” (20%), uruchamianie i testowanie programu (30%).

Styl programowania Programy mają być czytane przez ludzi. Stosuj komentarze wstępne i wyjaśniające. Komentarz – to nie parafraza instrukcji. Stosuj odstępy do poprawienia czytelności. Używaj dobrych nazw mnemonicznych (funkcje, typy, zmienne). Pisz jedną instrukcję w wierszu. Stosuj wcięcia do uwidocznienia struktury programu.

Wcięcia w strukturze programu int main() { int i; for(i=0; i<10; i=i+1) cout<<i<<endl; } int main() { int i; for(i=0; i<10; i=i+1) cout<<i<<endl; } int main(){int i;for(i=0;i<10;i=i+1){cout<<i<<endl;}cout<<i<<endl;}

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

Linker – program łączący skompilowane części programu z bibliotekami. Kompilacja programu plik źródłowy *.cpp z napisanym w języku C++ kodem plik tekstowy plik wynikowy *.exe skompilowany zrozumiały dla komputera kompilacja + linkowanie Kompilator – program tłumaczący instrukcje języka C++ na język maszyny. Linker – program łączący skompilowane części programu z bibliotekami.

Prezentacja udostępniona na licencji Creative Commons: Uznanie autorstwa, Na tych samych warunkach 3.0. Pewne prawa zastrzeżone na rzecz autorów. Zezwala się na dowolne wykorzystywanie treści pod warunkiem wskazania autorów jako właścicieli praw do prezentacji oraz zachowania niniejszej informacji licencyjnej tak długo, jak tylko na utwory zależne będzie udzielana taka sama licencja. Tekst licencji dostępny jest na stronie: http://creativecommons.org/licenses/by-sa/3.0/deed.pl