PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Podobne dokumenty
PROGRAMOWANIE W PYTHONIE ALGORYTMY TABLICOWE A LISTY

Programowanie w języku Python. Grażyna Koba

Podstawy Programowania Podstawowa składnia języka C++

Warsztaty dla nauczycieli

Algorytmy i struktury danych

if (wyrażenie ) instrukcja

Programowanie - instrukcje sterujące

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

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

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

Programowanie komputerowe. Zajęcia 1

Warunki logiczne instrukcja if

Wstęp do programowania

Wstęp do programowania

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

Cw.12 JAVAScript w dokumentach HTML

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

Algorytmika i programowanie

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

PROGRAMOWANIE W JĘZYKU PYTHON

Języki i metody programowania

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

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

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

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

Struktura pliku projektu Console Application

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Technologie Informacyjne Mechatronika 2012/2013 Błędy obliczeń. Python.

Podstawy programowania w Pythonie

Algorytm. a programowanie -

ALGORYTMY I STRUKTURY DANYCH

do instrukcja while (wyrażenie);

Iteracje. Algorytm z iteracją to taki, w którym trzeba wielokrotnie powtarzać instrukcję, aby warunek został spełniony.

Podstawy i języki programowania

JAVAScript w dokumentach HTML - przypomnienie

1 Podstawy c++ w pigułce.

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

Laboratorium nr 1. i 2.

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

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

2.8. Algorytmy, schematy, programy

Wykresy i interfejsy użytkownika

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

Warunki i sposoby realizacji podstawy programowej kształcenia ogólnego w klasie IV i VII szkoły podstawowej z informatyki.

JAVAScript w dokumentach HTML (1)

Programowanie robota mobilnego E-puck w języku Python

LISTA 5. C++ PETLE for, while, do while

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

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

PORADNIK METODYCZNY DLA NAUCZYCIELI GIMNAZJUM JAK WYKORZYSTAC PAKIET DYDAKTYCZNY DO NAUCZANIA

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

Podstawy Programowania Algorytmy i programowanie

Język C, instrukcje sterujące (laboratorium)

Definicje. Algorytm to:

Język C zajęcia nr 7. Uwagi dotyczące stylu programowania

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Spis treści. Część I Metody reprezentowania informacji oraz struktury danych...9. Wprowadzenie Rozdział 1. Reprezentacja liczb całkowitych...

1 Wprowadzenie do algorytmiki

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Projektowanie algorytmów rekurencyjnych

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

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

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Wstęp do programowania

Wstęp do Informatyki

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

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

I. Podstawy języka C powtórka

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

lekcja 8a Gry komputerowe MasterMind

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ć

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

3. Instrukcje warunkowe

Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk Studenckie Koªo Automatyków SKALP

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

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

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

Języki programowania zasady ich tworzenia

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

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Technologie Informacyjne Mechatronika 2012/2013 Turtle

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

Zapis algorytmów: schematy blokowe i pseudokod 1

Instrukcje sterujące. Programowanie Proceduralne 1

Podstawy i języki programowania

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

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

Podstawy programowania 2. Temat: Funkcje i procedury rekurencyjne. Przygotował: mgr inż. Tomasz Michno

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

1 Podstawy c++ w pigułce.

Algorytmy i struktury danych

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

Matlab Składnia + podstawy programowania

Transkrypt:

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW http://metodycy.torun.pl/ m.informatyka@metodycy.torun.pl 1. Wprowadzenie do Pythona podstawowe informacje Python to język programowania wysokiego poziomu, ma przejrzystą i zwięzłą składnię. Programy pisane są w plikach tekstowych z rozszerzenie.py Stosowane są wcięcia do wydzielania bloków kodu (stosuje się 4 spacje, nie jest to konieczne, ale musimy być konsekwentni, tzn. jeśli pierwsze wcięcie w funkcji miało trzy spacje, to kolejne wcięcia także muszą mieć trzy spacje, linia bez wcięcia znajdować się będzie poza blokiem). Ważna jest wielkość liter. IDLE to zintegrowane środowisko programistyczne tego języka dołączone do interpretera Pythona. Darmowy interpretery są dostępne na wiele systemów operacyjnych. Zintegrowane środowisko programowe IDLE to zestaw narzędzi, które ułatwiają pisanie programów w Pythonie. Po uruchomieniu IDLE zgłasza się tryb interaktywny. Aby przejść do edycji nowego programu należy z menu File wybrać polecenie New File. Otworzy się okno edytora, przeznaczone do pisania programów tryb skryptowy. Tabela 1 Podstawowe polecenia Pythona #komentarz """ print("tekst",zmienna) a=float(input("podaj liczbę: ")) jednowierszowe komentarze wielowierszowe komentarze ograniczone przez lub wypisanie komunikatu na ekranie wczytywanie zmiennych z klawiatury (tworzenie zmien-

138 b=int(input("podaj liczbę: ")) c=input("podaj tekst: ") + - * / % // (dzielenie całkowite) ** (potęgowanie) nych przez przypisanie wartości) operatory arytmetyczne += -= *= /= %= //= **= złożone operatory przypisania ==!=< > <= >= 1<3<7 (wielokrotne porównania) and or not 2. Instrukcje warunkowe relacje operatory logiczne Tabela 2 Instrukcje warunkowe, biblioteka matematyczna i budowa funkcji if w: instrukcja if w: instrukcja else: instrukcja if w1: instrukcja1 elif w2: instrukcja2 elif w3: instrukcja3 else: instrukcja4 if w1: if w2: instrukcja1 else: instrukcja2 else: instrukcja3 from math import * a=sqrt(49) def pierwiastek(n): return n**0.5 def dzialania(a,b): return a+b, a-b instrukcja warunkowa skrócona instrukcja warunkowa pełna instrukcja warunkowa zagnieżdżona (alternatywa) zagnieżdżenie instrukcji warunkowych (koniunkcja) dostęp do funkcji biblioteki matematycznej pierwiastek kwadratowy przykład funkcji z jednym wynikiem uruchomienie funkcji: pierwiastek(9) wynik: 3.0 przykład funkcji z dwoma wynikami uruchomienie funkcji: dzialania(1,3) wyniki: (4,-2) Zadanie 1 Poniżej przedstawiono schemat blokowy pewnego algorytmu. Napisz program realizujący ten algorytm.

Programowanie w Pythonie Pierwsze kroki 139 START wczytaj: x, y z=5 x=x+2 TAK x<y NIE x=x*z TAK x==y NIE y=y-1 y=y-z y=y+z x=x-1 x=x+1 wypisz: x, y STOP Rysunek 1 Schemat blokowy algorytmu do zadania 1 Zadanie 2 Napisz program wyznaczający wartość podanej funkcji: f x 2x 10 4 x x 4 0 dla x 1 dla x 1 dla x 3 dla x 6 dla innych x

140 3. Instrukcje iteracyjne Tabela 3 Instrukcje iteracyjne for i in range(5): instrukcje range(10) range(1, 10) range(3, 10) range(1,10,2) range(9,0,-1) for x in range(10): print(x, "**2",x**2) while w: instrukcja while w: instrukcja else: instrukcja a=7 while a: a-=1 print(a) else: print("koniec") pętla for, która powtórzy się 5 razy, dla i = 0, 1, 2, 3, 4 sekwencje liczb: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [1, 2, 3, 4, 5, 6, 7, 8, 9] [3, 4, 5, 6, 7, 8, 9] [1, 3, 5, 7, 9] [9, 8, 7, 6, 5, 4, 3, 2, 1] przykładowa pętla for pętle while przykladowa pętla while Zadanie 3 Skonstruuj algorytmy iteracyjne w postaci programów realizujące: 1. wypisywanie liczb całkowitych z zakresu <4, 21> podzielnych przez 3, w kolejności od najmniejszej do największej, 2. wypisywanie liczb całkowitych z zakresu <8, 20>, które nie są podzielne przez 5, w kolejności od największej do najmniejszej. Zadanie 4 Napisz program wykonujący następujące operacje (n jest liczbą naturalną większą od 0): 1. wyświetlanie n-elementowego ciągu liczb całkowitych (2, 6, 18, 54, 162...), 2. obliczanie sumy n-elementowego ciągu liczb całkowitych ( 4, 1, 6, 11, 16...), 3. obliczanie iloczynu n-elementowego ciągu liczb całkowitych ( 1, 2, 4, 8, 16, 32...).

Programowanie w Pythonie Pierwsze kroki 141 4. Przykładowe proste algorytmy zapisane w Pythonie 4.1. Liczby pierwsze Dane: Liczba naturalna: n > 1. Wynik: Komunikat informujący, czy liczba n jest liczbą pierwszą. START wczytaj: n i=2 pom=sqrt(n) NIE i<=pom TAK wypisz: TAK TAK n%i==0 NIE STOP wypisz: NIE i=i+1 STOP def liczba_pierwsza (n): for i in range(2,n): if n%i==0: return False return True 4.2. Minimalna wartość Dane: Liczba naturalna: n > 0 (liczba wczytywanych wartości). Wynik: Najmniejsza z liczb rzeczywistych wprowadzonych z klawiatury: minimum. Lista kroków: Krok 1. Wczytaj pierwszą liczbę k. Krok 2. Przypisz minimum = k. Krok 3. Jeśli n = 1, wypisz minimum i zakończ algorytm.

142 Krok 4. Wczytaj liczbę k. Krok 5. Zmniejsz n o 1. Krok 6. Jeśli k < minimum, przejdź do kroku 2., w przeciwnym wypadku przejdź do kroku 3. def minimum (n): k=float(input("podaj liczbę: ")) min=k while n>1: k=float(input("podaj liczbę: ")) if k<min: min=k n-=1 return min 5. Funkcje rekurencyjne Obliczanie silni liczby naturalnej Definicja rekurencyjna algorytmu wyznaczającego n! jest następująca: a a 0 n 1 a n 1 n dla n 0 Stosując podaną definicję, można zapisać algorytm w postaci funkcji rekurencyjnej. def silnia (n): if n==0: return 1 return silnia(n-1)*n Wyznaczanie elementów ciągu Fibonacciego Rekurencję można zastosować również do wyznaczenia n-tego elementu ciągu Fibonacciego, którego wyrazy mają następujące wartości: (1; 1; 2; 3; 5; 8; 13; 21; 34; 55; 89; 144; 233; 377; 610...) Definicja rekurencyjna ciągu Fibonacciego jest następująca:

Programowanie w Pythonie Pierwsze kroki 143 a a a 1 2 n 1 1 a n 1 an2 dla n 2 Na podstawie definicji, zapisujemy algorytm w postaci funkcji rekurencyjnej. def fibo (n): if n==1 or n==2: return 1 return fibo(n-1)+fibo(n-2) Zadanie 5 Podaj definicje rekurencyjne ciągów liczbowych oraz napisz programy wyznaczające n-ty element podanego ciągu: 1. (3; 6; 9; 12; 15; 18; 21; 24...), 2. ( 2; 4; 8; 16; 32; 64; 128...), 3. (8; 4; 2; 1; 0,5; 0,25; 0,125...), 6. Grafika żółwia w Pythonie from turtle import * shape( turtle ) 4. (2; 6; 3; 7; 4; 8; 5; 9; 6; 10; 7; 11...), 5. ( 1; 4; 4; 16; 64; 1024...), 6. (1; 2; 4; 3; 1; 5; 8; 9; 14...). Tabela 4 Grafika żółwia w Pythonie deklaracja biblioteki zmiana wyglądu żółwia (turtle żółw, circle koło, arrow strzałka, square kwadrat, triangle trójkąt, classic wygląd klasyczny) speed(5) szybkość rysowania <1..11> fd(100) bk(50) rt(90) lt(45) pu() pd() Zadanie 6 żółw idzie naprzód 100 kroków żółw cofa się 50 kroków żółw obraca się w prawo o 90 żółw obraca się w lewo o 45 żółw podnosi pisak żółw opuszcza pisak Korzystając z poleceń dostępnych w bibliotece turtle wykonaj poniższe rysunki.

144 from turtle import * pencolor("brown") pensize(15) fillcolor("yellow") begin_fill() for i in range(4): fd(150); rt(90) end_fill()

Literatura Programowanie w Pythonie Pierwsze kroki 145 1. Dawson M., Python dla każdego. Podstawy programowania, Helion, Gliwice 2013. 2. Lutz M., Python. Wprowadzenie, Helion, Gliwice 2011. 3. Sysło M.M., Algorytmy, Helion, Gliwice 2016. 4. Zawadzka G., Informatyka. Podręcznik dla szkół ponadgimnazjalnych. Informatyka Europejczyka, część I, Wydanie III, Helion, Gliwice 2017.