p.518 gmach B czwartek: klucz dostępu:odra1304

Wielkość: px
Rozpocząć pokaz od strony:

Download "rsob@mif.pg.gda.pl www.mif.pg.gda.pl/homepages/rsob p.518 gmach B czwartek: 12.00-13.00 www.moodle.pg.gda.pl klucz dostępu:odra1304"

Transkrypt

1 p.518 gmach B czwartek: klucz dostępu:odra1304 1

2 Informacja o prawach autorskich Materiał jest kompilacją różnych tekstów, w tym również autorów nieznanych, z moimi uzupełnieniami i komentarzami. Nie próbowałem uzyskać zgody autorów na umieszczenie fragmentów ich prac (zdjęć) w tych notatkach, gdyż są one przeznaczone wyłącznie do wykładów: i Podstawy programowania na Wydziale Fizyki Technicznej i Matematyki Stosowanej Politechniki Gdańskiej. W mojej ocenie odpowiada to wymaganiom Ustawy z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych art.. 29: Wolno przytaczać w utworach stanowiących samoistną całość urywki rozpowszechnionych utworów lub drobne utwory w całości, w zakresie uzasadnionym wyjaśnianiem, analizą krytyczną, nauczaniem lub prawami gatunku twórczości 2

3 Konspekt wykładu Technologia informacyjna: Informatyka. Jak i dlaczego należy uczyć się informatyki na Matematyce Algorytm. System komputerowy System operacyjny. Linux LaTeX i HTML Język programowania. Cykl wytwarzania programu Liczby w systemach komputerowych: Pamięć operacyjna i liczby dwójkowe. Liczby całkowite Liczby zmiennoprzecinkowe Wskazania, referencje Iteracja: Procesor. Polecenie warunkowe. Polecenie wyboru Polecenia iteracyjne. Wektory i macierze. Operacje na plikach dyskowych Cechy dobrego stylu programowania. Testowanie programu Algorytmy iteracyjne Literatura: Notatki i przykłady do wykładu w systemie Moodle Kernigan B.W., Ritchie D.M. Język ANSI C, WNT, Warszawa (biblioteka) 2g 2g 2g 2g 2g 2g 2g 2g 4g 4g 2g 2g 3

4 Konspekt laboratorium Laboratorium: Korzystanie z edytora dokumentów i przygotowanie doku-mentu matematycznego - pakiet MSOffice/OpenOffice 2 g Korzystanie z arkusza kalkulacyjnego - pakiet MS Office/OpenOffice 4 g Sprawdzian z zakresu narzędzi biurowych + program Moodle 2 g Praca w środowisku LINUX - sesja terminalowa, sprawdzian 4 g Przygotowanie dokumentu matematycznego z zastosowaniem LaTeXa 4 g Program GNUPlot 2 g Przygotowanie strony internetowej z zastosowaniem HTML i LateX-a 4 g Prezentacja matematyczna wykonana z zastosowaniem LaTeX Beamer, sprawdzian 4 g Podstawy programowania w C (Dev C++) 2 g Literatura: Kopertowska M.: Przetwarzanie tekstów, W-wa: Mikom, seria: ECUK, wyd. III zmienione, 2006 Kopertowska M.: Arkusze kalkulacyjne, W-wa: Mikom, seria: ECUK, wyd. III zmienione, 2007 Kopertowska M.: Grafika menedżerska i prezentacyjna, W-wa: Mikom, seria: ECUK, wyd.iii, zmienione, 2006 Notatki o systemie Linux w systemie Moodle Diller A.: LaTeX. Wiersz po wierszu, Gliwice: Helion, 2001 (biblioteka) Lamport L.: Latex : system przygotowywania dokumentów : przewodnik użytkownika i podręcznik, Kraków: Ariel, 1992 (biblioteka) Lamport L.: LATEX Podręcznik i przewodnik użytkownika, W-wa: WNT,

5 Forma i warunki zaliczenia Sprawdzian na wykładzie w drugiej części semestru (początek stycznia). 50% oceny z wykładu + 50% oceny z laboratorium Oceny z laboratorium: prowadzący laboratorium 5

6 Dlaczego informatyka jest ważna dla matematyków? Komputer kiedyś maszyny matematyczna Copyright (c) Maxfield & Montrose Interactive Inc. I nie jest to pierwsza maszyna matematyczna. W wykonaniu drewnianym nazywała się: computare (łac.) [1] Bauer F.L., Goos G.: Informatyka, WNT, Warszawa,

7 Liczydło 3000 p.n.e. - Dlaczego? 7

8 Dlaczego? Suwak logarytmiczny Outhred W. (1622)[2] 8

9 Dlaczego? Blaise Pascal (1642) Gottfried von Leibniz (1673) 9

10 Dlaczego? Maszyna analityczna Babbege a (1835)[2], Augusta Ada Byron pierwsza programistka! Konrad Zuse MARK I, ENIAC, 10

11 Dlaczego? IBM S360, PDP 11,. Odra 1204 od 1967 [2], RIAD 20, Kalkulator od 1966, 11

12 Dlaczego? Spectrum, Atari, Commodore 64,.., PC Notebook od 1989 [2] 12

13 Mgr inż. Dlaczego?

14 Cel Elementarna wiedza o sposobie korzystania z aplikacji przydatnych na studiach, Elementarna wiedza o sposobie funkcjonowania sprzętu komputerowego, Znajomość języka programowania, Wiedza o konstruowaniu algorytmów dla komputerów, Wiedzy o projektowaniu i produkowaniu programów. Warto w tym miejscu zwrócić uwagę na sformułowanie: produkcja oprogramowania. W dalszej części będę wielokrotnie wracał do tego sformułowania by spróbować utrwalić przekonanie, że rola programisty jest coraz mniejsza, natomiast rośnie rola projektanta oprogramowania i zarządzania procesem jego wytwarzania. 14

15 Dlaczego? Cel a + b = a, dla b > 0 0,1 + 0,1 + 0,1 0,1 0,1 0, = 0 15

16 Cel Faktura VAT Faktura VAT Nazwa Cena netto VAT Cena brutto 7,25 zł 22% 8,85 zł 7,25 zł 22% 8,85 zł 7,25 zł 22% 8,85 zł 7,25 zł 22% 8,85 zł 7,25 zł 22% 8,85 zł! Razem do zapłacenia: 44,23 zł Jak stosując tak prymitywne operacje jakie wykonuje procesor uzyskujemy efekty, dzięki którym niektórzy zaczynają wierzyć w "inteligencję" komputerów? 16

17 Wprowadzenie Użytkownicy Informatyka a) b) c) Administratorzy i serwisanci Programiści i projektanci oprogramowania oraz konstruktorzy Naukowcy 17

18 Wprowadzenie Informatyka jest nauką o przetwarzaniu informacji, zwłaszcza przy użyciu automatycznych środków pomocniczych Władysław Turski 1. Informacją w ramach tego wykładu będą liczby 2. Inne typy informacji (tekst, dźwięk, obraz) sprowadzimy do formy liczby 3. Automatycznym środkiem pomocniczym jest komputer z mikroprocesorem półprzewodnikowym Informatyka (ang. computer science) 18

19 Wprowadzenie Szybkość zmian Dzisiaj Nowe algorytmy Nowe języki programowania Nowe parametry sprzętu, nowi użytkownicy komputerów Nowe zastosowania, nowe metody projektowania i wdrażania oprogramowania Czas 19

20 Technologia informacyjna Wprowadzenie znać definicję jednostki fizycznej sekunda zgodną z układem jednostek SI, to wiedza, umieć wykonać pojedynczy zegarek cyfrowy sterowany radiowym wzorcem czasu, to technika, umieć wykonać w dowolnym miejscu na Ziemi, o dowolnej godzinie 1000 takich zegarków w ciągu godziny i to tak, aby wykonanie jednego zegarka nie było droższe niż 1 euro, to technologia. Skutki komputer jest coraz tańszy i dostępniejszy (pomimo, że jest coraz szybszy i pojemniejszy), oprogramowanie komputerów ma coraz większą wielkość; często jest wytwarzane prawie automatycznie i coraz trudniej zapanować nad jego wewnętrzną strukturą i działaniem 20

21 Inżynieria oprogramowania 30% - projekt 20% - programowanie 50% - testowanie Gdzieś w Internecie 21

22 Wprowadzenie Sposób działania komputera jest dokładnie taki sam jak przed pół wiekiem. Natomiast powszechność i dostępność sprzętu komputerowego spowodowała pojawienie się nowej, ważnej i trudnej ścieżki poszukiwań i badań naukowych związanych z metodami projektowania oprogramowania i metodami zarządzania procesami wytwarzania oraz stosowania oprogramowania. Przejście informatyki z fazy rozważań o algorytmach w skali mikro do opracowywania narzędzi i metod projektowania, implementowania oraz wdrażania systemów informatycznych to zasadnicza zmiana, jaka nastąpiła w ostatnich 25 latach. I jeśli dzisiaj mówimy o IT, to odnosi się to nie tylko do parametrów sprzętu, ale przede wszystkim do sposobu jego produkcji i do sposobu produkcji oprogramowania. 22

23 Wprowadzenie Informatyka (ang. computer science). Fragment z książki Davida Harela Rzecz o istocie informatyki. Algorytmika : "Mimo oszałamiającej szybkości, z jaką niektóre z innowacji technicznych stają się bezużyteczne i są zastępowane następnymi, podstawy informatyki, czyli główne koncepcje uważane za istotne w informatycznym programie nauczania, zmieniają się powoli, jeśli w ogóle się zmieniają". Oznacza to, że informatyka wychodzi z początkowej fazy rozwoju zbliżonej do działalności artystycznej (ang. art of programming) i w wielu obszarach przechodzi do fazy działalności produkcyjnej, w której liczą się: czas wykonania i wdrożenia oprogramowania, koszty tego procesu oraz sterowanie jakością wykonanego oprogramowania. 23

24 Jak się uczyć? Samodzielne próby Wymiana doświadczeń w środowisku studenckim i zawodowym. Internet Czasopisma Książki i podręczniki Opanowanie sposobu korzystania z odpowiednich środków pomocniczych oraz narzędzi programowych jest elementem najmniej istotnym. Umiejętności tworzenia algorytmów oraz języki programowania. Techniki projektowania oraz wytwarzania oprogramowania. Z tej wiedzy wynikają ostateczne kryteria oceny stawiane algorytmom. 24

25 Algorytm, klasa Przetwarzanie informacji i algorytm Sformułowanie zadania przetwarzania informacji Algorytm Program 25

26 Algorytm, klasa Na algorytm musi, zatem składać się opis trzech elementów: informacji znanych (zwanych też danymi) informacji poszukiwanych (zwanych też wynikami) i metody otrzymania wyników na podstawie danych. Informacje znane (dane) Metoda przekształcania danych na wyniki Algorytm Informacje poszukiwane (wyniki) 26

27 Algorytm, klasa Konstruowanie i badanie algorytmów bez zdefiniowanego zbioru informacji znanych i szukanych jest jak badanie przebiegu zmienności funkcji bez znajomości jej dziedziny Zadanie otrzymania wyniku na podstawie danych może być rozwiązane różnymi sposobami, a jeśli da się je doprowadzić do postaci algorytmu, to mówimy o algorytmizacji problemu. Kiedyś można było powiedzieć: jestem dobrym informatykiem, bo umiem zalgorytmizować każdy problem i napisać program, który go rozwiązuje. Dzisiaj są to zaledwie podstawy tego zawodu. 27

28 Algorytm, klasa Klasa jest elementem konstrukcji programu, elementem języka programowania opisującym algorytm. Zanim poznamy język programowania pozwalający na definiowanie klas do ich definiowania zastosuję ilustrację nazwa klasy dane metody i operacje niezbędne do otrzymania wyników 28

29 Algorytmizacja przykład 1 Wyznaczyć pierwiastki równania kwadratowego zapisanego w postaci wielomianowej: Dane: współczynniki a,b,c Wyniki: pierwiastki (x 1,x 2 ) Metoda: 2 ax bx c + + = 0 2 Δ= b 4ac gdy Δ>0 x 1 = b + 2a Δ x 2 = b 2a Δ gdy Δ=0 gdy Δ<0 x 1 = x 2 = b 2a równanie nie ma pierwiastków w zbiorze liczb rzeczywistych. 29

30 Algorytmizacja przykład 2 Wyznaczyć pierwiastki równania kwadratowego zapisanego w postaci kanonicznej: ( ) 2 + = 0 a x x y w w Dane: współczynniki a,x w,y w Wyniki: pierwiastki (x 1,x 2 ) Metoda: gdy y w a>0 x 1 = x w y w a x 2 = x w + y w a gdy y w =0 x x = 1 = 2 x w gdy y w a<0 równanie nie ma pierwiastków w zbiorze liczb rzeczywistych 30

31 Algorytmizacja przykład 3 Wyznacz wartość dopłaty albo zwrotu podatku dochodowego od osób fizycznych Dane: przychody, koszty uzyskania, wpłacona zaliczka na podatek dochodowy, wydatki, które można odpisać od podstawy opodatkowania, wydatki, których część można odpisać od wartości podatku itp. Wyniki: wysokość dopłaty albo zwrotu podatku Metoda: sposób otrzymania wyniku najprościej uzyskać w informatorze dodawanym do deklaracji podatkowej wydawanej w okienku informacji przykładowo w: XX Urząd Skarbowy ul. YY nn kk-kkk Mmmm, pokój:. xxxxxxx Szczegółowe pytania o sposób obliczania podatku najbezpieczniej zadawać Urzędom Skarbowym na piśmie. Odpowiedź Urzędu nie jest jednak wiążąca (waga interpretacji odpowiedzi z urzędu skarbowego co kilka lat ulega zmianie). Trzeba liczyć na szczęście w życiu lub urok osobisty. 31

32 Algorytmizacja przykład 4 Schudnij stosując dietę dla smakoszy z nadwagą Dane: składniki: 6 dużych zielonych cebul, 1 lub 2 puszki pomidorów (mogą być świeże pomidory), duża główka kapusty, 2 zielone papryki, pęczek zielonego selera, 1 torebka przyprawy do zup. Wyniki: schudnięcie bez zaprzestawania spożywania jedzenia Metoda: podany w literaturze źródłowej (Wieczór Wybrzeża, str.3) sposób otrzymania wyniku jest następujący: pokroić jarzyny w małe lub średnie kawałki i zalać wodą, gotować na dużym ogniu 10 min., zmniejszyć gaz i gotować powoli aż do czasu, gdy jarzyny będą miękkie. 32

33 Algorytmizacja przykład 5 Wyznacz największy wspólny dzielnik (NWD) dwóch liczb całkowitych Dane: dwie nieujemne liczby całkowite a i b. Wyniki: największy wspólny podzielnik c liczb a i b. Metoda: iteracyjna do { // powtarzaj r = a%b; //co oznacza r = a mod b, reszta z dzielenia a = b; b = r; } while (r!= 0); // dopoki r rozne od 0 c = a; 33

34 Algorytmizacja przykład 5 Metoda: rekurencyjna // zastosuj ponownie ze zmienionymi parametrami int NWD(int a, int b){ if (b!= 0) return NWD(b, a % b); else return a; };... c = NWD(a,b)); bez dzielenia () while (a!=b) { //powtarzaj tak długo jak ( a>b ) if a = a - b; else b = b - a; }; c = a; 34

35 Algorytmizacja przykłady Przykład: 1 i Dane Metody Wyniki a) b) c) d) Linią przerywaną oznaczono te elementy algorytmu, które nie są w pełni zdefiniowane. 35

36 Algorytmizacja przykłady Poprawna, precyzyjna i jednoznaczna definicja wszystkich elementów składowych algorytmu determinuje powodzenie programisty przy opracowywaniu i wdrażaniu programu. Opracowywanie i wdrażanie dużych systemów informatycznych, zbudowanych z wielu współpracujących ze sobą programów, też jest uzależnione od jakości zdefiniowania tych samych trzech elementów, które składają się na definicję algorytmu: danych, wyników i sposobu otrzymania wyników na podstawie danych. Praktyka inżynierska pokazuje, że właściwa realizacja tych trzech punktów wcale nie jest taka prosta, a nabycie umiejętności formułowania wymagań definiujących algorytm jest istotnym elementem wykształcenia informatycznego. Przykładami nieprecyzyjnych określeń są przymiotniki: dobry, piękny, zdrowy, sprawiedliwy. Istotę problemy precyzyjnego formułowania wymagań (życzeń) jest bajka o rybaku i złotej rybce. W bajce rybka spełniła nie tylko trudne do zrealizowania życzenie rybaka, aby stał się bogaty, ale również domyśliła się, co dla rybaka oznacza "piękna żona" (trzecie życzenie w wersji, którą znam dotyczyło okazałego domu). Dla programisty określenie piękna nie wystarczyłoby do zdefiniowania algorytmu "modyfikacji" dotychczasowej żony rybaka, nawet gdyby to była żona wirtualna. 36

37 Algorytmizacja przykłady Algorytm Euklidesa jest najstarszym opisanym algorytmem iteracyjnym tzn. algorytmu który jest tak sformułowany, że otrzymanie wyniku (osiągnięcie celu) wymaga wielokrotnego wykonania tego samego zestawu poleceń. Przez tą właściwość algorytm Euklidesa jest historycznie ważnym algorytmem. Robienie niektórych zupek jest bez wątpienia jeszcze starszym algorytmem niż algorytm Euklidesa, ale nie jest to algorytm iteracyjny. Istotną cechą algorytmu jest jego następująca własność: dla każdego ustalonego zestawu danych algorytmu otrzymanie wyników wymaga skończonej liczby kroków. Czasami ta liczba jest bardzo duża, ale jest to zawsze liczba skończona. 37

38 Algorytmizacja przykłady Algorytm Euklidesa jest najstarszym opisanym algorytmem iteracyjnym tzn. algorytmu który jest tak sformułowany, że otrzymanie wyniku (osiągnięcie celu) wymaga wielokrotnego wykonania tego samego zestawu poleceń. Przez tą właściwość algorytm Euklidesa jest historycznie ważnym algorytmem. Robienie niektórych zupek jest bez wątpienia jeszcze starszym algorytmem niż algorytm Euklidesa, ale nie jest to algorytm iteracyjny. Istotną cechą algorytmu jest jego następująca własność: dla każdego ustalonego zestawu danych algorytmu otrzymanie wyników wymaga skończonej liczby kroków. Czasami ta liczba jest bardzo duża, ale jest to zawsze liczba skończona. 38

39 Algorytmy właściwości Przykładowymi cechami mierzalnymi są: wielkość programu, czas jego wykonywania, dokładność obliczeń, złożoność obliczeniowa zastosowanego algorytmu, złożoność pamięciowa zastosowanego algorytmu. Przykładowymi cechami niemierzalnymi są: poprawność - posiadanie tej cechy przez program oznacza, że program wytwarza pożądane wyniki na podstawie założonych danych, wykonalność -algorytm składa się z kroków wykonalnych dla wykonawcy algorytmu (np. komputera), testowalność -właściwość ta oznacza możliwość wykonania testów pozwalających rozstrzygnąć czy program bądź algorytm posiada niektóre z wyżej wymieniowych cech 39

40 Algorytmy klasyfikacja Przykładowo wyróżnia się algorytmy: numeryczne, graficzne, sterowania, komunikacyjne, kryptograficzne itp Czasami grupuje się algorytmy stosujące zbliżone metody rozwiązania zadania i otrzymania wyników. Przykładami mogą być tu grupy algorytmów i programów: deterministycznych, iteracyjnych, rekurencyjnych, losowych, heurystycznych, genetycznych. 40

41 Algorytmy czas życia Czy algorytmy i programy opracowane ponad 25 lat temu są nadal przydatne? Problem roku 2000 pokazał, że nie tylko algorytmy, ale również całe systemy informatyczne opracowane przed wielu laty są nadal stosowane. A jeśli tak, to czy w takim razie postęp technologiczny nie ma wpływu na rozwój zasad wytwarzania algorytmów? I tu odpowiedź jest twierdząca: ma wpływ na rozwój algorytmów. Ma wpływ poprzez: stosowanie i rozwój algorytmów wcześniej znanych, lecz niestosowanych ze względu na długi czas ich wykonywania lub zbyt dużą ilość danych bądź wyników. Przykładem może być rozwój algorytmów o złożonej postaci przetwarzanej informacji (skompresowany dźwięk albo obraz nieruchomy i ruchomy) rozwój algorytmów udostępniania danych szerokiemu gronu ich odbiorców w dowolnym miejscu i czasie, rozwój algorytmów związanych z uproszczeniem sposobu korzystania z komputera i lepszym oraz wygodniejszym sposobem wykorzystania jego zasobów, rozwój algorytmów usprawniających techniki wytwarzania oprogramowania. 41

42 Algorytmy zapisywanie Konstruując algorytm trzeba posiadać metodę jego zapisania. Spośród wielu znanych (teksty w języku naturalnym (np. polskim), diagramy, formalne zapisy o charakterze matematycznym) dalej będę stosował rzeczywisty język programowania C/C++. Powodem wybrania tej formy jest wymaganie, aby opracowane przez nas algorytmy rozwiązywania problemów można było samodzielnie uruchomić i sprawdzić ich działanie. Zapisywanie algorytmów w abstrakcyjnych językach opisu algorytmów może nas narazić na niejednoznaczności w ich interpretacji. Język programowania jest środkiem komunikacji między programistą a komputerem. Środkiem komunikacji między człowiekiem i maszyną. 42

43 Język programowania Dobry język programowania, to taki język, który pozwala na sprawną komunikację z komputerem. Na rysunku pokazano umiejscowienie języka programowania między algorytmem, a technologią. Szybkość zmian Dzisiaj Nowe algorytmy Nowe języki programowania Nowe parametry sprzętu, nowi użytkownicy komputerów Nowe zastosowania, nowe metody projektowania i wdrażania oprogramowania Czas 43

44 Język programowania Biorąc pod uwagę: złożoność konstrukcji poleceń języka programowania, wymaganą wiedzę o sposobie funkcjonowania systemu komputerowego oraz sprawność otrzymywania wyników można wyróżnić następujące generacje języków programowania: 1G - języki maszynowe (zapisy binarne poleceń dla procesora), 2G - języki niskiego poziomu (np. Asembler procesora 8080), 3G - języki średniego poziomu (np. BASIC, Pascal, C++, Fortran, Java, Cobol, C), 4G - języki wysokiego poziomu (np. język zapytań SQL), 5G lepsze niż 4G, choć definicja nie jest jednoznaczna. Oznaczenie 1G pochodzi od słów "pierwszej generacji" (ang. generation). Kolejny rysunek ilustruje wzajemne związki wymienionych generacji języków programowania na tle podanych wcześniej kryteriów ich oceny. Im wyższy numer generacji języka programowania tym osiągnięcie celu wymaga mniejszej wiedzy o systemie i mniejszego nakładu pracy. 44

45 Język programowania Sprawność uzyskania wyniku 5GL 4GL 3GL Nakład pracy 2GL Wiedza o systemie 1GL 45

46 System komputerowy Oprogramowanie A Użytkownik B Warstwa oprogramowania użytkowego Warstwa systemu operacyjnego Warstwa sprzętu C D Administrator systemu Sprzęt 46

47 System komputerowy Myszka Klawiatura Monitor Drukarka Dyski magnetyczne, CD, DVD Inne Magistrala Procesor Pamięć 47

48 System komputerowy Podstawowymi jednostkami funkcjonalnymi w warstwie urządzeń są: Procesor (na dzisiaj z wbudowanym koprocesorem arytmetycznym) -umożliwia automatyczną realizację rozkazów pobieranych z pamięci 450 operacyjnej. 385 MFLOPS Pamięć operacyjna -umożliwia zapisanie, przechowywanie i odczytywanie oddzielnie adresowanych liczb dwójkowych stanowiących rozkazy dla procesora oraz dane tych rozkazów. W pamięci operacyjnej są zapisane rozkazy aktualnie działającego programu. Magistrala (nazywana również szyną) - stanowi środek komunikacji pomiędzy elementami komputera. Magistrala służy do przesyłania adresowanych wartości liczbowych. Adresy określają miejsce zapisania bądź odczytania tych wartości. Urządzenia pamięci masowych, klawiatury, monitora ekranowego, drukarki, modemu, przyłącza sieciowego, skanera. 48

49 System komputerowy System operacyjny to zespół programów, które realizują dwie podstawowe funkcje: oddzielają użytkownika systemu od warstwy sprzętowej maskując szczegóły organizacji sprzętu oraz zapewniają efektywne zarządzanie zasobami systemu komputerowego (pamięcią operacyjną, pamięcią dyskową i czasem procesora). 49

50 System komputerowy Dostarcza tych środków trzema drogami: Poprzez graficzny interfejs użytkownika (ang. GUI Graphic User Interface) bądź też poprzez zestaw komend operatorskich (ang. shell) (interfejsy A, C, D), Poprzez zestaw programów systemowych (interfejsy A, C, D), Poprzez zestaw przywołań systemowych i API (ang. API Application Programming Interface) dostępnych dla programisty (interfejs B). Oprogramowanie A Użytkownik B Warstwa oprogramowania użytkowego Warstwa systemu operacyjnego Warstwa sprzętu C D Administrator systemu Sprzęt Systemy z graficznym interfejsem użytkownika (Windows, Linux z interfejsem graficznym, System 7 ) są dobrymi przykładami systemów oddzielających użytkownika od urządzeń. Użytkownik często nie wie gdzie zlokalizowane są jego pliki czy oprogramowanie użytkowe. I wiedza taka nie jest mu potrzebna do sprawnego korzystania z komputera. 50

51 System komputerowy Nr wersji Data pojawienia się na rynku Sumaryczna wielkość systemu w KB Rodzaj dysku Dyskietka SS - 180kB Dyskietka DS - 360kB XT, dysk stały do 32MB (01.84) 40.9 Płaskie napędy dyskietkowe AT, dysk stały do n*32mb Sieć komputerowa Dyskietki 3.5'' Dysk stały - powyżej 32MB Zarządzanie pamięcią operacyjną Dwa dyski stałe, dyskietki 2.88 MB, zarządzanie pamięcią Kompresja dysku, laptop

52 System komputerowy Podstawowe zadania realizowane przez system operacyjny to: Zainicjowanie pracy systemu komputerowego poprzez: Rozpoznawanie struktury systemu, Zainicjowanie pracy poszczególnych urządzeń zewnętrznych, Załadowanie odpowiedniej części oprogramowania ładującego system do pamięci operacyjnej, Interpretacja poleceń użytkownika wydawanych poprzez interfejs graficzny jak i komend operatorskich, Obsługa wszystkich urządzeń zewnętrznych dołączonych do systemu komputerowego, Obsługa plików z danymi i programami, umieszczonych i dostępnych na urządzeniach zewnętrznych obejmująca: Definicję sposobu identyfikacji tych plików, Rozmieszczenie plików na urządzeniach zewnętrznych, Różne formy dostępu do plików, Przenoszenie plików między różnymi urządzeniami (kopiowanie) i kontrolę poprawności operacji przenoszenia, Przepisywanie do pamięci operacyjnej i uruchamianie, Ochronę przed zniszczeniem. 52

53 System operacyjny Linux Użytkownik Oprogramowanie A B Warstwa oprogramowania użytkowego Warstwa systemu operacyjnego Warstwa sprzętu C D Administrator systemu Sprzęt Krótka historia: ATT Bell Laboratories Multics -> UNIX->UNIX ->XENIX ->BSD UNIX ->MINIX ->AI/X, HP-UX itp ->LINUX Literatura: Korzystając z wyszukiwarki (np. Google) zadać pytanie "Linux tutorial". Można liczyć na tysiące odpowiedzi (patrz plik Linux tutorial.pdf). Odpowiedzi wyszukiwarek często się zmieniają, gdyż zmienia się zawartość serwerów internetowych 53

54 System operacyjny Linux Tryb emulacji terminala dokładne odtworzenie sposobu pracy terminala dołączanego do serwera za pomocą interfejsu szeregowego. Pierwsze terminale (monitor + klawiatura + odrobina elektroniki) były dołączane do serwerów Unix-owych bezpośrednio za pomocą specjalnego kabla wieloprzewodowego, bądź za pomocą modemu i wolnego łącza telefonicznego. Terminale bezpośrednio dołączone do serwera Terminal Serwer Terminal 54

55 System operacyjny Linux Terminal dołączony do serwera przez sieć telefoniczną Modem Modem Serwer Terminal 55

56 System operacyjny Linux Oprogramowanie emulatora terminala w sieci laboratorium Lokalna sieć komputerowa w laboratorium Przełącznik Serwer z systemewm LINUX Komputer osobisty z oprogramowaniem emulatora terminala 56

57 System operacyjny Linux Oprogramowanie emulatora terminala w mieszkaniu Rozległa sieć komputerowa Ruter Ruter Serwer Komputer osobisty z oprogramowaniem emulatora terminala w mieszkaniu użytkownika 57

58 System operacyjny Linux Inicjowanie pracy Podstawą pracy w ramach laboratorium będzie sesja terminalowa z realizowana ze środowiska Windows. Studenci wydziału FTiMS mają konta na serwerze olimp.mif.pg.gda.pl. Sesja terminalowa Podstawą pracy będzie usługa telnet. Gdyby usługa telnet dostępna w systemie Windows nie dawała możliwości współpracy z serwerem, to proszę skorzystać z programu puty.exe i otworzyć sesję SSH (Bezpieczny terminal/konsola): ~sgtatham/putty/. Po uruchomieniu programu putty należy podać nazwę serwera, wybrać protokół SSH (Secure Shell) oraz otworzyć sesję. 58

59 System operacyjny Linux 59

60 System operacyjny Linux Należy wybrać odpowiedź TAK. Odpowiedź TAK spowoduje nawiązanie bezpiecznego połączenia z serwerem. Bezpieczeństwo połączenia z serwerem będzie polegało na przesyłaniu zaszyfrowanej informacji między terminalem i serwerem. Serwer będzie oczekiwał na podanie loginu. Loginem jest ciąg znaków, który przydzielił administrator systemu. Dla studentów WFTiMS login to: pierwsza litera imienia + 7 liter z nazwiska bądź całe nazwisko gdy jest krótsze niż 7 znaków. 60

61 System operacyjny Linux Po podaniu loginu należy podać hasło: nr pesel 61

62 System operacyjny Linux Otwarcie sesji: login: <login_uzytkownika> password: <haslo_uzytkownika> // bez echa na ekranie > Niepoprawne otwarcie sesji (niepoprawny login albo hasło): login incorrect login: <login_uzytkownika> password: <haslo_uzytkownika> // bez echa na ekranie 62

63 System operacyjny Linux Gdyby okazało się, że wielkość znaków na ekranie jest zbyt mała, to należy nacisnąć na prawy klawisz myszy i wybrać opcję "Change Settings". W oknie przedstawionym na rysunku 7 wybrać opcję "Terminal" i zmienić wielkość fontów terminala (np. ustawić na 12). 63

64 System operacyjny Linux 64

65 System operacyjny Linux Zmiana hasła: >passwd Changing password for user rsob. Changing password for rsob (current) UNIX password: New UNIX password: Zamknięcie sesji: >logout //albo >exit 65

66 System operacyjny Linux Program mc 66

67 System operacyjny Linux Program mc Pomoc F1 Prywatne menu F2 Wyświetlanie zawartości pliku F3 Edycja zawartości pliku tekstowego F4 Kopiowanie pliku, plików lub folderu F5 Okna Przełączanie pomiędzy oknami Tab Zamiana położenia okien <CTRL>U Zaznaczenie grupy plików + Odwrócenie zaznaczeń * Kopiowanie z usunięciem pliku, plików lub folderu; zmiana nazwy pliku F6 Utworzenie foldera F7 Usunięcie pliku, plików lub foldera F8 Linia menu F9 Zakończenie pracy z programem mc F10 Włączenie i wyłączenie okien <CTRL>O Zaznaczenie/(usunięcie zaznaczenia) pliku Ins Usunięcie zaznaczenia pliku - Edytor Utworzenie nowego pliku <SHIFT>F4 Edytowanie pliki już istniejącego F4 Zapisanie zawartości pliku F2 Zmiana nazwy edytowanego pliku <SHIFT> F2 Zakończenie edycji F10 Usunięcie linii <CTRL> Y 67

68 System operacyjny Linux Program mc 68

69 System operacyjny Linux Identyfikacja plików i ich atrybuty Nazwa pliku: 14 znaków ASCI (najczęściej litery, cyfry, _,.) brak rozszerzenia pliku. Pliki wykonywalne posiadają atrybut wykonalności. Nazwa ich nie identyfikuje. Efekt wykonania polecenia: ls -l [rsob@mifgate rsob]$ ls -l total 40 -rw-r--r-- 1 rsob staff 1084 Oct acm.txt drwxr-xr-x 6 rsob staff 4096 Jan 24 15:25 Archi -rw rsob staff 409 Nov dead.letter drwx rsob staff 4096 May 4 20:23 mail -rw-r--r-- 1 rsob staff 1955 Dec 11 12:10 monika4.cpp -rwxr-xr-x 1 rsob staff Nov pr drwxr-xr-x 3 rsob staff 4096 Nov 24 08:46 public_html [rsob@mifgate rsob]$ 69

70 System operacyjny Linux Użytkownicy pliku: właściciel, grupa użytkowników, pozostali Atrybuty pliku (prawa dostępu): z r w x r w x r w x uprawnienia uprawnienia uprawnienia właściciela grupy pozostałych użytkowników z - typ opisu: 'd' - folder, ' ' - plik r - prawo do czytania w - prawo do pisania x - prawo do wykonania (uruchomienia) - - brak prawa Zmiana atrybutów pliku: chmod nowe_atrybuty nazwa_liku nowe_atrybuty: trzy cyfrowa liczba ósemkowa. (777)8 - rwx rwx rwx (751)8 - rwx r-x --x (530)8 - r-x -wx

71 System operacyjny Linux Utworzenie pliku tekstowego (edytor tekstowy - vi, pico, emacs... albo wprost z linii poleceń terminala: cat > tekst tekst probny <ctrl D> Wyświetlenie zawartości pliku tekstowego: cat nazwa_pliku more Kopiowanie pliku: cp nazwa_pliku folder cp nazwa_pliku nowa_nazwa Przenoszenie plików do innych folderów i zmiana nazwy pliku: mv nazwa_pliku folder mv nazwa_pliku nowa_nazwa Łączenie plików tekstowych: cat plik_2 >> plik_1 71

72 System operacyjny Linux Polecenia i funkcje obsługi plików Wyświetlenie zawartości foldera: ls // wykaz plików dir // wykaz plików ls -l // lista plików z długim opisem pliku Utworzenie foldera: mkdir nazwa_foldera Zmiana widocznego foldera: cd nazwa_foldera Usunięcie pustego foldera: rmdir nazwa_foldera Usunięcie foldera z plikami: rm -r nazwa_foldera Nazwa_foldera (np.): rsob/teksty/zaleczenia Ścieżka dostępu 72

73 System operacyjny Linux Pomoc (trzeba znać angielski!) man nazwa polecenia Przykład: man ls Poruszanie się po tekście pomocy: klawisze strzałka w górę i w dół, klawisze strona w górę i w dół Wyjście z pomocy: klawisz <q> Strona o komendach Linuxa 73

74 System operacyjny Linux Usługi internetowe Program pine 74

75 System operacyjny Linux Usługi internetowe ftp File Transport Protocol 75

76 System operacyjny Linux Usługa FTP w systemie Windows98/2000/XP: Uruchomienie w środowisku Windows: Start-> Uruchom->ftp Zgłoszenie aktywności usługi w oknie konsoli: ftp> Polecenia usługi: help wyświetlenie na ekranie wszystkich poleceń help xxxx - wyświetlenie na ekranie informacji o poleceniu xxxx open otwarcie sesji z odległym (zdalnym) serwerem open sad.mif.pg.gda.pl user udostępnienie użytkownikowi zawartości jego foldera na odległym serwerze dir wyświetlenie zawartości aktywnego foldera binary ustawienie trybu przesyłania plików binarnych put wysłanie do foldera na odległym serwerze lokalnego pliku (pliku ze środowiska Windows) put c:\xxx.yyy xxx.yy get odebranie z foldera na odległym serwerze pliku get xxxx.yyy c:\xxx.yyy quit zakończenie pracy 76

77 System operacyjny Linux Bezpieczna usługa FTP (program WinSCP) 77

78 System operacyjny Linux Nowa sesja: Nazwa hosta: serwer laboratoryjny 'olimp'. Nazwa użytkownika: login studenta. Protokół: SFTP (bezpieczny protokół) 78

79 System operacyjny Linux Okno z zawartością foldera Okno z zawartością foldera użytkownika w komputerze osobistym rsob na serwerze 'olimp' Edytuj plik - F4 Kopiuj - F5 Przenieś plik - F6 Utwórz folder (katalog) - F7 Usuń plik - F8 Zakończenie sesji - F10 79

80 LaTeX Historia: TeX - narzędzie (język i kompilator) profesjonalnego składu drukarskiego tekstów naukowych, w szczególności matematycznych. Nazwa pochodzi od greckiego τεχηε - rzemiosło. Autorem TeX-a jest Donald E. Knuth - matematyk i informatyk. Autor kilkutomowej książki Sztuka programowania (ang. The Art of Computer Programming). Strona książki 80

81 LaTeX [Zdjęcie ze strony 81

82 LaTeX Książka została w ostatnich latach przetłumaczona na polski, ale jej nakład jest już wyczerpa-ny. 82

83 LaTeX W roku 1985 (po ośmiu latach prac nad definicją języka opisu dokumentu) uznano, że nie ma potrzeby dalszego wzbogacania języka TeX. TeX jest standardem wykonywania dokumentów naukowych stosowanym w wielu wydawnictwach matematycznych. Donald Knuth jest autorem przetłumaczonego na polski przewodnika po języku TeX: Knuth D.E.: TeX - Przewodnik użytkownika, Warszawa: WNT, 2005 METAFONT - narzędzie do definiowania czcionek używanych w składzie drukarskim opracowane przez Donalda Knutha 83

84 LaTeX LaTeX - Leslie Lamport TeX - zestaw makr, które pozwalają korzystać z TeX-a osobom o niedużym przygotowaniu zecerskim i otrzymywać profesjonalne dokumenty (z drukarskiego punktu widzenia). W języku polskim wydano kilka podręczników LaTeXa, w tym podręcznik Lamporta: Lamport L.: Latex - Podręcznik i przewodnik użytkownika, Warszawa: WNT,

85 LaTeX TeX i LaTeX to starszy sposób myślenia o opracowywanym dokumencie. We współczesnych programach typu WYSIWYG (ang. What You See Is What You Get - to co widzisz jest tym co otrzymasz). Plik tekstowy zawiera tekstową definicję dokumentu. Definicja ta jest konwertowana na plik graficzny. Narzędzia: pakiet protext - t/ (TeX User Group) Pliki z czcionkami, pakiety Edycja Kompilacja Plik źródłowy tekstu/bibliografii Plik do wynikowe (DVI, PDF, PS) Sprawdzenie tekstu 85

86 LaTeX Plik tekstowy definiujący dokument z zastosowaniem LaTeXa zawiera: Definicję szablonu dokumentu obejmującą: deklarację klasy dokumentu wraz z opcjami zmiany formatu strony, zmiany zestawu domyślnych czcionek, zmiany formatu nagłówków i stopek stron, definicje nietypowych czcionek, przywołanie pakietów narodowych, przywołanie pakietów rozszerzających zbiór komend definiujących zawartość dokumentu (np. grafika), definicje elementów strony tytułowej dokumentu otoczenia zdefiniowane przez autora tekstu oraz zdefiniowane w pakietach rozszerzających, Zawartość dokumentu: struktura dokumentu (rozdziały, podrozdziały i spis treści), treść dokumentu w sformatowanych akapitach, listy, wyliczenia i opisy, odnośniki do elementów dokumentu, przypisy, wzory w tekście i wzory wydzielone (numerowane i nienumerowane), tabele i spis tabel, rysunki i dołączone elementy graficzne, spis rysunków, indeks, bibliografia. 86

87 LaTeX Przykładowa definicja dokumentu (czcionka Courier) wraz z wyjaśnieniami (czcionka TimesRoman) : \documentclass[format strony]{klasa dokumentu} klasa dokumentu: report, book, article format strony: a4paper, letter Dla dokumentu klasy: report: Definicja tytułu: \title{tytuł raportu} Określenie autora: \author{imię i nazwisko autora} - zawsze, gdy jest tytuł raportu Początek tekstu raportu: \begin{document} Wygenerowanie tytułu: \maketitle Koniec tekstu raportu: \end{document} % komentarz 87

88 Przykład: LaTeX % Przykład do wykładu 'Elementy i narzędzia informatyki' \documentclass[a4paper]{report} \title{raport} \author{rs} \begin{document} \maketitle \end{document} 88

89 LaTeX Przykład: Raport będzie przygotowany w języku polskim i będzie się składał z 2 rozdziałów i podrozdziałów: \documentclass[a4paper]{report} \usepackage[cp1250]{inputenc} % obsługa znaków polskiego alfabetu % zgodnie ze standardem Windows \usepackage{polski} % stosowanie polskiego słownika % polskich liter i fontów % polskich reguł dzielenia wyrazów \title{raport} \author{rs} \begin{document} \maketitle % Wyświetlenie strony tytułowej \tableofcontents % Spis treści \chapter{pierwszy} % Pierwszy rozdział raportu \section{pierwszy-podpierwszy} % Sprawdzanie ortografii w środowisku % Technicenter Tekst rozdziału pierwszego, punkt pierwszy. \chapter{drugi} % Drugi rozdział raportu Tekst rozdziału drugiego, punkt pierwszy. \section{drugi-podpierwszy} \end{document} 89

90 LaTeX Formatowanie tekstu: {\em wyróżnienie} tekstu \begin{em} wyróżnienie \end{em}tekstu {\bf pogrubienie} tekstu {\sl pochylenie} tekstu % patrz wyróżnienie tekst {\tt maszyny do pisania} tekst \begin{verbatim} maszyny do pisania \end{verbatim} i jeszcze kilka innych (do samodzielnego rozpoznania w ramach laboratorium i samodzielnej nauki). Znaki z innych języków: \^{u}, \`{u}, \'{u}, \"{u}, \~{u}, \={u}, \.{u}, \u{u}, \v{u}, \H{u}, \t{u}, \c{u}, \d{u}, \b{u}, \dag, \S, \copyright, \pounds, \#, \$, \%, \&, \_, \{, \}. fi fi % efekty zecerskie 90

91 Lista, wyliczenie i opis \begin{itemize} \item piewszy \item drugi \item trzeci \end{itemize}, LaTeX \begin{enumerate} \item piewszy \item drugi \item trzeci \end{enumerate} \begin{description} \item[pierwszy] piewszy \item[drugi] drugi \item[drugi] trzeci \end{description} 91

92 LaTeX Zagnieżdżenie list, wyliczeń i opisów: \begin{itemize} \item piewszy \item drugi \begin{itemize} \item piewszy \item drugi \begin{description} \item[pierwszy] piewszy \item[drugi] drugi \item[drugi] trzeci \end{description} \item trzeci \begin{enumerate} \item piewszy \item drugi \item trzeci \end{enumerate} \end{itemize} \item trzeci \end{itemize} 92

93 GNUPlot GNU - GNU's Not Unix: Free Software Foundation: GNUPlot:

94 GNUPlot proste wykresy: np.: plot sin(x)/x wykresy do plików graficznych # Czyszczenie 'ekranu' clear # Skierowanie wyniku do pliku graficznego typu GIF set terminal gif # Nazwa pliku z wynikowym wykresem set output 'MSSD04.gif' # Na wykresie bedzie siatka set grid # Ustaw tekst na wykresie set label "r" at 0.5,-0.02 font "Symbol,12" set label "Q" at -0.07, 0.55 # Cztery zaleznosci definiujace wykresy p001(x)=x/(1+x) p1(x) =(1-x)*x*exp( 0.1*(x-1))/(1-x*x+x*x*(1-exp( 0.1*(x-1)))) p2(x) =(1-x)*x*exp( 1.0*(x-1))/(1-x*x+x*x*(1-exp( 1.0*(x-1)))) p10(x) =(1-x)*x*exp(10.0*(x-1))/(1-x*x+x*x*(1-exp(10.0*(x-1)))) # Wykonanie wykresu plot [p=0:1.0] [0:0.6] p001(p) title "model M/M/1/-/0", p1(p) title "a = 0.1", p2(p) title "a = 1", p10(p) title "a = 10" with lines 1000 # 'Sprzatanie' unset label unset grid demo programu 94

95 Cykl wytwarzania programu, pierwszy program Narzędzia programowe służące do: utworzenia tekstu programu i przetłumaczenia go na formę zrozumiałą dla procesora są przykładami programów należących do warstwy oprogramowania użytkowego. Uzyskanie z pliku tekstowego zawierającego program napisany przez programistę, pliku zawierającego wartości, które procesor potrafi zinterpretować jako rozkazy i dane wymaga wykonania szeregu czynności. Ze względu na cykliczny charakter tych czynności mówimy o cyklu wytwarzania programu. Tradycyjny i typowy cykl wytwarzania programu wygląda tak jak to przedstawia rysunek 95

96 Cykl wytwarzania programu, pierwszy program Edycja Plik źródłowy Kompilacja Pliki biblioteczne Plik źródłowy Łączenie Plik wykonywalne Uruchomienie i testowanie 96

97 Cykl wytwarzania programu, pierwszy program Edycja programu jest pierwszą fazą cyklu i w wyniku edycji powstaje plik zawierający program w postaci źródłowej. Postać źródłowa programu to plik zawierający tekst, który opisuje algorytm w języku programowania. Kompilacja programu Jest to faza, w której z pliku źródłowego wytwarzany jest plik zawierający program przetłumaczony do postaci zrozumiałej dla procesora, ale nie nadaje się on do uruchomienia. Plik ten jest nazywany plikiem relokowalnym. W przypadku, gdy program w postaci źródłowej zawierał tekst, którego kompilator nie potrafił zinterpretować pojawiają się informację o rodzaju rozpoznanych błędów programowania i plik przeznaczony do następnej fazy nie powstaje. Należy powrócić do pierwszej fazy cyklu i poprawić błędy rozpoznane przez kompilator. 97

98 Cykl wytwarzania programu, pierwszy program Łączenie pliku relokowalnego z bibliotekami funkcji i procedur (standardowymi i prywatnymi) oraz określenie operacyjnej komputera. Biblioteka lokalizacji programu w pamięci jest plikiem zawierającym wcześniej skompilowane programy zawierające najczęściej stosowane funkcje. Biblioteka pozwala uniknąć wielokrotnego pisania i kompilowania tych funkcji. Krok ten czasami jest nazywany konsolidacją. Ostateczny rezultat tej fazy to plik zawierający program wykonywalny (w postaci zrozumiałej dla procesora i systemu operacyjnego, w którego środowisku będzie uruchomiony). W tej fazie mogą pojawić się błędy związane z niedostępnością bibliotek lub błędy związane z niepoprawnym definiowaniem funkcji bibliotecznych. Ich poprawienie najczęściej wymaga ponownego ustawienia parametrów łączenia plików, bądź powrotu do fazy edycji. 98

99 Cykl wytwarzania programu, pierwszy program Uruchamianie i testowanie programu W tej fazie programista sprawdza, w jakiej mierze wykonywany program działa zgodnie z oczekiwaniami odbiorcy programu. Stąd już przy rozpoczęciu pisania programu warto spróbować odpowiedzieć na pytanie jak program powinien działać i w jaki sposób przekonać się, że jest taki jak miał być. Przydatność programu i zakres jego zastosowania muszą być przez autora programu potwierdzone za pomocą odpowiednich testów. Testowanie programu zazwyczaj wymaga jego wielokrotnego uruchomienia z różnymi zestawami danych. Bardzo często okazuje się, że program nie funkcjonuje zgodnie z naszymi oczekiwaniami i należy wrócić do fazy edycji. 99

100 Cykl wytwarzania programu, pierwszy program Narzędzia programowe stosowane przy wytwarzaniu oprogramowania Nazwa fazy Edycja Kompilacja Łączenie Uruchamianie i testowanie Nazwa narzędzia Edytor Kompilator Linker Debuger DevC++, Visual Studio C++ 6, Visual Studio C

101 Cykl wytwarzania programu, pierwszy program Wszystkie przykłady programów i algorytmów w I i II semestrze będą podane w języku ANSI C i C++. Jest to pewne odstępstwo od praktyki szkoły średniej, w której przedmiot tego typu opierał się na języku Pascal. Powodem, który przemawiał za Pascalem było przekonanie, że jest to język o dużych walorach dydaktycznych i przez to język, którego łatwiej się nauczyć i nauczyć innych. Niewątpliwie język Pascal ma wiele walorów o charakterze dydaktycznym, ale wynikają one z faktu, iż jest on bardziej oddalony" od komputera niż język C. Jestem przekonany, że początkujący programista nie powinien być z założenia odsuwany od "bliższego" spotkania ze sposobem działania komputera. Dodatkowe powody, dla których bardziej odpowiedni na tym poziomie nauczania i w tym miejscu procesu nauczania informatyki jest język C są następujące: znajomość języka C otwiera drogę do szybkiego opanowania innych języków programowania takich jak C++, C#, Java, PHP. wymagania rynku pracy dla studentów, byłych studentów i absolwentów ANSI - Amerykański Instytut Standar-dów (ang. American National Standards Institute) [ C# Java C++ C PHP 101

102 Cykl wytwarzania programu, pierwszy program Języka programowania, podobnie jak języka naturalnego, można nauczyć się dwoma metodami: przez podanie formalnej definicji języka obejmującej jego alfabet, składnię i semantykę albo przez rozpoczęcie samodzielnego pisania coraz bardziej złożonych programów. Najpopularniejszym przykładem stosowania obu metod nauczania jest nauka pływania. Można zacząć od ćwiczeń teoretycznych na brzegu basenu albo wrzucić uczących się do basenu i pomóc tym, którzy mają kłopoty z utrzymaniem się na powierzchni wody. Zastosuję drugą metodę. Najprostszy program int main () { // naglowek programu (funkcja główna) //blok programu return 0; } 102

103 Cykl wytwarzania programu, pierwszy program /* Program wyznaczajacy czas wielokrotnego obliczania wartosci funkcji sinus*/ #include "stdio.h #include "time.h #include "math.h const int N 10000; int i,j,pocz,kon; float x; time_t tp; struct tm *p_tp; int main() { time (&tp); p_tp = localtime(&tp); pocz = p_tp->tm_sec; printf("prosze czekac!\n"); printf("start : %s\n",asctime(p_tp)); /* Obliczanie wartosci funkcji sinus */ for (i = 1;i <= N;i++) for (j = 1;j <= N;j++) x=sin(m_pi*i*j/(n*n)); /* Zapis 1 */ time(&tp); p_tp = localtime(&tp); printf("stop : %s\n", asctime(p_tp)); kon = p_tp->tm_sec; if (kon - pocz < 0) kon = kon + 60; printf("czas obliczen: %2d [s]\n", kon - pocz); return 0; } (* Program wyznaczajacy czas wielokrotnego obliczania wartosci funkcji sinus*) program Przyklad; uses crt, Dos const N = 10000; var i,j :integer; x :real; hp,mp,sp,csp,hk,mk,sk,csk:word; begin gettime(hp,mp,sp,csp); writeln('prosze czekac!','start:',hp:2,':',mp:2,':', sp:2); (* Obliczanie wartosci funkcji sinus *) for i := 1 to N do for j := 1 to N do x:=sin(pi*i*j/(n*n)); (* Zapis 1 *) gettime(hk,mk,sk,csk); writeln('stop :',hk:2,':',mk:2,':', sk:2); if sk - sp < 0 then sk := sk + 60; writeln('czas obliczen :',sk - sp:2); readln; end. 103

104 Cykl wytwarzania programu, pierwszy program Zapis DevC DJGPP Turbo C2.0.1 Borland C Microsoft Visual C++ v.6 Free PASCAL Turbo PASCAL [s] 10[s] 13[s] 13[s] 12[s] 11[s] 49[s] 30[kB] 163[kB] 30[kB] 33[kB] 197[kB] 20[kB] 11[kB] 2 9[s] 5[s] 12[s] 7[s] 8[s] 14[s] 47[s] 3 27 [s] 12 [s] 16 [s] 16[s] 14 [s] 104

105 Cykl wytwarzania programu, pierwszy program C PASCAL /* Zapis nr 1 */ (* Zapis nr 1 *) x = sin(m_pi * i * j/(n*n)); x := sin(pi * i * j /(N*N)); jest odpowiednikiem następującej zależności matematycznej: a zapis 2: x = π i j sin n n /* Zapis nr 2 */ (* Zapis nr 2 *) x = sin(m_pi * (i/n) * (j/n)) x := sin(pi * (i / n) * (j / n)); odpowiada zależności postaci: x = sin π i n j n 105

106 Cykl wytwarzania programu, pierwszy program Zastanawiające jest jednak znaczne skrócenie czasu trwania programu napisanego w języku C. Dokładniejsza analiza działania programu pokazuje, że program ten nie działa właściwie i wartości funkcji sinus są wyznaczane niepoprawnie. Źródłem błędu jest sposób interpretowania przez kompilator języka C wyniku dzielenia dwóch liczb całkowitych (i/n oraz j/n). Uzyskanie poprawnych wyników wymaga poinformowania kompilatora, że wynik dzielenia ma być potraktowany jako liczba zmiennoprzecinkowa, a nie całkowita. C /* Zapis nr 3 */ x = sin(m_pi * ((float)i/n)) *((float)j/n)); 106

107 Cykl wytwarzania programu, pierwszy program Już pierwsze przykłady pokazują, że konstruowanie algorytmów dla komputerów i programowanie wcale nie musi być banalnie proste. Pokazują, że korzystając z tych samych opisów algorytmów, ale różnych języków ich wyrażania oraz różnych narzędzi ich kompilowania otrzymujemy programy o zupełnie różnej wielkości, różnym czasie wykonania i co najgorsze programy poprawne oraz niepoprawne. 107

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

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

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: TECHNOLOGIA INFORMACYJNA 2. Kod przedmiotu: Ot 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Automatyka i Robotyka 5. Specjalność: Informatyka

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

Spis treści. Podstawy posługiwania się komputerem

Spis treści. Podstawy posługiwania się komputerem Spis treści Podstawy posługiwania się komputerem 1. Budowa i działanie komputera 15 1.1. Komputery i ich rodzaje 15 1.2. Zasada działania komputera 18 1.2.1. Komputer a użytkownik 18 1.2.2. Przetwarzanie

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Algorytm. Krótka historia algorytmów

Algorytm. Krótka historia algorytmów Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: TECHNOLOGIA INFORMACYJNA 2. Kod przedmiotu: Ot 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Automatyka i Robotyka 5. Specjalność: Elektroautomatyka

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

Bardziej szczegółowo

O higienie pracy, komputerze, sieciach komputerowych i Internecie

O higienie pracy, komputerze, sieciach komputerowych i Internecie WYMAGANIA EDUKACYJNE INFORMATYKA GIMNAZJUM KLASA I NA ŚRÓDROCZNĄ I ROCZNĄ OCENĘ KLASYFIKACYJNĄ NA ŚRÓDROCZNĄ: O higienie pracy, komputerze, sieciach komputerowych i Internecie - zna regulamin pracowni

Bardziej szczegółowo

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier Systemy operacyjne Instrukcja laboratoryjna Ćwiczenie 1: Polecenia systemu UNIX/LINUX Opracował: dr inż. Piotr Szpryngier Olsztyn 2009 1 Wprowadzenie. Cel zajęć praktycznych. Wymagania stawiane studentom

Bardziej szczegółowo

1. Zaczynamy! (9) 2. Edycja dokumentów (33)

1. Zaczynamy! (9) 2. Edycja dokumentów (33) 1. Zaczynamy! (9) Uruchamiamy program Word i co z tego wynika... (10) o Obszar roboczy, czyli miejsce do pracy (12) Otwieranie dokumentów w programie Word (14) o Tworzenie nowego dokumentu (14) o Otwieranie

Bardziej szczegółowo

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix Wydział Zarządzania i Modelowania Komputerowego Specjalność: Informatyka Stosowana Rok III Semestr V 1. Logowanie w systemie Unix. Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne page.1 Technologie Informacyjne Wersja: 4 z drobnymi modyfikacjami! Wojciech Myszka 2013-10-14 20:04:01 +0200 page.2 Cel zajęć Cele zajęć: Uaktualnienie i ujednolicenie wiedzy/terminologii oraz zdobycie

Bardziej szczegółowo

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Technologie informacyjne Rok akademicki: 2014/2015 Kod: CCB-1-104-s Punkty ECTS: 3 Wydział: Inżynierii Materiałowej i Ceramiki Kierunek: Chemia Budowlana Specjalność: - Poziom studiów: Studia

Bardziej szczegółowo

3.1. Na dobry początek

3.1. Na dobry początek Klasa I 3.1. Na dobry początek Regulamin pracowni i przepisy BHP podczas pracy przy komputerze Wykorzystanie komputera we współczesnym świecie Zna regulamin pracowni i przestrzega go. Potrafi poprawnie

Bardziej szczegółowo

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE WIADOMOŚCI I UMIEJĘTNOŚCI UCZNIÓW

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE WIADOMOŚCI I UMIEJĘTNOŚCI UCZNIÓW EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE I UCZNIÓW Ocena celujący bardzo dobry dobry dostateczny dopuszczający Zakres wiadomości wykraczający dopełniający rozszerzający podstawowy

Bardziej szczegółowo

biegle i poprawnie posługuje się terminologią informatyczną,

biegle i poprawnie posługuje się terminologią informatyczną, INFORMATYKA KLASA 1 1. Wymagania na poszczególne oceny: 1) ocenę celującą otrzymuje uczeń, który: samodzielnie wykonuje na komputerze wszystkie zadania z lekcji, wykazuje inicjatywę rozwiązywania konkretnych

Bardziej szczegółowo

Wiadomości i umiejętności

Wiadomości i umiejętności Kryteria oceniania wiadomości i umiejętności uczniów z informatyki. Zakres wymagań na poszczególne oceny szkolne dla klas IV VI do programu nauczania Przygoda z komputerem DKW 4014 125/00 Opracował: mgr

Bardziej szczegółowo

Spis treści 3. Spis treści

Spis treści 3. Spis treści 3 Wstęp... 9 1. Informatyka w procesie zarządzania przedsiębiorstwem... 15 1.1. Związek informatyki z zarządzaniem przedsiębiorstwem... 17 1.2. System informacyjny a system informatyczny... 21 1.3. Historia

Bardziej szczegółowo

Plan nauczania informatyki Opracował: mgr Daniel Starego

Plan nauczania informatyki Opracował: mgr Daniel Starego Obowiązuje od roku szkolnego 000/00 Plan nauczania informatyki Opracował: mgr Daniel Starego Szkoła podstawowa klasy IV VI Dział, tematyka L. godz. I rok II rok. TECHNIKA KOMPUTEROWA W ŻYCIU CZŁOWIEKA

Bardziej szczegółowo

ZAJĘCIA KOMPUTEROWE KLASA IV. Opis wymagań, które uczeń powinien spełnić, aby uzyskać ocenę:

ZAJĘCIA KOMPUTEROWE KLASA IV. Opis wymagań, które uczeń powinien spełnić, aby uzyskać ocenę: ZAJĘCIA KOMPUTEROWE KLASA IV Opis wymagań, które uczeń powinien spełnić, aby uzyskać ocenę: CELUJĄCĄ Opanował wiadomości i umiejętności wynikające z programu nauczania na ocenę bardzo dobrą i ponadto:

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Przedmiotowy system oceniania z informatyki

Przedmiotowy system oceniania z informatyki Przedmiotowy system oceniania z informatyki Przedmiotowy system oceniania został skonstruowany w oparciu o następujące dokumenty: Rozporządzenie MEN z dnia 7 września 2004 roku w sprawie zasad oceniania,

Bardziej szczegółowo

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie System komputerowy System komputerowy (ang. computer system) to układ współdziałaniadwóch składowych: sprzętu komputerowegooraz oprogramowania, działających coraz częściej również w ramach sieci komputerowej.

Bardziej szczegółowo

Wymagania - informatyka

Wymagania - informatyka Budowa i przeznaczenie komputera osobistego System operacyjny jednostka centralna, dysk twardy, pamięć RAM, płyta główna, procesor system operacyjny, DOS, Windows 95/98, WinXP, Win7 Znajomość podstawowych

Bardziej szczegółowo

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1 Wyższa Szkoła Ekologii i Zarządzania Informatyka Arkusz kalkulacyjny 2010 dla WINDOWS cz. 1 Slajd 1 Slajd 2 Ogólne informacje Arkusz kalkulacyjny podstawowe narzędzie pracy menadżera Arkusz kalkulacyjny

Bardziej szczegółowo

Zapisywanie algorytmów w języku programowania

Zapisywanie algorytmów w języku programowania Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym

Bardziej szczegółowo

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej. Dział Zagadnienia Wymagania podstawowe Wymagania ponadpodstawowe Arkusz kalkulacyjny (Microsoft Excel i OpenOffice) Uruchomienie

Bardziej szczegółowo

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Przemysław Kobylański Wprowadzenie Każdy program w C musi zawierać przynajmniej funkcję o nazwie main(): Aby możliwe

Bardziej szczegółowo

Informatyka. Michał Rad

Informatyka. Michał Rad Informatyka Michał Rad 13.10.2016 Co i po co będziemy robić Plan wykładów: Wstęp, historia Systemy liczbowe Co to jest system operacyjny i po co to jest Sprawy związane z tworzeniem i własnością oprogramowania

Bardziej szczegółowo

Podstawy Informatyki. Wykład 4 Komendy UNIXa, cd

Podstawy Informatyki. Wykład 4 Komendy UNIXa, cd Podstawy Informatyki Wykład 4 Komendy UNIXa, cd Komendy UNIXa, cd: ls - listowanie zawartości katalogu (listing), 48%{sendzimir}/home/sysadm/wilk/dydaktyka/c>ls kar* karman* karman.cpp karman.out press.dat

Bardziej szczegółowo

14. Przedmiot: N/PM2012/11/14/I1 INFORMATYKA moduł 1 Semestr. Liczba tygodni Liczba godzin w tygodniu Liczba godzin w semestrze ECTS

14. Przedmiot: N/PM2012/11/14/I1 INFORMATYKA moduł 1 Semestr. Liczba tygodni Liczba godzin w tygodniu Liczba godzin w semestrze ECTS 14. Przedmiot: N/PM2012/11/14/I1 INFORMATYKA moduł 1 Semestr Liczba tygodni Liczba godzin w tygodniu Liczba godzin w semestrze w semestrze A C L A C L ECTS I 15 2 30 2 II 15 2 30 1 I. Cele kształcenia

Bardziej szczegółowo

Kryteria oceniania z Technologii Informacyjnej

Kryteria oceniania z Technologii Informacyjnej IV Liceum Ogólnokształcące im. Stanisława Staszica w Sosnowcu Kryteria oceniania z Technologii Informacyjnej Kryteria na ocenę dopuszczającą 1. Uczeń potrafi wymienić niektóre z elementów budowy komputera.

Bardziej szczegółowo

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików... 49 Konsola... 49 Zapisanie rezultatu do pliku... 50

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików... 49 Konsola... 49 Zapisanie rezultatu do pliku... 50 Spis treści Rozdział 1. Instalacja systemu Aurox...5 Wymagania sprzętowe... 5 Rozpoczynamy instalację... 6 Wykrywanie i instalacja urządzeń... 7 Zarządzanie partycjami... 10 Konfiguracja sieci i boot loadera...

Bardziej szczegółowo

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9 Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9 Uruchamianie edytora OpenOffice.ux.pl Writer 9 Dostosowywanie środowiska pracy 11 Menu Widok 14 Ustawienia dokumentu 16 Rozdział 2. OpenOffice

Bardziej szczegółowo

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Wydział Mechatroniki i Budowy Maszyn Specjalność: Automatyka i Robotyka Rok II Semestr IV 1. Logowanie w systemie Unix. System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Do zalogowania

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Programowanie i techniki algorytmiczne

Programowanie i techniki algorytmiczne Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej

Bardziej szczegółowo

OLIMPIADA INFORMATYCZNA 2010 ROK ETAP SZKOLNY

OLIMPIADA INFORMATYCZNA 2010 ROK ETAP SZKOLNY KOD UCZNIA OLIMPIADA INFORMATYCZNA 2010 ROK ETAP SZKOLNY * Postaw znak x w okienku obok właściwej odpowiedzi. 1. Przybornik w programie Paint to element programu, w którym znajdują się: kolory przyciski

Bardziej szczegółowo

Skorzystaj z Worda i stwórz profesjonalnie wyglądające dokumenty.

Skorzystaj z Worda i stwórz profesjonalnie wyglądające dokumenty. ABC Word 2007 PL. Autor: Aleksandra Tomaszewska-Adamarek Czasy maszyn do pisania odchodzą w niepamięć. Dziś narzędziami do edycji tekstów są aplikacje komputerowe, wśród których niekwestionowaną palmę

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny semestr III, studia stacjonarne I stopnia Rok akademicki 2015/2016 Pracownia nr 1 (21/23.09.2015) Rok akademicki 2015/2016, Pracownia nr 1 2/22

Bardziej szczegółowo

Wstęp do poradnika metodycznego 5. 2. Przykładowy rozkład materiału 13 I rok nauczania...13 II rok nauczania...13 Rozkład materiału:...

Wstęp do poradnika metodycznego 5. 2. Przykładowy rozkład materiału 13 I rok nauczania...13 II rok nauczania...13 Rozkład materiału:... Spis treści Wstęp do poradnika metodycznego 5. Oprogramowanie wykorzystywane w podręczniku 7 Środowisko... 7 Narzędzia... 8. Przykładowy rozkład materiału 3 I rok nauczania...3 II rok nauczania...3 Rozkład

Bardziej szczegółowo

1. Narzędzia główne: WORD 2010 INTERFEJS UŻYTKOWNIKA. wycinamy tekst, grafikę

1. Narzędzia główne: WORD 2010 INTERFEJS UŻYTKOWNIKA. wycinamy tekst, grafikę 1. Narzędzia główne: wycinamy tekst, grafikę stosowanie formatowania tekstu i niektórych podstawowych elementów graficznych umieszczane są wszystkie kopiowane i wycinane pliki wklejenie zawartości schowka

Bardziej szczegółowo

Wstęp do Informatyki dla bioinformatyków

Wstęp do Informatyki dla bioinformatyków Wstęp do Informatyki dla bioinformatyków Wykład 1. Wstęp do Wstępu Bartek Wilczyński bartek@mimuw.edu.pl Po pierwsze - Formalności 2 kolokwia (po 15 pkt) początek XI i koniec XII Dwa programy zaliczeniowe:

Bardziej szczegółowo

Praktyka Programowania

Praktyka Programowania Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:

Bardziej szczegółowo

Algorytmy, reprezentacja algorytmów.

Algorytmy, reprezentacja algorytmów. Algorytmy, reprezentacja algorytmów. Wprowadzenie do algorytmów Najważniejszym pojęciem algorytmiki jest algorytm (ang. algorithm). Nazwa pochodzi od nazwiska perskiego astronoma, astrologa, matematyka

Bardziej szczegółowo

ROZKŁAD MATERIAŁU ZAJĘCIA KOMPUTEROWE KL.V

ROZKŁAD MATERIAŁU ZAJĘCIA KOMPUTEROWE KL.V ROZKŁAD MATERIAŁU ZAJĘCIA KOMPUTEROWE KL.V 1 (1) Bezpiecznie w pracowni i w sieci tworzymy regulamin pracowni 2 (2, 3) Uwaga na wirusy! Bezpieczeństwo w Internecie. Regulamin pracowni komputerowej oraz

Bardziej szczegółowo

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM 1.1. PODSTAWOWE INFORMACJE PC to skrót od nazwy Komputer Osobisty (z ang. personal computer). Elementy komputera można podzielić na dwie ogólne kategorie: sprzęt - fizyczne

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU I. KARTA PRZEDMIOTU. Nazwa przedmiotu: TECHNOLOGIA INFORMACYJNA 2. Kod przedmiotu: Ot 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechanika i budowa maszyn 5. Specjalność: Eksploatacja

Bardziej szczegółowo

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 1 WPROWADZENIE DO PROGRAMU KOMPUTEROWEGO MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR 1 Wprowadzenie do programu komputerowego Matlab 1.1.

Bardziej szczegółowo

d) program działający w środowisku Windows 10. Edytorem tekstu jest: a) Paint b) WordPad c) PowerPoint d) Excel

d) program działający w środowisku Windows 10. Edytorem tekstu jest: a) Paint b) WordPad c) PowerPoint d) Excel I SZKOLNY KONKURS INFORMATYCZNY MISTRZ KOMPUTERA 1. Czy pamięć RAM: a. jest pamięcią zewnętrzną b. jest pamięcią wewnętrzną c. jest pamięcią przechowywaną na dyskietce 2. Co oznacza pojęcie SIMM,DIMM,DDR:

Bardziej szczegółowo

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 1 WPROWADZENIE DO PROGRAMU KOMPUTEROWEGO MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR 1 Wprowadzenie do programu komputerowego Matlab 1.1.

Bardziej szczegółowo

Technologie informacyjne

Technologie informacyjne Technologie informacyjne Cele kursu: umożliwienie studentom uaktualnienia wiedzy i zdobycia nowych umiejętności z zakresu technologii informacyjnych; przegląd podstawowych pojęć i problemów związanych

Bardziej szczegółowo

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++ Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania

Bardziej szczegółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA

SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA SZCZEGÓŁOWY HARMONOGRAM SZKOLENIA Projekt: Podnoszenie kwalifikacji drogą do sukcesu Szkolenie: kurs komputerowy ECDL Start Termin szkolenia: 19. 03. 2015r. 10. 06. 2015 r. Termin Egzaminu ECDL Start:

Bardziej szczegółowo

PLAN WYNIKOWY Z INFORMATYKI DLA KLASY VI

PLAN WYNIKOWY Z INFORMATYKI DLA KLASY VI PLAN WYNIKOWY Z INFORMATYKI DLA KLASY VI Program Informatyka 2000 DKW-4014-56/99 2 godziny tygodniowo Ok. 60 godzin lekcyjnych Lp. Zagadnienie Ilość lekcji Tematy lekcji 1. Technika 5 1. Lekcja komputerowa

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

5. Arkusz kalkulacyjny Excel 205

5. Arkusz kalkulacyjny Excel 205 Informatyka dla kadry kierowniczej przedsiębiorstwa : podręcznik akademicki / Jan Kowalczuk, Barbara Niekrasz, Anna Wallis ; pod red. Eugeniusza Michalskiego. Koszalin, 2012 Spis treści Wstęp 9 1. Informatyka

Bardziej szczegółowo

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową. Telnet Telnet jest najstarszą i najbardziej elementarną usługą internetową. Telnet standard protokołu komunikacyjnego używanego w sieciach komputerowych do obsługi odległego terminala w architekturze klient-serwer.

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl

Bardziej szczegółowo

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

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego.

Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego. Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego. Kandydat winien wykazać się wiedzą i umiejętnościami w zakresie: - korzystania z głównych

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów

Bardziej szczegółowo

Rozkład materiału realizacji informatyki w szkole podstawowej w wymiarze 2 godzin w cyklu trzyletnim

Rozkład materiału realizacji informatyki w szkole podstawowej w wymiarze 2 godzin w cyklu trzyletnim Rozkład materiału realizacji informatyki w szkole podstawowej w wymiarze 2 godzin w cyklu trzyletnim Autor: Danuta Kiałka Podręcznik: Informatyka Europejczyka (149/05) Danuta Kiałka z zespołem Program

Bardziej szczegółowo

Instrukcja konfiguracji funkcji skanowania

Instrukcja konfiguracji funkcji skanowania Instrukcja konfiguracji funkcji skanowania WorkCentre M123/M128 WorkCentre Pro 123/128 701P42171_PL 2004. Wszystkie prawa zastrzeżone. Rozpowszechnianie bez zezwolenia przedstawionych materiałów i informacji

Bardziej szczegółowo

SERWER AKTUALIZACJI UpServ

SERWER AKTUALIZACJI UpServ Wersja 1.12 upserv_pl 11/16 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Budowlanych 66 80-298 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 www.satel.pl SATEL

Bardziej szczegółowo

Tematy lekcji informatyki klasa 4a luty/marzec 2013

Tematy lekcji informatyki klasa 4a luty/marzec 2013 Tematy lekcji informatyki klasa 4a luty/marzec 2013 temat 11. z podręcznika (str. 116-120) Jak uruchomić edytor tekstu MS Word 2007? ćwiczenia 2-5 (str. 117-120); Co to jest przycisk Office? W jaki sposób

Bardziej szczegółowo

Podstawy programowania wykład

Podstawy programowania wykład Podstawy programowania wykład WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 1 Materiały do wykładu

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Podstawy Informatyki Basic Informatics Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: ogólny Poziom studiów: studia I stopnia forma studiów: studia stacjonarne Rodzaj

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych, moduł kierunkowy ogólny Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK

Bardziej szczegółowo

Wymagania edukacyjne na poszczególne oceny. z przedmiotu Informatyki. w klasie VI

Wymagania edukacyjne na poszczególne oceny. z przedmiotu Informatyki. w klasie VI Wymagania edukacyjne na poszczególne oceny z przedmiotu Informatyki w klasie VI Ocenę niedostateczna nie zna regulamin pracowni nie potrafi wymienić 3 dowolnych punktów regulaminu nie dba o porządek na

Bardziej szczegółowo

Rozkład materiału do zajęć z informatyki. realizowanych według podręcznika

Rozkład materiału do zajęć z informatyki. realizowanych według podręcznika Rozkład materiału do zajęć z informatyki realizowanych według podręcznika E. Gurbiel, G. Hardt-Olejniczak, E. Kołczyk, H. Krupicka, M.M. Sysło Informatyka, nowe wydanie z 007 roku Poniżej przedstawiamy

Bardziej szczegółowo

KARTA KURSU. Wstęp do programowania

KARTA KURSU. Wstęp do programowania KARTA KURSU Nazwa Nazwa w j. ang. Wstęp do programowania Introduction to Programming Kod Punktacja ECTS* 6 Koordynator dr inż. Magdalena Andrzejewska Zespół dydaktyczny: dr inż. Magdalena Andrzejewska

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

Scenariusz szkolenia

Scenariusz szkolenia Scenariusz szkolenia Edytor tekstu MS Word 2010 TRENER: WALDEMAR WEGLARZ Absolwent Akademii Pedagogicznej w Krakowie. Od 2002 roku zawodowy trener IT, dyplomowany nauczyciel przedmiotów zawodowych w Technikum

Bardziej szczegółowo

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych KARTA PRZEDMIOTU Nazwa przedmiotu/modułu: Nazwa angielska: Kierunek studiów: Poziom studiów: Profil studiów Jednostka prowadząca: Programowanie aplikacji internetowych Web application development edukacja

Bardziej szczegółowo

BASH - WPROWADZENIE Bioinformatyka 4

BASH - WPROWADZENIE Bioinformatyka 4 BASH - WPROWADZENIE Bioinformatyka 4 DLACZEGO BASH? Praca na klastrach obliczeniowych Brak GUI Środowisko programistyczne Szybkie przetwarzanie danych Pisanie własnych skryptów W praktyce przetwarzanie

Bardziej szczegółowo

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1 Wyższa Szkoła Ekologii i Zarządzania Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1 Slajd 1 Excel Slajd 2 Ogólne informacje Arkusz kalkulacyjny podstawowe narzędzie pracy menadżera Arkusz

Bardziej szczegółowo

INFORMATYKA KLASA IV

INFORMATYKA KLASA IV 1 INFORMATYKA KLASA IV WYMAGANIA NA POSZCZEGÓLNE OCENY SZKOLNE 1. Komputer i programy komputerowe Posługiwanie się komputerem i praca z programem komputerowym wymienia przynajmniej trzy podstawowe zasady

Bardziej szczegółowo

KATEGORIA OBSZAR WIEDZY

KATEGORIA OBSZAR WIEDZY Moduł 3 - Przetwarzanie tekstów - od kandydata wymaga się zaprezentowania umiejętności wykorzystywania programu do edycji tekstu. Kandydat powinien wykonać zadania o charakterze podstawowym związane z

Bardziej szczegółowo

Tematy lekcji informatyki klasa 4a listopad 2012

Tematy lekcji informatyki klasa 4a listopad 2012 Tematy lekcji informatyki klasa 4a listopad 2012 temat 4. z podręcznika (str. 42-48); Czym jest i do czego służy system operacyjny? 10, 11 Działanie komputera i sieci komputerowej pytania 8-12 (str. 46);

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i

Bardziej szczegółowo

3. Karta przedmiotu ważna od roku akademickiego: 2012/ Forma kształcenia: studia pierwszego stopnia studia drugiego stopnia 1

3. Karta przedmiotu ważna od roku akademickiego: 2012/ Forma kształcenia: studia pierwszego stopnia studia drugiego stopnia 1 (pieczęć wydziału) KARTA PRZEDMIOTU 1. Nazwa przedmiotu: INFORMATYKA W ZARZĄDZANIU 2. Kod przedmiotu: 3. Karta przedmiotu ważna od roku akademickiego: 2012/2013 4. Forma kształcenia: studia pierwszego

Bardziej szczegółowo

Spis treści. Rozdział 1. Wprowadzenie, czyli kilka słów o komputerze / 11

Spis treści. Rozdział 1. Wprowadzenie, czyli kilka słów o komputerze / 11 Spis treści Rozdział 1. Wprowadzenie, czyli kilka słów o komputerze / 11 Spis treści 1.1. Czym zajmuje się informatyka? / 12 1.1.1. Bezpieczna praca z komputerem / 13 Pytania i zadania / 15 1.2. Komputer

Bardziej szczegółowo

Wymagania edukacyjne i kryteria oceniania w klasie VI 2013/2014 OBSZARY AKTYWNOŚCI UCZNIA PODLEGAJĄCE OCENIE

Wymagania edukacyjne i kryteria oceniania w klasie VI 2013/2014 OBSZARY AKTYWNOŚCI UCZNIA PODLEGAJĄCE OCENIE Wymagania edukacyjne i kryteria oceniania w klasie VI 2013/2014 OBSZARY AKTYWNOŚCI UCZNIA PODLEGAJĄCE OCENIE Na zajęciach z informatyki, uczeń jest oceniany w następujących obszarach : praca na lekcji

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa IV

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa IV Teraz bajty. Informatyka dla szkoły podstawowej. Klasa IV 1 Posługiwanie się komputerem i praca z programem komputerowym wymienia przynajmniej trzy podstawowe zasady ich, m.in.: dba o porządek na stanowisku

Bardziej szczegółowo

Terminal ABA-X3 może być wykorzystywany jako terminal znakowy. Funkcja ta może być zrealizowana na kilka sposobów:

Terminal ABA-X3 może być wykorzystywany jako terminal znakowy. Funkcja ta może być zrealizowana na kilka sposobów: Praca w środowisku znakowym Terminal ABAX3 może być wykorzystywany jako terminal znakowy. Funkcja ta może być zrealizowana na kilka sposobów: Wielosesyjny tryb pełnoekranowy, w którym każdej konsoli przyporządkowywane

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4 1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4 1. Komputer i programy komputerowe Posługiwanie się komputerem i praca z programem

Bardziej szczegółowo

KARTA KURSU. Techniki informatyczne

KARTA KURSU. Techniki informatyczne KARTA KURSU Nazwa Nazwa w j. ang. Techniki informatyczne Information technology Kod Punktacja ECTS* 1 Koordynator Prof. dr hab. Jacek Migdałek Zespół dydaktyczny: Prof. dr hab. Jacek Migdałek Opis kursu

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Wykład Ćwiczenia Laboratorium Projekt Seminarium WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z inżynierii oprogramowania w zakresie C.

Bardziej szczegółowo