Podstawy programowania obiektowego

Podobne dokumenty
Programowanie, algorytmy i struktury danych

Microsoft IT Academy kurs programowania

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

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

Materiały do zajęć III

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

Podstawy Programowania C++

Platforma.NET. Laboratorium nr 1 Podstawy języka C#

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Programowanie obiektowe i zdarzeniowe

Instrukcje sterujące

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

Programowanie - wykład 4

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Wstęp do programowania

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

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

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

Przetwarzanie sygnaªów

Programowanie - instrukcje sterujące

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Wstęp do programowania

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

Kontrola przebiegu programu

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

Język C część 2. Podejmowanie decyzji w programie. if else. switch

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

Programowanie obiektowe

Instrukcje sterujące. Programowanie Proceduralne 1

Metody Metody, parametry, zwracanie wartości

Konstrukcje warunkowe Pętle

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

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

1 Podstawy c++ w pigułce.

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Wstęp do Informatyki

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

Programowanie strukturalne i obiektowe

Podstawy programowania w języku C

PONIEDZIAŁEK WTOREK

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Podstawy programowania obiektowego

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

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

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Wstęp do programowania

Programowanie Strukturalne i Obiektowe. Paweł Chwietczuk

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Warunki logiczne instrukcja if

Materiały pomocnicze do wykładu 3 - Elementy języka Java

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Język ludzki kod maszynowy

Boisko piłkarskie: stycznia

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

Programowanie komputerowe. Zajęcia 3

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

Programowanie komputerowe. Zajęcia 1

Dokonaj analizy poniŝszego kodu i na jego podstawie wyświetl w oknie przeglądarki swoje Imię oraz Nazwisko przy uŝyciu instrukcji echo i print

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

Część 4 życie programu

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Tworzenie aplikacji w języku Java

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.

LibreOffice Calc VBA

Wstęp do informatyki- wykład 7

Język C zajęcia nr 5

1 Podstawy c++ w pigułce.

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Materiały pomocnicze do wykładu 3 - Elementy języka Java

I - Microsoft Visual Studio C++

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Pętla for. Wynik działania programu:

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Pliki wykład 2. Dorota Pylak

Programowanie obiektowe - zadania

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Wstęp do informatyki- wykład 6

MATERIAŁY DO ZAJĘĆ II

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

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

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

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Języki programowania - podstawy

Programowanie proceduralne w języku C++ Pętle, tablice

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

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy

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

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

WHILE (wyrażenie) instrukcja;

Wstęp do programowania

Pętle instrukcje powtórzeo

Transkrypt:

Podstawy programowania obiektowego wykład 2 // na poprzednim wykładzie: using System; namespace ConsoleApplication1 class Program Console.Write("Podaj liczbę > "); // wczytywanie int x = int.parse(console.readline()); // operacje na zmiennych int y = 2 * x + 1; // wypisywanie Console.WriteLine("2 * 0 + 1 = 1", x, y); 1/33

2/33 instrukcja warunkowa: Console.Write("Podaj liczbę: "); int i = int.parse(console.readline()); if (i > 0) Console.WriteLine("0 jest większe od 0", i); albo tak: if (i > 0) Console.WriteLine("0 jest większe od 0", i);

3/33 Console.Write("Podaj liczbę: "); int i = int.parse(console.readline()); if (i > 0) Console.WriteLine("0 jest większe od 0", i); else Console.WriteLine("0 jest mniejsze lub równe 0",i);

4/33 Console.Write("Podaj liczbę: "); int i = int.parse(console.readline()); if (i > 0) Console.WriteLine("0 jest większe od 0", i); else if (i < 0) Console.WriteLine("0 jest mniejsze 0", i); else Console.WriteLine("Twoja liczba to 0");

5/33 operatory relacji: if (a < b) if (a <= b) if (a == b) if (a!= b) if (!(a == b)) if (a < b < c) // źle if (a < b && b < c) // dobrze if (a > b a > c) if (!(a > b && c!= d) && b >= d)

szukanie największej liczby spośród trzech wczytanych: Console.WriteLine("Podaj trzy liczby:"); int a = int.parse(console.readline()); int b = int.parse(console.readline()); int c = int.parse(console.readline()); if (a >= b && a >= c) Console.WriteLine("0 jest największe", a); else if (b >= a && b >= c) Console.WriteLine("0 jest największe", b); else Console.WriteLine("0 jest największe", c); 6/33

7/33 inne rozwiązanie: if (a >= b) if (a >= c) Console.WriteLine("0 jest największe", a); else Console.WriteLine("0 jest największe", c); else if (b >= c) Console.WriteLine("0 jest największe", b); else Console.WriteLine("0 jest największe", c);

zadanie: obliczanie rabatów sztuka towaru kosztuje 15zł, kupując co najmniej 10 sztuk mamy 5% rabatu, a powyżej 20 sztuk 10% rabatu Console.WriteLine("Ile sztuk chcesz kupić?"); int sztuki = int.parse(console.readline()); const double cena_za_sztuke = 15.0; double rabat = 0; if (sztuki <= 0) Console.WriteLine("żartujesz?"); return; if (sztuki > 20) rabat = 0.1; else if (sztuki >= 10) rabat = 0.05; double cena = sztuki * cena_za_sztuke * (1 - rabat); Console.WriteLine("wraz z rabatem 0:P cena = 1:F2", rabat, cena); 8/33

instrukcja wyboru: Console.Write("Wybierz 1 aby zapisać, 2 aby przerwać, "); Console.WriteLine("3 aby kontynuować"); int wybór = int.parse(console.readline()); switch (wybór) case 1: Console.WriteLine("Zapisuję dane..."); break; case 2: Console.WriteLine("Przerywam program"); return; case 3: Console.WriteLine("Kontynuuję..."); break; 9/33

Console.Write("Wybierz 1 aby zapisać, 2 aby przerwać, "); Console.WriteLine("3 aby kontynuować"); int wybór = int.parse(console.readline()); switch (wybór) case 1: Console.WriteLine("Zapisuję dane..."); break; case 2: Console.WriteLine("Przerywam program"); return; case 3: Console.WriteLine("Kontynuuję..."); break; default: Console.WriteLine("Wybrałeś niedozwoloną opcję"); break; 10/33

11/33 Console.WriteLine("Podaj dwie liczby i operator"); int a = int.parse(console.readline()); char op = (char)console.read(); int b = int.parse(console.readline()); int wynik; switch (op) case '+': wynik = a + b; break; case '-': wynik = a b; break; case '*': wynik = a * b; break; case '/': wynik = a / b; break; default: Console.WriteLine("Niedozwolony operator"); return; Console.WriteLine("012 = 3", a, op, b, wynik);

Console.WriteLine("Podaj dzień tygodnia"); string dzień = Console.ReadLine(); switch (dzień) case "poniedziałek": case "wtorek": case "środa": case "czwartek": Console.WriteLine("dzień pracy"); break; case "piątek": Console.WriteLine("prawie weekend"); break; case "sobota": case "niedziela": Console.WriteLine("weekend"); break; default: Console.WriteLine("słucham?"); break; 12/33

13/33 przykład: logowanie Console.Write("Podaj hasło: "); string hasło = Console.ReadLine(); if (hasło!= "ala") Console.WriteLine("Hasło nieprawidłowe"); else Console.WriteLine("Logowanie udane");

14/33 przykład: logowanie Console.Write("Podaj hasło: "); string hasło = Console.ReadLine(); if (hasło!= "ala") Console.WriteLine("Spróbuj ponownie"); hasło = Console.ReadLine(); if (hasło!= "ala") Console.WriteLine("Hasło nieprawidłowe"); else Console.WriteLine("Logowanie udane"); else Console.WriteLine("Logowanie udane");

15/33 pętla while: Console.Write("Podaj hasło: "); string hasło = Console.ReadLine(); while (hasło!= "ala") Console.WriteLine("Spróbuj ponownie"); hasło = Console.ReadLine(); Console.WriteLine("Logowanie udane");

16/33 pętla do-while: string hasło; do Console.Write("Podaj hasło: "); hasło = Console.ReadLine(); while (hasło!= "ala"); Console.WriteLine("Logowanie udane");

17/33 śledzenie wykonywania pętli int a = 1; while (a < 20) a *= 2; Console.Write(a); a int a = 1; 1 while (a < 20) 1 a *= 2; 2 while (a < 20) 2 a *= 2; 4 while (a < 20) 4 a *= 2; 8 while (a < 20) 8 a *= 2; 16 while (a < 20) 16 a *= 2; 32 while (a < 20) 32 Console.Write(a); 32 32

18/33 pętla for: for(int i = 0; i < 5; ++i) Console.Write("*"); odpowiada to: int i = 0; while (i < 5) Console.Write("*"); ++i;

pętla for: for (int i = 0; i < 5; ++i) Console.WriteLine(i); i for (int i = 0; i < 5; ++i) 0 for (int i = 0; i < 5; ++i) 0 Console.WriteLine(i); 0 for (int i = 0; i < 5; ++i) 1 for (int i = 0; i < 5; ++i) 1 Console.WriteLine(i); 1 for (int i = 0; i < 5; ++i) 2 for (int i = 0; i < 5; ++i) 2 Console.WriteLine(i); 2 for (int i = 0; i < 5; ++i) 3 for (int i = 0; i < 5; ++i) 3 Console.WriteLine(i); 3 for (int i = 0; i < 5; ++i) 4 for (int i = 0; i < 5; ++i) 4 Console.WriteLine(i); 4 for (int i = 0; i < 5; ++i) 5 for (int i = 0; i < 5; ++i) 5 5 19/33

20/33 pętla for: for(int i = 3; i < 20; i*=2) Console.WriteLine(i); i for (int i = 3; i < 20; i*=2) 3 for (int i = 3; i < 20; i*=2) 3 Console.WriteLine(i); 3 for (int i = 3; i < 20; i*=2) 6 for (int i = 3; i < 20; i*=2) 6 Console.WriteLine(i); 6 for (int i = 3; i < 20; i*=2) 12 for (int i = 3; i < 20; i*=2) 12 Console.WriteLine(i); 12 for (int i = 3; i < 20; i*=2) 24 for (int i = 3; i < 20; i*=2) 24

21/33 przykład obliczanie liczby π 4 =1 1 3 1 5 1 7 1 9 1 11 double pi4 = 0; bool plus = true; int mianownik = 1; for (int i = 0; i < 10000; ++i) if (plus) pi4 += 1.0 / mianownik; else pi4 -= 1.0 / mianownik; plus =!plus; mianownik += 2; Console.WriteLine("Pi = 0", pi4 * 4); Console.WriteLine("Pi = 0", Math.PI);

22/33 przykład obliczanie liczby π z zadaną dokładnością 4 =1 1 3 1 5 1 7 1 9 1 11 double starepi; // poprzednia wartość double err = 0.0001; // zadana dokładność double pi4 = 0; bool plus = true; int mianownik = 1; do starepi = pi4 * 4; if (plus) pi4 += 1.0 / mianownik; else pi4 -= 1.0 / mianownik; plus =!plus; mianownik += 2; while (Math.Abs(starepi - pi4 * 4) > err); Console.WriteLine("Pi = 0", pi4 * 4); Console.WriteLine("Pi = 0", Math.PI);

23/33 zadanie: wczytaj 10 liczb Console.WriteLine("Podaj 10 liczb"); for (int i = 0; i < 10; ++i) Console.Write("0 liczba > ", i + 1); int liczba = int.parse(console.readline()); Console.WriteLine("Dziękuję");

24/33 zadanie: wczytaj 10 liczb i oblicz ich sumę Console.WriteLine("Podaj 10 liczb"); int suma = 0; for (int i = 0; i < 10; ++i) Console.Write("0 liczba > ", i + 1); int liczba = int.parse(console.readline()); suma += liczba; Console.WriteLine("Suma dziesięciu: 0", suma);

25/33 zadanie: wczytaj 10 liczb i oblicz sumę parzystych Console.WriteLine("Podaj 10 liczb"); int suma = 0; for (int i = 0; i < 10; ++i) Console.Write("0 liczba > ", i + 1); int liczba = int.parse(console.readline()); // czy parzysta? if (liczba % 2 == 0) suma += liczba; Console.WriteLine("Suma parzystych: 0", suma);

26/33 zadanie: wczytaj 10 liczb i oblicz średnią parzystych Console.WriteLine("Podaj 10 liczb"); int ilepar = 0, suma = 0; for (int i = 0; i < 10; ++i) Console.Write("0 liczba > ", i + 1); int liczba = int.parse(console.readline()); // czy parzysta? if (liczba % 2 == 0) ilepar++; suma += liczba; Console.WriteLine("Średnia parzystych: 0:.00", (double)suma/ilepar);

27/33 zadanie: wczytuj liczby, dopóki ich suma nie przekroczy 100 int suma = 0; do Console.Write(" > "); int liczba = int.parse(console.readline()); suma += liczba; while (suma <= 100); Console.WriteLine("Suma: 0", suma);

28/33 zadanie: wczytuj liczby parzyste, dopóki ich suma nie przekroczy 100 i oblicz ich średnią int suma = 0, ilosc = 0; do Console.Write(" > "); int liczba = int.parse(console.readline()); if (liczba % 2 == 0) suma += liczba; ilosc++; while (suma <= 100); Console.WriteLine("Liczb wczytanych: 0", ilosc); Console.WriteLine("Suma: 0", suma); Console.WriteLine("Średnia: 0:.00", (double)suma/ilepar);

29/33 śle dze nie wykonania int suma = 0, ilosc = 0; do int liczba =...; if (liczba % 2 == 0) suma += liczba; ilosc++; while (suma <= 100); suma ilosc liczba int suma = 0, ilosc = 0; 0 0 - int liczba =...; 0 0 20 if (liczba % 2 == 0) 0 0 20 suma += liczba; 20 0 20 ilosc++; 20 1 20 while (suma <= 100); 20 1 - int liczba =...; 20 1 35 if (liczba % 2 == 0) 20 1 35 while (suma <= 100); 20 1 - int liczba =...; 20 1 40 if (liczba % 2 == 0) 20 1 40 suma += liczba; 60 1 40 ilosc++; 60 2 40 while (suma <= 100); 60 2 - int liczba =...; 60 2 60 if (liczba % 2 == 0) 60 2 60 suma += liczba; 120 2 60 ilosc++; 120 3 60 while (suma <= 100); 120 3 -

30/33 zadanie: silnia n!=1 2 3 n 1 n Console.WriteLine("Podaj n > "); int n = int.parse(console.readline()); int silnia = 1; for (int i = 2; i <= n; ++i) silnia *= i; Console.WriteLine("0! = 1", n, silnia);

liczby losowe: Random rnd = new Random(); int a; // cały zakres liczb int a = rnd.next(); Console.WriteLine("Wylosowana wartość: 0", a); // od 0 do 19 a = rnd.next(20); Console.WriteLine("Wylosowana wartość: 0", a); // od 5 do 9 a = rnd.next(5, 10); Console.WriteLine("Wylosowana wartość: 0", a); // przedział [0.0, 1.0) double b = rnd.nextdouble(); Console.WriteLine("Wylosowana wartość: 0", b); 31/33

32/33 gra w zgadywanie: Random rnd = new Random(); int losowa = rnd.next(100); Console.WriteLine("Jaką liczbę pomyślałem?"); while (true) int zgaduj = int.parse(console.readline()); if (zgaduj == losowa) break; Console.WriteLine("Próbuj dalej."); Console.WriteLine("Zgadłeś.");

33/33 gra w zgadywanie: Random rnd = new Random(); int losowa = rnd.next(100); int ile = 0; Console.WriteLine("Jaką liczbę pomyślałem?"); while (true) int zgaduj = int.parse(console.readline()); ile++; if (zgaduj == losowa) break; if (losowa > zgaduj) Console.WriteLine("Więcej!"); else Console.WriteLine("Mniej!"); Console.WriteLine("Zgadłeś. Liczba prób: 0.", ile);