Podstawy Programowania. Wprowadzenie
|
|
- Irena Stefaniak
- 6 lat temu
- Przeglądów:
Transkrypt
1 Podstawy Programowania Wykład I Wprowadzenie pokój: Robert Muszyński Katedra Cybernetyki i Robotyki Politechnika Wrocławska robert.muszynski@pwr.edu.pl 331 budynek C3 (Kompleks Wydziału Elektroniki) GPS: N E Copyright c Robert Muszyński Niniejszy dokument zawiera materiały do wykładu na temat podstaw programowania w językach wysokiego poziomu. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych, prywatnych potrzeb i może być kopiowany wyłącznie w całości, razem ze stroną tytułową. Skład FoilTEX
2 Wprowadzenie 1 Literatura 1. B. Kernighan, D. Ritchie, Język ANSI C, WNT, (1987), 1994, G. Glass, K. Ables, Linux dla programistów i użytkowników, Helion, B. W. Kernighan, R. Pike, Lekcja programowania, WNT, T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT 1998, N. Wirth, Algorytmy + struktury danych = programy, WNT, 1980, S. Granneman, Linux. Rozmówki, Helion, D. Cameron, GNU Emacs, Helion, 2002
3 Wprowadzenie 1 Literatura 1. B. Kernighan, D. Ritchie, Język ANSI C, WNT, (1987), 1994, G. Glass, K. Ables, Linux dla programistów i użytkowników, Helion, B. W. Kernighan, R. Pike, Lekcja programowania, WNT, T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT 1998, N. Wirth, Algorytmy + struktury danych = programy, WNT, 1980, S. Granneman, Linux. Rozmówki, Helion, D. Cameron, GNU Emacs, Helion, 2002
4 Wprowadzenie 1 Literatura 1. B. Kernighan, D. Ritchie, Język ANSI C, WNT, (1987), 1994, G. Glass, K. Ables, Linux dla programistów i użytkowników, Helion, B. W. Kernighan, R. Pike, Lekcja programowania, WNT, T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT 1998, N. Wirth, Algorytmy + struktury danych = programy, WNT, 1980, S. Granneman, Linux. Rozmówki, Helion, D. Cameron, GNU Emacs, Helion, 2002
5 Wprowadzenie 1 Literatura 1. B. Kernighan, D. Ritchie, Język ANSI C, WNT, (1987), 1994, G. Glass, K. Ables, Linux dla programistów i użytkowników, Helion, B. W. Kernighan, R. Pike, Lekcja programowania, WNT, T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT 1998, N. Wirth, Algorytmy + struktury danych = programy, WNT, 1980, S. Granneman, Linux. Rozmówki, Helion, D. Cameron, GNU Emacs, Helion, 2002
6 Wprowadzenie 2 W sieci 1. strona Katedry Cybernetyki i Robotyki 2. kcir.pwr.edu.pl/ mucha/pprog strona tego kursu 3. diablo.kcir.pwr.edu.pl strona studenckiego serwera diablo 4. diablo.kcir.pwr.edu.pl/pomoc strona pomocy: studenci AiR studentom AiR 5. laboratoria.ict.pwr.wroc.pl strona wydziałowych laboratoriów komputerowych
7 Wprowadzenie 2 W sieci 1. strona Katedry Cybernetyki i Robotyki 2. kcir.pwr.edu.pl/ mucha/pprog strona tego kursu 3. diablo.kcir.pwr.edu.pl strona studenckiego serwera diablo 4. diablo.kcir.pwr.edu.pl/pomoc strona pomocy: studenci AiR studentom AiR 5. laboratoria.ict.pwr.wroc.pl strona wydziałowych laboratoriów komputerowych 6. witold/info3/n1124.pdf dokumentacja języka C standard ISO/IEC wazniak.mimuw.edu.pl/index.php?title=wstęp do programowania strona kursu Wstęp do programowania ze Studiów informatycznych
8 Wprowadzenie 3 Zawartość tematyczna wykładu System operacyjny UNIX narzędzia, powłoki, środowisko graficzne. Język C: gramatyka, kompilacja, struktury danych, wyrażenia i instrukcje. Algorytmy: metody konstruowania, weryfikacja poprawności. Operacje wejścia/wyjścia. Strumienie danych. Struktury sterujące programu: sekwencja, wybór warunkowy, iteracja. Funkcje, ich parametry. Moduły. Tablice. Przeszukiwanie i sortowanie. Reguły stylu programowania. Dokumentacja programu. Wskaźniki, zmienne dynamiczne. Struktury, listy, stosy, sterty, kolejki FIFO, priorytetowe. Drzewa. Efektywność programów.
9 Wprowadzenie 3 Zawartość tematyczna wykładu System operacyjny UNIX narzędzia, powłoki, środowisko graficzne. Język C: gramatyka, kompilacja, struktury danych, wyrażenia i instrukcje. Algorytmy: metody konstruowania, weryfikacja poprawności. Operacje wejścia/wyjścia. Strumienie danych. Struktury sterujące programu: sekwencja, wybór warunkowy, iteracja. Funkcje, ich parametry. Moduły. Tablice. Przeszukiwanie i sortowanie. Reguły stylu programowania. Dokumentacja programu. Wskaźniki, zmienne dynamiczne. Struktury, listy, stosy, sterty, kolejki FIFO, priorytetowe. Drzewa. Efektywność programów.
10 Wprowadzenie 3 Zawartość tematyczna wykładu System operacyjny UNIX narzędzia, powłoki, środowisko graficzne. Język C: gramatyka, kompilacja, struktury danych, wyrażenia i instrukcje. Algorytmy: metody konstruowania, weryfikacja poprawności. Operacje wejścia/wyjścia. Strumienie danych. Struktury sterujące programu: sekwencja, wybór warunkowy, iteracja. Funkcje, ich parametry. Moduły. Tablice. Przeszukiwanie i sortowanie. Reguły stylu programowania. Dokumentacja programu. Wskaźniki, zmienne dynamiczne. Struktury, listy, stosy, sterty, kolejki FIFO, priorytetowe. Drzewa. Efektywność programów.
11 Wprowadzenie 3 Zawartość tematyczna wykładu System operacyjny UNIX narzędzia, powłoki, środowisko graficzne. Język C: gramatyka, kompilacja, struktury danych, wyrażenia i instrukcje. Algorytmy: metody konstruowania, weryfikacja poprawności. Operacje wejścia/wyjścia. Strumienie danych. Struktury sterujące programu: sekwencja, wybór warunkowy, iteracja. Funkcje, ich parametry. Moduły. Tablice. Przeszukiwanie i sortowanie. Reguły stylu programowania. Dokumentacja programu. Wskaźniki, zmienne dynamiczne. Struktury, listy, stosy, sterty, kolejki FIFO, priorytetowe. Drzewa. Efektywność programów.
12 -, 4 Wprowadzenie Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze Skład FoilTEX milusie, melasie Indeks c R. Muszyński, 29 października 2018
13 -, 4 Wprowadzenie Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze milusie, melasie serwer sieciowy Skład FoilTEX Indeks c R. Muszyński, 29 października 2018
14 -, 4 Wprowadzenie Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze serwer plików Skład FoilTEX milusie, melasie serwer sieciowy Indeks c R. Muszyński, 29 października 2018
15 -, 4 Wprowadzenie Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze serwer plików Skład FoilTEX milusie, melasie INTERNET serwer sieciowy Indeks c R. Muszyński, 29 października 2018
16 -, 4 Wprowadzenie Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze serwer plików milusie, melasie INTERNET serwer sieciowy Laboratorium 07 okocim, warka, eb Skład FoilTEX Indeks c R. Muszyński, 29 października 2018
17 -, 4 Wprowadzenie Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze serwer plików milusie, melasie INTERNET serwer sieciowy Laboratorium 07 okocim, warka, eb... serwer plików diablo, panamint, inyo Skład FoilTEX Indeks c R. Muszyński, 29 października 2018
18 -, 4 Wprowadzenie Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze serwer plików milusie, melasie INTERNET serwer sieciowy Laboratorium 07 okocim, warka, eb... serwer plików diablo, panamint, inyo Skład FoilTEX Indeks c R. Muszyński, 29 października 2018
19 -, 5 Wprowadzenie Topologia sieci (;-p) diablo sequo ia y itne wh inyo int am pan Skład FoilTEX Indeks ama rgo sa c R. Muszyński, 29 października 2018
20 -, 5 Wprowadzenie Topologia sieci (;-p) diablo sequo ia y itne wh inyo int am pan Skład FoilTEX Indeks ama rgo sa c R. Muszyński, 29 października 2018
21 -, 5 Wprowadzenie Topologia sieci (;-p) a st sha las sen tahoe kel ber ey mono limba diablo y itne wh inyo nc ha sequo ia int am pan ama rgo sa ma libu ola rd stanfo Skład FoilTEX Indeks c R. Muszyński, 29 października 2018
22 Wprowadzenie 6 Dostęp z terenu Kampusu PWr dowolne laboratorium komputerowe z dostępem do internetu
23 Wprowadzenie 6 Dostęp z terenu Kampusu PWr dowolne laboratorium komputerowe z dostępem do internetu PWR-WiFi otwarta sieć bezprzewodowa dostępna na terenach Politechniki Wrocławskiej (jednakże z zablokowanymi wieloma portami, w tym portem 22 (ssh, scp, sftp remote login protocols))
24 Wprowadzenie 6 Dostęp z terenu Kampusu PWr dowolne laboratorium komputerowe z dostępem do internetu PWR-WiFi otwarta sieć bezprzewodowa dostępna na terenach Politechniki Wrocławskiej (jednakże z zablokowanymi wieloma portami, w tym portem 22 (ssh, scp, sftp remote login protocols)) edurom miedzynarodowa, zamknięta sieć bezprzewodowa dostępna na terenie większości uczelni (dla studentów i pracowników naukowych po uprzednim skonfigurowaniu i jednorazowym zalogowaniu z terenu uczelni macierzystej więcej na
25 Wprowadzenie 6 Dostęp z terenu Kampusu PWr dowolne laboratorium komputerowe z dostępem do internetu PWR-WiFi otwarta sieć bezprzewodowa dostępna na terenach Politechniki Wrocławskiej (jednakże z zablokowanymi wieloma portami, w tym portem 22 (ssh, scp, sftp remote login protocols)) edurom miedzynarodowa, zamknięta sieć bezprzewodowa dostępna na terenie większości uczelni (dla studentów i pracowników naukowych po uprzednim skonfigurowaniu i jednorazowym zalogowaniu z terenu uczelni macierzystej więcej na ict-stud otwarta, nieblokowana sieć bezprzewodowa dostępna we fragmentach budynku C3 (Wydział Elektroniki)
26 Wprowadzenie 7 Podstawowe pojęcia Komputer zestaw odpowiednio dobranych urządzeń... System operacyjny program komputerowy, który zarządza sprzętem oraz aplikacjami komputera.
27 Wprowadzenie 7 Podstawowe pojęcia Komputer zestaw odpowiednio dobranych urządzeń... System operacyjny program komputerowy, który zarządza sprzętem oraz aplikacjami komputera. Program komputerowy ciąg poleceń wykonywanych przez komputer w celu realizacji zadanego algorytmu.
28 Wprowadzenie 7 Podstawowe pojęcia Komputer zestaw odpowiednio dobranych urządzeń... System operacyjny program komputerowy, który zarządza sprzętem oraz aplikacjami komputera. Program komputerowy ciąg poleceń wykonywanych przez komputer w celu realizacji zadanego algorytmu. Algorytm ciąg czynności prowadzących do rozwiązania zadania.
29 Wprowadzenie 7 Podstawowe pojęcia Komputer zestaw odpowiednio dobranych urządzeń... System operacyjny program komputerowy, który zarządza sprzętem oraz aplikacjami komputera. Program komputerowy ciąg poleceń wykonywanych przez komputer w celu realizacji zadanego algorytmu. Algorytm ciąg czynności prowadzących do rozwiązania zadania. Specyfikacja zadania określenie dopuszczalnych danych wejściowych i oczekiwanych wyników jako funkcji danych wejściowych, charakteryzujące stawiany problem. Problem zadanie do rozwiązania.
30 Wprowadzenie 8 Systemy operacyjne Windows, Mac OS, OpenVMS przeznaczone dla jednej rodziny sprzętu UNIX, Linux dostępne dla różnych platform sprzętowych
31 Wprowadzenie 8 Systemy operacyjne Windows, Mac OS, OpenVMS przeznaczone dla jednej rodziny sprzętu UNIX, Linux dostępne dla różnych platform sprzętowych pierwsza zaleta Linuksa
32 Wprowadzenie 8 Systemy operacyjne Windows, Mac OS, OpenVMS przeznaczone dla jednej rodziny sprzętu UNIX, Linux dostępne dla różnych platform sprzętowych pierwsza zaleta Linuksa Windows, Mac OS, UNIX tworzone pod presją harmonogramów Linux dzieło tysięcy doświadczonych programistów ochotników
33 Wprowadzenie 8 Systemy operacyjne Windows, Mac OS, OpenVMS przeznaczone dla jednej rodziny sprzętu UNIX, Linux dostępne dla różnych platform sprzętowych pierwsza zaleta Linuksa Windows, Mac OS, UNIX tworzone pod presją harmonogramów Linux dzieło tysięcy doświadczonych programistów ochotników druga zaleta Linuksa
34 Wprowadzenie 8 Systemy operacyjne Windows, Mac OS, OpenVMS przeznaczone dla jednej rodziny sprzętu UNIX, Linux dostępne dla różnych platform sprzętowych pierwsza zaleta Linuksa Windows, Mac OS, UNIX tworzone pod presją harmonogramów Linux dzieło tysięcy doświadczonych programistów ochotników druga zaleta Linuksa Windows, Mac OS pozwalają na pracę jednego użytkownika UNIX, Linux, OpenVMS systemy wielodostępne
35 Wprowadzenie 8 Systemy operacyjne Windows, Mac OS, OpenVMS przeznaczone dla jednej rodziny sprzętu UNIX, Linux dostępne dla różnych platform sprzętowych pierwsza zaleta Linuksa Windows, Mac OS, UNIX tworzone pod presją harmonogramów Linux dzieło tysięcy doświadczonych programistów ochotników druga zaleta Linuksa Windows, Mac OS pozwalają na pracę jednego użytkownika UNIX, Linux, OpenVMS systemy wielodostępne trzecia zaleta Linuksa
36 Wprowadzenie 9 Systemy operacyjne cd. Windows, Mac OS, UNIX oprogramowanie komercyjne Linux tysiące narzędzi GNU, Open Source Linux z wierzchu wygląda dokładnie tak jak UNIX Linux jest znacznie lepiej napisany niż UNIX Linux pozwala... czwarta zaleta Linuksa piąta zaleta Linuksa szósta zaleta Linuksa siódma zaleta Linuksa
37 Wprowadzenie 10 na początku był MULTICS (1964) Krótka historia Linuksa
38 Wprowadzenie 10 Krótka historia Linuksa na początku był MULTICS (1964) 1969 Ken Thomson tworzy w asemblerze system UNICS 1971 wraz z Ritchiem przepisuje go w języku C powstaje UNIX 1971 Bell Lab udostępnia uniwersytetom kod źródłowy UNIX-a
39 Wprowadzenie 10 na początku był MULTICS (1964) Krótka historia Linuksa 1969 Ken Thomson tworzy w asemblerze system UNICS 1971 wraz z Ritchiem przepisuje go w języku C powstaje UNIX 1971 Bell Lab udostępnia uniwersytetom kod źródłowy UNIX-a powstaje BSD UNIX i UNIX System V później powstaje Solaris (Sun), HP-UX (Hewlett-Packard), AIX (IBM), IRIX (Silicon Graphics) wojna o UNIX-a w tym czasie powstaje koncepcja oprogramowania GNU
40 Wprowadzenie 10 na początku był MULTICS (1964) Krótka historia Linuksa 1969 Ken Thomson tworzy w asemblerze system UNICS 1971 wraz z Ritchiem przepisuje go w języku C powstaje UNIX 1971 Bell Lab udostępnia uniwersytetom kod źródłowy UNIX-a powstaje BSD UNIX i UNIX System V później powstaje Solaris (Sun), HP-UX (Hewlett-Packard), AIX (IBM), IRIX (Silicon Graphics) wojna o UNIX-a w tym czasie powstaje koncepcja oprogramowania GNU 1991 Linus Torvalds z grupą przyjaciół zaczyna pracę nad jądrem systemu
41 Wprowadzenie 10 na początku był MULTICS (1964) Krótka historia Linuksa 1969 Ken Thomson tworzy w asemblerze system UNICS 1971 wraz z Ritchiem przepisuje go w języku C powstaje UNIX 1971 Bell Lab udostępnia uniwersytetom kod źródłowy UNIX-a powstaje BSD UNIX i UNIX System V później powstaje Solaris (Sun), HP-UX (Hewlett-Packard), AIX (IBM), IRIX (Silicon Graphics) wojna o UNIX-a w tym czasie powstaje koncepcja oprogramowania GNU 1991 Linus Torvalds z grupą przyjaciół zaczyna pracę nad jądrem systemu 1994 udostępnia on system Linux 1.0 na zasadach GNU GPL
42 Wprowadzenie 10 na początku był MULTICS (1964) Krótka historia Linuksa 1969 Ken Thomson tworzy w asemblerze system UNICS 1971 wraz z Ritchiem przepisuje go w języku C powstaje UNIX 1971 Bell Lab udostępnia uniwersytetom kod źródłowy UNIX-a powstaje BSD UNIX i UNIX System V później powstaje Solaris (Sun), HP-UX (Hewlett-Packard), AIX (IBM), IRIX (Silicon Graphics) wojna o UNIX-a w tym czasie powstaje koncepcja oprogramowania GNU 1991 Linus Torvalds z grupą przyjaciół zaczyna pracę nad jądrem systemu 1994 udostępnia on system Linux 1.0 na zasadach GNU GPL obecnie tysiące ochotników pracuje dostarczając wielu dystrybucji Linuksa: Debian, Ubuntu, SuSe, Fedora, Mandriva, Slackware, TurboLinux ;)
43 Wprowadzenie 11 Specyfikacja zadania Etapy pracy nad programem
44 Wprowadzenie 11 Specyfikacja zadania Praca nad algorytmem Etapy pracy nad programem
45 Wprowadzenie 11 Specyfikacja zadania Praca nad algorytmem Edycja programu Etapy pracy nad programem
46 Wprowadzenie 11 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu
47 Wprowadzenie 11 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu
48 Wprowadzenie 11 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu
49 Wprowadzenie 11 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu Dokumentacja!!!
50 Wprowadzenie 11 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu Dokumentacja!!! Problem
51 Wprowadzenie 11 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu Dokumentacja!!! Problem Algorytm Modelowanie
52 Wprowadzenie 11 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu Dokumentacja!!! Problem Algorytm Program Modelowanie Kodowanie
53 Wprowadzenie 11 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu Dokumentacja!!! Problem Algorytm Program Proces Modelowanie Kodowanie Uruchamianie
54 Wprowadzenie 11 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu Dokumentacja!!! Problem Algorytm Program Proces Modelowanie Kodowanie Uruchamianie
55 Wprowadzenie 12 Edytor GNU Emacs (by Real Programmers)
56 Wprowadzenie 13 Edytor GNU Emacs Podstawowe komendy edytora GNU Emacs Edytor GNU Emacs jest wywoływany komendą: emacs nazwa pliku. Przemieszczanie kursora Ctrl-B, Ctrl-N, Ctrl-P, Ctrl-F Przemieszczanie kursora o jeden znak ( ) ESC F Słowo do przodu Ctrl-A Kursor na początek linii ESC B Słowo do tyłu Ctrl-E Kursor na koniec linii ESC < Kursor na początek pliku Ctrl-V Przejście do następnej strony ESC > Kursor na koniec pliku ESC V Przejście do poprzedniej strony ESC X goto-line Przejście do linii o numerze podanym przez użytkownika Kasowanie znaków DEL Kasowanie znaku przed kursorem ESC DEL Kasowanie słowa przed kursorem Ctrl-D Kasowanie znaku na pozycji kursora ESC D Kasowanie słowa za kursorem Ctrl-K Kasowanie znaków od kursora do końca linii Poszukiwanie i zamiana ciągu znaków Ctrl-S ciąg znaków ESC Przyrostowe poszukiwanie w przód Ctrl-R ciąg znaków ESC Przyrostowe poszukiwanie w tył ESC % ciąg znaków RETURN nowy ciąg RETURN Warunkowa zamiana cia gu znaków: Operacje na regionach (region - obszar między markerem a kursorem) Ctrl-@ Ustawienie markera (lub Ctrl-SPACJA) Ctrl-W Skasowanie regionu i zapis jego zawartości do bufora ESC W Zapis regionu do bufora bez jego kasowania Ctrl-Y Skopiowanie zawartości regionu w miejsce położenia kursora
57 Wprowadzenie 14 Edytor GNU Emacs cd. Operacje na oknach Ctrl-X 2 Otwarcie drugiego okna Ctrl-X 0 Zamknięcie aktywnego okna Ctrl-X O Przejście do drugiego okna Ctrl-X 1 Zamkniȩcie wszystkich okien oprócz aktywnego Operacje na plikach i buforach plikowych Ctrl-X Ctrl-S Zapis bufora plikowego na dysk Ctrl-X Ctrl-F Otwarcie/utworzenie nowego pliku Ctrl-X Ctrl-W Utworzenie i zapis do pliku o nowej nazwie Ctrl-X I Wstawienie zawartości innego pliku do aktywnego bufora plikowego Pomoc Ctrl-H Klawisz pomocy Ctrl-H T wyświetla samouczek ESC X describe-function wyświetla opis funkcji o podanej nazwie (Ctrl-H F) ESC X describe-key wyświetla nazwę i opis funkcji przypisanej do klawisza (Ctrl-H K) ESC X apropos wyświetla nazwy funkcji ze słowem kluczowym (Ctrl-H A) Inne ważne komendy Ctrl-G Przerwanie komendy Ctrl-L Odświeżenie ekranu Ctrl-X U Odtworzenie zawartości bufora sprzed ostatniej zmiany ESC! Uruchomienie shella w buforze edytora Ctrl-X Ctrl-C Zakończenie pracy z edytorem Istnieje wiele samouczków edytora GNU Emacs w sieci www, na przykład tutaj jest jakiś.
58 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; }
59 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Komentarze
60 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Definicja funkcji
61 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Definicja funkcji Nagłówek funkcji
62 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Definicja funkcji Deklaracja zmiennych
63 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Definicja funkcji Część operacyjna
64 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Definicja funkcji Część operacyjna Wczytanie danych
65 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Definicja funkcji Część operacyjna Kontrola poprawności danych
66 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Definicja funkcji Część operacyjna Część obliczeniowa
67 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Definicja funkcji Część operacyjna Wyświetlenie wyników
68 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Dołaczenie prototypów funkcji bibliotecznych
69 Wprowadzenie 15 Przykładowy program w C /* kompilacja: Sun C: cc -Xc trojmian.c -lm GNU C: gcc -pedantic -Wall trojmian.c -lm */ #include <stdio.h> #include <math.h> int main() { float a, b, c; /* parametry rownania */ float delta, sqrtdelta, x1, x2; /* wyniki */ printf("program rozwiazuje rownanie kwadratowe.\n"); printf("podaj wspolczynnik a, b, c:\n"); scanf("%f%f%f", &a, &b, &c); if (a == 0.0) /* przypadek rownania liniowego */ printf("to nie jest rownanie kwadratowe.\n"); else { delta = (b*b) - (4.0*a*c); if (delta < 0.0) /* kontrola istnienia rozwiazan */ printf("brak rozwiazan rzeczywistych.\n"); else { /* rozwiazanie rownania */ sqrtdelta = (float)sqrt( (double)delta ); x1 = (-b - sqrtdelta) / (2*a); x2 = (-b + sqrtdelta) / (2*a); printf("rozwiazaniem rownania sa pierwiastki:\n"); printf(" x1 = %f\n x2 = %f\n", x1, x2); } } return 0; } Komentarze Dołaczenie prototypów funkcji bibliotecznych Definicja funkcji Nagłówek funkcji Deklaracja zmiennych Część operacyjna Wczytanie danych Kontrola poprawności danych Część obliczeniowa Wyświetlenie wyników
70 Wprowadzenie 16 Diagram algorytmu START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c
71 Wprowadzenie 16 Diagram algorytmu START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c Wylicz wyróżnik d = b 2 4ac
72 Wprowadzenie 16 Diagram algorytmu START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c Wylicz wyróżnik d = b 2 4ac x 1 = b d 2a x 2 = b+ d 2a
73 Wprowadzenie 16 Diagram algorytmu START Program znajduje rozwiązania równania kwadratowego Wczytaj współczynniki równania: a, b, c Wylicz wyróżnik d = b 2 4ac x 1 = b d 2a x 2 = b+ d 2a Wyświetl pierwiastki STOP
74 Wprowadzenie 17 Diagramy algorytmów (schematy blokowe) blok terminatora Elementy składowe schematów blokowych algorytmów.
75 Wprowadzenie 17 Diagramy algorytmów (schematy blokowe) blok terminatora blok przetwarzania Elementy składowe schematów blokowych algorytmów.
76 Wprowadzenie 17 Diagramy algorytmów (schematy blokowe) blok terminatora blok przetwarzania blok wejścia/wyjścia Elementy składowe schematów blokowych algorytmów.
77 Wprowadzenie 17 Diagramy algorytmów (schematy blokowe) blok terminatora blok przetwarzania blok wejścia/wyjścia Nie blok decyzyjny Tak Elementy składowe schematów blokowych algorytmów.
78 Wprowadzenie 17 Diagramy algorytmów (schematy blokowe) blok terminatora blok wywołania podprogramu blok przetwarzania blok wejścia/wyjścia Nie blok decyzyjny Tak Elementy składowe schematów blokowych algorytmów.
79 Wprowadzenie 17 Diagramy algorytmów (schematy blokowe) blok terminatora blok wywołania podprogramu blok przetwarzania blok fragmentu blok wejścia/wyjścia Nie blok decyzyjny Tak Elementy składowe schematów blokowych algorytmów.
80 Wprowadzenie 17 Diagramy algorytmów (schematy blokowe) blok terminatora blok wywołania podprogramu blok przetwarzania blok fragmentu blok wejścia/wyjścia łącznik wewnętrzny Nie blok decyzyjny Tak Elementy składowe schematów blokowych algorytmów.
81 Wprowadzenie 17 Diagramy algorytmów (schematy blokowe) blok terminatora blok wywołania podprogramu blok przetwarzania blok fragmentu blok wejścia/wyjścia łącznik wewnętrzny Nie blok decyzyjny łącznik zewnętrzny Tak Elementy składowe schematów blokowych algorytmów.
82 Wprowadzenie 17 Diagramy algorytmów (schematy blokowe) blok terminatora blok wywołania podprogramu blok przetwarzania blok fragmentu blok wejścia/wyjścia łącznik wewnętrzny Tak Nie blok decyzyjny łącznik zewnętrzny blok komentarza Elementy składowe schematów blokowych algorytmów.
83 Wprowadzenie 18 Diagramy czynności język UML Czynność (Activity) Wybrane elementy składowe diagramów czynności UML.
84 Wprowadzenie 18 Diagramy czynności język UML Czynność (Activity) Akcja (Action) Wybrane elementy składowe diagramów czynności UML.
85 Wprowadzenie 18 Diagramy czynności język UML Czynność (Activity) Akcja (Action) Wywołanie aktywności Wybrane elementy składowe diagramów czynności UML.
86 Wprowadzenie 18 Diagramy czynności język UML Czynność (Activity) Akcja (Action) Wywołanie aktywności Przepływ sterujący (Control flow) Wybrane elementy składowe diagramów czynności UML.
87 Wprowadzenie 18 Diagramy czynności język UML Czynność (Activity) Uwaga Warunek wstępny/końcowy Akcja (Action) Wywołanie aktywności Przepływ sterujący (Control flow) Wybrane elementy składowe diagramów czynności UML.
88 Wprowadzenie 18 Diagramy czynności język UML Czynność (Activity) Uwaga Warunek wstępny/końcowy Akcja (Action) Węzeł początkowy Wywołanie aktywności Przepływ sterujący (Control flow) Wybrane elementy składowe diagramów czynności UML.
89 Wprowadzenie 18 Diagramy czynności język UML Czynność (Activity) Uwaga Warunek wstępny/końcowy Akcja (Action) Węzeł początkowy Węzeł końcowy Wywołanie aktywności Przepływ sterujący (Control flow) Wybrane elementy składowe diagramów czynności UML.
90 Wprowadzenie 18 Diagramy czynności język UML Czynność (Activity) Uwaga Warunek wstępny/końcowy Akcja (Action) Węzeł początkowy Węzeł końcowy Wywołanie aktywności Węzeł decyzyjny/połączenia Przepływ sterujący (Control flow) Wybrane elementy składowe diagramów czynności UML.
91 Wprowadzenie 19 Diagramy czynności przykłady Wczytaj współczynniki równania: a, b, c Program znajduje rozwiązania równania kwadratowego Wylicz wyróżnik d = b 2 4ac x 1 = b d 2a x 2 = b+ d 2a Wyświetl pierwiastki
92 Wprowadzenie 19 Diagramy czynności przykłady Program znajduje rozwiązania równania kwadratowego Przedstaw się ȧ i b Wczytaj wartości Wczytaj współczynniki równania: a, b, c Czy a < b? Wylicz wyróżnik d = b 2 4ac Tak Nie Wyświetl b x 1 = b d 2a x 2 = b+ d 2a Wyświetl a Wyświetl pierwiastki
93 Wprowadzenie 20 Diagramy czynności przykłady Źródło: ikari.pl
94 Wprowadzenie 21 Diagramy czynności przykłady Źródło: A. Szczepański, AGH
95 Wprowadzenie 22 Kompilacja i konsolidacja programów kod źródłowy program.c
96 Wprowadzenie 22 Kompilacja i konsolidacja programów kod źródłowy program.c cc -c program.c kod wynikowy program.o
97 Wprowadzenie 22 Kompilacja i konsolidacja programów kod źródłowy program.c cc -c program.c kod wynikowy program.o cc program.o kod wykonywalny a.out
98 Wprowadzenie 22 Kompilacja i konsolidacja programów kod źródłowy program.c cc -c program.c kod wynikowy program.o cc program.c cc program.o kod wykonywalny a.out
99 Wprowadzenie 22 Kompilacja i konsolidacja programów kod źródłowy program.c cc -o program program.c cc -c program.c kod wynikowy program.o cc program.c cc program.o kod wykonywalny a.out cc -o program program.c kod wykonywalny program
100 Wprowadzenie 23 Opcje wywołania kompilatorów (wspólne) Tradycyjnie, kompilatory C (cc, gcc) jednakowo rozpoznają opcje: -onazwa umieść postać wykonywalną kompilacji w pliku nazwa (domyślnie a.out)
101 Wprowadzenie 23 Opcje wywołania kompilatorów (wspólne) Tradycyjnie, kompilatory C (cc, gcc) jednakowo rozpoznają opcje: -onazwa umieść postać wykonywalną kompilacji w pliku nazwa (domyślnie a.out) -c pomiń ostatnią fazę przetwarzania (linkowanie), nie twórz programu wykonywalnego, pozostaw postać wynikową.o
102 Wprowadzenie 23 Opcje wywołania kompilatorów (wspólne) Tradycyjnie, kompilatory C (cc, gcc) jednakowo rozpoznają opcje: -onazwa umieść postać wykonywalną kompilacji w pliku nazwa (domyślnie a.out) -c pomiń ostatnią fazę przetwarzania (linkowanie), nie twórz programu wykonywalnego, pozostaw postać wynikową.o -g wpisz w program wykonywalny dodatkowe informacje dla debuggera
103 Wprowadzenie 23 Opcje wywołania kompilatorów (wspólne) Tradycyjnie, kompilatory C (cc, gcc) jednakowo rozpoznają opcje: -onazwa umieść postać wykonywalną kompilacji w pliku nazwa (domyślnie a.out) -c pomiń ostatnią fazę przetwarzania (linkowanie), nie twórz programu wykonywalnego, pozostaw postać wynikową.o -g wpisz w program wykonywalny dodatkowe informacje dla debuggera -lbib przeglądaj przez linker biblioteki bib (w kartotece /usr/lib lub innych, zdefiniowanych ścieżką linkera)
104 Wprowadzenie 23 Opcje wywołania kompilatorów (wspólne) Tradycyjnie, kompilatory C (cc, gcc) jednakowo rozpoznają opcje: -onazwa umieść postać wykonywalną kompilacji w pliku nazwa (domyślnie a.out) -c pomiń ostatnią fazę przetwarzania (linkowanie), nie twórz programu wykonywalnego, pozostaw postać wynikową.o -g wpisz w program wykonywalny dodatkowe informacje dla debuggera -lbib przeglądaj przez linker biblioteki bib (w kartotece /usr/lib lub innych, zdefiniowanych ścieżką linkera) -On wykonaj optymalizację kodu poziomu n (domyślnie poziom 2, na ogół bezpieczny)
105 Wprowadzenie 23 Opcje wywołania kompilatorów (wspólne) Tradycyjnie, kompilatory C (cc, gcc) jednakowo rozpoznają opcje: -onazwa umieść postać wykonywalną kompilacji w pliku nazwa (domyślnie a.out) -c pomiń ostatnią fazę przetwarzania (linkowanie), nie twórz programu wykonywalnego, pozostaw postać wynikową.o -g wpisz w program wykonywalny dodatkowe informacje dla debuggera -lbib przeglądaj przez linker biblioteki bib (w kartotece /usr/lib lub innych, zdefiniowanych ścieżką linkera) -On wykonaj optymalizację kodu poziomu n (domyślnie poziom 2, na ogół bezpieczny) -w pomiń ostrzeżenia (opcja zwykle szkodliwa!)
106 Wprowadzenie 24 Opcje wywołania kompilatorów (różne) Niektóre ważne i pożyteczne opcje występują tylko dla niektórych kompilatorów, lub mają inną postać: -V wyświetlaj wywołania kolejnych faz kompilacji (Sun cc) -v wyświetlaj wywołania kolejnych faz kompilacji (HP cc, GNU gcc)
107 Wprowadzenie 24 Opcje wywołania kompilatorów (różne) Niektóre ważne i pożyteczne opcje występują tylko dla niektórych kompilatorów, lub mają inną postać: -V wyświetlaj wywołania kolejnych faz kompilacji (Sun cc) -v wyświetlaj wywołania kolejnych faz kompilacji (HP cc, GNU gcc) -Xc ściśle przestrzegaj standardu ANSI C (Sun cc) -Aa ściśle przestrzegaj standardu ANSI C (HP cc) -ansi przestrzegaj standardu ANSI C (GNU gcc) -pedantic ściśle przestrzegaj standardu ANSI C (GNU gcc)
108 Wprowadzenie 24 Opcje wywołania kompilatorów (różne) Niektóre ważne i pożyteczne opcje występują tylko dla niektórych kompilatorów, lub mają inną postać: -V wyświetlaj wywołania kolejnych faz kompilacji (Sun cc) -v wyświetlaj wywołania kolejnych faz kompilacji (HP cc, GNU gcc) -Xc ściśle przestrzegaj standardu ANSI C (Sun cc) -Aa ściśle przestrzegaj standardu ANSI C (HP cc) -ansi przestrzegaj standardu ANSI C (GNU gcc) -pedantic ściśle przestrzegaj standardu ANSI C (GNU gcc) -Wall wyświetlaj wszystkie ostrzeżenia o dziwnych konstrukcjach programowych (GNU cc)
109 Wprowadzenie 25 Kompilacja programów wywołania komputer diablo cc -Xc prog.c = wynik: program binarny a.out cc -Xc prog.c -lm = wynik: program binarny a.out dołączona biblioteka matematyczna
110 Wprowadzenie 25 Kompilacja programów wywołania komputer diablo cc -Xc prog.c = wynik: program binarny a.out cc -Xc prog.c -lm = wynik: program binarny a.out dołączona biblioteka matematyczna cc -Xc -o prog prog.c = wynik: program binarny prog
111 Wprowadzenie 25 Kompilacja programów wywołania komputer diablo cc -Xc prog.c = wynik: program binarny a.out cc -Xc prog.c -lm = wynik: program binarny a.out dołączona biblioteka matematyczna cc -Xc -o prog prog.c = wynik: program binarny prog cc -Xc -c prog.c = wynik: program wynikowy prog.o
112 Wprowadzenie 25 Kompilacja programów wywołania komputer diablo cc -Xc prog.c = wynik: program binarny a.out cc -Xc prog.c -lm = wynik: program binarny a.out dołączona biblioteka matematyczna cc -Xc -o prog prog.c = wynik: program binarny prog cc -Xc -c prog.c = wynik: program wynikowy prog.o cc prog.o = wynik: program binarny a.out
113 Wprowadzenie 25 Kompilacja programów wywołania komputer diablo cc -Xc prog.c = wynik: program binarny a.out cc -Xc prog.c -lm = wynik: program binarny a.out dołączona biblioteka matematyczna cc -Xc -o prog prog.c = wynik: program binarny prog cc -Xc -c prog.c = wynik: program wynikowy prog.o cc prog.o = wynik: program binarny a.out komputer panamint gcc -pedantic -Wall prog.c = program binarny a.out gcc -pedantic -Wall prog.c -lm = program binarny a.out dołączona biblioteka matematyczna gcc -pedantic -Wall -o prog prog.c = program binarny prog gcc -pedantic -Wall -c prog.c = program wynikowy prog.o
114 Wprowadzenie 26 komputer diablo Kompilacja programów przykłady diablo 24: cc -Xc -o dwumian dwumian.c "dwumian.c", line 4: warning: function must be of type int: main() "dwumian.c", line 31: syntax error before or at: } "dwumian.c", line 48: syntax error before or at: else cc: acomp failed for dwumian.c
115 Wprowadzenie 26 komputer diablo Kompilacja programów przykłady diablo 24: cc -Xc -o dwumian dwumian.c "dwumian.c", line 4: warning: function must be of type int: main() "dwumian.c", line 31: syntax error before or at: } "dwumian.c", line 48: syntax error before or at: else cc: acomp failed for dwumian.c komputer panamint [mucha@panamint:~]:gcc -Wall -pedantic -o dwumian dwumian.c dwumian.c:4: warning: return type of main is not int dwumian.c: In function main : dwumian.c:21: warning: suggest parentheses around assignment used as truth value dwumian.c:31: error: expected ; before } token dwumian.c:45: warning: suggest parentheses around assignment used as truth value dwumian.c:48: error: expected ; before else "dwumian.c", line 4: warning: function must be of type int: main() "dwumian.c", line 31: syntax error before or at: } "dwumian.c", line 48: syntax error before or at: else cc: acomp failed for dwumian.c
116 Wprowadzenie 27 Uruchamianie programów diablo 25:
117 Wprowadzenie 27 Uruchamianie programów diablo 25:./dwumian (* alternatywnie dwumian *)
118 Wprowadzenie 27 Uruchamianie programów diablo 25:./dwumian (* alternatywnie dwumian *) Program rozwiazuje rownanie kwadratowe. Podaj wspolczynnik a, b, c:
119 Wprowadzenie 27 Uruchamianie programów diablo 25:./dwumian (* alternatywnie dwumian *) Program rozwiazuje rownanie kwadratowe. Podaj wspolczynnik a, b, c: 3 4-5
120 Wprowadzenie 27 Uruchamianie programów diablo 25:./dwumian (* alternatywnie dwumian *) Program rozwiazuje rownanie kwadratowe. Podaj wspolczynnik a, b, c: Rozwiazanie rownania sa pierwiastki: x1 = x2 = diablo 26:
121 Wprowadzenie 27 Uruchamianie programów diablo 25:./dwumian (* alternatywnie dwumian *) Program rozwiazuje rownanie kwadratowe. Podaj wspolczynnik a, b, c: Rozwiazanie rownania sa pierwiastki: x1 = x2 = diablo 26:./dwumian Program rozwiazuje rownanie kwadratowe. Podaj wspolczynnik a, b, c: Brak rozwiazan rzeczywistych.
122 Wprowadzenie 28 Uruchamianie programów cd. diablo 25:./dwumian Program rozwiazuje rownanie kwadratowe. Podaj wspolczynnik a, b, c: Rozwiazanie rownania sa pierwiastki: x1 = x2 =
123 -, 29 Wprowadzenie Ku pokrzepieniu Skład FoilTEX Indeks c R. Muszyński, 29 października 2018
124 Wprowadzenie 30 Podsumowanie Zagadnienia podstawowe 1. Jaka jest relacja między specyfikacją zadania a algorytmem? 2. Jaka jest różnica między algorytmem a programem? 3. Czym się różni kompilacja od konsolidacji programu? 4. Czym są opcje kompilacji programu i jak ich użyć? 5. W których miejscach w kodzie programu należy zamieszczać komentarze? 6. Czy bezbłędne skompilowanie programu gwarantuje jego poprawne działanie? 7. Czy kompilacja programu na komputerze klasy PC (domowym) i stacji roboczej (np. Sun jak diablo) daje zawsze takie same rezultaty? 8. Co przedstawia diagram algorytmu? 9. Czy za pomocą diagramu algorytmu można przedstawić projekt każdego programu? Zagadnienia rozszerzające 1. Jakie elementy powinna zawierać dokumentacja programu? 2. Jakie inne poza podanymi na wykładzie opcje wywołania kompilatora są dostępne w kompilatorze cc (na diablo), a jakie w gcc (panamint, komputer domowy)?
125 Wprowadzenie Jakie informacje umieszcza w programie kompilator przy włączonej opcji -g? W jaki sposób ułatwia to debugowanie programu? 4. Wskaż elementarne metody ułatwiające proces odpluskwiania programu? 5. Linker może dołączać biblioteki do programu w sposób statyczny i dynamiczny. Czym różnią się te dwa sposoby? Jak stwierdzić, jakie biblioteki dynamiczne zostały dołączone do programu? Zadania 1. Zapisz za pomocą diagramu algorytm pozwalający na posortowanie trzech liczb. 2. Zapisz za pomocą diagramu algorytm kodujący tekst za pomocą szyfru Cezara. 3. Napisz najkrótszy z możliwych program w języku C. 4. Napisz program wyliczający liczby Fibonacciego. 5. Napisz program wypisujący przedziały, w których zadana funkcja kwadratowa przyjmuje wartości poniżej zera.
126 Wprowadzenie 32 Indeks Literatura Materiały dostępne w sieci www Zawartość tematyczna wykładu Środowisko pracy Etapy pracy nad programem Edytor GNU Emacs Przykład programu w C Diagram programu Kompilacja programów wywołania przykłady Uruchamianie programów
Podstawy Programowania. Wprowadzenie
Podstawy Programowania Wykład I Wprowadzenie email: pokój: Robert Muszyński Katedra Cybernetyki i Robotyki Politechnika Wrocławska robert.muszynski@pwr.edu.pl 331 budynek C3 (Kompleks Wydziału Elektroniki)
Podstawy Programowania
Podstawy Programowania email: pokój: Wykład I Wprowadzenie Robert Muszyński Katedra Cybernetyki i Robotyki Politechnika Wrocławska robert.muszynski@pwr.edu.pl 331 budynek C3 (Kompleks Wydziału Elektroniki)
Podstawy Programowania
Podstawy Programowania email: pokój: Wykład I Robert Muszyński Katedra Cybernetyki i Robotyki Politechnika Wrocławska robert.muszynski@pwr.edu.pl 331 budynek C3 (Kompleks Wydziału Elektroniki) GPS: N 51
Podstawy Programowania. Wprowadzenie
Podstawy Programowania Wykład I Wprowadzenie email: pokój: Robert Muszyński Katedra Cybernetyki i Robotyki Politechnika Wrocławska robert.muszynski@pwr.edu.pl 331 budynek C3 (Kompleks Wydziału Elektroniki)
Informatyka 1. Wprowadzenie
Informatyka 1 Wykład I Wprowadzenie Robert Muszyński ZPCiR IIAiR PWr pokój 331 budynek C3 email: mucha@diablo.ict.pwr.wroc.pl Copyright c 2001 2005 Robert Muszyński Niniejszy dokument zawiera materiały
Informatyka 1. Wprowadzenie
Informatyka 1 Wykład I Wprowadzenie Robert Muszyński ZPCiR IIAiR PWr pokój 331 budynek C3 email: mucha@diablo.ict.pwr.wroc.pl Copyright c 2001 2005 Robert Muszyński Niniejszy dokument zawiera materiały
Informatyka I. Wyk lad I. Wprowadzenie. Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska
Informatyka I Wyk lad I Wprowadzenie Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska pokój 331 budynek C3 email: mucha@inyo.ict.pwr.wroc.pl Zagadnienia: literatura, zawartość
Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009
Informatyka 1 zajęcia nr 1 Elektrotechnika, semestr II rok akademicki 2008/2009 mgr inż.. Paweł Myszkowski Plan dzisiejszych zajęć 1. Organizacja laboratorium przedmiotu 2. Algorytmy i sposoby ich opisu
Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!
Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
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
1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
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:
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
Wstęp do programowania
Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład
Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 3 Konstrukcje sterujące Krzysztof Banaś Podstawy programowania 1 Kod źródłowy i wykonanie programu Kod źródłowy w języku programowania zawiera przepis wykonania programu
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ą
Proste algorytmy w języku C
Proste algorytmy w języku C Michał Rad AGH Laboratorium Maszyn Elektrycznych 2016-12-01 Outline Język C Zadanie pierwsze - obliczanie miejsc zerowych wielomianu Zadanie drugie - znajdowanie największego
Metodyki i techniki programowania
Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy
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
Metodyki i techniki programowania
Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2 Plan wykładu Sprawy
Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat
02 Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat 2012.10.07 Program w języku C Program w języku C jest pisany w pliku tekstowym, następnie przetwarzany przez kompilator do pliku
1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania
1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca
KONSTRUKCJA KOMPILATORÓW
KONSTRUKCJA KOMPILATORÓW WYKŁAD Robert Plebaniak PLATFORMA PROGRAMOWA LINUX (może nie zawierać LLgen, wówczas instalacja ze strony http://tack.sourceforge.net); WINDOWS (używa się wtedy programu Cygwin,
Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Schemat konstrukcja pliku Makefile
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008 Bogdan Kreczmer Niniejszy dokument
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
Podstawy Programowania.
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png O mnie... dr inż. Łukasz Graczykowski Zakład Fizyki Jądrowej Wydział Fizyki Politechniki Warszawskiej lgraczyk@if.pw.edu.pl www.if.pw.edu.pl/~lgraczyk/wiki
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Algorytmy i programowanie Algorithms and Programming Kierunek: Zarządzanie i Inżynieria Produkcji Rodzaj przedmiotu: kierunkowy Poziom studiów: studia I stopnia forma studiów: studia
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
PROGRAMOWANIE w C prolog
PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014
Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:
PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne
PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów
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
Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka Kod przedmiotu: ESC00 009 (studia stacjonarne)
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
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
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
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
Podstawy Programowania
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke O mnie... dr inż. Małgorzata Janik Zakład Fizyki
Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest
Definicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 8 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Biblioteka GSL Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html
Podstawy programowania - 1
Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl
Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Metodyki i techniki programowania
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Metodyki i techniki programowania Kod przedmiotu: TSC00
OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
WYKŁAD 1 - KONSPEKT. Program wykładu:
mgr inż. Jarosław Forenc e-mail: jarekf@pb.bialystok.pl tel. (0-85) 746-93-97 WWW: http://we.pb.bialystok.pl/~jforenc konsultacje: zaliczenie: Program wykładu: WYKŁAD 1 - KONSPEKT 1. Ogólna struktura programu
Podstawy programowania (1)
Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie
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
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
Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:
Podstawy systemu Linux Linux jest systemem operacyjnym dla komputerów PC, opracowany na początku lat dziewięćdziesiątych przez Linusa Torvaldsa. Podobnie jak Unix jest on systemem wielozadaniowym - umożliwia
Wprowadzenie do programowania
do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania
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
Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++
Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2
Wstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować
Proste algorytmy w języku C
Proste algorytmy w języku C Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-10-17 Outline Język C i Matlab Zadanie pierwsze - obliczanie miejsc zerowych wielomianu Zadanie drugie - znajdywanie największego
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Technologie informacyjne lab. 4
Technologie informacyjne lab. 4 Cel ćwiczenia: Zapoznanie się z komunikacją ze zdalnym serwerem w sieci na przykładzie bezpiecznego serwera SSH. Wstępne zapoznanie się z ideą certyfikatów. Praca z edytorem
Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!
Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Krzysztof Grudzień kgrudzi@kis.p.lodz.pl! Zbigniew Chaniecki zch@kis.p.lodz.pl 1 program zajęć - wykład Podstawowe pojęcia
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Programowanie w C. dr inż. Stanisław Wszelak
Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++
Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/
Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop
Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego
Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji
Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Podstawy programowania komputerów Computer programming basics Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy Rodzaj zajęć: wykład, laboratorium Forma studiów: stacjonarne Poziom
Programowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy Laboratorium 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Na podstawie: G. Perry, D. Miller, Język C Programowanie dla
Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki
Programowanie I Kornel Warwas ATH Katedra Matematyki i Informatyki 2 Algorytm Algorytm skończony, uporządkowany ciąg zdefiniowanych czynności, koniecznych do wykonania określonego zadania w ograniczonej
Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,
Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28
Programowanie w C++ Wykład 1 Katarzyna Grzelak 26 luty 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 28 Umiejętność, która otwiera
Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski
Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski dr Dariusz Wardowski, Instytut Matematyki i Informatyki PWSZ w Płocku 1 O mnie prowadzący wykład i laboratoria: Dariusz Wardowski pokój: 102
Rozdział 4. Algorytmy sortowania 73 Rozdział 5. Typy i struktury danych 89 Rozdział 6. Derekursywacja i optymalizacja algorytmów 147
Spis treści Przedmowa 9 Rozdział 1. Zanim wystartujemy 17 Jak to wcześniej bywało, czyli wyjątki z historii maszyn algorytmicznych 18 Jak to się niedawno odbyło, czyli o tym, kto wymyślił" metodologię
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dyrektywy preprocesora #include #define Interakcja
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:
Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka Kod przedmiotu: ESC00 009 (studia stacjonarne)
Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1
Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Instrukcje sterujące. Programowanie Proceduralne 1
Instrukcje sterujące Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne * mnożenie x * y x y x / dzielenie x / y y + dodawanie x +
Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski
Sposoby wykrywania i usuwania błędów Tomasz Borzyszkowski Mylić się jest rzeczą ludzką Typy błędów: błędy specyfikacji: źle określone wymagania błędy projektowe: nieodpowiednie struktury danych i algorytmy
MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis
MATERIAŁY DO ZAJĘĆ I Podstawowe pojęcia Spis treści I. Algorytm II. Schemat blokowy III. Struktury danych IV. Program komputerowy V. Opis środowiska programistycznego VI. Obsługa wejścia wyjścia VII. Przykład
Tworzenie oprogramowania
Tworzenie oprogramowania Język C Budowa programu napisanego w języku C podział na pliki z definicjami funkcji, korzystanie z bibliotek systemowych i własnych automatyzacja kompilacji za pomocą make dzielenie
Tworzenie oprogramowania
Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja
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,
INFORMATYKA Informatics. forma studiów: studia stacjonarne. Liczba godzin/tydzień: 2W, 2L PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Rodzaj przedmiotu: Podstawowy obowiazkowy Rodzaj zajęć: Wyk. Lab. Inżynieria Materiałowa Poziom studiów: studia I stopnia INFORMATYKA Informatics forma studiów: studia stacjonarne
Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest
Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików.
Spis treści 1 Krótkie wprowadzenie do makefile'a 1.1 Typowa reguła programu make 1.2 Zmienne w pliku Makefile 1.3 Zmienne standardowe 1.4 Zmienne automatyczne 1.5 Więcej o regułach 1.5.1 Reguły z wzorcem
Języki i metody programowania. Omówienie języków C, C++ i Java
Języki i metody programowania Omówienie języków C, C++ i Java Język C Język programowania ogólnego przeznaczenia Historia: M. Richards - BCPL - lata 60-te ubiegłego stulecia K. Thompson - B dla UNIX (DEC
IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania
IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania Spis treści Rozdział 1. Wprowadzenie do programu IBM SPSS Modeler Social Network Analysis.............. 1 IBM SPSS
Wykład 1 Wprowadzenie do algorytmów. Zawartość wykładu 1. Wstęp do algorytmów i struktur danych 2. Algorytmy z rozgałęzieniami.
Wykład 1 Wprowadzenie do algorytmów Zawartość wykładu 1. Wstęp do algorytmów i struktur danych 2. Algorytmy z rozgałęzieniami Wykaz literatury 1. N. Wirth - Algorytmy+Struktury Danych = Programy, WNT Warszawa
ETAP I SZKOLNY. Czas rozwiązywania testu 30 minut. Za każdą poprawną odpowiedź otrzymujesz 1pkt. POWODZENIA!!
TEST (max. 25 pkt.) Przed rozpoczęciem rozwiązywania testu wpisz swoje dane na karcie odpowiedzi. Następnie przeczytaj uważnie pytania. W każdym pytaniu jest tylko jedna poprawna odpowiedź. Poprawne odpowiedzi
SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017
Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2014-2018 realizacja w roku akademickim 2016/2017 1.1. PODSTAWOWE INFORMACJE O PRZEDMIOCIE/MODULE Nazwa przedmiotu/ modułu
PLUTO Sterownik bezpieczeństwa Skrócona Instrukcja obsługi oprogramowania. PlutoProgrammingManualPL_v7A.pdf 1
PLUTO Sterownik bezpieczeństwa Skrócona Instrukcja obsługi oprogramowania PlutoProgrammingManualPL_v7A.pdf 1 www.jokabsafety.com Spis treści 1. Instalacja oprogramowania 3 2. Podłączenie do komputera..5
Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38
Programowanie w C++ Wykład 1 Katarzyna Grzelak 25 luty 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 38 Umiejętność, która otwiera
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux SKRYPTY POWŁOKI mgr inż. Tomasz Borowiec SKRYPTY POWŁOKI - PODSTAWY W Linuksie skrypt jest plikiem tekstowym zawierającym polecenia systemowe
Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym
Laboratorium 1 I. Zainstaluj program Eclipse (wersja C/C++ http://www.eclipse.org/downloads/) w odpowiednim systemie operacyjnym II. Zainstaluj narzędzia Windows CDT (w Eclipse jako software site dodajemy