wykład z JP 8 10 10

JĘZYK PROGRAMOWANIA


DR. INZ. Dominik Spińczyk pok. 749

pierwsza połowa semestru Wojciech Więcławek pok. 744


Zakres materiału:

-podstawy algorytmów

-struktury danych

-projektowanie algorytmów w programie Raptor

-programowanie w języku C# (Visual Studio)


Literatura:

M. Wirth Algorytmy+struktury danych

M.M. Syslo "Algorytmy

Piotr Wróblewski "Algorytmy struktury danych..."

Banachowski "algorytmy i struktury danych"

A.V. Aho Hopcroft "Projektowanie i analiza algorytmów internetowych"

Jesse Liberty "Programowanie C#"

Marcin Lis "C# Praktyczny kurs"


Algorytm- to ściśle określona procedura obliczeniowa, która na podstawie dostarczonych danych zwraca dane wynikowe, inaczej wynik działania algorytmów


Prawidłowo działający algorytm powinien być:

-poprawny- dla każdego poprawnego zestawu informacji wejściowych prowadzić do poprawnych rezultatów

-jednoznaczny- każdorazowo dla każdego poprawnego zestawu informacji wejściowych, prowadzić do tych samych rezultatów

-szczegółowy- aby ktoś albo coś wykonujący algorytm rozumiał dokładnie opisane operacje i potrafił je wykonać

-uniwersalny- pozwalał na rozwiązanie dowolnego problemu z określonej klasy, a nie dotyczył pewnych przypadków


Możliwość opisu algorytmów:

-słowny

-lista kolejnych kroków postępowania

-schemat blokowy

-pseudokod

-wybrany język programowania


Różnice pomiędzy nimi najlepiej ilustruje prosty przykład, celem którego jest zsumowanie dwóch całkowitych wartości liczbowych


Opis słowny:

km-> mile

W tym celu najpierw pobierz od użytkownika odległość wyrażoną w km, wiedząc, że 1 mila lądowa to ok. 1600m (1,6 km) przelicz pobraną od użytkownika wartość. Otrzymamy wynik zaprezentowany użytkownikowi


Lista kolejnych kroków postępowania:

Krok 1: rozpocznij pracę

Krok 2: Pobierz od użytkownika wartość odległości w km

Krok 3: Korzystając z przelicznika oblicz odległość w milach

Krok 4: Podaj wynik

Krok 5 : Zakończ pracę


Schemat blokowych (patrz Raptor)


RAPTOR


Blok operacji wejścia wyjścia- występuje dowolną liczbę razy, służy do wprowadzania danych oraz wyświetlania wyników operacji


Blok wykonawczy- występuje dowolną liczbę razy. Służy do realizacji elementarnych operacji arytmetycznych lub funkcji elementarnych


Blok decyzyjny- występuje dowolną liczbę razy, służy do sprawdzenia warunku. Dostarcza odpowiedzi twierdzącej lub przeczącej na zadane pytanie, pytanie musi być jednoznaczne, odpowiedzią, na które jest TAK lub NIE, blok posiada jedno wejście i dwa wyjścia


Blok procedury/funkcji- występuje dowolną ilość razy, stanowi blok operacji(najczęściej ciągu operacji), wykonywanej poza rozważanym algorytmem, posiada pojedyńcze wejście i wyjście


Łączniki stronnicowe- stosowane w przypadku rozbudowanych algorytmów rozmieszczonych na jednej stronie, składających się z wielu fragmentów


Łączniki międzystronnicowe- stosowane w przypadku rozbudowanych algorytmów , rozmieszczonych na kilku stronach, składających się z wielu fragmentów


Poziom szczegółowości- algorytm powinien być zbudowany





Dane- obiekty przetwarzane przez algorytm, obiekty którymi manipuluje algorytm


Typy danych:

-całkowitoliczbowe

-zmiennoprzecinkowe

-znakowe

-łańcuchowe

-logiczne


Rodzaje danych:

-zmienna

-stała

-zmienna statyczna


Złożone typy danych:

-tablice

-struktury

-unie itp.


Instrukcja w programowaniu jest to najmniejszy samodzielny element, imperatywnego języka programowania. Instrukcja może być niskiego poziomu napisana w asemblerze, która po przetlumaczeniu na kod binarny nadaje się do uruchomienia przez procesor lub instrukcja wysokiego poziomu napisana w języku np C#, która zostanie przetłumaczona na kilka instrukcji niskiego poziomu


Instrukcje proste:

-pusta

-przypisana


Instrukcje złożone:

-blokowa


Instrukcje sterujące:

-warunkowe

-skoku

-powrotu

-wywołanie

-opuszczenia

-kontynuacji

-pętle: iteracyjna, repetycyjna


Struktury sterujące:

-bezpośrednie następstwo

-wybór warunkowy: prosty, złożony


Operatory arytmetyczna

-dodawania

-odejmowania

-mnożenia

-dzielenia

-modulu


Podstawowe funkcje:

-trygonometryczne

-wykładnicze

-logarytmiczne

-statystyczne itp.


Operatory logiczne:

!) Związane z algebrą Boola

-negacja


Wyszukiwarka

Podobne podstrony:
4 wykład0 24 10 2007
wyklad 2012 10 25 (Struktury systemów komputerowych)
patomorfologia wyklad 2 14 10 2011 2
Materiały do wykładu 4 (27 10 2011)
Wykłady 24.10, porty i terminale
HISTORIA SZTUKI WSPÓŁCZESNEJ POLSKIEJ, WYKŁAD II, 10 10
PiK wykład 14 10 16
3 wykład (21 10 2010)
013 HISTORIA SZTUKI WCZESNOCHRZEŚCIJAŃSKIEJ I BIZANTYJSKIEJ, WYKŁAD,# 02 10
Wykład II 10 2013
IKONOGRAFIA ŚWIĘTYCH, WYKŁAD X, 12 10
Afazja wykład IV? " 10 2013
Wykład monograficzny 9 10 2012
KPC Wykład (4) 23 10 2012
FINANSE PRZEDSIĘBIORSTW WYKŁAD 1(07 10 2012)
OiS Wykład 1(07 10 2013)
Materiały do wykładu 4 (28 10 2011)