TEI. Dr Wojciech Palubicki

Podobne dokumenty
Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie w języku Python. Grażyna Koba

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

1 Podstawy c++ w pigułce.

Języki programowania zasady ich tworzenia

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Wprowadzenie do Python

1 Podstawy c++ w pigułce.

Warunki logiczne instrukcja if

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

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

Warsztaty dla nauczycieli

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Podstawy i języki programowania

Python jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:

Wprowadzenie do języka Java

Języki skryptowe w programie Plans

Paradygmaty programowania

Microsoft IT Academy kurs programowania

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Język Python. Język Python 1/35

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

TEST KOŃCOWY DLA KLASY III GIMNAZJUM- POGRAMOWANIE. Szkoła Podstawowa Nr 5. im. Księcia Mazowieckiego Siemowita IV w Gostyninie.

Java EE produkcja oprogramowania

Python dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring

ALGORYTMY I PROGRAMY

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

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

Programowanie komputerów

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Algorytmy i struktury danych

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

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

Język programowania PASCAL

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Programowanie obiektowe i C++ dla matematyków

Pascal - wprowadzenie

Programowanie Niskopoziomowe

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

Programowanie obiektowe zastosowanie języka Java SE

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Wstęp do Programowania, laboratorium 02

4. Funkcje. Przykłady

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Zapis algorytmów: schematy blokowe i pseudokod 1

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Podstawy Programowania C++

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

PRZEWODNIK PO PRZEDMIOCIE

Interpreter - EasyCompile

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.

XML extensible Markup Language. część 5

Wykresy i interfejsy użytkownika

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Laboratorium kryptograficzne dla licealistów 2

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Lekcja 6: Pascal. Procedura i funkcja

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

ECDL Podstawy programowania Sylabus - wersja 1.0

Translacja wprowadzenie

Programowanie współbieżne i rozproszone

Python wstęp do programowania dla użytkowników WCSS

lekcja 8a Gry komputerowe MasterMind

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Elementy języków programowania

Funkcje i instrukcje języka JavaScript

Wstęp do programowania

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Podstawy programowania.

Python. Skąd taka nazwa? Kurs systemu UNIX 1

Wstęp do programowania

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Pytania sprawdzające wiedzę z programowania C++

Podstawy programowania - 1

3. Instrukcje warunkowe

Ćwiczenie 1. Przygotowanie środowiska JAVA

Podstawy Programowania.

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Programowanie w Turbo Pascal

Transkrypt:

TEI Dr Wojciech Palubicki

Tree growth (PhD) Prof. Przemyslaw Prusinkiewicz Lab PhD 2012 Modeling Scale

Moss branching Dr. Yoan Coudert, Dr. Jill Harrison and Prof. Ottoline Leyser Tree growth (PhD) Prof. Przemyslaw Prusinkiewicz Lab elife, 2015 PhD 2012 Modeling Scale

Agent-based auxin transport models Prof. Ottoline Leyser Lab and Dr. Laura Brown Moss branching Dr. Yoan Coudert, Dr. Jill Harrison and Prof. Ottoline Leyser Tree growth (PhD) Prof. Przemyslaw Prusinkiewicz Lab In prep. elife, 2015 PhD 2012 Modeling Scale

MATPLOTLIB

SciPy [ numeryczne metody] linalg cluster io ndimage signal stats special fftpack sparse optimize interpolate maxentropy odr integrate weave NumPy [struktura danych] fft random linalg NDArray wielo-wymiarowa tablica UFunc szybkie operacje na tablicach

vpython

Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN, COBOL, BASIC, C) High-level Programming Language (Java, Python, Prolog, MATLAB)

Kompilacja (Compilation) Kompilator (Compiler) to program który konwertuje program napisany w języku na wyższym poziome do ekwiwalentnego programu na niższym poziomie Zalety: Kompiluj raz, wywołaj program wiele razy Kompilator może przyspieszyć działanie programu, nawet jak optymizacja może długi czas zając Wada: Debugowanie kodu wymaga dużego wsparcia narzędzi programistycznych

Interpretowany kod Kod który nie jest kompilowany jest interpretowany Python korzysta z stwarzania byte-code przed interpretacja (pliki.pyc) Zalety: Stwarza wrażenie że rzeczywiście komputer działa za pomocy języka na wysokim poziomie Lepszy debugging Łatwiej dodać kod w czasie działania programu Wada: Wolniejszy

Python Python jest dynamiczny zinterpretowany język programistyczny Nie ma deklaracji typów zmiennych, parametrów, funkcji lub metod w kodzie źródłowym W czasie działania programu typy wszystkich obiektów są ustalone przez interpretera

Python Interpreter >>> a = 6 >>> a 6 >>> a + 2 8 >>> a = 'hallo' 'hallo' >>> len(a) 5

Python Interpreter >>> a = 6 >>> a 6 >>> a + 2 8 >>> a = 'hallo' 'hallo' >>> len(a) 5 Uruchomić shella IPython

Wykresy

Wykresy

Wykresy

Wykresy

Wykresy

Wykresy

plt.plot?

stary nowy

stary nowy

Legend

Przykład

Kod Źródłowy Kod źródłowy Pythona używa rozszerzenie.py i te pliki są nazwane modułami (modules) Żeby uruchomić np. moduł Pythona hallo.py można np. użyć komendę python hallo.py Wojtek lub run hallo.py Wojtek z shellu

Instrukcje warunkowe: if - else

Funkcje Za pomocy komendy def Wcięcie (Indentation) w Pythonie zmienia znaczenie kodu Logiczny blok kodu powinien zawsze mieć takie same wcięcie

Funkcje Za pomocy komendy def Wcięcie (Indentation) w Pythonie zmienia znaczenie kodu Logiczny blok kodu powinien zawsze mieć takie same wcięcie

Kod sprawdzony w czasie działania Kod poprawnie będzie działał w przypadku jak imię jest różne od Wojtek mimo tego ze kod źródłowy zawiera ewidentny błąd

Python Modules Wypisanie nazwy modułu i wciśnięcia klawisza TAB nam wyświetli wszystkie definicje modułu (wyrażenia zdefiniowane za pomocy komendy def)

Opis modułów i funkcji Opis modułów lub ich funkcji można uzyskać za pomocy help(), dir() lub?

Python Strings Python posiada klasę str która ma wiele przydatnych narzędzi do obsługi stringów Stringi mogą być zaznaczane za pomocy ' lub Używanie odwrotnego ukośnika \ działa normalnie, np. \n,\\ stwarza nowa linijkę Stringi są niezmienne Polskie znaki: # -*- coding: utf-8 -*- (w nagłówku) Używać litery u przed

String splicing Odniesienie do pojedynczych liter realizuje się za pomocy nawiasów [] (pierwsza instancja to 0, np. str[1] jest a w stringu hallo )

Zadania Napisz funkcje która biedzę brała liczbę jako input i oddaje string Liczba ciasteczek jest: # w przypadku jak liczba jest mniejsza lub równa od 9 lub za dużo ciasteczek jak liczba jest większa 9

Zadania Napisz funkcje która biedzę brała liczbę jako input i oddaje string Liczba ciasteczek jest: # w przypadku jak liczba jest mniejsza lub równa od 9 lub za dużo ciasteczek jak liczba jest większa 9 Napisz funkcje która okraja pierwsze dwa i ostatnie dwie litery dowolnego stringu

Zadania Napisz funkcje która biedzę brała liczbę jako input i oddaje string Liczba ciasteczek jest: # w przypadku jak liczba jest mniejsza lub równa od 9 lub za dużo ciasteczek jak liczba jest większa 9 Napisz funkcje która okraja pierwsze dwa i ostatnie dwie litery dowolnego stringu Napisz funkcje która zastępuje wszystkie litery które są identyczne z pierwsza litera dowolnego stringu o długości 1 lub więcej znakiem * ale nie zmienia pierwszą literę (np. armata arm*t*)

Zadania Napisz funkcje która biedzę brała liczbę jako input i oddaje string Liczba ciasteczek jest: # w przypadku jak liczba jest mniejsza lub równa od 9 lub za dużo ciasteczek jak liczba jest większa 9 Napisz funkcje która okraja pierwsze dwa i ostatnie dwie litery dowolnego stringu Napisz funkcje która zastępuje wszystkie litery które są identyczne z pierwsza litera dowolnego stringu o długości 1 lub więcej znakiem * ale nie zmienia pierwszą literę (np. armata arm*t*) Napisz funkcje która z dwóch stringów wprowadzonych wydaje dwie nowe stringi, gdzie pierwsze dwie litery są zamienione

Python Lists Listy są stwarzane za pomocą []

Python Lists Listy są stwarzane za pomocą [] Nie kopiuje listy!

Python Lists Listy są stwarzane za pomocą [] [1,2,3] liczby a

FOR i IN Pętle w pythonie się definiuję na przykład za pomocy komendy : for var in list

FOR i IN Pętle w pythonie się definiuję na przykład za pomocy komendy : for var in list

FOR i IN Pętle w pythonie się definiuję na przykład za pomocy komendy : for var in list

FOR i IN Pętle w pythonie się definiuję na przykład za pomocy komendy : for var in list

FOR i IN Pętle w pythonie się definiuję na przykład za pomocy komendy : for var in list

Slicing działa jak w przypadku stringow, np. liczby[1:] 2, 3

Sortowanie Za pomocy funkcji sorted()

Sortowanie za pomocy sort()

Sortowanie za pomocy sort()

Zadania Na danej liście stringów napisz funkcje która liczy ile stringów w liście maja długość większa od 2 i pierwsza litera jest taka sama jak ostatnia

Zadania Na danej liście stringów napisz funkcje która liczy ile stringów w liście maja długość większa od 2 i pierwsza litera jest taka sama jak ostatnia Na danej liście stringów napisz funkcje która zwraca sortowana listę ale podaje najpierw wszystkie stringi które rozpoczynają się z litera x (zdefiniuj dwie listy w funkcji żeby rozwiązać zadanie)

Zadania Na danej liście stringów napisz funkcje która liczy ile stringów w liście maja długość większa od 2 i pierwsza litera jest taka sama jak ostatnia Na danej liście stringów napisz funkcje która zwraca sortowaną listę ale podaje najpierw wszystkie stringi które rozpoczynają się z litera x (zdefiniuj dwie listy w funkcji żeby rozwiązać zadanie) Na danej liście liczb, zwróć listę liczb gdzie wszystkie sąsiednie liczby o tej samej wartości są do jednej liczby zredukowane (np. [1,2,2,3] [1,2,3])