Informatyka 1 - Laboratorium...

64
Informatyka 1 Wyklad I Wprowadzenie Robert Muszyński ZPCiR IIAiR PWr pokój 331 budynek C3 email: [email protected] Copyright c 2001–2005 Robert Muszyński * * Niniejszy dokument zawiera materialy do wykladu na temat podstaw programowania w językach wysokiego poziomu. Jest on udostępniony pod warunkiem wykorzystania wylącznie do wlasnych, prywatnych potrzeb i może być kopiowany wylącznie w calości, razem ze stroną tytulową. – Sklad Foil T E X

Transcript of Informatyka 1 - Laboratorium...

Page 1: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Informatyka 1Wykład I

Wprowadzenie

Robert MuszyńskiZPCiR IIAiR PWr

pokój 331 budynek C3

email: [email protected]

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 onudostę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 –

Page 2: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie 1

Literatura1. 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 opro-gramowania), WNT Warszawa 2002

4. N. Wirth, Algorytmy + struktury danych = programy, WNT, Warszawa 2000.

5. T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNTWarszawa 1998.

6. M. Gierliński, Programowanie w Pascalu, Edition 2000, Kraków 1999.

7. D. Cameron, GNU Emacs (w serii Leksykon kieszonkowy), Helion, Gliwice2002.

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 3: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie 1

Literatura1. 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 opro-gramowania), WNT Warszawa 2002

4. N. Wirth, Algorytmy + struktury danych = programy, WNT, Warszawa 2000.

5. T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNTWarszawa 1998.

6. M. Gierliński, Programowanie w Pascalu, Edition 2000, Kraków 1999.

7. D. Cameron, GNU Emacs (w serii Leksykon kieszonkowy), Helion, Gliwice2002.

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 4: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie 1

Literatura1. 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 opro-gramowania), WNT Warszawa 2002

4. N. Wirth, Algorytmy + struktury danych = programy, WNT, Warszawa 2000.

5. T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNTWarszawa 1998.

6. M. Gierliński, Programowanie w Pascalu, Edition 2000, Kraków 1999.

7. D. Cameron, GNU Emacs (w serii Leksykon kieszonkowy), Helion, Gliwice2002.

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 5: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie 1

Literatura1. 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 opro-gramowania), WNT Warszawa 2002

4. N. Wirth, Algorytmy + struktury danych = programy, WNT, Warszawa 2000.

5. T. Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNTWarszawa 1998.

6. M. Gierliński, Programowanie w Pascalu, Edition 2000, Kraków 1999.

7. D. Cameron, GNU Emacs (w serii Leksykon kieszonkowy), Helion, Gliwice2002.

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 6: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 7: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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.

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 8: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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.

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 9: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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.

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 10: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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.

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 11: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 4

Środowisko pracy

Laboratoria 103, 104, 127L, 127P

kajki, kokosze milusie, melasie

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 12: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 4

Środowisko pracy

Laboratoria 103, 104, 127L, 127P

kajki, kokosze milusie, melasie

serwer sieciowy

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 13: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 4

Środowisko pracy

Laboratoria 103, 104, 127L, 127P

kajki, kokosze milusie, melasie

serwer sieciowyserwer plików

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 14: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 4

Środowisko pracy

Laboratoria 103, 104, 127L, 127P

kajki, kokosze milusie, melasie

serwer sieciowyserwer plików

INTERNET

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 15: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 4

Środowisko pracy

Laboratoria 103, 104, 127L, 127P

kajki, kokosze milusie, melasie

serwer sieciowyserwer plików

INTERNET

Laboratorium 07

okocim, żywiec, eb

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 16: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 4

Środowisko pracy

Laboratoria 103, 104, 127L, 127P

kajki, kokosze milusie, melasie

serwer sieciowyserwer plików

INTERNET

Laboratorium 07

okocim, żywiec, eb

...

diablo, panamint, inyo

serwer plików

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 17: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 4

Środowisko pracy

Laboratoria 103, 104, 127L, 127P

kajki, kokosze milusie, melasie

serwer sieciowyserwer plików

INTERNET

Laboratorium 07

okocim, żywiec, eb

...

diablo, panamint, inyo

serwer plików

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 18: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 5Topologia sieci (;-p)

panamintwhitney

amargosa

sequoia

diablo

inyo

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 19: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 5Topologia sieci (;-p)

panamintwhitney

amargosa

sequoia

diablo

inyo

panamintwhitney

amargosa

sequoia

diablo

inyo

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 20: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 5Topologia sieci (;-p)

panamintwhitney

amargosa

sequoia

diablo

inyo

panamintwhitney

amargosa

sequoia

diablo

inyo

malib

umono

limba

tahoe

olanch

a

stanford

berkeley

lassen

shasta

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 21: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 6

Etapy pracy nad programem

• Specyfikacja zadania

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 22: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 6

Etapy pracy nad programem

• Specyfikacja zadania

• Praca nad algorytmem

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 23: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 6

Etapy pracy nad programem

• Specyfikacja zadania

• Praca nad algorytmem

• Edycja programu

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 24: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 6

Etapy pracy nad programem

• Specyfikacja zadania

• Praca nad algorytmem

• Edycja programu

• Kompilacja i konsolidacja programu

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 25: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 6

Etapy pracy nad programem

• Specyfikacja zadania

• Praca nad algorytmem

• Edycja programu

• Kompilacja i konsolidacja programu

• Uruchamianie i odpluskwianie programu

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 26: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 6

Etapy pracy nad programem

• Specyfikacja zadania

• Praca nad algorytmem

• Edycja programu

• Kompilacja i konsolidacja programu

• Uruchamianie i odpluskwianie programu

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 27: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 6

Etapy pracy nad programem

• Specyfikacja zadania

• Praca nad algorytmem

• Edycja programu

• Kompilacja i konsolidacja programu

• Uruchamianie i odpluskwianie programu

• Dokumentacja!!!

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 28: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie 7

Edytor GNU EmacsPodstawowe komendy edytora GNU Emacs 94-9-1

Edytor GNU Emacs jest wywoływany komendą: emacs nazwa pliku.

Przemieszczanie kursoraCtrl-B, Ctrl-N, Ctrl-P, Ctrl-F — Przemieszczanie kursora o jeden znak (←↓↑→)ESC F — Słowo do przodu Ctrl-A — Kursor na początek liniiESC B — Słowo do tyłu Ctrl-E — Kursor na koniec liniiESC < — Kursor na początek pliku Ctrl-V — Przejście do następnej stronyESC > — Kursor na koniec pliku ESC V — Przejście do poprzedniej stronyESC X goto-line — Przejście do linii o numerze podanym przez użytkownika

Kasowanie znakówDEL — Kasowanie znaku przed kursorem ESC DEL — Kasowanie słowa przed kursoremCtrl-D — Kasowanie znaku na pozycji kursora ESC D — Kasowanie słowa za kursoremCtrl-K — Kasowanie znaków od kursora do końca linii

Poszukiwanie i zamiana ciągu znakówCtrl-S ciąg znaków ESC — Przyrostowe poszukiwanie w przódCtrl-R ciąg znaków ESC — Przyrostowe poszukiwanie w tyłESC % ciąg znaków RETURN nowy ciąg RETURN — Warunkowa zamiana ciagu 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 buforaESC W — Zapis regionu do bufora bez jego kasowaniaCtrl-Y — Skopiowanie zawartości regionu w miejsce położenia kursora

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 29: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie 8

Operacje na oknachCtrl-X 2 — Otwarcie drugiego okna Ctrl-X O — Przejście do drugiego oknaCtrl-X 0 — Zamknięcie aktywnego okna Ctrl-X 1 — Zamkniecie wszystkich okien oprócz aktywnego

Operacje na plikach i buforach plikowychCtrl-X Ctrl-S — Zapis bufora plikowego na dysk Ctrl-X Ctrl-F — Otwarcie nowego plikuCtrl-X Ctrl-W — Utworzenie i zapis do pliku o nowej nazwieCtrl-X I — Wstawienie zawartości innego pliku do aktywnego bufora plikowego

Pomoc Ctrl-H — Klawisz pomocyCtrl-H T — wyświetla samouczekESC 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 komendyCtrl-L — Odświeżenie ekranuCtrl-X U — Odtworzenie zawartości bufora sprzed ostatniej zmianyESC ! — Uruchomienie shella w buforze edytoraCtrl-X Ctrl-C — Zakończenie pracy z edytorem

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 30: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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.

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 31: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 32: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 33: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 34: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 35: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 36: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 37: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 38: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 39: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 40: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 10

Diagram programu

Przedstaw się.Wczytaj nr liczby do wyliczenia.

START

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 41: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 10

Diagram programu

Przedstaw się.Wczytaj nr liczby do wyliczenia.

START

Czy nrdodatni?

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 42: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 10

Diagram programu

Przedstaw się.Wczytaj nr liczby do wyliczenia.

START

Czy nrdodatni?

Tak

p1 := 0; p2 := 1

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 43: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 10

Diagram programu

Przedstaw się.Wczytaj nr liczby do wyliczenia.

START

Czy nrdodatni?

Tak

p1 := 0; p2 := 1

Czy wyliczonożądaną liczbę?

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 44: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 10

Diagram programu

Przedstaw się.Wczytaj nr liczby do wyliczenia.

START

Czy nrdodatni?

Tak

p1 := 0; p2 := 1

Czy wyliczonożądaną liczbę?

Tak

Wyświetl wynik

STOP

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 45: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 10

Diagram programu

Przedstaw się.Wczytaj nr liczby do wyliczenia.

START

Czy nrdodatni?

Tak

p1 := 0; p2 := 1

Czy wyliczonożądaną liczbę?

Tak

Wyświetl wynik

STOP

Nie p := p1 + p2;p1 := p2;p2 := p;

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 46: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 10

Diagram programu

Przedstaw się.Wczytaj nr liczby do wyliczenia.

START

Czy nrdodatni?

Tak

p1 := 0; p2 := 1

Czy wyliczonożądaną liczbę?

Tak

Wyświetl wynik

STOP

Nie p := p1 + p2;p1 := p2;p2 := p;

Nie

Błędne dane wejściowe

Wyświetl komunikato niepoprawnej wartości

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 47: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 11

Kompilacja programów

plik źródłowy ”program.p”

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 48: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 11

Kompilacja programów

plik źródłowy ”program.p”

plik object ”program.o”

pc -c program.p

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 49: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 11

Kompilacja programów

plik źródłowy ”program.p”

plik object ”program.o”

pc -c program.p

plik binarny ”a.out”

pc program.o

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 50: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 11

Kompilacja programów

plik źródłowy ”program.p”

plik object ”program.o”

pc -c program.p

plik binarny ”a.out”

pc program.o

pc program.p

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 51: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 11

Kompilacja programów

plik źródłowy ”program.p”

plik object ”program.o”

pc -c program.p

plik binarny ”a.out”

pc program.o

pc program.p

plik binarny ”program”

pc -o program program.p

pc -o program program.p

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 52: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 12

Kompilacja programów

• komputer diablo'

&

$

%

pc prog.p ⇐= wynik: program binarny a.outrozróżniane duże i małe litery

pc -L prog.p ⇐= wynik: program binarny a.outnie rozróżniane duże i małe litery

pc -o prog prog.p ⇐= wynik: program binarny prog

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 53: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 12

Kompilacja programów

• komputer diablo'

&

$

%

pc prog.p ⇐= wynik: program binarny a.outrozróżniane duże i małe litery

pc -L prog.p ⇐= wynik: program binarny a.outnie rozróżniane duże i małe litery

pc -o prog prog.p ⇐= wynik: program binarny prog

'

&

$

%

diablo 24: pc -L -o fibo fib.ppia 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 procedureIn program fib:E 18240 writelm undefined on line 12

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 54: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 13

Kompilacja programów

• komputer inyo'

&

$

%

pc prog.p ⇐= wynik: program binarny a.outnie rozróżniane duże i małe litery

pc -o prog prog.p ⇐= wynik: program binarny prog

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 55: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 13

Kompilacja programów

• komputer inyo'

&

$

%

pc prog.p ⇐= wynik: program binarny a.outnie 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.pFILE: fib.p

7 10.000 1 {10} READLN(liczba);^

**** ERROR # 1 MISSING ’;’ (026)FILE: fib.p

9 13.000 1 {13} WRITELM(’Zle, liczba niemoze byc ujemna!!’)

^**** ERROR # 2 IDENTIFIER NOT DEFINED (014)

NUMBER OF ERRORS = 2 NUMBER OF WARNINGS = 0PROCESSOR TIME 0: 0: 0 ELAPSED TIME 0: 0: 0NUMBER OF LINES = 27 LINES/MINUTE = 16200.0NUMBER OF NOTES = 0

pc: Errors detected; no link done

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 56: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 14

Uruchamianie programów'

&

$

%

diablo 25:

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 57: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 14

Uruchamianie programów'

&

$

%

diablo 25: fibo (* alternatywnie ./fibo *)

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 58: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 14

Uruchamianie programów'

&

$

%

diablo 25: fibo (* alternatywnie ./fibo *)Program wylicza liczby Fibonacciego.Podaj ktora liczba ma byc wyliczona:

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 59: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 14

Uruchamianie programów'

&

$

%

diablo 25: fibo (* alternatywnie ./fibo *)Program wylicza liczby Fibonacciego.Podaj ktora liczba ma byc wyliczona:7

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 60: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 14

Uruchamianie programów'

&

$

%

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 61: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 14

Uruchamianie programów'

&

$

%

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 62: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 15

'

&

$

%

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 63: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

Wprowadzenie ←↩ ↪→ 15

'

&

$

%

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku

Page 64: Informatyka 1 - Laboratorium Robotykirab.ict.pwr.wroc.pl/~mucha/informatyka1/wyklad01_prezentacja.pdf · Cormen, C. Leiserson, R. Rivest, Wprowadzenie do algorytmów, WNT Warszawa

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

– Skład FoilTEX – Indeks c© R. Muszyński, 3 pazdziernika 2005 roku