Języki i metody programowania

Podobne dokumenty
Podstawy programowania w Pythonie

Podstawy programowania w Pythonie

Języki i metody programowania

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Podstawy programowania w Pythonie

Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty

Spis treści. Funkcje. 1 Funkcje 1.1 Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie 7

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Wstęp. Opis programu :

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie

Wstęp do programowania

Technologie Informacyjne Mechatronika 2012/2013 Turtle

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Podstawy programowania w Pythonie

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI

Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty

Logo Komeniusz. Gimnazjum w Tęgoborzy. Mgr Zofia Czech

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

Programowanie w języku LOGO KOMENIUSZ

Algorytmika i programowanie

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

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

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Języki i metody programowania

Warsztaty dla nauczycieli

Warsztaty komputerowe

Wykresy i interfejsy użytkownika

Programowanie w Ruby

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

Wstęp do programowania

4. Funkcje. Przykłady

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

Definiowanie procedur z parametrami w Logo Komeniuszu.

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Wstawianie nowej strony

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

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

Programowanie aplikacji mobilnych

Programowanie w LOGO KOMENIUSZ grafika żółwia

Programowanie w języku Python. Grażyna Koba

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

Listy, krotki, słowniki, funkcje

Simba 3D LOGO. Cele zajęć: - Poznanie zasad i sposobów tworzenia procedur z parametrami. - Poznanie zasad wywoływania procedur z parametrami.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Programowanie i projektowanie obiektowe

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

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

Praktyka programowania projekt

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Podstawy Informatyki dla Nauczyciela

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

Java EE produkcja oprogramowania

Wstęp do programowania

Podstawy programowania w Pythonie

Lab 9 Podstawy Programowania

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Dodatek A. Spis instrukcji języka Prophio.

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Jak dodać własny szablon ramki w programie dibudka i dilustro

Język C++ zajęcia nr 2

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Kl 7-8 Szkoła Podstawowa

Komputerowy skład w L A T E X

Programowanie obiektowe

Pascal - grafika. Uruchomienie trybu graficznego. Moduł graph. Domyślny tryb graficzny

Języki i metodyka programowania. Wprowadzenie do języka C

Python wstęp. Michał Bereta

Podstawy programowania

3.4. Opis konfiguracji layoutów.

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

Dziedziczenie. Zadanie 1

Delphi podstawy programowania. Środowisko Delphi

Technologie informacyjne - wykład 12 -

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

Ćwiczenia z przetwarzania tablic 2D

Podstawy programowania skrót z wykładów:

Ćwiczenie 3. Python 3: Python 3: Funkcje, moduły i operacje na plikach

Wskaźniki w C. Anna Gogolińska

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

Kod źródłowy programu: program Grafika1; uses crt, graph; (1) var sterownik, tryb:smallint; (2)

Programowanie komputerowe. Zajęcia 2

Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji).

LOGO KOMENIUSZ PODSTAWOWE KOMENDY W LOGO KOMENIUSZ:

Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania).

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

Tablice. Jones Stygar na tropie zmiennych

Paradygmaty programowania

Podstawy programowania. Wykład 6 Złożone typy danych: struktury, unie. Krzysztof Banaś Podstawy programowania 1

Modele i symulacje - Scratch i Excel

Podstawy i języki programowania

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

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Wstęp do programowania

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Wstęp do Informatyki

Podstawy bioinformatyki 2017/18

Podstawy Programowania C++

Transkrypt:

Języki i metody programowania Wykład 2 dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie hab. Andrzeja Zbrzezngo

Podstawy języka Python grafika żółwia Wprowadzenie Grafika żółwia jest popularnym sposobem na wprowadzenie programowania dla dzieci. Była ona częścia oryginalnego języka programowania Logo zaprojektowanego w 1966 roku przez pracujacego w Massachusetts Institute of Technology Seymoura Paperta. Aby w systemie Ubuntu móc używać grafiki żółwia w Pythonie 3 należy zainstalować pakiet python3-tk: $ sudo apt-get install python3-tk Grafika żółwia w Pythonie dostępna jest poprzez moduł turtle: import turtle Pełna dokumentacja znajduje się: https://docs.python.org/2/library/turtle.html

Podstawy języka Python grafika żółwia Moduł turtle wybrane metody klasy _Screen Utworzenie okna graficznego obiektu klasy _Screen, będacej podklasa klasy TurtleScreen oraz przypisanie odniesienia do tego obiektu do zmiennej: w = turtle.screen() Zmiana tytułu okna graficznego: w.title("plac zabaw dla żółwi") Zmiana rozmiaru okna graficznego: w.setup(0.8, 0.5) 80% szerokości ekranu i 50% wysokości ekranu w.setup(600, 400) szerokość okna 600 pikseli, wysokość okna 400 pikseli Środek okna graficznego ma współrzędne (0.00, 0.00)

Podstawy języka Python grafika żółwia Moduł turtle wybrane metody klasy _Screen Rozpoczęcie pętli zdarzeń w oknie graficznym: w.mainloop() Zmiana koloru tła okna graficznego: w.background("lightgreen") w.background(144, 238, 144) Dostępne nazwy kolorów można znaleźć na stronie: http://www.tcl.tk/man/tcl8.5/tkcmd/colors.htm Dostępne nazwy kolorów można uzyskać w Linuksie poprzez polecenie: man n colors

Podstawy języka Python grafika żółwia Moduł turtle wybrane metody klasy Turtle Utworzenie żółwia obiektu klasy Turtle oraz przypisanie odniesienia do tego obiektu do zmiennej: t = turtle.turtle() Przesunięcie żółwia w kierunku jego zgodnym z jego orientacja o podana liczbę pikseli: t.forward(200) lub t.fd(200) t.backward(-200) lub t.bk(200) Przesunięcie żółwia w kierunku przeciwnym do jego orientacji o podana liczbę pikseli: t.backward(200) t.forward(-200)

Podstawy języka Python grafika żółwia Moduł turtle wybrane metody klasy Turtle Zmiana kształtu żółwia: t.shape("turtle") Nazwy dostępnych kształtów: "arrow", "turtle", "circle", "square", "triangle", "classic" Obrót żółwia w lewo o podana liczbę stopni: t.left(120) lub t.lt(120) Obrót żółwia w prawo o podana liczbę stopni: t.right(120) lub t.rt(120) Ustawienie orientacji żółwia na podana liczbę stopni: t.setheading(0) lub t.seth(0) Pobranie orientacji żółwia: o = t.heading()

Podstawy języka Python grafika żółwia Moduł turtle wybrane metody klasy Turtle Ustawienie prędkości żółwia: t.speed(6) t.speed("normal") Prędkość żółwia może być: liczba całkowita z zakresu od 0 do 10 albo jednym z następujacych łańcuchów znaków: "fastest" : 0 "slowest" : 1 "slow" : 3 "normal" : 6 "fast" : 10 Jeżeli argument metody speed jest mniejszy lub równy od 0.5 lub większy od 10, to prędkość jest ustawiana na 0.

Podstawy języka Python grafika żółwia Przykłady Program p0301-bob.py Program p0302-tess.py Program p0303-tessandbob.py Program p0304-square.py Program p0305-colorsquare.py Program p0306-stamps.py

Podstawy języka Python Funkcje Bardzo często zachodzi potrzeba wielokrotnego wykonania tej samej samej sekwencji instrukcji, ale z drobna różnica, na przykład z inna wartościa poczatkow a. Funkcja to nazwana sekwencja instrukcji realizujaca specyficzne zadanie. Celem definiowania funkcji jest podzielenie programu na fragmenty odzwierciedlajace sposób myślenia o danym problemie. Funkcje stosuje się, aby uprościć program i zwiększyć jego czytelność. Funkcje ukrywaja złożone obliczenia za pomoca jednej instrukcji wywołania funkcji. Utworzenie funkcji pozwala zmniejszyć program poprzez eliminację powtarzajacego się kodu.

Podstawy języka Python Funkcje Składnia definicji funkcji jest następujaca: def nazwa(argumenty): blokinstrukcji Pierwsza linia funkcji zaczyna się od słowa kluczowego def a kończy dwukropkiem. Linia ta nazywa się nagłówkiem funkcji. Nazwa funkcji musi być identyfikatorem (nie może być słowem kluczowym). Lista argumentów może być pusta lub może składać się z dowolnej ilości argumentów oddzielonych przecinkami.

Podstawy języka Python Funkcje W trakcie wykonywania polecenia def następuje utworzenie obiektu funkcji. Następnie do zmiennej, której nazwa jest nazwa funkcji, przypisywane jest odniesienie do obiektu funkcji. Z faktu, że funkcje sa obiektami wynika iż moga być one przechowywane w kolekcjach zbiorów danych i przekazywane jako argumenty do innych funkcji, Przykład Program squares.py

Podstawy języka Python Funkcje import turtle def draw_multicolor_square(t, length): for c in ["red", "purple", "hotpink", "blue"]: t.color(c); t.forward(length); t.left(90) def main(): wn = turtle.screen(); wn.bgcolor("lightgreen") tess = turtle.turtle(); tess.pensize(3) for length in range(20, 200, 10): draw_multicolor_square(tess, length) tess.forward(10); tess.right(18) wn.mainloop() main()

Podstawy języka Python Funkcje Bezpośrednio po nagłówku funkcji może, ale nie musi, wystapić komentarz dokumentacyjny. Komentarze dokumentacyjne ujmuje się zazwyczaj w potrójne cudzysłowy, """dzięki czemu moga one zajmować dowolnie wiele linii. Składnia definicji funkcji uwzględniajaca komentarz dokumentacyjny jest następujaca: def nazwa(argumenty): """Opcjonalny komentarz dokumentacyjny mogący zajmować wiele linii""" blokinstrukcji

Podstawy języka Python funkcje import turtle def draw_square(t, length): """Niech żółw t narysuje kwadrat o boku length""" for j in range(4): t.forward(length); t.left(90) def main(): win = turtle.screen() win.bgcolor("lightgreen"); win.title("kwadrat") bob = turtle.turtle(); bob.color("blue"); bob.pensize(3); draw_square(bob, 150) win.mainloop() main()

Podstawy języka Python Funkcje Funkcje moga wywoływać inne funkcje: import turtle def draw_rectangle(t, width, height): """Niech żółw t narysuje prostokąt o podanej szerokości i wysokości""" for j in range(2): t.forward(width); t.left(90) t.forward(height); t.left(90) def draw_square(t, length): """Niech żółw t narysuje kwadrat o boku length""" draw_rectangle(t, length, length)

Podstawy języka Python Funkcje W celu zapewnienia, że funkcja jest zdefiniowana przed jej pierwszym użyciem, należy rozumieć, w jakiej kolejności wykonywane sa instrukcje. Kolejność wykonywania instrukcji jest nazywana przepływem sterowania. Wykonanie programu zaczyna się zawsze od jego pierwszej instrukcji. Instrukcje sa wykonywane pojedynczo, w kolejności od góry do dołu. Definicje funkcji nie zmieniaja przepływu sterowania programu. Instrukcje wewnatrz funkcji nie sa wykonywane, aż do momentu gdy funkcja zostanie wywołana.

Podstawy języka Python funkcje Niepoprawna kolejność instrukcji import turtle def main(): win = turtle.screen() bob = turtle.turtle() draw_hexagon(bob, 150) win.mainloop() main() def draw_hexagon(t, length): for j in range(6): t.left(60) t.forward(length)

Podstawy języka Python funkcje Poprawna kolejność instrukcji import turtle def draw_hexagon(t, length): for j in range(6): t.left(60) t.forward(length) def main(): win = turtle.screen() bob = turtle.turtle() draw_hexagon(bob, 150) win.mainloop() main()

Podstawy języka Python funkcje Poprawna i polecana kolejność instrukcji import turtle def main(): win = turtle.screen() bob = turtle.turtle() draw_hexagon(bob, 150) win.mainloop() def draw_hexagon(t, length): for j in range(6): t.left(60) t.forward(length) main()

Podstawy języka Python Funkcje Każda funkcja Pythona posiada wartość zwrotna. Domyślnie wartościa zwrotna jest None, chyba że z wnętrza funkcji zostanie zwrócona inna wartość za pomoca instrukcji o następujacej składni: return wyrażenie Wykonanie powyższej instrukcji powoduje obliczenia wartości wyrażenia wyrażenie, po czym wartość ta staje się wartościa zwrotna danej funkcji. Wartość zwrotna może być pojedyncza wartościa badź krotka wartości. Wartość zwrotna może zostać zignorowana przez wywołujacego funkcję; będzie ona wówczas odrzucona.

Podstawy języka Python funkcje import math, turtle def main(): win = turtle.screen(); win.bgcolor("khaki2"); bob = turtle.turtle(); bob.color("blue"); bob.pensize(3); bob.speed(0) draw_circle(bob, 300, 720) win.mainloop() def draw_circle(t, r, n): """Rysuje wielokąt foremny o n bokach""" t.penup(); t.goto(0, -r); t.pendown() length = (2 * math.pi * r) / n for j in range(n): t.left(360 / n); t.forward(length) main()

Podstawy języka Python funkcje Funkcje Aby zwiększyć czytelność programu z poprzedniego slajdu przeprowadzimy refaktoryzację jego kodu źródłowego. Refaktoryzacja to proces wprowadzania zmian w programie, w wyniku którego zasadniczo nie zmienia się jego funkcjonalność. A zatem, celem refaktoryzacji nie jest wytwarzanie nowej funkcjonalności, ale osiagnięcie odpowiedniej, wysokiej jakości organizacji programu. Przykłady circle.py twocircles.py wheeels.py