Wstęp do programowania

Podobne dokumenty
Podstawy programowania w Pythonie

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

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

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

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

Kurs rozszerzony języka Python

Podstawy i języki programowania

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Python. Wprowadzenie. Jolanta Bachan

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

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

C++ wprowadzanie zmiennych

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

Zaawansowany kurs języka Python

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

Przegląd języka Python. Łukasz Anwajler

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

Języki i metody programowania

Wstęp do Informatyki i Programowania Laboratorium: Lista 1 Środowisko programowania

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

4. Napisz program wyznaczający wartość funkcji. f (x) = x cos x + e 4x 7. w zadanym punkcie.

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

Programowanie, algorytmy i struktury danych

Programowanie w języku Python. Grażyna Koba

1 Powtórzenie wiadomości

Cw.12 JAVAScript w dokumentach HTML

Monika Wrzosek (IM UG) Programowanie obiektowe 21 / 25

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

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

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

Podstawy programowania w Pythonie

Laboratorium z Podstaw Programowania Zajęcia 1

Podstawy programowania w Pythonie

Warsztaty dla nauczycieli

Odczyt danych z klawiatury Operatory w Javie

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

Podstawy i języki programowania

Zestaw 1-1 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!!

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Algorytm. a programowanie -

Aplikacje WWW - laboratorium

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Wykresy i interfejsy użytkownika

I. Podstawy języka C powtórka

Podstawy programowania w Pythonie

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

LibreOffice Calc VBA

INSTRUKCJE WARUNKOWE. Zadanie nr 1. Odpowiedź. schemat blokowy

Projektowanie aplikacji internetowych laboratorium

Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

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

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Liczby losowe i pętla while w języku Python

Programowanie - instrukcje sterujące

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

Wprowadzenie do języka Java

Podstawy i języki programowania

Umieszczanie kodu. kod skryptu

Koło Studentów Informatyki Uniwersytetu Wrocławskiego

if (wyrażenie ) instrukcja

Podstawy. Jan Koprowski Politechnika Gdańska, FTiMS Informatyka Stosowana

Pytania dla języka Python

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Podstawy programowania: Python. Wprowadzenie. Jolanta Bachan

4. Funkcje. Przykłady

Proste programy w C++ zadania

Praca domowa nr 1. a a b a b ; b c. c a bc d ef gh. 2) Napisz kod sprawdzający poniższe warunki sformułowane w języku naturalnym:

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Algorytmy i struktury danych

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

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

Podstawy programowania w Pythonie

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

3. Instrukcje warunkowe

Wstęp do Programowania, laboratorium 02

Programowanie wielowarstwowe i komponentowe

Klasy: String, Random, Math. Korzystanie z dokumentacji.

PROGRAMOWANIE W C++ ZADANIA

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

Podstawowe typy zmiennych

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Konstrukcje warunkowe Pętle

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1

* WWW: * * Adres: Instytut Informatyki ul. Będzińska Sosnowiec Pokój 214 * Telefon:

Programowanie obiektowe

Instrukcje sterujące

Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Metodyki i techniki programowania

JAVAScript w dokumentach HTML (2)

4. Postęp arytmetyczny i geometryczny. Wartość bezwzględna, potęgowanie i pierwiastkowanie liczb rzeczywistych.

Wstęp do programowania

Microsoft IT Academy kurs programowania

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

Algorytmika i Programowanie VBA 1 - podstawy

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Instrukcje wyboru. Tworzenie programu, Schematy blokowe, Instrukcje wyboru, Operatory logiczne

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

PROGRAMOWANIE W JĘZYKU PYTHON

1 Podstawy c++ w pigułce.

Transkrypt:

Wstęp do programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Modelowanie matematyczne 2017/18 Monika Wrzosek (IM UG) Wstęp do programowania 1 / 18

Sprawy organizacyjne Zaliczenie przedmiotu Dwa kolokwia (łącznie 70% oceny końcowej) Projekt (30% oceny końcowej) Język programowania i IDE Python 3.6.3 PyCharm https://www.python.org/downloads https://www.jetbrains.com/pycharm/download Literatura Mark Lutz, Python. Wprowadzenie. Wydanie IV, Helion 2010 https://www.pl.python.org Monika Wrzosek (IM UG) Wstęp do programowania 2 / 18

Charakterystyka języka Python Python jest interpretowanym językiem programowania wysokiego poziomu stworzonym przez holenderskiego programistę Guido van Rossuma w 1990 roku. Nazwa języka pochodzi od programu telewizyjnego BBC Latający cyrk Monty Pythona. Python rozwijany jest jako projekt Open Source zarządzany przez Python Software Foundation, która jest organizacją non-profit. W stosunku do wcześniejszych wersji języka Python w wersji 3.0 wprowadzono wiele istotnych zmian, które spowodowały brak zgodności wstecz. Najnowszą stabilną wersją języka Python jest wersja 3.3.6, która została wydana 10.10.2017. Monika Wrzosek (IM UG) Wstęp do programowania 3 / 18

Charakterystyka języka Python W Pythonie możliwe jest programowanie obiektowe, programowanie strukturalne i programowanie funkcyjne. Python posiada w pełni dynamiczny system typów (to wartości, a nie zmienne mają typ) Python posiada wbudowane abstrakcyjne typy danych takie jak np. listy, krotki, zbiory i słowniki. Python nie wymaga od programisty ręcznego zarządzania pamięcią. Odbywa się ono automatycznie, stosuje się garbage collection (zbieranie nieużytków, odśmiecanie). Cechą wyróżniającą Pythona spośród innych języków jest stosowanie wcięć do wydzielania bloków kodu. Python jest wykorzystywany m.in. w Google, YouTube, BitTorrent. Monika Wrzosek (IM UG) Wstęp do programowania 4 / 18

Aby utworzyć nowy projekt... Otwórz PyCharm i kliknij File -> New Project. W pasku Location podświetlony fragment ścieżki (untitled) zastąp wybraną nazwą i kliknij Create. Aby dodać nowy plik do projektu... Prawym przyciskiem myszy kliknij w ścieżkę projektu. Z menu rozwijanego wybierz New -> Python File. Nazwij plik i kliknij OK. Aby uruchomić program... Do utworzonego pliku wpisz polecenie print("witaj w swiecie Pythona") Wybierz Run -> Run... -> [nazwa pliku] Monika Wrzosek (IM UG) Wstęp do programowania 5 / 18

Standardowe typy liczbowe int - liczby całkowite, np: 345, 222 float - liczby zmiennoprzecinkowe, np: 3.14, 10.,.002, 0.35e2, 2.5e 1 long - długie liczby całkowite, np: 1000000000000000000000000000000L Kolekcje complex - liczby zespolone, np: 2 + 3j Napisy, np. "def", "modelowanie matematyczne" Listy, np. [6, 2, 34] Krotki, np. (2, "def", 3.14) Słowniki, np. dict = {"uno": 1, "dos": 2, "tres": 3} Monika Wrzosek (IM UG) Wstęp do programowania 6 / 18

a = 2 b = 5 print(a+b, a-b, a*b, a/b, a%b) print(3*a, 3**a) a = "Witaj w swiecie Pythona" print(a[0]) print(a[0:5]) print(a[-7]) a = "Witaj w swiecie Pythona" b = "w 2017 roku" print(a + b) print(a + + b) Monika Wrzosek (IM UG) Wstęp do programowania 7 / 18

krotka = 1,2,3 print(krotka) p,q,r = krotka print(p,q,r) print(q) student = "Jan","Kowalski",20 print(student) imie,nazwisko,wiek = student print(nazwisko) x = input("podaj x: ") y = input("podaj y: ") print("x =", x, "y =", y) Monika Wrzosek (IM UG) Wstęp do programowania 8 / 18

Moduły Moduły są pakietami dodatkowych narzędzi, które musimy zaimportować, by móc z nich skorzystać. import math print(math.pi) print(math.sqrt(85)) print(math.cos(0)) print(math.exp(1)) print(math.log(5)) import random print(random.random()) print(random.choice([1, 2, 3, 4])) print(random.randint(1, 10)) Monika Wrzosek (IM UG) Wstęp do programowania 9 / 18

Sprawdź, że program kończy się błędem imie = input("podaj swoje imię ") rok = input("podaj rok urodzenia ") wiek = 2017-rok print("masz", wiek, "lat(a)") input() zwraca pobrane z klawiatury znaki jako napis, czyli typ string int() umożliwia konwersję napisu na liczbę całkowitą, czyli typ integer Poprawny program: imie = input("podaj swoje imię ") rok = int(input("podaj rok urodzenia ")) wiek = 2017-rok print("masz", wiek, "lat(a)") Monika Wrzosek (IM UG) Wstęp do programowania 10 / 18

Zad. 1. Napisz program przeliczający kwotę pieniędzy wyrażoną w złotówkach na kwotę dolarów. Bieżący kurs dolara znajdziesz w Internecie. Zad. 2. Napisz program przeliczający wielkość kąta wyrażoną w stopniach na radiany. Zad. 3. Napisz program wyznaczający wartość funkcji f (x) = x 5 + 3 cos x + e 4x 7 + ln(x + 2) w zadanym punkcie. Zad. 4. Napisz program wyznaczający wartość funkcji f (x) = ax + b (cx + 1) 2 w zadanym punkcie. Wartości współczynników a, b, c należy wczytać z klawiatury. Monika Wrzosek (IM UG) Wstęp do programowania 11 / 18

Instrukcja warunkowa if-else x = int(input("podaj liczbę ")) if x >= 0: print("liczba nieujemna") else: print("liczba ujemna") Jeżeli wyrażenie x>=0 jest prawdziwe (przyjmuje wartość True), wykonywana jest pierwsza instrukcja: print("liczba nieujemna"). W przeciwnym wypadku (else), kiedy wyrażenie x>=0 jest fałszywe (False), wykonywana jest druga instrukcja: print("liczba ujemna"). Na końcu wyrażenia x>=0 i słowa else stawiamy dwukropek. Wcięcia służą do zaznaczania bloków kodu. Standardem są 4 spacje. Monika Wrzosek (IM UG) Wstęp do programowania 12 / 18

x = int(input("podaj liczbę ")) if x >= 0: a = x print("wartość bezwzględna podanej liczby to", a) else: a = -x print("wartość bezwzględna podanej liczby to", a) x = int(input("podaj liczbę ")) if x > 0: print("liczba dodatnia") elif x == 0: print("liczba = 0") else: print("liczba ujemna") Monika Wrzosek (IM UG) Wstęp do programowania 13 / 18

Zad. 5. Napisz program obliczający pierwiastek z zadanej liczby. Jeżeli wprowadzona liczba jest ujemna, należy wypisać odpowiedni komunikat. Zad. 6. Napisz program sprawdzający, czy wprowadzona liczba jest parzysta. Należy wypisać jedną z informacji: Liczba jest parzysta lub Liczba jest nieparzysta. Zad. 7. Napisz program sprawdzający, czy liczba a jest podzielna przez b. Należy wprowadzić dwie liczby i wypisać jedną z informacji A jest podzielne przez B lub A nie jest podzielne przez B. Zad. 8. Napisz program pobierający dwie liczby i wypisujący większą z nich. Zad. 9. Napisz program sprawdzający, czy wprowadzona liczba jest z przedziału [1, 10]. Monika Wrzosek (IM UG) Wstęp do programowania 14 / 18

Przetestuj program (sprawdź wszystkie możliwości): import math a = float(input("podaj współczynnik a ")) b = float(input("podaj współczynnik b ")) c = float(input("podaj współczynnik c ")) delta = b**2-4*a*c if delta < 0: print("brak pierwiastków") elif delta==0: x=-b/(2*a) print("x= "+ str(x)) else: p=math.sqrt(delta) x1 = (-b - p) / (2 * a) x2 = (-b + p) / (2 * a) print("x1= "+ str(x1) + + "x2= "+ str(x2)) Monika Wrzosek (IM UG) Wstęp do programowania 15 / 18

Funkcja float() umożliwia konwersję do liczby zmiennoprzecinkowej Funkcja str() umożliwia konwersję do napisu x1 jest liczbą zmiennoprzecinkową str(x1) jest napisem Operacja "x1= "+ str(x1) oznacza sklejenie napisów "x1= " i str(x1) w jeden napis Monika Wrzosek (IM UG) Wstęp do programowania 16 / 18

Zad. 10. Napisz program, który określa wzajemne położenie prostej y = ax + b i okręgu x 2 + y 2 = r 2. Parametry a, b, r należy wczytać z klawiatury. Zad. 11. Napisz program, który wyznacza rozwiązanie układu dwóch równań liniowych { ax + by = e cx + dy = f. Skorzystaj ze wzorów Cramera. Wartości współczynników a, b, c, d, e, f należy wczytać z klawiatury. Monika Wrzosek (IM UG) Wstęp do programowania 17 / 18

Zad. 12. Napisz program obliczający wielkość wygranej przy założeniu, że gracz rzuca kostką dwukrotnie. Jeśli p i q oznaczają odpowiednio wyniki pierwszego i drugiego rzutu, wygrana jest określona według tabeli: p q wygrana 2 lub 4 lub 5 p + 3q parzyste 1 lub 3 lub 6 2q 5p + 3, gdy p = q 1 lub 3 lub 6 nieparzyste 2q + p, gdy p q 2 lub 4 lub 5 min(p, q) + 4 Ponadto, jeśli wynikami obu rzutów jest 5, gracz otrzymuje premię w postaci dodatkowych 5 punktów. Program napisz w dwóch wersjach. - W wersji pierwszej wyniki rzutów wczytuj z klawiatury. - W wersji drugiej wyniki rzutów powinny być losowane. Monika Wrzosek (IM UG) Wstęp do programowania 18 / 18