PROGRAMOWANIE STRUKTURALNE Wprowadzenie do programowania.
Podstawowe pojęcia dotyczące programowania. TEMAT: Podstawowe pojęcia dotyczące programowania.
Programowanie Programowanie 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.
Pojęcia podstawowe. 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.
Języki programowania: języki zorientowane obiektowo (C++, Smalltalk, Eiffel) języki do zarządzania bazami danych (SQL) programowanie wizualne (AppWare, Synergy, VPLus) języki symulacyjne (Simula, Gabriel, TROLL) języki funkcyjne (Haskell, ASpecT) programowanie współbieżne (Fortran FM, CODE, NESL) modelowanie matematyczne (Matlab, Mathcad) języki opisu stron (Postscript, Tex, HPGL) programowanie stron WWW (PHP, JavaScript, PERL, DHTML) komputerowo wspomagana Inżynieria Oprogramowania (ang. CASE)
Kod źródłowy/wynikowy. 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.
Rodzaje translatorów: 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, I Interpreter np. HTML.
Konsolidator. 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.
Algorytmy i sposoby ich zapisu. TEMAT: Algorytmy i sposoby ich zapisu.
Algorytm 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.
Rodzaje sposobu przedstawiania algorytmu 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).
Zadanie 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.
Przykład. Opis słowny algorytmu Po 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.
Przykład. Opis algorytmu za pomocą listy kroków Krok 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.
Schematy blokowe. Blok początkowy (start programu) 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)
Schematy blokowe. Blok operacyjny (wykonywanie działań) Blok decyzyjny (warunkowy) Blok końcowy (koniec programu)
Przykład. Obliczanie sumy 3 liczb. start podaj a: podaj b: podaj c: stop podaj a: suma := a + b + c podaj b: podaj c: wypisz suma
Przykład. Schemat blokowy algorytmu wyznaczania min(a,b)
Schemat blokowy algorytmu wyznaczania min(a1, a2, …, a10) Wczytaj liczbę: a(1)=? START Licznik=2 min=a(1) Wczytaj liczbę: a(Licznik)=? Licznik=Licznik+1 NIE TAK min=a(Licznik) a(Licznik)<min TAK Licznik = 10 NIE Wyświetl: min STOP
Pętla iteracyjna Licznik= wartość początkowa Instrukcje Licznik=Licznik+1 TAK NIE Licznik > wartość końcowa
Pętla z przyzwoleniem Instrukcje TAK NIE Warunek
Pętla na dokładność Instrukcje TAK NIE Warunek
Etapy tworzenia programu. TEMAT: Etapy tworzenia programu.
algorytm język programowania program Programowanie. algorytm język programowania program
Zasady programowania strukturalnego. TEMAT: Zasady programowania strukturalnego.
Zasady programowanie: w kodzie modułu powinno być tylko jedno wejście i jedno wyjście kod powinien być budowany z pomocą następujących konstrukcji podstawowych: ciągu sekwencyjnego rozgałęzienia warunkowego pętli ze sprawdzeniem warunku powtarzania na początku lub końcu ciągu sekwencyjnego instrukcji wyboru jeden z wielu
Zasady programowania: program powinien składać się z niedużych jednostek zwanych procedurami, w których obrębie nie ma już mniejszych podprogramów możliwe jest zagnieżdżanie jednych konstrukcji wewnątrz innych program powinien zapewniać proste i jasne rozwiązanie problemu, być napisany w poprawnym stylu, przejrzysty, czytelny należy ograniczyć do niezbędnego minimum stosowanie skoku bezwarunkowego