Metodyki i techniki programowania

Podobne dokumenty
Metodyki i techniki programowania

POLITECHNIKA OPOLSKA

Technologie informacyjne - wykład 12 -

POLITECHNIKA OPOLSKA

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

dr inż. Jarosław Forenc

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

Wprowadzenie do algorytmiki

Podstawy programowania wykład

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Definicje. Algorytm to:

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

1 Wprowadzenie do algorytmiki

TWORZENIE SCHEMATÓW BLOKOWYCH I ELEKTRYCZNYCH

PRZEWODNIK PO PRZEDMIOCIE

Programowanie komputerów

Praktyka Programowania

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Algorytm. Krótka historia algorytmów

Języki programowania II - opis przedmiotu

Podstawy programowania

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Wykład 9: Polimorfizm i klasy wirtualne

dr inż. Jarosław Forenc

PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

Wykład 8: klasy cz. 4

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

E-1EZ1-03-s2. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Algorytmy i schematy blokowe

Algorytmy, reprezentacja algorytmów.

E-2IZ1-03-s3. Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

Wstęp do informatyki- wykład 2

Scenariusz lekcji. podać definicję metody zachłannej stosowanej w algorytmie; wymienić cechy algorytmów zachłannych;

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Scenariusz lekcji. potrafi podać formułę obliczającą wartość wielomianu stopnia n w punkcie wg schemat Hornera;

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

PRZEWODNIK PO PRZEDMIOCIE

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Wykład 5: Klasy cz. 3

Rok akademicki: 2012/2013 Kod: EAR s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Scenariusz lekcji. wymienić podstawowe typy danych omówione na lekcji; wymienić funkcje konwertujące typy danych, omawiane na lekcji.

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Sterowniki Programowalne (SP)

Programowanie obiektowe 1 - opis przedmiotu

ALGORYTMY I PROGRAMY

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Języki i metodyka programowania

Semestr letni Brak Tak

Podstawy i języki programowania

Technologia informacyjna Algorytm Janusz Uriasz

Algorytmy i struktury danych - opis przedmiotu

Podstawy programowania. Wykład: 11. Trochę różnych przykładów. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie obiektowe

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) niestacjonarne (stacjonarne / niestacjonarne)

Programowanie obiektowe

Algorytmy. Programowanie Proceduralne 1

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

Programowanie obiektowe 2 - opis przedmiotu

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016

Algorytm. Krótka historia algorytmów

Algorytmy i struktury danych

Wykład 1. Projektowanie efektywnych algorytmów przetwarzania danych w sieciowych systemach usług, rzeczy i multimediów.

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Wykład 9: Metody wirtualne i polimorfizm

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

KARTA KURSU. Kod Punktacja ECTS* 2

Algorytm. Algorytmy Marek Pudełko

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

KARTA KURSU. Kod Punktacja ECTS* 2

Ćwiczenia laboratoryjne. Ćwiczenia projektowe (W) (Ć) (L) (P) (S) (T) IV

Programowanie obiektowe

START. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC

Programowanie obiektowe Object programming. Elektrotechnika II stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Podstawy Programowania

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) stacjonarne (stacjonarne / niestacjonarne)

KARTA KURSU. Kod Punktacja ECTS* 2

Język Java i technologie Web - opis przedmiotu

PRZEWODNIK PO PRZEDMIOCIE

KARTA MODUŁU KSZTAŁCENIA

Tworzenie aplikacji bazodanowych

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Programowanie obiektowe

Wykład 3 Składnia języka C# (cz. 2)

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Algorytmy. Programowanie Proceduralne 1

Ocenianie ciągłe (praca przy Formująca tablicy oraz przy komputerze) pisemne, końcowe zaliczenie pisemne

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

Algorytm. a programowanie -

Wstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO

Z-ETI-0611 Język Programowania C++ Programming Language C++

Transkrypt:

Metodyki i techniki programowania dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Elektronika i Telekomunikacja, sem. 2

Plan wykładu Sprawy organizacyjne Dane osobowe, materiały pomocnicze Wykaz literatury Zakres tematyczny wykładu, ćwiczeń i laboratorium Podstawowe pojęcia: algorytmika, algorytm, dane wejściowe, wynik, specyfikacja problemu, program komputerowy Sposoby prezentowania algorytmu Schemat blokowy i jego elementy Zasady przedstawiania algorytmu w postaci schematu blokowego 2

Dane osobowe, materiały pomocnicze dr inż. Maciej Kusy Katedra Podstaw Elektroniki Wydział Elektrotechniki i Informatyki Politechnika Rzeszowska Pokój 303 budynek A, ul. W. Pola 2, tel: (17) 865 1113 Adres email: mkusy@prz.edu.pl Strona internetowa: https://maciejkusy.sd.prz.edu.pl/ Materiały pomocnicze oraz karta przedmiotu dostępne na stronie internetowej. 3

Wybrane pozycje literaturowe Cormen T. H., Leiserson Ch. E., Rivest R. L., Stein C.: Wprowadzenie do algorytmów, WNT, Warszawa, 2004. Grębosz J.: Symfonia C++ standard. Programowanie w języku C++ orientowane obiektowo, EDITION 2000, Kraków, 2005. Grębosz J.: Pasja C++, tom1, tom2, Oficyna Kalimach, Kraków, 1997. Gurbiel E., Hardt-Olejniczak G., Kołczyk E., Krupicka H., Sysło M. M.: Informatyka. Podręcznik dla liceum ogólnokształcącego, cz. 1, cz.2, WSIP, Warszawa, 2002. Kernighan Brian W., Ritchie Dennis M.: Język ANSI C, WNT, Warszawa, 1994. Kusy M.: Metodyki i techniki programowania. Laboratorium, Oficyna Wydawnicza Politechniki Rzeszowskiej, Rzeszów 2009. Liberty J.: C#. Programowanie, O REILLY, Helion, 2006. Lis M.: C#. Praktyczny kurs, Helion 2007. Matulewski J.: C# 3.0 i.net 3.5. Technologia LINQ, Helion, 2008. Microsoft Visual C# 2005 Express Edition: Projektuj sam, Edycja polska Microsoft Press, Warszawa 2006. Perry S.C.: C# i.net, Prentice Hall, Helion, 2006. 4

Zakres tematyczny przedmiotu Program wykładu: - teoria algorytmu, schemat blokowy, - język C, C# i środowisko.net. Program ćwiczeń: - tworzenie i reprezentowanie algorytmów, język C - metody reprezentowania informacji, - implementacja dynamicznych struktur danych (tablica, stos, lista, kolejka). Program laboratorium: - zapoznanie się ze środowiskiem Visual Studio 2008, - implementacja algorytmów przedstawionych na ćwiczeniach w języku C, operacje bitowe, struktury, - definiowanie klas, pól składowych, metod właściwości w języku C#, - wprowadzenie interfejsu, dziedziczenia i polimorfizmu, - stworzenie aplikacji okienkowej. 5

Podstawowe pojęcia Algorytmika dział informatyki, zajmujący się różnymi aspektami tworzenia i analizowania algorytmów. Dane wejściowe zadana wstępnie informacja wykorzystywana przez algorytm podczas rozwiązywania problemu do osiągnięcia celu. Wynik efekt działania algorytmu (dane wyjściowe). Specyfikacja problemu układ dane wejściowe-wynik. Określenie warunków, jakie powinny spełniać dane wejściowe oraz wynik. Program komputerowy implementacja algorytmu za pomocą ciągu instrukcji (sekwencji słów, symboli) w danym języku programowania zrozumiałym dla maszyny/interpretera. 6

Algorytm Synonim przepisu lub instrukcji postępowania. Skończony i uporządkowany zbiór jasno zdefiniowanych czynności, który prowadzi do rozwiązania jakiegoś problemu w ograniczonej liczbie kroków. Kryteria oceny: - poprawność (wykonalność), - efektywność (najszybsze rozwiązanie), - uniwersalność (rozwiązanie klasy problemów), - czytelność (zrozumiały i elegancki zapis), - prostota (preferowanie łatwiejszego rozwiązania), - skończoność (skończona liczba operacji), - porządek (wykonanie operacji w ustalonej kolejności). 7

Specyfikacja algorytmu Sprecyzowanie problemu Wyróżnienie danych wejściowych (wykorzystywanych przez algorytm) oraz wyniku (efekt działania algorytmu) Określenie, jakie działania mogą być stosowane w poszukiwanym algorytmie Specyfikacja algorytmu obliczania pierwiastków równania kwadratowego: a x 2 + b x + c = 0 Dane wejściowe: Dowolne liczby rzeczywiste:a, b, c. Dane wyjściowe: Działania: dwie liczby rzeczywistex 1, x 2 dla > 0 jedna liczba rzeczywistax 0 dla = 0 dwie liczby zespolone x 1, x 2 dla < 0 +,,, /, (sqrt) 8

Sposoby prezentowania algorytmów Opis słowny operacje przedstawione za pomocą zwykłego tekstu ogólne przedstawienie problemu. Lista kroków algorytmu przedstawienie algorytmu w skończonej liczbie punktów (kroków). Pseudokod nazywany często niby-kod: może zawierać zarówno instrukcje zaczerpnięte z języka programowania jak i opis słowny. Schemat blokowy algorytmu. Program komputerowy (zapis algorytmu w danym języku programowania, np. C, C++, C#, Java ). 9

Schemat blokowy Graficzna reprezentacja algorytmu (ang. flowchart). W schemacie blokowym operacje (lista kroków) jakie wykonuje algorytm są reprezentowane w postaci odpowiednio połączonych figur geometrycznych (bloków). Kształt i opis bloku jednoznacznie precyzuje i definiuje wykonywany rodzaj operacji. Kolejność wykonywania operacji wyznaczają połączenia między blokami (linie zakończone strzałkami). Połączenia pomiędzy blokami nie mogą się krzyżować. 10

Elementy schematu blokowego Start Stop operacje we - wy operacje we operacje wy Blok operacji Wywołanie podprogramu Tak Blok warunku Nie Komentarz łącznik (wewnętrzny) łącznik (zewnętrzny) 11

Zasady przedstawiania algorytmu w postaci schematu blokowego Operacje algorytmu należy umieszczać w odpowiednich blokach. Każdy schemat blokowy ma jeden blok startowy, natomiast bloków zakończenia algorytmu może być kilka. Wszystkie bloki muszą być ze sobą połączone. Kolejność wykonywania operacji wyznaczają połączenia między blokami. Każde połączenie jest zaczepione do danego bloku i dochodzi do następnego bloku lub innego połączenia. Do każdego bloku wchodzi i wychodzi jedno (lub dwa w przypadku bloku warunku) połączenie (nie dotyczy to bloku początku i końca). 12