Metodyki i techniki programowania



Podobne dokumenty
Metodyki i techniki programowania

dr inż. Jarosław Forenc

POLITECHNIKA OPOLSKA

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

POLITECHNIKA OPOLSKA

Technologie informacyjne - wykład 12 -

Podstawy programowania wykład

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

dr inż. Jarosław Forenc

Języki programowania II - opis przedmiotu

Wprowadzenie do algorytmiki

PRZEWODNIK PO PRZEDMIOCIE

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

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

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

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

Wykład 9: Polimorfizm i klasy wirtualne

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

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

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

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

Wykład 8: klasy cz. 4

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

Praktyka Programowania

Definicje. Algorytm to:

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

TWORZENIE SCHEMATÓW BLOKOWYCH I ELEKTRYCZNYCH

Wykład 9: Metody wirtualne i polimorfizm

Wykład 5: Klasy cz. 3

PRZEWODNIK PO PRZEDMIOCIE

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

Semestr letni Brak Tak

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

1 Wprowadzenie do algorytmiki

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

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

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania

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

Programowanie komputerów

Programowanie obiektowe 2 - opis przedmiotu

Programowanie obiektowe 1 - opis przedmiotu

Wstęp do informatyki- wykład 2

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

Algorytmy i struktury danych - opis przedmiotu

Algorytm. Krótka historia algorytmów

Algorytmy i schematy blokowe

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

KARTA KURSU. Kod Punktacja ECTS* 2

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

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

KARTA KURSU. Kod Punktacja ECTS* 2

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

Technologia informacyjna Algorytm Janusz Uriasz

PRZEWODNIK PO PRZEDMIOCIE

Sterowniki Programowalne (SP)

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!

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

KARTA KURSU. Kod Punktacja ECTS* 2

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

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

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

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

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

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

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

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

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

Programowanie obiektowe

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

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

Języki i metodyka programowania

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

Wstęp do programowania Laboratorium - wytyczne

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

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Programowanie obiektowe

Wykład 1: Wskaźniki i zmienne dynamiczne

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

Język Java i technologie Web - opis przedmiotu

Podstawy programowania. Wprowadzenie

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

Algorytm. Krótka historia algorytmów

KARTA MODUŁU KSZTAŁCENIA

Opis. Wykład: 30 Laboratorium: 30

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

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

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

Algorytmy. Programowanie Proceduralne 1

Algorytmy. dr Dariusz Banaś (UJK) Seminarium w ramach projektu Fascynujący Świat Nauki dla uczniów gimnazjów. wersja 0.9. Start.

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania strukturalnego (C) SYLABUS A. Informacje ogólne

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

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

Scenariusz lekcji. rozpoznać prawidłową deklarację tablicy; podać odwołanie do określonego elementu tablicy.

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

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

Scenariusz lekcji. wymienić podstawowe dynamiczne struktury danych (stos, kolejka, lista, graf, drzewo); opisać sposób dostępu do danych w kolejce;

Efektywność algorytmów

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

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, wynik, specyfikacja problemu 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, - 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, - 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 wykorzystuje je algorytm podczas rozwiązywania problemu lub osiągnięcia celu. Wynik efekt działania algorytmu. Specyfikacja problemu układ dane-wynik. Należy określić warunki, jakie powinny spełniać dane oraz wynik. Program komputerowy (w ujęciu obiektowym) zbiór obiektów, które ze sobą współpracują. 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ść, - efektywność (zajętość pamięci, czas realizacji), - uniwersalność, - czytelność, - prostota, - długość kodu. 7

Specyfikacja algorytmu Sprecyzowanie problemu. Wyróżnienie danych (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: Dane wyjściowe: Dowolne liczby rzeczywiste: a, b, c. dwie liczby rzeczywiste x 1, x 2 dla > 0 jedna liczba rzeczywista x 0 dla = 0 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. 9

Schemat blokowy Graficzna reprezentacja algorytmu (ang. flowchart). Operacje na liście kroków algorytmu są tu reprezentowane w postaci odpowiednio połączonych figur geometrycznych. Kształt i opis bloku wskazuje na wykonywany rodzaj operacji. Kolejność wykonywania operacji wyznaczają połączenia między blokami. 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 połączenie (nie dotyczy to bloku początku i końca). 12