Podstawy programowania

Podobne dokumenty
Podstawy programowania

Schematy blokowe. Algorytmy Marek Pudełko

Algorytmy i struktury danych

Algorytmy i struktury danych - opis przedmiotu

Definicje. Algorytm to:

Technologie informacyjne - wykład 12 -

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

Podstawy programowania.

Metodyki i techniki programowania

Technologia informacyjna Algorytm Janusz Uriasz

POLITECHNIKA OPOLSKA

KARTA KURSU. Wstęp do programowania

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Algorytm. Krótka historia algorytmów

Wprowadzenie do algorytmiki

Metodyki i techniki programowania

POLITECHNIKA OPOLSKA

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

11. Blok ten jest blokiem: a. decyzyjnym b. końcowym c. operacyjnym

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

Programowanie komputerów

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

PRZEWODNIK PO PRZEDMIOCIE

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

1 Wprowadzenie do algorytmiki

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Opis efektów kształcenia dla modułu zajęć

Algorytm. Krótka historia algorytmów

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

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Podstawy algorytmiki Dariusz Piekarz

PRZEWODNIK PO PRZEDMIOCIE

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

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

Algorytmika i pseudoprogramowanie

Zapisywanie algorytmów w języku programowania

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

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

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

ECDL Podstawy programowania Sylabus - wersja 1.0

Opis. Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów) Liczba godzin zajęć dydaktycznych z podziałem na formy prowadzenia zajęć

Algorytm. a programowanie -

ALGORYTMY I PROGRAMY

PRZEWODNIK PO PRZEDMIOCIE

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

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

PRZEWODNIK PO PRZEDMIOCIE

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

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

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

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

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

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

Programowanie komputerowe. Geodezja i Kartografia I stopień (I stopień / II stopień) akademicki (ogólno akademicki / praktyczny)

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Programowanie gier. wykład 0. Joanna Kołodziejczyk. 30 września Joanna Kołodziejczyk Programowanie gier 30 września / 13

KARTA MODUŁU KSZTAŁCENIA

Temat 5. Programowanie w języku Logo

Sposoby przedstawiania algorytmów

Język programowania PASCAL

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

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

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

Podstawy programowania wykład

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

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

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Algorytmy. Programowanie Proceduralne 1

Definicja algorytmu brzmi:

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

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

Podstawy Informatyki Computer basics

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Algorytmizacja i programowanie. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia

Program nauczania informatyki w gimnazjum Informatyka dla Ciebie. Modyfikacja programu klasy w cyklu 2 godzinnym

Algorytmy i struktury danych

Programowanie w języku C++ Grażyna Koba

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

Temat 20. Techniki algorytmiczne

PRZEWODNIK PO PRZEDMIOCIE

2. Graficzna prezentacja algorytmów

KARTA PRZEDMIOTU. wyjaśnia podstawy budowy i obsługi komputera. przetwarza dokumenty w formie elektronicznej. nakład

Algorytmy. Programowanie Proceduralne 1

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

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C15

Wykład Ćwiczenia Laboratorium Projekt Seminarium

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

KARTA KURSU. Algorytmy, struktury danych i techniki programowania. Algorithms, Data Structures and Programming Techniques

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

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

PODSTAWY ALGORYTMIKI

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

INFORMATYKA Informatics. forma studiów: studia stacjonarne. Liczba godzin/tydzień: 2W, 2L PRZEWODNIK PO PRZEDMIOCIE

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Transkrypt:

Podstawy programowania Elementy algorytmiki C w środowisku.e (C#) dr inż. Grzegorz Zych Copernicanum, pok. 3 lub 206a 1 Minimum programowe reści kształcenia: Pojęcie algorytmu. Podstawowe konstrukcje programistyczne. Implementacje algorytmów w językach programowania. Podstawowe struktury danych i wykonywane na nich operacje. Dynamiczny przydział pamięci. Rekurencja i jej implementacja w językach wysokiego poziomu. Metody weryfikacji poprawności programów. Efekty kształcenia umiejętności i kompetencje: Czytania ze zrozumieniem programów zapisanych w języku programowania imperatywnego; symbolicznego wykonywania prostych programów celem ich weryfikacji; pisania i uruchamianie prostych programów o rozmiarze rzędu 100 wierszy kodu. 2/22 ematyka wykładów Dzisiaj wprowadzenie: zasady: laboratoria - zaliczenie, wykłady - egzamin wstęp do algorytmiki języki programowania Kolejne wykłady: nauka programowania przegląd konstrukcji języka typy danych programowanie modularne 3/22 1

Literatura Wstęp do programowania systematycznego,. Wirth, W 1999. Algorytmy, struktury danych i techniki programowania, P. Wróblewski, Helion 2003 Algorytmy + struktury danych = programy,. Wirth, W 2004 C#. Programowanie, J. Liberty, Helion 2005 C#. Ćwiczenia, M. Lis, Helion 2006 Wstęp do programowania w języku C#, A. Boduch, Helion 2006 urbo Pascal 7.0, A. Marciniak, AKOM, Poznań, 1995 http://wazniak.mimuw.edu.pl/ inne 4/22 Materiały, ogłoszenia 5/22 Regulamin przedmiotu Przedmiot składa się z: wykład (15 x 2 godz./15 godz.) egzamin pisemny dwa terminy trzeci - komisyjny ćwiczenia laboratoryjne (15 x 3 godz/30 godz.) zaliczenie na ocenę; forma - prowadzący obecność obowiązkowa przedłużająca się nieobecność do dziekana! W przypadku braku jedno zaliczenie (egzamin) wpis warunkowy więcej powtarzanie (odpłatne!) 6/22 2

Forma zaliczenia ćwiczeń Decyduje prowadzący zajęcia 7/22 Egzamin Przedmiot kończy się egzaminem pisemny dopuszczenie - wcześniejsze zaliczenie W czasie trwania egzaminu student zobowiązany jest do posiadania przy sobie dowolnego dokumentu tożsamości z aktualnym zdjęciem i okazania go na żądanie osoby egzaminującej. Zwolnienie z egzaminu Ocena na zaliczenie Ocena z egzaminu 5.0 4.5 4.5 4.0 8/22 Komputerowa inteligencja 9/22 3

Podstawowe pojęcia Algorytm opis rozwiązywania problemu wyrażony jednoznacznie za pomocą takich operacji, które wykonawca rozumie / potrafi(!) wykonać. Program algorytm zapisany w sposób zrozumiały dla komputera. Dane informacja przetwarzana przez program. 10/22 Przykład algorytmu Przydział miejsca dla pojazdu na piętrowym parkingu parking ma 3 kondygnacje na najwyższej można lokować tylko samochody osobowe (lekkie, ciężar < 5 on), na najniższej ciężarowe (ciężkie, ciężar >= 10 on). Warunek: przyjeżdżający pojazd ma być umieszczany możliwie jak najwyżej. 11/22 Zadanie algorytmiczne Specyfikacja zadania algorytmicznego: Określić dane wejściowe (zbiór danych We) waga pojazdu Określić dane wyjściowe (wyniki jako funkcja danych wejściowych ) numer poziomu (0 brak wolnych miejsc) im bardziej nietrywialny problem tym bardziej skomplikowana specyfikacja Potem: wybrać sposób zapisu algorytmu zestaw dozwolonych akcji podstawowych (instrukcji) sformułować algorytm przetestować algorytm 12/22 4

Sposób zapisu algorytmu W języku naturalnym np. przepis w książce kucharskiej W języku naturalnym z użyciem pewnej konwencji 1. JEDOZACZOŚĆ! 2. Przetwarzanie sekwencyjne dane: c - ciężar samochodu wynik: n - numer poziomu; wartość 0 oznacza brak miejsca skrót wpp. oznacza w przeciwnym przypadku (1) Zważ samochód, ciężar --> c ; krok (2) (2) Jeśli c > 10 to krok (6) wpp. krok (3) (3) Jeśli c >= 5 to krok (5) wpp. krok (4) (4) Jeśli jest miejsce na poziomie III to n = 3; zmniejsz liczbę miejsc na poziomie III; SOP wpp. krok (5) (5) Jeśli jest miejsce na poziomie II to n = 2; zmniejsz liczbę miejsc na poziomie II; SOP wpp. krok (6) (6) Jeśli jest miejsce na poziomie I to n = 1; zmniejsz liczbę miejsc na poziomie I; SOP wpp. krok (7) (7) n = 0 (8) SOP 13/22 Graficzny zapis algorytmu Schemat blokowy układ figur geometrycznych tzw. bloki przedstawiają rodzaj działań (operacji) zaprojektowanych w algorytmie połączonych odcinkami prostymi lub łamanymi tzw. ścieżki sterujące wskazują kolejność wykonywania tych działań. graficznie prezentują algorytm: występujące w nim działania kolejność wykonywania 14/22 Elementy schematu blokowego Strzałki określają kierunek przepływu danych lub kolejność wykonywania działań linie proste (unikać łuków), nie krzyżować linii Operacja SAR punkt startu algorytmu (programu) tu rozpoczyna się wykonywanie algorytmu występuje dokładnie raz Operacja SOP punkt zakończenia algorytmu (programu) tu kończy się wykonywanie algorytmu może zostać powtórzony wielokrotnie SAR SOP 15/22 5

Elementy schematu blokowego Czytanie danych/wyprowadzania wyników w środku wpisać odpowiedni komentarz Blok operacji w środku określenie operacji operacje tworzące logiczną całość mogą być umieszczone w jednym bloku instrukcja przypisania oznaczana się Operacja warunkowa JEZELI w środku umieścić odpowiedni warunek używać operatorów matematycznych,,, CZYAJ a,b,c delta b 2 4ac delta < 0 16/22 Dodatkowe Łącznik skomplikowany przebieg ścieżek para łączników źródłowy docelowy Komentarz wyjaśnia znaczenie operacji 17/22 Zasady tworzenia schematów blokowych Prostota i czytelność podział na mniejsze części (podprogramy) rozumiany przez programistów posługujących się różnymi językami preferowane użycie operatorów matematycznych komentować operacji i kolejności ich wykonywania komentarze krótkie i dokładne! unikać rysowania przecinających się ścieżek sterowania lepiej wprowadzić łączniki dokładnie numerować arkusze, na których został rozrysowany schemat blokowy. Liczyć się z koniecznością wprowadzenia poprawek do schematu nie oszczędzać papieru! ie umieszczać zbyt dużej liczby operacji w jednym bloku. Blok decyzyjny zawsze wymaga rozważenia dwóch alternatyw 18/22 6

SAR Zważ pojazd c - ciężar c 10 c 5 on miejsce na poziomie III? n=3 miejsce na poziomie II? n=2 SOP miejsce na poziomie I? n=1 n = 0 Rozwiązanie zadania algorytmicznego Algorytm elementarne instrukcje zadające akcje z ustalonego zbioru możliwe jest składanie instrukcji podstawowych Wykonanie: dla dowolnego dopuszczalnego zestawu danych wejściowych wynik zgodny z oczekiwaniami. 20/22 Instrukcje sterujące Algorytm musi zawierać instrukcje sterujące wskazują kolejność wykonywania akcji podstawowych. Podstawowe typy: następstwo (standard), wybór (wskazanie msca wykonania), iteracja (ograniczona, warunkowa). 21/22 7

Zapis algorytmu Zapis jednoznaczny i formalny Sposób zapisu: języki programowania: składa się z notacji i reguł zapisu Zapisany algorytm - program. Programowanie - to proces zapisu algorytmów. 22/22 Język programowania Sposób (środek, metoda) zapisu algorytmu w postaci zrozumiałej dla człowieka, Możliwej do automatycznego przetwarzenia do postaci zrozumiałej dla komputera (maszyny algorytmicznej) Jak napisać dobry program?! dobry algorytm! bez komputera znajomość zagadnienia użytkownik wie, projektant algorytmu rozumie 23/22 Czyli. Jeżeli y nie będziesz wiedział co zrobić i jak to zrobić żaden komputer za Ciebie tego nie wymyśli 24/22 8