aplica ii java - runceanu...algoritmul lui euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a...

36
Aplica ț ii JAVA Universitatea Constantin Brâncuşi” din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Lect.dr . Adrian Runceanu

Upload: others

Post on 07-Aug-2020

16 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Aplicații JAVA

Universitatea “Constantin Brâncuşi” din Târgu-JiuFacultatea de Inginerie

Departamentul de Automatică, Energie şi Mediu

Lect.dr. Adrian Runceanu

Page 2: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Curs 12

Structura subiectelorAplicatii Java

27.05.2015 2Curs - Aplicatii Java

Page 3: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Structura biletelor de examen:

A. Proba teoretică

1. Subiect 1 - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect.

2. Subiect 2 - Enunțul unei probleme având un exemplu specificat.Implementarea obligatorie în JAVA.

B. Proba practică:

Enunțul unei probleme având un exemplu specificat.Implementarea obligatorie în JAVA.

327.05.2015 Curs - Aplicatii Java

Page 4: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Structura biletelor de examen:

A. Proba teoretică

1. Subiect 1 - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect.

427.05.2015 Curs - Aplicatii Java

Page 5: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Ce se poate spune despre programul alaturat?

public class Program {static int x = 6;public static void main(String[] args) {

System.out.print("x = " + x); int x = (x = 3) * x;System.out.print(", x = " + x);

}}

a) Eroare la compilare: variabila x este declaratã de doua ori b) Programul se compileazã si la executie afiseazã x = 6, x = 3 c) Programul se compileazã si la executie afiseazã x = 6, x = 9

d) Programul se compileazã si la executie afiseazã x = 6, x = 18

27.05.2015 5

c)

Curs - Aplicatii Java

Page 6: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Ce va afisa la executie programul alaturat?

public class Program

{

public static void main(String args[])

{

int a = 3;

int b = (a = 2) * a;

int c = b * (b = 5);

System.out.println( "a = " + a + ", b = " + b + ", c = " + c);

}

}

a) a = 2, b = 4, c = 20 b) a = 2, b = 5, c = 20 c) a = 2, b = 5, c = 25 d) a = 3, b = 6, c = 30

27.05.2015 6

b)

Curs - Aplicatii Java

Page 7: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Ce va afisa urmatoarea secventa de instructiuni?

a) x=10y=10z=7b) x=10y=11z=7c) x=11y=10z=6d) x=11y=11z=7

27.05.2015 7

b)

Curs - Aplicatii Java

Page 8: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Ce va afisa urmatoarea secventa de instructiuni?

a) 6b) 0c) 5d) 7

27.05.2015 8

d)

Curs - Aplicatii Java

Page 9: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Ce se afiseaza dupa executia urmatorului program?

a) 1 2 3 4 5 6 0b) 2 3 4 5 6 6 0c) 3 4 5 6 6 6 0 d) 3 4 5 7 7 7 0

27.05.2015 9

c)

Curs - Aplicatii Java

Page 10: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Ce se afiseaza dupa executia urmatorului program?

a) 10b) 39c) 40d) 30

27.05.2015 10

c)

Curs - Aplicatii Java

Page 11: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Ce se afiseaza dupa executia urmatorului program?

a) 1 2 3 4 5b) 1 2 3 10 5c) 2 3 4 5 10d) 2 3 4 5 6

27.05.2015 11

b)

Curs - Aplicatii Java

Page 12: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Ce se afiseaza dupa executia urmatorului program?

a) Programul afiseaza “xabcd”;b) Programul afiseaza “abcdex”;c) Programul afiseaza “xabcdexabcdexabcdexabcde”;d) Programul afiseaza “xabcdexbcdexcdexdex”;

27.05.2015 12

d)

Curs - Aplicatii Java

Page 13: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Ce se afiseaza dupa executia urmatorului program?

a) i = 5 i = 6b) j = 5 j = 6c) i = 5 j = 6d) s = 5 s = 6e) eroare la compilare deoarece lipseste cuvântul virtual din metoda functie() a clasei Baza

27.05.2015 13

c)

Curs - Aplicatii Java

Page 14: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Ce se afiseaza dupa executia urmatorului program?

a) a = 2, b = 4, c = 20 b) a = 2, b = 5, c = 20 c) a = 2, b = 5, c = 25 d) a = 3, b = 6, c = 30

27.05.2015 14

b)

Curs - Aplicatii Java

Page 15: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected] se afiseaza dupa executia urmatorului program?

a) programul este corect şi va afişa la execuţie: Mesajul Unu din C1, Mesajul Doi din C1 b) programul este corect şi va afişa la execuţie: Mesajul Unu din C1, Mesajul Doi din C2 c) programul este corect şi va afişa la execuţie: Mesajul Unu din C2, Mesajul Doi din C1 d) programul este corect şi va afişa la execuţie: Mesajul Unu din C2, Mesajul Doi din C2 e) va apare eroare la compilare deoarece în clasa grila13 variabila obiect nu aparţine clasei C2

27.05.2015 15

b)

Curs - Aplicatii Java

Page 16: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected] se afiseaza dupa executia urmatorului program?

a) 1 b) 2 c) 3 d) Nu va afisa nimic deoarece codul este incorect

27.05.2015 16

b)

Curs - Aplicatii Java

Page 17: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Structura biletelor de examen:

A. Proba teoretică

2. Subiect 2 - Enunțul unei probleme având un exemplu specificat. Implementarea obligatorie în JAVA.

1727.05.2015 Curs - Aplicatii Java

Page 18: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Problema 1:

Sa se verifice daca trei numere naturale a,b si c sunt pitagorice sau nu.

Numim numere pitagorice, trei numere care indeplinesc una din conditiile a*a=b*b+c*c, b*b=a*a+c*c, c*c=a*a+b*b.

27.05.2015 18Curs - Aplicatii Java

Page 19: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Problema 2:

Se citesc trei numere a,b,c. Sa se verifice daca aceste numere (puse in orice ordine) sunt in progresie aritmetica si sa se afiseze ratia progresiei in caz afirmativ.

27.05.2015 19Curs - Aplicatii Java

Page 20: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Problema 3:

Sa se determine cel mai mare divizor comun (c.m.m.d.c.) si cel mai mic multiplu comun (c.m.m.m.c.) a doua numere intregi citite de tastatura.

Cmmdc se va calcula folosind cele doua variante:

algoritmul lui Euclid

folosind relatia de mai jos:

cmmdc(a-b,b), daca a > b

cmmdc(x,y) = cmmdc(a,b-a), daca a < b

a, daca a = b

27.05.2015 20Curs - Aplicatii Java

Page 21: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Problema 4:

Sa se verifice daca un numar este numar perfect sau nu.

Spunem ca un numar este numar perfect daca este egal cu suma divizorilor lui, mai putin el insusi.

Exemplu: numarul 6 este perfect, deoarece este egal cu suma divizorilor sai 1,2,3

27.05.2015 21Curs - Aplicatii Java

Page 22: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Problema 5:

Sa se verifice daca un numar este palindrom sau nu.

Spunem ca un numar este palindrom daca este egal cu rasturnatul sau (adica numarul format din cifrele de la dreapta la stanga ale numarului initial – exemplu: n = 25652).

27.05.2015 22Curs - Aplicatii Java

Page 23: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Problema 6:

Pentru n cunoscut, să se calculeze fn, termenul de rangul n din şirul lui Fibonacci, ştiind că:

f0 = 1; f1 = 1; fn = fn-1 + fn-2 pentru orice valoare n >= 2.

Exemplu:

Date de intrare: 8

Date de ieşire: 21 (1, 1, 2, 3, 5, 8, 13, 21)

27.05.2015 23Curs - Aplicatii Java

Page 24: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Structura biletelor de examen:

B. Proba practică:

Enunțul unei probleme având un exemplu specificat. Implementarea obligatorie în JAVA.

2427.05.2015 Curs - Aplicatii Java

Page 25: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

27.05.2015 25Curs - Aplicatii Java

Page 26: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Sfârşit curs!

Baftă!

27.05.2015 26Curs - Aplicatii Java

Page 27: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Exemple de grile Java

Page 28: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Ce se va afişa la execuţia următorului program Java?

public class Grila1{ public static void main(String args[]){

int a,b;for(a=10, b=1; a-- > ++b; ) ;

System.out.println((a--) + "," + (++b));}

}

5,7

Page 29: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Ce se va afişa la execuţia următorului program Java?

public class Grila2{ public static void main(String args[]){

String s1 = "anul" + 20 + 15, s2 = 20 + 15 + "anul";System.out.println("s1 = " + s1 + ", s2 = " + s2);}

}s1 = anul2015, s2 = 2015anul

Page 30: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Ce se va afişa la execuţia următorului program Java?

public class Grila3{ static int x = 6;public static void main(String args[]){

System.out.print("x = " + x); int x = (x = 3) * x;System.out.print(", x = " + x);

}}

x = 6, x = 9

Page 31: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Ce se va afişa la execuţia următorului program Java?public class Grila4{

public static void main(String args[]){ A.B a = new A().new B();a.f();}

}class A {

private int x = 4;public class B{

private int y = 5;public void f(){System.out.println("x = " + x);x = 3;System.out.println("x = " + x + " y = " + y);

}}

}

x = 4x = 3 y = 5

Page 32: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Proba practica:

Se considera un vector x = { x0, x1, x2, …, xn-1 }.

Sa se scrie un program Java care sa modifice vectorul astfel incat in final sa avem:

x = { x1, x2, …, xn-1, x0 }

Page 33: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

import java.util.*;

public class vector7 {public static void main(String[] args) throws IOException{

int n;Scanner input = new Scanner(System.in);System.out.print("dati numarul de linii: ");n = input.nextInt();int X[]= new int[n];int i;for(i=0;i<n;i++){

System.out.print("X["+i+"]=");X[i]=input.nextInt();

}

Page 34: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

System.out.print("Vectorul initial : ");for(i=0;i<n;i++)

System.out.print(" " + X[i]);

int a=X[0];for(i=0;i<n-1;i++)

X[i]=X[i+1];X[n-1]=a;

System.out.println(" ");System.out.print("Vectorul final : ");for(i=0;i<n;i++)

System.out.print(" " + X[i]);}

}

Page 35: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

Rezultatul executiei:

Introduceti numarul de elemente n = 5

X[0]=1

X[1]=2

X[2]=3

X[3]=4

X[4]=5

Vectorul initial: 1 2 3 4 5

Vectorul final: 2 3 4 5 1

Page 36: Aplica ii JAVA - Runceanu...algoritmul lui Euclid folosind relatia de mai jos: cmmdc(a-b,b), daca a > b cmmdc(x,y) = cmmdc(a,b-a), daca a < b a, daca a = b 27.05.2015 Curs -

[email protected]

Întrebări?

27.05.2015 36Curs - Aplicatii Java