Projektowanie algorytmów z blokami decyzyjnymi

Podobne dokumenty
Projektowanie algorytmów z wykorzystaniem ptli for

Projektowanie algorytmów rekurencyjnych

Podstawy Java. Część II. mgr inż.marcin Borkowski

Programowanie, algorytmy i struktury danych

Algorytmy z powrotami. Algorytm minimax

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

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

Algorytm. a programowanie -

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min)

Java. Zadania z programowania z przykładowymi rozwiązaniami

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

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

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

STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Rozwiązania zadań z Programowania Obiektowego

Podstawy Programowania Algorytmy i programowanie

Wstęp do Programowania, laboratorium 02

Podstawy programowania obiektowego

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

if (wyrażenie ) instrukcja

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

Metody Metody, parametry, zwracanie wartości

Przykład -

Wstęp do ruby dla programistów javy

Proste algorytmy w języku C

Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

= Zapiszemy poniższy układ w postaci macierzy. 8+$+ 2&=4 " 5 3$ 7&=0 5$+7&=4

Programowanie - instrukcje sterujące

Języki i metody programowania

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

(WWSI) Podstawy programowania

Programowanie Obiektowe Ćwiczenie 4

Wprowadzenie do algorytmów. START

Języki i metody programowania Java INF302W Wykład 3 (część 1)

Wprowadzenie do języka Java

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Protokół JDBC współpraca z relacyjnymi bazami danych lab3

Wykład 4: Klasy i Metody

Metryki. Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz

Podstawy i języki programowania

STRUMIENIE DANYCH, SERIALIZACJA OBIEKTÓW

WYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.

Algorytmy i. Wykład 3: Stosy, kolejki i listy. Dr inż. Paweł Kasprowski. FIFO First In First Out (kolejka) LIFO Last In First Out (stos)

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

2.8. Algorytmy, schematy, programy

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Bezpieczne uruchamianie apletów wg

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

Funkcje. Wprowadzenie. Mirosław Ochodek

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

Ćwiczenie 1. Przygotowanie środowiska JAVA

Wykład 5: Więcej o Klasach i Metodach

Przetwarzanie sygnaªów

INFORMATYKA. Laboratorium 1

WHILE (wyrażenie) instrukcja;

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Język ludzki kod maszynowy

Wykład z Technologii Informacyjnych. Piotr Mika

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

Wstęp do Informatyki

Liczby pseudolosowe. Math. Różne sposoby generowania liczb pseudolosowych. Wybrane metody klasy Math

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

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Programowanie obiektowe

Algorytmy komputerowe. dr inŝ. Jarosław Forenc

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Instrukcje sterujące

Zadania zamknięte. A) 3 pierwiastki B) 1 pierwiastek C) 4 pierwiastki D) 2 pierwiastki. C) a 4 = 2 3

Metody rozwiązywania równań nieliniowych

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

4. Funkcje. Przykłady

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Algorytm 2.1. Rys Czy zupa jest słona? Przygotuj. Gotowe danie START. Przepis... STOP NIE TAK

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

WHILE (wyrażenie) instrukcja;

Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik

Wybrane Działy Informatyki Stosowanej LABORATORIUM 0.

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

PRÓBNA NOWA MATURA z WSiP. Matematyka dla klasy 2 Poziom podstawowy. Zasady oceniania zadań

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

Podstawy programowania Ć JAVA C wiczenie 2

napisać konstrukcję instrukcji decyzyjnej If wraz z jej rozwinięciem Else i ElseIf; podać definicję algorytmu z rozgałęzieniami;

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

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

Wyszukiwanie największej spośród czterech liczb. Przykładowe rozwiązanie

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Równania poziom podstawowy (opracowanie: Mirosława Gałdyś na bazie = Rozwiąż układ równań: (( + 1 ( + 2 = = 1

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2.

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

ZAJ CIA 4. Podstawowe informacje o algorytmie. Operatory relacyjne i logiczne, instrukcja warunkowa if

Podstawy Informatyki. Programowanie. Metalurgia, I rok. Co to jest algorytm? Istotne cechy algorytmu

while(wyrażenie) instrukcja

Podstawy programowania w Pythonie

Proste algorytmy w języku C

3. Instrukcje warunkowe

Transkrypt:

C3 Projektowanie algorytmów z blokami decyzyjnymi wiczenie 1. Skonstruowa brakujce schematy blokowe i opracowa algorytmy w postaci listy kroków dla poniszych algorytmów zapisanych w jzyku Java. Algorytm 3.1. Rys. 3.1. Wyszukiwanie mniejszej sporód dwóch liczb a, b. public class BlokDecyzyjny { double a,b; String dane1 = JOptionPane.showInputDialog("Podaj a = "); a = Double.parseDouble(dane1); String dane2 = JOptionPane.showInputDialog("Podaj b = "); b = Double.parseDouble(dane2); System.out.println(" "); System.out.println(" a = " + a); System.out.println(" b = " + b); if(a <= b){ System.out.println("Najmniejsz liczb jest a" ); System.out.println("Najmniejsz liczb jest b" ); 1

Algorytm 3.2. public class LiczbaParzysta { int r = 0; int x; String dane = JOptionPane.showInputDialog("Podaj liczb naturaln wiksz od zera x = "); x = Integer.parseInt(dane); System.out.print("Badana liczba x = " + x); r = x % 2; if(r == 0){ System.out.println(" jest parzysta."); System.out.println(" nie jest parzysta."); Rys. 3.2. Schemat badania parzystoci liczb Rys. 3.3. Wyszukiwanie najmniejszej sporód trzech liczb a, b, c. 2

Algorytm 3.3. public class BlokDecyzyjny_1 { double a,b,c; String dane1 = JOptionPane.showInputDialog("Podaj a = "); a = Double.parseDouble(dane1); String dane2 = JOptionPane.showInputDialog("Podaj b = "); b = Double.parseDouble(dane2); String dane3 = JOptionPane.showInputDialog("Podaj c = "); c = Double.parseDouble(dane3); System.out.println(" "); System.out.println(" a = " + a); System.out.println(" b = " + b); System.out.println(" c = " + c); if(a <= b){ if(a <= c){ System.out.println("Najmniejsz liczb jest a"); System.out.println("Najmniejsz liczb jest c" ); else if(c <=b){ System.out.println("Najmniejsz liczb jest c" ); System.out.println("Najmniejsz liczb jest b" ); Rys. 3.4. Instrukcja warunkowa IF ELSE IF 3

Algorytm 3.4. public class BlokDecyzyjny_4 { double a,b,c; String dane1 = JOptionPane.showInputDialog("Podaj a = "); a = Double.parseDouble(dane1); String dane2 = JOptionPane.showInputDialog("Podaj b = "); b = Double.parseDouble(dane2); String dane3 = JOptionPane.showInputDialog("Podaj c = "); c = Double.parseDouble(dane3); System.out.println(" "); System.out.println(" a = " + a); System.out.println(" b = " + b); System.out.println(" c = " + c); if(a <= b ){ if(c <= a){ System.out.println(" c, a, b." ); else if(b <= c){ System.out.println(" a, b, c." ); System.out.println(" a, c, b." ); else if(c <= b){ { System.out.println(" c, b, a." ); else if(c <= a){ System.out.println(" b, c, a." ); System.out.println(" b, a, c." ); Wyniki testowania b = 2.0 b = 3.0 b = 3.0 a = 3.0 a = 3.0 b = 2.0 c = 3.0 a, b, c. c = 2.0 a, c, b. c = 3.0 b, a, c. c, a, b. c = 2.0 b, c, a. c, b, a. 4

b = 2.0 b = 2.0 c, a, b. c = 2.0 a, b, c. c, a, b. c, b, a. c = 2.0 b, c, a. c = 1. c, a, b. Algorytm 3.5. Rys. 3.5. Schemat blokowy rozwizywania układu równa liniowych metod wyznacznikow Cramera. public class MetodaCramera { double a1, b1, c1, a2, b2, c2, Wx, Wy, W, x, y; String wsp_a1 = JOptionPane.showInputDialog("a1 = "); a1 = Integer.parseInt(wsp_a1); String wsp_b1 = JOptionPane.showInputDialog("b1 = "); b1 = Integer.parseInt(wsp_b1); String wsp_c1 = JOptionPane.showInputDialog("c1 = "); c1 = Integer.parseInt(wsp_c1); String wsp_a2 = JOptionPane.showInputDialog("a2 = "); a2 = Integer.parseInt(wsp_a2); String wsp_b2 = JOptionPane.showInputDialog("b2 = "); 5

b2 = Integer.parseInt(wsp_b2); String wsp_c2 = JOptionPane.showInputDialog("c2 = "); c2 = Integer.parseInt(wsp_c2); W = a1*b2 - a2*b1; Wx = c1*b2 - c2*b1; Wy = a1*c2 - a2*c1; if(w == 0){ if(wx == 0 && Wy == 0){ System.out.println("Układ równa ma nieskoczenie wiele rozwiza."); else { System.out.println("Układ równa sprzeczny - brak rozwizania"); x = Wx/W; y = Wy/W; System.out.println("Rozwizaniem układu równa jest:"); System.out.println("x = " + x); System.out.println("y = " + y); Algorytm 3.6. public class FunkcjaLiniowa { System.out.println("Program oblicza miejsca zerowe funkcji liniowej"); double a = 1; double b = 2; if (a!= 0) { double x = -b / a; System.out.println("Miejsce zerowe x = " + x); else if (a ==0 && b == 0) { System.out.println("Funkcja posiada nieskoczenie wiele miejsc zerowych"); else if (a == 0 && b!= 0) { System.out.println("Funkcja nie posiada miejsc zerowych"); 6

Algorytm 3.7. public class RownaniaKwadratowe1 { double a = 1; if (a < 0){ System.out.println("Złe dane"); double b = 1; double c = 1; double delta = b * b - 4 * a * c; if (delta < 0){ System.out.println("Brak pierwiastków"); else if (delta == 0){ double x0 = -b / (2 * a); System.out.println("Xo = " + x0); else { double x1 = (-b - Math.sqrt(delta))/(2 * a); double x2 = (-b + Math.sqrt(delta))/(2 * a); System.out.println("X1 = " + x1 + " X2 = " + x2); Algorytm 3.8. public class RownaniaKwadratowe2 { System.out.println("Program oblicza miejsca zerowe funkcji kwadratowej"); double a = 0; double b = 0; double c = 0; double p =0; double q = 0; double delta = 0; double del1 = 0; double x0 = 0; double x1 = 0; double x2 = 0; InputStreamReader strumien = new InputStreamReader(System.in); BufferedReader wejscie = new BufferedReader(strumien); try{ System.out.print("Podaj a = "); a = Double.parseDouble(wejscie.readLine()); 7

if (a!= 0){ System.out.print("Podaj b = "); b = Double.parseDouble(wejscie.readLine()); System.out.print("Podaj c = "); c = Double.parseDouble(wejscie.readLine()); System.out.println("Współczynniki funkcji kwadratowej:"); System.out.println("a= "+a+" b= " +b+" c= "+c); System.out.println("Funkcja liniowa"); catch(exception e){ System.out.println("Wystpił błd"); return; { delta = b*b-4*a*c; p = b/a; q = c/a; del1 = p*p-4*q; System.out.println("delta = " +delta + " p= " +p + " q= " +q + " del1 = " +del1); if (delta >= 0){ if (del1 == 0){ x0 = -p/2; System.out.println("Xo = " +x0); if (p < 0){ x2 = (-p-math.sqrt(del1))/2; x1 = q/x2; x1 = (-p-math.sqrt(del1))/2; x2 = q/x1; System.out.print("X1 = " +x1 + " X2 = " +x2); System.out.println("Brak miejsc zerowych"); 8

ZADANIE 1. ZADANIA DO SAMODZIELNEGO WYKONANIA Skonstruowa schematy blokowe, opracowa algorytmy w postaci listy kroków oraz w postaci kodu w jzyku C ++ dla poniszego algorytmu zapisanego w jzyku Java. Algorytm 3.9. public class BlokDecyzyjny_3 { int dzien; String dane1 = JOptionPane.showInputDialog("Podaj dzie tygodnia (1-7): "); dzien = Integer.parseInt(dane1); System.out.print("Wybrano "); if(dzien == 1){ System.out.print("niedziel."); else if(dzien == 2){ System.out.print("poniedziałek."); else if(dzien == 3){ System.out.print("wtorek."); else if(dzien == 4){ System.out.print("rod."); else if(dzien == 5){ System.out.print("czwartek."); else if(dzien == 6){ System.out.print("pitek."); else if(dzien == 7){ System.out.print("sobot."); ZADANIE 2. Skonstruowa schemat blokowy, opracowa algorytmy w postaci listy kroków oraz w postaci kodu w jzyku C ++ do: a) Wyznaczania miejsc zerowych funkcji liniowej. b) Rozwizywania układów równa liniowych z trzema niewiadomymi. c) Rozwizywania równa kwadratowych według tzw. algorytmu szkolnego. d) Rozwizywania równa kwadratowych według algorytmu stabilnego numerycznie. e) Porzdkowania czterech liczb. f) Obliczania wartoci wyrae wymiernych W(x)=P(x)/Q(x) dla zadanej wartoci x. 9