Informatyka 1. Wprowadzenie

Podobne dokumenty
Informatyka 1. Wprowadzenie

Informatyka I. Wyk lad I. Wprowadzenie. Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska

Podstawy Programowania

Podstawy Programowania

Podstawy Programowania. Wprowadzenie

Podstawy Programowania. Wprowadzenie

Informatyka 1. Przetwarzanie tekstów

Podstawy Programowania. Wprowadzenie

Informatyka 1. Wyrażenia i instrukcje cd., ręczna symulacja, operacje wejścia/wyjścia

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Język programowania PASCAL

Programowanie w języku Python. Grażyna Koba

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

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Wstęp do programowania

Schemat konstrukcja pliku Makefile

Wprowadzenie do programowania

PRZEWODNIK PO PRZEDMIOCIE

Programowanie w Turbo Pascal

Metodyki i techniki programowania

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

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

Metodyki i techniki programowania

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

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

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

ALGORYTMY I STRUKTURY DANYCH

Wprowadzenie do szablonów szablony funkcji

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Wprowadzenie do szablonów szablony funkcji

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Informatyka 1. Dokumentacja programu, moduły programowe, typy tablicowe

Wstęp do programowania

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

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

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

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)

Podstawy programowania

Informatyka Informatics

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

Chemiateoretyczna. Monika Musiał. Ćwiczenia

INFORMATYKA Informatics. forma studiów: studia stacjonarne. Liczba godzin/tydzień: 2W, 2L PRZEWODNIK PO PRZEDMIOCIE

Algorytmy. Programowanie Proceduralne 1

Zadanie analizy leksykalnej

2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.

Definicje. Algorytm to:

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

Algorytm. a programowanie -

PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne

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

Algorytmy. Programowanie Proceduralne 1

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Jerzy Nawrocki, Wprowadzenie do informatyki

Układy VLSI Bramki 1.0

Operacje wejścia/wyjścia odsłona pierwsza

Microsoft IT Academy kurs programowania

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Szablony funkcji i szablony klas

Polecenia wewnętrzne:

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Struktury danych i algorytmy. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

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!

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

E-1EZ1-03-s2. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Jerzy Nawrocki, Wprowadzenie do informatyki

Podstawy programowania.

Operatory d - kasuj (do bufora tymczasowego) c - zmień y - zapamiętaj (yank) > - przesuń w prawo < - przesuń w lewo. Informatyka MPDI2. np.

Podstawy i języki programowania

Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

15. Funkcje i procedury składowane PL/SQL

Lista dwukierunkowa - przykład implementacji destruktorów

Podstawy programowania

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

WYKONYWANIE ORAZ PRZYWRACANIE KOPII KONFIGURACJI ZA POMOCĄ INTERFEJSU 20-HIM-A6 / 20-HIM-C6S W PRZEMIENNIKACH SERII POWERFLEX 750

Trochę o plikach wsadowych (Windows)

Algorytmy i struktury danych

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

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy.

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

WYKŁAD 1 - KONSPEKT. Program wykładu:

Podstawy programowania - 1

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Zasoby dyskowe: Eksplorator Windows Z zasobami dyskowymi związane są nierozłącznie prawa dostępu gwarantujące możliwość odczytu, kasowania,

Wykład 1 Wprowadzenie do algorytmów. Zawartość wykładu 1. Wstęp do algorytmów i struktur danych 2. Algorytmy z rozgałęzieniami.

Pliki. Operacje na plikach w Pascalu

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17

Programowanie komputerów

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Transkrypt:

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 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

Wprowadzenie 1 Literatura 1. W. Paluszyński, Kurs informatyki z ćwiczeniami: Unix, Pascal i struktury danych, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 1994. 2. R. Kott, Programowanie w języku Pascal, WNT, Warszawa 1990. 3. B. W. Kernighan, R. Pike, Lekcja programowania (w serii Inżynieria oprogramowania), WNT Warszawa 2002 4. N. Wirth, Algorytmy + struktury danych = programy, WNT, Warszawa 2000. 5. T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa 1998. 6. M. Gierliński, Programowanie w Pascalu, Edition 2000, Kraków 1999. 7. D. Cameron, GNU Emacs (w serii Leksykon kieszonkowy), Helion, Gliwice 2002.

Wprowadzenie 1 Literatura 1. W. Paluszyński, Kurs informatyki z ćwiczeniami: Unix, Pascal i struktury danych, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 1994. 2. R. Kott, Programowanie w języku Pascal, WNT, Warszawa 1990. 3. B. W. Kernighan, R. Pike, Lekcja programowania (w serii Inżynieria oprogramowania), WNT Warszawa 2002 4. N. Wirth, Algorytmy + struktury danych = programy, WNT, Warszawa 2000. 5. T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa 1998. 6. M. Gierliński, Programowanie w Pascalu, Edition 2000, Kraków 1999. 7. D. Cameron, GNU Emacs (w serii Leksykon kieszonkowy), Helion, Gliwice 2002.

Wprowadzenie 1 Literatura 1. W. Paluszyński, Kurs informatyki z ćwiczeniami: Unix, Pascal i struktury danych, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 1994. 2. R. Kott, Programowanie w języku Pascal, WNT, Warszawa 1990. 3. B. W. Kernighan, R. Pike, Lekcja programowania (w serii Inżynieria oprogramowania), WNT Warszawa 2002 4. N. Wirth, Algorytmy + struktury danych = programy, WNT, Warszawa 2000. 5. T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa 1998. 6. M. Gierliński, Programowanie w Pascalu, Edition 2000, Kraków 1999. 7. D. Cameron, GNU Emacs (w serii Leksykon kieszonkowy), Helion, Gliwice 2002.

Wprowadzenie 1 Literatura 1. W. Paluszyński, Kurs informatyki z ćwiczeniami: Unix, Pascal i struktury danych, Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 1994. 2. R. Kott, Programowanie w języku Pascal, WNT, Warszawa 1990. 3. B. W. Kernighan, R. Pike, Lekcja programowania (w serii Inżynieria oprogramowania), WNT Warszawa 2002 4. N. Wirth, Algorytmy + struktury danych = programy, WNT, Warszawa 2000. 5. T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa 1998. 6. M. Gierliński, Programowanie w Pascalu, Edition 2000, Kraków 1999. 7. D. Cameron, GNU Emacs (w serii Leksykon kieszonkowy), Helion, Gliwice 2002.

Wprowadzenie 2 W sieci 1. www.zpcir.ict.pwr.wroc.pl strona Zakładu Podstaw Cybernetyki i Robotyki 2. www.zpcir.ict.pwr.wroc.pl/ witold/info1 strona kursu Informatyka 1 3. diablo.ict.pwr.wroc.pl strona studenckiego serwera diablo 4. diablo.ict.pwr.wroc.pl/pomoc strona pomocy: studenci AiR studentom AiR

Wprowadzenie 3 Zawartość tematyczna wykładu System operacyjny Unix wykonywanie podstawowych operacji. Posługiwanie się edytorem tekstów GNU Emacs. Język Pascal: gramatyka języka, kompilacja programów. Typy, wyrażenia, operatory, instrukcje. Metody konstruowania algorytmów. Procedury i funkcje; moduły. Reguły stylu programowania, dokumentacja programu. Iteracje i rekurencje. Tablice i rekordy. Wskaźniki, listy. Przeszukiwanie i sortowanie tabic. Operowanie tekstami. Efektywność programów.

Wprowadzenie 3 Zawartość tematyczna wykładu System operacyjny Unix wykonywanie podstawowych operacji. Posługiwanie się edytorem tekstów GNU Emacs. Język Pascal: gramatyka języka, kompilacja programów. Typy, wyrażenia, operatory, instrukcje. Metody konstruowania algorytmów. Procedury i funkcje; moduły. Reguły stylu programowania, dokumentacja programu. Iteracje i rekurencje. Tablice i rekordy. Wskaźniki, listy. Przeszukiwanie i sortowanie tabic. Operowanie tekstami. Efektywność programów.

Wprowadzenie 3 Zawartość tematyczna wykładu System operacyjny Unix wykonywanie podstawowych operacji. Posługiwanie się edytorem tekstów GNU Emacs. Język Pascal: gramatyka języka, kompilacja programów. Typy, wyrażenia, operatory, instrukcje. Metody konstruowania algorytmów. Procedury i funkcje; moduły. Reguły stylu programowania, dokumentacja programu. Iteracje i rekurencje. Tablice i rekordy. Wskaźniki, listy. Przeszukiwanie i sortowanie tabic. Operowanie tekstami. Efektywność programów.

Wprowadzenie 3 Zawartość tematyczna wykładu System operacyjny Unix wykonywanie podstawowych operacji. Posługiwanie się edytorem tekstów GNU Emacs. Język Pascal: gramatyka języka, kompilacja programów. Typy, wyrażenia, operatory, instrukcje. Metody konstruowania algorytmów. Procedury i funkcje; moduły. Reguły stylu programowania, dokumentacja programu. Iteracje i rekurencje. Tablice i rekordy. Wskaźniki, listy. Przeszukiwanie i sortowanie tabic. Operowanie tekstami. Efektywność programów.

Wprowadzenie 4 Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze milusie, melasie

Wprowadzenie 4 Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze milusie, melasie serwer sieciowy

Wprowadzenie 4 Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze milusie, melasie serwer plików serwer sieciowy

Wprowadzenie 4 Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze milusie, melasie INTERNET serwer plików serwer sieciowy

Wprowadzenie 4 Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze milusie, melasie INTERNET serwer plików serwer sieciowy Laboratorium 07 okocim, żywiec, eb

Wprowadzenie 4 Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze milusie, melasie INTERNET serwer plików serwer sieciowy Laboratorium 07 okocim, żywiec, eb serwer plików diablo, panamint, inyo...

Wprowadzenie 4 Środowisko pracy Laboratoria 103, 104, 127L, 127P kajki, kokosze milusie, melasie INTERNET serwer plików serwer sieciowy Laboratorium 07 okocim, żywiec, eb serwer plików diablo, panamint, inyo...

Topologia sieci Wprowadzenie (;-p) -, 5 diablo sequo ia y itne wh inyo am pan Skład FoilTEX int Indeks ama rgo sa c R. Muszyński, 3 paz dziernika 2005 roku

Topologia sieci Wprowadzenie (;-p) -, 5 diablo sequo ia y itne wh inyo int am n a p Skład FoilTEX Indeks ama rgo sa c R. Muszyński, 3 paz dziernika 2005 roku

Topologia sieci Wprowadzenie (;-p) -, 5 sta sha las sen tahoe kel ber ey mono limba diablo y itne wh inyo nc ha sequo ia int am n a p ama rgo sa ma libu ola rd stanfo Skład FoilTEX Indeks c R. Muszyński, 3 paz dziernika 2005 roku

Wprowadzenie 6 Specyfikacja zadania Etapy pracy nad programem

Wprowadzenie 6 Specyfikacja zadania Praca nad algorytmem Etapy pracy nad programem

Wprowadzenie 6 Specyfikacja zadania Praca nad algorytmem Edycja programu Etapy pracy nad programem

Wprowadzenie 6 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu

Wprowadzenie 6 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu

Wprowadzenie 6 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu

Wprowadzenie 6 Etapy pracy nad programem Specyfikacja zadania Praca nad algorytmem Edycja programu Kompilacja i konsolidacja programu Uruchamianie i odpluskwianie programu Dokumentacja!!!

Wprowadzenie 7 Edytor GNU Emacs Podstawowe komendy edytora GNU Emacs 94-9-1 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 ci agu 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

Wprowadzenie 8 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 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

Wprowadzenie 9 Przykładowy program w Pascalu { 1} PROGRAM fib(input,output); { 2} (* wylicza liczby Fibonacciego metoda iteracyjna *) { 3} { 4} VAR liczba: INTEGER; {liczba Fibon. do wyliczenia} { 5} p, p1, p2, i: INTEGER; { 6} { 7} BEGIN { 8} WRITELN( Program wylicza liczby Fibonacciego. ); { 9} WRITELN( Podaj ktora liczba ma byc wyliczona: ) {10} READLN(liczba); {11} IF (liczba < 0) {12} THEN {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) {14} ELSE {15} BEGIN {16} p1 := 0; p2 := 1; {17} {18} FOR i := 2 TO liczba DO {19} BEGIN {20} p := p1 + p2; p1 := p2; p2 := p {21} END; {22} {23} WRITELN( Gotowe, fib(,liczba, )=,p); {24} WRITELN( Zycze milego popoludnia. ); {25} {26} END { if (liczba < 0) } {27} END.

Wprowadzenie 9 Przykładowy program w Pascalu { 1} PROGRAM fib(input,output); { 2} (* wylicza liczby Fibonacciego metoda iteracyjna *) { 3} { 4} VAR liczba: INTEGER; {liczba Fibon. do wyliczenia} { 5} p, p1, p2, i: INTEGER; { 6} { 7} BEGIN { 8} WRITELN( Program wylicza liczby Fibonacciego. ); { 9} WRITELN( Podaj ktora liczba ma byc wyliczona: ) {10} READLN(liczba); {11} IF (liczba < 0) {12} THEN {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) {14} ELSE {15} BEGIN {16} p1 := 0; p2 := 1; {17} {18} FOR i := 2 TO liczba DO {19} BEGIN {20} p := p1 + p2; p1 := p2; p2 := p {21} END; {22} {23} WRITELN( Gotowe, fib(,liczba, )=,p); {24} WRITELN( Zycze milego popoludnia. ); {25} {26} END { if (liczba < 0) } {27} END. Nagłówek programu

Wprowadzenie 9 Przykładowy program w Pascalu { 1} PROGRAM fib(input,output); { 2} (* wylicza liczby Fibonacciego metoda iteracyjna *) { 3} { 4} VAR liczba: INTEGER; {liczba Fibon. do wyliczenia} { 5} p, p1, p2, i: INTEGER; { 6} { 7} BEGIN { 8} WRITELN( Program wylicza liczby Fibonacciego. ); { 9} WRITELN( Podaj ktora liczba ma byc wyliczona: ) {10} READLN(liczba); {11} IF (liczba < 0) {12} THEN {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) {14} ELSE {15} BEGIN {16} p1 := 0; p2 := 1; {17} {18} FOR i := 2 TO liczba DO {19} BEGIN {20} p := p1 + p2; p1 := p2; p2 := p {21} END; {22} {23} WRITELN( Gotowe, fib(,liczba, )=,p); {24} WRITELN( Zycze milego popoludnia. ); {25} {26} END { if (liczba < 0) } {27} END. Komentarze

Wprowadzenie 9 Przykładowy program w Pascalu { 1} PROGRAM fib(input,output); { 2} (* wylicza liczby Fibonacciego metoda iteracyjna *) { 3} { 4} VAR liczba: INTEGER; {liczba Fibon. do wyliczenia} { 5} p, p1, p2, i: INTEGER; { 6} { 7} BEGIN { 8} WRITELN( Program wylicza liczby Fibonacciego. ); { 9} WRITELN( Podaj ktora liczba ma byc wyliczona: ) {10} READLN(liczba); {11} IF (liczba < 0) {12} THEN {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) {14} ELSE {15} BEGIN {16} p1 := 0; p2 := 1; {17} {18} FOR i := 2 TO liczba DO {19} BEGIN {20} p := p1 + p2; p1 := p2; p2 := p {21} END; {22} {23} WRITELN( Gotowe, fib(,liczba, )=,p); {24} WRITELN( Zycze milego popoludnia. ); {25} {26} END { if (liczba < 0) } {27} END. Deklaracja zmiennych

Wprowadzenie 9 Przykładowy program w Pascalu { 1} PROGRAM fib(input,output); { 2} (* wylicza liczby Fibonacciego metoda iteracyjna *) { 3} { 4} VAR liczba: INTEGER; {liczba Fibon. do wyliczenia} { 5} p, p1, p2, i: INTEGER; { 6} { 7} BEGIN { 8} WRITELN( Program wylicza liczby Fibonacciego. ); { 9} WRITELN( Podaj ktora liczba ma byc wyliczona: ) {10} READLN(liczba); {11} IF (liczba < 0) {12} THEN {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) {14} ELSE {15} BEGIN {16} p1 := 0; p2 := 1; {17} {18} FOR i := 2 TO liczba DO {19} BEGIN {20} p := p1 + p2; p1 := p2; p2 := p {21} END; {22} {23} WRITELN( Gotowe, fib(,liczba, )=,p); {24} WRITELN( Zycze milego popoludnia. ); {25} {26} END { if (liczba < 0) } {27} END. Program główny

Wprowadzenie 9 Przykładowy program w Pascalu { 1} PROGRAM fib(input,output); { 2} (* wylicza liczby Fibonacciego metoda iteracyjna *) { 3} { 4} VAR liczba: INTEGER; {liczba Fibon. do wyliczenia} { 5} p, p1, p2, i: INTEGER; { 6} { 7} BEGIN { 8} WRITELN( Program wylicza liczby Fibonacciego. ); { 9} WRITELN( Podaj ktora liczba ma byc wyliczona: ) {10} READLN(liczba); {11} IF (liczba < 0) {12} THEN {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) {14} ELSE {15} BEGIN {16} p1 := 0; p2 := 1; {17} {18} FOR i := 2 TO liczba DO {19} BEGIN {20} p := p1 + p2; p1 := p2; p2 := p {21} END; {22} {23} WRITELN( Gotowe, fib(,liczba, )=,p); {24} WRITELN( Zycze milego popoludnia. ); {25} {26} END { if (liczba < 0) } {27} END. Program główny Wczytanie danych

Wprowadzenie 9 Przykładowy program w Pascalu { 1} PROGRAM fib(input,output); { 2} (* wylicza liczby Fibonacciego metoda iteracyjna *) { 3} { 4} VAR liczba: INTEGER; {liczba Fibon. do wyliczenia} { 5} p, p1, p2, i: INTEGER; { 6} { 7} BEGIN { 8} WRITELN( Program wylicza liczby Fibonacciego. ); { 9} WRITELN( Podaj ktora liczba ma byc wyliczona: ) {10} READLN(liczba); {11} IF (liczba < 0) {12} THEN {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) {14} ELSE {15} BEGIN {16} p1 := 0; p2 := 1; {17} {18} FOR i := 2 TO liczba DO {19} BEGIN {20} p := p1 + p2; p1 := p2; p2 := p {21} END; {22} {23} WRITELN( Gotowe, fib(,liczba, )=,p); {24} WRITELN( Zycze milego popoludnia. ); {25} {26} END { if (liczba < 0) } {27} END. Program główny Kontrola poprawności danych

Wprowadzenie 9 Przykładowy program w Pascalu { 1} PROGRAM fib(input,output); { 2} (* wylicza liczby Fibonacciego metoda iteracyjna *) { 3} { 4} VAR liczba: INTEGER; {liczba Fibon. do wyliczenia} { 5} p, p1, p2, i: INTEGER; { 6} { 7} BEGIN { 8} WRITELN( Program wylicza liczby Fibonacciego. ); { 9} WRITELN( Podaj ktora liczba ma byc wyliczona: ) {10} READLN(liczba); {11} IF (liczba < 0) {12} THEN {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) {14} ELSE {15} BEGIN {16} p1 := 0; p2 := 1; {17} {18} FOR i := 2 TO liczba DO {19} BEGIN {20} p := p1 + p2; p1 := p2; p2 := p {21} END; {22} {23} WRITELN( Gotowe, fib(,liczba, )=,p); {24} WRITELN( Zycze milego popoludnia. ); {25} {26} END { if (liczba < 0) } {27} END. Program główny Część obliczeniowa

Wprowadzenie 9 Przykładowy program w Pascalu { 1} PROGRAM fib(input,output); { 2} (* wylicza liczby Fibonacciego metoda iteracyjna *) { 3} { 4} VAR liczba: INTEGER; {liczba Fibon. do wyliczenia} { 5} p, p1, p2, i: INTEGER; { 6} { 7} BEGIN { 8} WRITELN( Program wylicza liczby Fibonacciego. ); { 9} WRITELN( Podaj ktora liczba ma byc wyliczona: ) {10} READLN(liczba); {11} IF (liczba < 0) {12} THEN {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) {14} ELSE {15} BEGIN {16} p1 := 0; p2 := 1; {17} {18} FOR i := 2 TO liczba DO {19} BEGIN {20} p := p1 + p2; p1 := p2; p2 := p {21} END; {22} {23} WRITELN( Gotowe, fib(,liczba, )=,p); {24} WRITELN( Zycze milego popoludnia. ); {25} {26} END { if (liczba < 0) } {27} END. Program główny Wyświetlenie wyników

Wprowadzenie 9 Przykładowy program w Pascalu { 1} PROGRAM fib(input,output); { 2} (* wylicza liczby Fibonacciego metoda iteracyjna *) { 3} { 4} VAR liczba: INTEGER; {liczba Fibon. do wyliczenia} { 5} p, p1, p2, i: INTEGER; { 6} { 7} BEGIN { 8} WRITELN( Program wylicza liczby Fibonacciego. ); { 9} WRITELN( Podaj ktora liczba ma byc wyliczona: ) {10} READLN(liczba); {11} IF (liczba < 0) {12} THEN {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) {14} ELSE {15} BEGIN {16} p1 := 0; p2 := 1; {17} {18} FOR i := 2 TO liczba DO {19} BEGIN {20} p := p1 + p2; p1 := p2; p2 := p {21} END; {22} {23} WRITELN( Gotowe, fib(,liczba, )=,p); {24} WRITELN( Zycze milego popoludnia. ); {25} {26} END { if (liczba < 0) } {27} END. Nagłówek programu Komentarze Deklaracja zmiennych Program główny Wczytanie danych Kontrola poprawności danych Część obliczeniowa Wyświetlenie wyników

Wprowadzenie 10 Diagram programu START Przedstaw się. Wczytaj nr liczby do wyliczenia.

Wprowadzenie 10 Diagram programu START Przedstaw się. Wczytaj nr liczby do wyliczenia. Czy nr dodatni?

Wprowadzenie 10 Diagram programu START Przedstaw się. Wczytaj nr liczby do wyliczenia. Czy nr dodatni? Tak p1 := 0; p2 := 1

Wprowadzenie 10 Diagram programu START Przedstaw się. Wczytaj nr liczby do wyliczenia. Czy nr dodatni? Tak p1 := 0; p2 := 1 Czy wyliczono żądaną liczbę?

Wprowadzenie 10 Diagram programu START Przedstaw się. Wczytaj nr liczby do wyliczenia. Czy nr dodatni? Tak p1 := 0; p2 := 1 Czy wyliczono żądaną liczbę? Tak Wyświetl wynik STOP

Wprowadzenie 10 Diagram programu START Przedstaw się. Wczytaj nr liczby do wyliczenia. Czy nr dodatni? Tak p1 := 0; p2 := 1 Czy wyliczono żądaną liczbę? Nie p := p1 + p2; p1 := p2; p2 := p; Tak Wyświetl wynik STOP

Wprowadzenie 10 Diagram programu START Przedstaw się. Wczytaj nr liczby do wyliczenia. Błędne dane wejściowe Czy nr dodatni? Nie Wyświetl komunikat o niepoprawnej wartości Tak p1 := 0; p2 := 1 Czy wyliczono żądaną liczbę? Nie p := p1 + p2; p1 := p2; p2 := p; Tak Wyświetl wynik STOP

Wprowadzenie 11 Kompilacja programów plik źródłowy program.p

Wprowadzenie 11 Kompilacja programów plik źródłowy program.p pc -c program.p plik object program.o

Wprowadzenie 11 Kompilacja programów plik źródłowy program.p pc -c program.p plik object program.o pc program.o plik binarny a.out

Wprowadzenie 11 Kompilacja programów plik źródłowy program.p pc -c program.p plik object program.o pc program.p pc program.o plik binarny a.out

Wprowadzenie 11 Kompilacja programów plik źródłowy program.p pc -o program program.p pc -c program.p plik object program.o pc program.p pc program.o plik binarny a.out pc -o program program.p plik binarny program

Wprowadzenie 12 Kompilacja programów komputer diablo pc prog.p = wynik: program binarny a.out rozróżniane duże i małe litery pc -L prog.p = wynik: program binarny a.out nie rozróżniane duże i małe litery pc -o prog prog.p = wynik: program binarny prog

Wprowadzenie 12 komputer diablo Kompilacja programów pc prog.p = wynik: program binarny a.out rozróżniane duże i małe litery pc -L prog.p = wynik: program binarny a.out nie rozróżniane duże i małe litery pc -o prog prog.p = wynik: program binarny prog diablo 24: pc -L -o fibo fib.p pia paz 4 10:23:08 2002 fib.p: 9 readln(liczba); e 18480---------^--- Inserted ; 12 writelm( Zle, liczba nie moze byc ujemna!! ) E 18420-------------^--- Undefined procedure In program fib: E 18240 writelm undefined on line 12

Wprowadzenie 13 Kompilacja programów komputer inyo pc prog.p = wynik: program binarny a.out nie rozróżniane duże i małe litery pc -o prog prog.p = wynik: program binarny prog

Wprowadzenie 13 Kompilacja programów komputer inyo pc prog.p = wynik: program binarny a.out nie rozróżniane duże i małe litery pc -o prog prog.p = wynik: program binarny prog inyo 17: pc -o fibo fib.p /opt/pascal/bin/pc -o fibo fib.p FILE: fib.p 7 10.000 1 {10} READLN(liczba); ^ **** ERROR # 1 MISSING ; (026) FILE: fib.p 9 13.000 1 {13} WRITELM( Zle, liczba nie moze byc ujemna!! ) ^ **** ERROR # 2 IDENTIFIER NOT DEFINED (014) NUMBER OF ERRORS = 2 NUMBER OF WARNINGS = 0 PROCESSOR TIME 0: 0: 0 ELAPSED TIME 0: 0: 0 NUMBER OF LINES = 27 LINES/MINUTE = 16200.0 NUMBER OF NOTES = 0 pc: Errors detected; no link done

Wprowadzenie 14 Uruchamianie programów diablo 25:

Wprowadzenie 14 Uruchamianie programów diablo 25: fibo (* alternatywnie./fibo *)

Wprowadzenie 14 Uruchamianie programów diablo 25: fibo (* alternatywnie./fibo *) Program wylicza liczby Fibonacciego. Podaj ktora liczba ma byc wyliczona:

Wprowadzenie 14 Uruchamianie programów diablo 25: fibo (* alternatywnie./fibo *) Program wylicza liczby Fibonacciego. Podaj ktora liczba ma byc wyliczona: 7

Wprowadzenie 14 Uruchamianie programów diablo 25: fibo (* alternatywnie./fibo *) Program wylicza liczby Fibonacciego. Podaj ktora liczba ma byc wyliczona: 7 Gotowe, fib( 7)=13 Zycze milego popoludnia. diablo 26:

Wprowadzenie 14 Uruchamianie programów diablo 25: fibo (* alternatywnie./fibo *) Program wylicza liczby Fibonacciego. Podaj ktora liczba ma byc wyliczona: 7 Gotowe, fib( 7)=13 Zycze milego popoludnia. diablo 26: fibo Program wylicza liczby Fibonacciego. Podaj ktora liczba ma byc wyliczona: 432424234 Gotowe, fib( 432424234)=1002448503 Zycze milego popoludnia.

Wprowadzenie 15 diablo 25: fibo Program wylicza liczby Fibonacciego. Podaj ktora liczba ma byc wyliczona: 100 Gotowe, fib( 100)=-980107325 Zycze milego popoludnia. diablo 26:

Wprowadzenie 15 diablo 25: fibo Program wylicza liczby Fibonacciego. Podaj ktora liczba ma byc wyliczona: 100 Gotowe, fib( 100)=-980107325 Zycze milego popoludnia. diablo 26: fibo Program wylicza liczby Fibonacciego. Podaj ktora liczba ma byc wyliczona: -13 Zle, liczba nie moze byc ujemna!!

Wprowadzenie 16 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 Pascalu Diagram programu Kompilacja programów przykład diablo przykład inyo Uruchamianie programów