210 likes | 378 Views
Opakovanie. vývojové diagramy triviálne programy práca s textom práca so zoznamom. Úloha 1. Nakreslite vývojový diagram, ktorý pre postupnosť ukončenú nulou zistí priemer zadaných čísel. a) do postupnosti započítajte aj ukončujúcu nulu b) nulu do čísel postupnosti nerátajte. Úloha 2.
E N D
Opakovanie • vývojové diagramy • triviálne programy • práca s textom • práca so zoznamom
Úloha 1 • Nakreslite vývojový diagram, ktorý pre postupnosť ukončenú nulou zistí priemer zadaných čísel. • a) do postupnosti započítajte aj ukončujúcu nulu • b) nulu do čísel postupnosti nerátajte
Úloha 2 • Vytvorte pre predchádzajúcu úlohu program: ktorý pre postupnosť ukončenú nulou zistí priemer zadaných čísel. • a) do postupnosti započítajte aj ukončujúcu nulu • b) nulu do čísel postupnosti nerátajte
Riešenie 2 public static void main(String[] args) { String cislo; int sucet=0, pocet=0; do { cislo = JOP.showInpD("Zadaj hodnotu "+(poc+1)); sucet = sucet + Integer.parseInt(cislo); pocet++; } while (cislo.compareTo("0") != 0); System.out.print(sucet/pocet); }
Úloha 3 • Napíšte program, ktorý pre a, b s hodnotami zadanými priamo v deklarácii vypočíta obsah a obvod obdĺžnika, ktorý definujú.
Riešenie 3 public static void main(String[] args) { int a=10, b=20; System.out.println("obsah je "+a*b); System.out.println("obvod je "+2*(a+b)); }
Úloha 4 • Napíšte program, ktorý pre tri hodnoty zadávané používateľom (nie v programe) určí, či môžu byť stranami trojuholníka a ak áno či je trojuholník rovnostranný, rovnoramenný alebo pravouhlý.
Riešenie 4 int a,b,c; String tx; tx = JOP.showInputDialog("a");a = Integer.parseInt(tx); tx = JOP.showInputDialog("b");b = Integer.parseInt(tx); tx = JOP.showInputDialog("najdlh");b=Integer.parseInt(tx); if ((a+b>c) && (a+c>b) && (c+b>a)) { if ((a == b) && (a == c)) System.out.println("rovnostranny"); else { if ((a == b) || (a == c) || (b == c)) { System.out.println("rovnoramenný"); if (c*c == a*a + b*b) System.out.println("pravouhlý"); } else { if (c*c == a*a + b*b) System.out.println("pravouhlý"); else System.out.println("všeobecný"); }} } else { System.out.println("nie je trojuholnik"); }
Úloha 5 • Napíšte program, ktorý pre čísla a, b (zadávané používateľom) zistí zvyšok po celočíselnom delení. K dispozícii máte len operácie +, - a *.
Riešenie 5 public static void main(String[] args) { int a,b; String txt; txt = JOP.showInputDialog("a"); a = Integer.parseInt(txt); txt = JOP.showInputDialog("b"); b = Integer.parseInt(txt); while (a>=b) { a = a-b; } System.out.println(a); }
Úloha 6 • Zistite, či je v zadanom čísle viac párnych alebo nepárnych cifier.
Riešenie 6 int parnych = 0, neparnych = 0, cislo; String ret, cifra; ret = JOptionPane.showInputDialog("cislo:"); for(int i=0;i<ret.length();i++) { cifra = ret.substring(i,i+1); cislo = Integer.parseInt(cifra); if ((cislo % 2) == 0) parnych++; else neparnych++; } System.out.println("parnych: "+parnych); System.out.println("neparnych: "+neparnych); if (parnych>neparnych) System.out.println("parnych "); if (parnych<neparnych) System.out.println("neparnych "); if (parnych == neparnych) System.out.println("rovnako");
Úloha 7 • Zistite koľko číslic sa nachádza v zadanom texte.
Riešenie 7 int pocet=0; char cifra; String ret = JOptionPane.showInputDialog("text:"); for(int i=0;i<ret.length();i++) { cifra = ret.charAt(i); if ((cifra >= '0') && (cifra <= '9')) pocet++; } System.out.println("pocet: "+pocet);
Úloha 8 • Pre zadaný reťazec zistite koľkokrát sa v ňom nachádza iný zadaný reťazec.
Riešenie 8 int pocet = 0, index = 0; String ret, cast; ret = JOptionPane.showInputDialog("cely"); cast = JOptionPane.showInputDialog("cast"); while (ret.indexOf(cast,index) > -1) { pocet++; // novy index, od ktoreho sa ma hladat index = ret.indexOf(cast,index) + 1; } System.out.println(pocet);
Úloha 9 • V desatinnom čísle zadanom ako textový reťazec prehoďte jeho celú a desatinnú časť.
Riešenie 9 int poz; String cela, desatinna, cislo; String ret = JOptionPane.showInputDialog("text:"); poz = ret.indexOf(','); cela = ret.substring(0, poz); desatinna = ret.substring(poz+1, ret.length()); cislo = desatinna + "," + cela; System.out.println("vysledok: "+cislo);
Úloha 10 • Pre zadávané priezvisko a známku z informatiky (oddelené čiarkou bez medzery) zistite priemernú známku osobitne pre študentov a osobitne pre študentky. Predpokladajte, že priezvisko končí na ová. • Ukončenie procesu zabezpečte zadaním hodnoty 0.
Riešenie 10 String ret, priez; int znamka, sucetZ = 0, sucetM =0, pocetZ = 0, pocetM = 0; do { ret = JOptionPane.showInputDialog("data:"); znamka = Integer.parseInt(ret.substring(ret.length()-1)); if (znamka !=0) { priez = ret.substring(0, ret.length()-2); if (priezvisko.lastIndexOf("ova") == priez.length()-3) { sucetZ = sucetZ + znamka; pocetZ++; } else { sucetM = sucetM + znamka; pocetM++; } } } while (znamka != 0); System.out.println("m:"+sucetM/pocetM+",z:"+sucetZ/pocetZ);
Úloha 11 • Zistite, či matematický príklad zadaný do InputDialogu je správny. • Zabezpečte zadávanie viacerých príkladov a výsledok vyhodnoťte známkou podľa stupnice • 100-91 = 1 • 90-76 = 2 • 75-51 = 3 • 50-26 = 4 • 25-0 = 5