PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

19
PROGRAMOWANIE STRUKTURALNE WYKŁAD 1 Wprowadzenie do programowania w Pascalu. Mgr inż. Agnieszka Sroka

description

PROGRAMOWANIE STRUKTURALNE WYKŁAD 1. Wprowadzenie do programowania w Pascalu. Mgr inż. Agnieszka Sroka. TEMATY:. Podstawowe pojęcia dotyczące programowania. Algorytmy i sposoby ich zapisu. Tworzenie schematów blokowych. - PowerPoint PPT Presentation

Transcript of PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Page 1: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

PROGRAMOWANIE STRUKTURALNE

WYKŁAD 1

Wprowadzenie do programowania w Pascalu.

Mgr inż. Agnieszka Sroka

Page 2: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

TEMATY:

1. Podstawowe pojęcia dotyczące programowania.

2. Algorytmy i sposoby ich zapisu. 3. Tworzenie schematów blokowych. 4. Wykorzystanie programu Eli do

tworzenia schematów blokowych algorytmów.

Page 3: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Podstawowe pojęcia dotyczące programowania.

ProgramowanieProgramowanie proces projektowania, tworzenia i poprawiania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych. Kod źródłowy pisze się z użyciem reguł określanych przez wybrany język programowania.

Page 4: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Podstawowe pojęcia dotyczące programowania.

Problem – zadanie do rozwiązania.

Program komputerowy – algorytm zapisany w odpowiednim języku programowania zrozumiałym przez komputer (np. w języku maszynowym procesora – ciąg liczb stanowiących rozkazy i dane dla procesora).

Język programowania to usystematyzowany sposób przekazywania komputerowi poleceń do wykonania.

Page 5: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Podstawowe pojęcia dotyczące programowania.

Języki programowania • języki zorientowane obiektowo (C++, Smalltalk, EiffelC++, Smalltalk, Eiffel)

• języki do zarządzania bazami danych (SQLSQL)

• programowanie wizualne (AppWare, Synergy, VPLusAppWare, Synergy, VPLus)

• języki symulacyjne (Simula, Gabriel, TROLLSimula, Gabriel, TROLL)

• języki funkcyjne (Haskell, ASpecTHaskell, ASpecT)

• programowanie współbieżne (Fortran FM, CODE, NESLFortran FM, CODE, NESL)

• modelowanie matematyczne (Matlab, MathcadMatlab, Mathcad)

• języki opisu stron (Postscript, Tex, HPGLPostscript, Tex, HPGL)

• programowanie stron WWW (PHP, JavaScript, PERL, PHP, JavaScript, PERL, DHTMLDHTML)

• komputerowo wspomagana Inżynieria Oprogramowania (ang. CASE)

Page 6: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Podstawowe pojęcia dotyczące programowania.

Kod źródłowy – ciąg instrukcji języka programowania w którym zakodowano algorytmy stanowiące rozwiązanie problemu.

Kod wynikowy - kod pośredni w języku maszynowym, który jest zrozumiały dla komputera.

Translator – program tłumaczący program napisany w jakimkolwiek języku programowania na język wewnętrzny maszyny (maszynowy).

Rodzaje translatorów:  Kompilator np. Turbo Pascal, Interpreter np. HTML.

Zależnie od trybu działania, proces tłumaczenia (translacji) może polegać na tłumaczeniu kodu źródłowego na kod wynikowy w całości - KOMPILACJA lub tłumaczeniu z natychmiastowym wykonaniem programu – INTERPRETACJA.

Konsolidator (ang. linker) łączy zadane pliki obiektowe i biblioteki statyczne tworząc w ten sposób kod wykonywalny, który może być wielokrotnie uruchamiany w komputerze.

Page 7: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Algorytmy i sposoby ich zapisu.

Punktem wyjścia dla każdego programu jest algorytm umożliwiający rozwiązanie określonego zadania.

Algorytm to jednoznaczny przepis, dyktujący krok po kroku sposób postępowania w celu rozwiązania pewnego problemu lub sposobu osiągnięcia jakiegoś celu.

Algorytm mona przedstawić na wiele różnych sposobów:• w postaci opisu słownego,• w postaci listy kroków,• w postaci schematu blokowego (postać graficzna

algorytmu),• za pomocą jednego z języków formalnych (np. UML).

Problem 1.1. Znaleźć minimum spośród dwóch liczb całkowitych a i b. Wyprowadzić wartość minimum. Jeśli liczby są równe, to wyprowadzić odpowiedni komunikat.

Page 8: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Algorytmy i sposoby ich zapisu.

Opis słowny algorytmuPo wczytaniu danych wejściowych a i b porównać wprowadzone liczby. Jeśli a < b, to min = a. Wyprowadzić wynik. Jeśli a >= b, to sprawdzić czy b < a. Jeśli tak, to min = b. Wyprowadzić wynik. W przeciwnym przypadku min = a = b. Wyprowadzić wynik.

Opis algorytmu za pomocą listy krokówKrok 1. Wprowadź dwie liczby całkowite a i b. Przejdź do kroku 2.Krok 2. Jeśli a < b, to podstaw min = a, wyprowadź wynik min = a.

Przejdź do kroku 5. W przeciwnym przypadku przejdź do kroku 3.Krok 3. Sprawdź, czy b < a? Jeśli tak, to podstaw min = b, wyprowadź wynik min = b. Przejdź do kroku 5.

W przeciwnym przypadku przejdź do kroku 4.Krok 4. Podstaw min = a, wyprowadź wynik min = a = b. Przejdź

do kroku 5.Krok 5. Zakończ program.

Page 9: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Tworzenie schematów blokowych.

Postać graficzna algorytmu (siec działań)W sieciach działań (schematach blokowych) definiujących algorytmy są wykorzystywane następujące bloki.

Blok początkowy (start programu)

Blok wejścia / wyjścia (wprowadzanie lub wyprowadzanie danych)

Page 10: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Tworzenie schematów blokowych.

Blok operacyjny (wykonywanie działań)

Blok decyzyjny (warunkowy)

Blok końcowy (koniec programu)

Page 11: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Tworzenie schematów blokowych.

Przykład. Obliczanie sumy 3 liczb.

start

stop

podaj a:

suma := a + b + c

podaj b:

podaj c:

wypisz suma

Page 12: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Schemat blokowy algorytmu wyznaczania min(a,b)

Page 13: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Algorytmy i sposoby ich zapisu.

Problem 1.2. Znaleźć minimum spośród n wczytanych liczb

a0, a1, ... , an-1. Wyprowadzić wartość minimum.

Opis słowny algorytmuPo wczytaniu danych wejściowych ai, dla i=0, ... , n-1, przyjąć min = a0. Jeśli są jeszcze elementy do sprawdzenia (0<n-1), to sprawdzić czy ai < min, dla i=1? Jeśli tak, to podstawić min = ai. Powtórzyć sprawdzenie dla i=2, ... , n-1. Wyprowadzić wynik.

Page 14: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Opis algorytmu za pomocą listy kroków

Krok 1. Wczytaj dane a0, ..., an-1.Krok 2. Podstaw min = a0 oraz i = 1.Krok 3. Jeśli i > n-1 (nie ma więcej elementów), to przejdź do kroku 6.Krok 4. Jeśli ai < min, to podstaw min = ai.Krok 5. Podstaw i = i + 1. Przejdź do kroku 3.Krok 6. Wyprowadź wartość min.Krok 7. Zakończ program.

Schemat blokowy algorytmuznajdowania min(a0, ..., an-1)

Page 15: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Algorytmy i sposoby ich zapisu.

Algorytm EuklidesaWyznaczenie największego wspólnego dzielnika (NWD) dwóch liczb naturalnych.

Po wczytaniu danych wejściowych a, b sprawdzić czy a<>b. Jeśli tak sprawdzić czy a>b, w przypadku gdy warunek jest spełniony a:=a-b jeśli nie b:=b-a i wrócić do sprawdzenia warunku a<>b. Gdy warunek a<>b nie jest spełniony wyprowadź wynik.

Page 16: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Wykorzystanie programu Eli do tworzenia schematów blokowych algorytmów.

Page 17: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Wykorzystanie programu Eli do tworzenia schematów blokowych algorytmów.

Przykłady algorytmów.

Page 18: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Wykorzystanie programu Eli do tworzenia schematów blokowych algorytmów.

Page 19: PROGRAMOWANIE STRUKTURALNE WYKŁAD 1

Dziękuję za uwagę