formulacja logiczna programu
Oprogramowanie Komputerowe • odnosi się do wszystkich programów komputerowych lub procedur, które kierują i kontrolują sprzęt komputerowy w wykonywaniu jego funkcji przetwarzania danych.
główne kategorie oprogramowania • oprogramowanie aplikacyjne * oprogramowanie systemowe
oprogramowanie aplikacyjne • oprogramowanie, które wykonuje określone zadanie dla użytkowników komputerów (np. edytor tekstu).
Oprogramowanie systemowe • oprogramowanie, które zostało zaprojektowane, aby pomóc programistom lub sterować systemem komputerowym (np. OS; narzędzia programistyczne: Tłumacze, debuggery, edytory).
Analiza systemowa * komputerowy odpowiednik metody naukowej. * W analizie systemowej problem jest definiowany i analizowany, a rozwiązania zalecane dla kierownictwa. * Proces ten został sformalizowany i nazwany metodą analizy i Projektowania Systemów.
definicja systemu * zbiór ludzi, maszyn, & metod zorganizowanych w celu realizacji zestawu określonych funkcji. * Zintegrowana całość, która składa się z różnorodnych, współdziałających, wyspecjalizowanych struktur i subfunkcji. * Grupa podsystemów połączonych pewną interakcją lub współzależnością, wykonujących wiele obowiązków, ale działających jako jedna jednostka.
Computer-based to * komputerowy system informatyczny spełniający wszystkie trzy definicje. Obejmuje ludzi, Maszyny i metody (procedury & dane); zachowuje się jako zintegrowana całość; a większość systemów informatycznych składa się z grupy podsystemów.
Ogólna teoria systemów * dostarcza innego sposobu definiowania systemu – jako zbioru wejść, wyjść i działań procesora ze sprzężeniem zwrotnym, granicą i środowiskiem.
analityk systemów * osoba przeszkolona w analizie złożonych systemów biznesowych, które zazwyczaj obejmują komputerowy system informacyjny.
cykl życia rozwoju systemów • SDLC jest używany do opisywania etapów lub faz, przez które przechodzi system od momentu jego powstania do momentu jego wycofania z istnienia. * Nazwy i liczba faz w cyklu życia systemu różnią się w różnych branżach, organizacjach w / w branżach, & analitycy systemów.
Cykl Życia Rozwoju Systemów 1. Identyfikacja problemu, szanse, cele 2. Określanie wymogów informacyjnych 3. Analizowanie potrzeb systemu 4. Projektowanie zalecanego systemu 5. Tworzenie i dokumentowanie oprogramowania 6. Testowanie i utrzymanie systemu 7. Implementacja & oceny systemu
uwagi dotyczące SDLC •
* *
identyfikacja tych faz zapewnia ramy do kontrolowania, szacowania i obserwowania ewolucji systemu. Każda faza tworzy dokumentację, w / c jest pisemną lub obrazkową informacją opisującą system. Ta dokumentacja z kolei stanowi podstawę przeglądu zarządzania, który określa, czy projekt powinien przejść do następnego etapu.
proces tworzenia oprogramowania * w tym procesie potrzeby użytkownika są przekładane na wymagania oprogramowania; wymagania oprogramowania są przekształcane w projekt; projekt jest realizowany w kodzie; a kod jest testowany, dokumentowany i certyfikowany do użytku.
uwagi na temat tworzenia oprogramowania •
Projektowanie oprogramowania odgórnego-proces projektowania programu poprzez najpierw identyfikację jego głównych komponentów, które nazywane są modułami, a następnie ich rozkład na komponenty niższego poziomu.
•
Structured program Walkthrough – metoda kontroli programu, w której segment projektu lub kodu jest przedstawiany do przesłuchania; komentarze dotyczące techniki,stylu, możliwych błędów, odstępstw od standardów, & inne problemy.
uwagi na temat tworzenia oprogramowania •
Test Alfa – stan programu podczas ustrukturyzowanego przejścia kodu.
•
Beta Test-oprogramowanie nie jest certyfikowane ani dopuszczone do rutynowego użytku, dopóki nie przejdzie tego typu testów. – Testy Beta są wykonywane przez użytkowników, którzy akceptują status pioneer związany z byciem użytkownikami po raz pierwszy.
Kategorie Dokumentacji 1. Dokumentacja projektowa * zawiera schematy przepływu danych; funkcjonalne, wydajnościowe, & wymagania dotyczące przechowywania danych; & raporty zarządzania.
2. Dokumentacja programistyczna * używana przez osoby techniczne do definiowania architektury systemu informatycznego.
3. Dokumentacja użytkownika * składa się ze szkoleń, operacji, & podręczników referencyjnych opisujących sposób korzystania z systemu.
Faza instalacji * Faza, w której system jest zintegrowany ze środowiskiem operacyjnym i jest testowany w celu zapewnienia, że działa zgodnie z wymaganiami. * Oddanie systemu do użytku przez osoby, które muszą go obsługiwać i utrzymywać. * Ludzie muszą być przeszkoleni, wprowadzono nowe procedury, & System dokładnie „wstrząśnięty”, aby wyeliminować wszelkie błędy lub braki.
metody konwersji • • • •
bezpośredni Pilot równoległy
Programowanie • Program-lista instrukcji komputera wymaganych do osiągnięcia pożądanych rezultatów.
• algorytm-lista instrukcji krok po kroku do rozwiązania problemu. – Precyzyjnie wyrażona procedura uzyskania rozwiązania problemu.
Programowanie • Język programowania – notacja formalizująca pozwalająca na precyzyjne i rygorystyczne przedstawienie algorytmów. – Typy: język maszynowy, język asemblacji, język wysokiego poziomu, język bardzo wysokiego poziomu (lub 4GL)
Programowanie • algorytm może być wyrażony poprzez:-SCHEMAT BLOKOWY • system symboli do wyrażania algorytmów; wskazuje przepływ sterowania / sekwencję operacji.
– Pseudokod • tekstowa reprezentacja algorytmu; zbliżona do języka naturalnego; staje się częścią dokumentacji programu.
Programowanie * Symbole schematów blokowych programu * powszechnie używane instrukcje Pseudolanguage (operacje)
Format instrukcji Pseudolanguage: OPERATION where: OPERATION-operacja pseudocode lub operand / S-obiekt / s operacji pseudolanguage lub instrukcji
instrukcje Pseudolanguage • OPEN – umożliwia programowi, który zawiera instrukcję, dostęp do rekordów wyznaczonego pliku.
• READ-służy do kopiowania zawartości rekordu z zewnętrznego nośnika magnetycznego do obszaru pamięci wejściowej.
Pseudolanguage Instructions * WRITE-służy do kopiowania zawartości wyjściowego obszaru pamięci do pliku zapisanego na zewnętrznym nośniku magnetycznym lub pliku wytworzonego na drukarce.
• Zamknij – kończy dostęp programu do rekordów wcześniej otwartego pliku.
Pseudolanguage Instructions * IF-używane do porównania zawartości obszaru pamięci z zawartością innego obszaru pamięci lub stałej w celu ustalenia, czy warunek jest prawdziwy, czy fałszywy.
• PERFORM-poleca komputerowi wykonanie określonej procedury.
Pseudolanguage Instructions * MOVE-służy do poinformowania komputera, że dane zawarte w jednym obszarze pamięci mają zostać skopiowane do innego obszaru pamięci.
• COMPUTE-używane do wskazania, że ma nastąpić obliczenie matematyczne.
Pseudolanguage Instructions • DISPLAY – służy do wyświetlania na ekranie dosłownego lub zawartości identyfikatora.
• ACCEPT-umożliwia zapisanie danych wprowadzonych za pomocą klawiatury (lub dowolnego urządzenia wejściowego) w obszarze pamięci.
Pseudolanguage Instructions * DECLARE-używane do definiowania różnych identyfikatorów, które mają być używane w programie.
• wpis-oznacza początek procedury.
• EXIT-oznacza koniec procedury.
Pseudolanguage Instructions * START-oznacza początek procedury kontroli programu.
• STOP-powoduje zakończenie wykonywania programu.
SCHEMAT BLOKOWY przykład główny-rutynowe otwieranie adresu wejściowego-plik wyjściowy mail-etykiety-plik a
odczyt adresu-plik F A
drukowanie-adres
EOF T
Zamknij adres-plik mail-etykiety-plik
zatrzymaj
Pseudokod początek przykład główny-rutynowe otwieranie adresu wejściowego-plik wyjściowy mail-etykiety-plik odczyt adresu-plik wykonaj do EOF=”T” wykonaj drukowanie-koniec adresu wykonaj odczyt adresu-koniec pliku wykonaj close address-file output mail-labels-file End main-routine
rozwiązywanie problemów & koncepcje projektowania rozwiązań • znajomość rozwiązywania problemów & koncepcje programowania jest koniecznością dla tych, którzy pracują w / komputery: jako programiści lub jako użytkownicy. * Kroki rozwiązywania problemów (w szczególności definicja algorytmu) są podobne we wszystkich językach programowania.
sześć (6) kroków w rozwiązywaniu problemów: 1. Zidentyfikuj problem 2. Zrozum problem 3. Określ alternatywne sposoby rozwiązania problemu 4. Wybierz najlepszy sposób rozwiązania problemu z alternatyw 5. Lista instrukcji, które umożliwiają rozwiązanie problemu za pomocą wybranej metody 6. Oceń rozwiązanie
siedem (7) podstawowych elementów programowania 1. Dane: stałe, zmienne 2. Wejście: odczyt wartości z urządzeń wejściowych (klawiatura, dyski We/Wy) 3. Wyjście: zapis informacji do dowolnego urządzenia wyjściowego (ekran, dysk, drukarka) 4. Operacje: porównywanie wartości, przypisywanie wartości, łączenie wartości
siedem (7) podstawowych elementów programowania 5. Conditions / Selections: If-Then-Else, Case, Switches 6. Pętle / Iteracje: While-Do, RepeatUntil, For-Do 7. Podprogramy / Moduły: funkcje,procedury
problemy, które można rozwiązać na komputerach: 1. Computational –
Problems involving some kind of mathematical processing
2. Logiczne-obejmuje przetwarzanie relacyjne lub logiczne
3. Powtarzalne-polegają na powtarzaniu zestawu instrukcji matematycznych i / lub logicznych
atrybutów dobrze zaprojektowanego programu MAIN-RTN
•
• • •
logika programu została zmapowana przy użyciu narzędzia do planowania podejście odgórne struktura modułowa
INITIAL-RTN
EOF-SW=1 T
FINAL-RTN
STOP
F
PROCESS-RTN
logiczne struktury sterujące • • •
podstawowe elementy składowe programów strukturyzowanych instrukcje, które kontrolują kolejność w w/c inne instrukcje programu są wykonywane odnoszą się do różnych sposobów w w/C instrukcje programu mogą być wykonywane
czwórka (4) Logiczne Struktury Sterowania 1. 2. 3. 4.
wybór sekwencji / iteracja decyzji / przypadek pętli
Sekwencja • •
instrukcje są wykonywane w kolejności, w jakiej pojawiają się „krok po kroku” wykonanie instrukcji
ogólne przedstawienie:
START
Instrukcja 1
Instrukcja 2
Instrukcja 3
Instrukcja n
STOP
wybór / decyzja • •
sterowanie logiczne struktura wykonująca instrukcje w zależności od istnienia warunku zwanego czasem logiczną strukturą sterującą „If-Then-Else”
Ogólna Reprezentacja: F
Instrukcja 1
warunek spełniony?
T
Instrukcja 2
iteracja / pętla • logiczna struktura kontrolna wskazująca na wielokrotne wykonanie serii kroków (lub instrukcji). Reprezentacja ogólna:
t warunek spełniony?
F
podprogram
CASE •
logiczna struktura sterująca, która jest używana, gdy istnieje wiele ścieżek do naśladowania w zależności od zawartości danej zmiennej.
Reprezentacja Ogólna:
zmienna
Przypadek 1 Działanie 1
Przypadek 2 Działanie 2
Przypadek 3 Działanie 3
przypadek n działanie n
przykład: Przebieg rozwoju programu START
a
Specyfikacja programu
uruchom PROGRAM
algorytm
błąd logiczny?
KODOWANIE
N
TŁUMACZENIE
BŁĄD SKŁADNI? N A
zatrzymaj
Y
debugowanie
B
y
B
DANE • dane są niezorganizowanymi faktami. * Idą do komputera jako wejście i są przetwarzane przez program. * To, co jest zwracane użytkownikowi, to wyjście lub informacja.
Data * Constant-wartość, która nigdy nie zmienia się podczas przetwarzania wszystkich instrukcji w rozwiązaniu.
• zmienna-wartość zmiennej zmienia się podczas przetwarzania. – Nazywana również „identyfikatorem”
stała • może być dowolnym typem danych: numerycznym, alfanumerycznym (lub znakowym) lub specjalnym symbolem • Dwa (2) rodzaje stałych – Literal: odnosi się do samej wartości rzeczywistej (np. 3.1416, „pshs”) – Named: używa nazwy lub aliasu do reprezentowania rzeczywistej lub dosłownej wartości (np. PI, school_name)
zmienna • może być klasyfikowana według rodzaju danych, które może przechowywać. * Muszą przechowywać dane tego samego typu, w przeciwnym razie wystąpi błąd niedopasowania. * Może być dowolny rodzaj danych: numeryczne, alfanumeryczne (lub znakowe), logiczne lub specjalne symbole
zasady nazewnictwa identyfikatorów: • może być dowolnym ciągiem składającym się z liter, cyfr i podkreślenia ( _ ). Brak znaków specjalnych. • Powinna zaczynać się literą lub podkreśleniem • brak spacji w nazwach zmiennych • nie powinna być większa niż 128 znaków • musi być opisowa
przykład: stałe & zmienne na komputerze * stałe ƒ 8935084, -1.5, 3.1416,” pshs”, „* ”
• zmienne ƒ AGE=12, PRICE=99.99, CITY=”Quezon City”, Student_Name=”Pisay Dela Cruz”, ZIP_CODE=”1008″, MARK=”a”, End_of_File=False
typy danych • • • •
znak liczbowy logiczna Data / Czas
dane liczbowe • obejmują wszystkie typy liczb (np. liczby całkowite, nie całkowite) • jedyny typ danych, który może być użyty w obliczeniach • podtypy:-Integer: liczby ujemne & liczby całkowite – rzeczywiste: liczby dziesiętne – Float: liczby w postaci wykładniczej / naukowej
dane liczbowe zbiór danych zbiór danych • zbiór symboli niezbędnych do określenia danych jako określonego typu danych. * Zestaw danych dla typu danych numerycznych-wszystkie liczby bazowe 10-dodatnie ( + ) i ujemne ( – ) znak
dane znakowe • składa się ze wszystkich cyfr, liter i znaków specjalnych dostępnych dla komputera (#, &, *, +, -, 0-9, A-Z, a-z) i umieszczone w cudzysłowie. * Nie mogą być używane do obliczeń, nawet jeśli składają się tylko z liczb. * String: oznacza ciąg znaków • Concatenation: oznacza łączenie dwóch lub więcej kawałków danych znakowych lub łańcuchowych
danych logicznych • składają się z dwóch kawałków danych w zbiorze danych – słowa TRUE I FALSE. * Dane logiczne są wykorzystywane w podejmowaniu decyzji tak lub nie.
operatory • są łącznikami danych w wyrażeniach i równaniach. * Mówią komputerowi, jak przetwarzać dane. * Mówią również komputerowi, jaki rodzaj przetwarzania należy wykonać (tj. matematyczny, relacyjny lub logiczny).
rodzaje operatorów używanych w obliczeniach & rozwiązywanie problemów: 1. Matematyczna 2. Relacyjna 3. Operandy logiczne
• są danymi, które operator łączy i przetwarza.
Resultant * odpowiedź, która powstaje po zakończeniu operacji.
operatory matematyczne * zawierają następujące: – – – – – – – –
dodawanie odejmowanie mnożenie dzielenie liczba całkowita dzielenie Modulo dzielenie potęgi funkcje
+ * / \ MOD ^ lub * * Nazwa_funkcji (parametry)
operatory relacyjne • obejmują następujące: – – – – – –
równe mniejsze niż większe niż mniejsze lub równe większe niż lub równe nie równe
= = lub !=
operatory relacyjne * programista używa operatorów relacyjnych do programowania decyzji • * Wypadkowym operatorem relacyjnym jest logiczny typ danych TRUE lub FALSE. * Są również używane do kontroli powtarzających się instrukcji zwanych pętlami.
operatory logiczne • służą do łączenia wyrażeń relacyjnych (wyrażeń decyzyjnych) & w celu wykonywania operacji na danych logicznych. * Operatory logiczne obejmują: – Not – And-or
not and OR
hierarchia operacji * kolejność, w której odbywają się operacje (matematyczne, relacyjne, & logiczne) • * Nawiasy>> funkcje>> operatory matematyczne>> operatory relacyjne>> operatory logiczne
hierarchia operacji • aby zmienić kolejność normalnej sekwencji przetwarzania, programista używa nawiasów. * Przetwarzanie operandów (zgodnie z zaleceniami operatorów)zawsze rozpoczyna się od najbardziej wewnętrznych nawiasów i działa na zewnątrz, & przetwarza od lewej do prawej.
hierarchia operacji kolejność operacji
typ danych Operand
wynikowy typ danych
nawiasy () 1.
Funkcje
Operatory Matematyczne 2.
Power
Numerical
Numerical
\, MOD
Numerical
Numerical
*, /
Numeryczne
Numeryczne
+, –
Numeryczne
Numeryczne
Numeryczne, znakowe
logiczne
operatory relacyjne 6.
=, , =,
Operatory Logiczne 7.
NOT
Logical
Logical
AND
Logical
Logical
OR
Logical
Logical
wyrażenia & równania * wyrażenie przetwarza dane (operandy)za pomocą operatorów • * Równanie przechowuje wynik wyrażenia w pamięci komputera poprzez znak równości ( = ). * Równania są często nazywane ” assignment statements.”*Znak równości nie oznacza równości, ale oznacza „zastąpiony przez” lub „jest przypisana wartość.”*Prawa strona równania jest przetwarzana przed wykonaniem zadania.
wyrażenia & równania wyrażenia
równania
A + B A i B są numeryczne; wynik jest numeryczny i nie jest przechowywany a