Ingineria programării - probleme

Laborator
7/10 (1 vot)
Conține 1 fișier: doc
Pagini : 38 în total
Cuvinte : 5922
Mărime: 34.63KB (arhivat)
Publicat de: Pompiliu Martin
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Furtuna Felix
Academia de Studii Economice, Cibernetica

Extras din laborator

1. Enunt:

Se considera un set de date ale unor elefanti (greutate si coeficient de inteligenta). Se cere sa se gaseasca o secventa cat mai lunga a datelor de intrare astfel incat greutatile sa creasca, iar IQ-urile sa descreasca.

Explicatie:

La intrare se vor da datele pentru elefanti, cate unul pe fiecare linie. Datele pentru un anumit elefant constau in 2 intregi intre 1 si 10000: primul reprezinta greutatea sa in Kg si al doilea reprezinta IQ-ul sau in sute de puncte IQ. Doi elefanti pot avea aceeasi greutate, acelasi IQ, sau chiar aceeasi greutate si IQ.

Programul trebuie sa furnizeze la iesire o secventa de linii de date; prima linie va contine un numar n; urmatoarele n linii vor contine un singur intreg pozitiv (fiecare reprezentand un elefant). Daca acesti intregi sunt a[1], a[2], ..., a[n], si vectorii de intrare au fost notati cu G[] si Q[] (G - greutai si Q - coeficienti de inteligenta), atunci trebuie sa respecte conditiile:

G[a[1]] < G[a[2]] < ... < G[a[n]]

si

Q[a[1]] > Q[a[2]] > ... > Q[a[n]]

Numarul n trebuie sa fie cel mai mare posibil. Toate inegalitatile sunt stricte: greutatile trebuie sa fis strict crescatoare si IQ-urile strict descrescatoare. Pot exista mai multe iesiri corecte pentru acceasi intrare; programul trebuie sa furnizeze doar una.

Cod sursa:

/* Problema elefantilor - programare dinamica

*/

package progDinamica.elefanti;

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

import java.util.*;

public class Elefanti extends Applet implements ItemListener, ActionListener

{

private Label labelN, labelG, labelI, labelRez;

private TextField textN, textRez, textG, textQ;

private Button butonRez;

private Choice modDate;

private Panel panel1, panel2, panel3, panel4;

private int n;

private String mod = "Aleator";

private Elefant valori[];

private Random r;

public void init()

{

r = new Random( System.currentTimeMillis() );

labelN = new Label(" Numar elefanti = ");

textN = new TextField(3);

n = Math.max( r.nextInt(15 + 1) , 8);

textN.setText("" + n);

textN.setEditable(false);

panel1 = new Panel();

panel1.setLayout(new FlowLayout());

panel1.add(labelN);

panel1.add(textN);

labelG = new Label("Greutatea :");

labelI = new Label("Inteligenta:");

valori = new Elefant[n];

textG = new TextField(72);

textQ = new TextField(72);

String textGreut = "", textIntel = "";

for(int i = 0; i < n; i++)

{

int G = Math.max(r.nextInt(100 + 1), 1) * 100;

int Q = Math.max(r.nextInt(100 + 1), 1) * 100;

valori[i] = new Elefant(G, Q, i);

textGreut += G + " ";

textIntel += Q + " ";

}

textG.setText(textGreut);

textG.setEditable(false);

textQ.setText(textIntel);

textQ.setEditable(false);

panel2 = new Panel();

panel2.setLayout(new GridLayout(6, 1));

panel2.add(labelG);

panel2.add(textG);

panel2.add(labelI);

panel2.add(textQ);

panel2.add(new Label(""));

panel2.add(new Label(""));

modDate = new Choice();

modDate.add("Aleator");

modDate.add("Tastatura");

butonRez = new Button(" Cauta subsir ");

panel3 = new Panel();

panel3.setLayout(new GridLayout(1, 4, 30, 1));

panel3.add(new Label(""));

panel3.add(modDate);

panel3.add(butonRez);

panel3.add(new Label(""));

Preview document

Ingineria programării - probleme - Pagina 1
Ingineria programării - probleme - Pagina 2
Ingineria programării - probleme - Pagina 3
Ingineria programării - probleme - Pagina 4
Ingineria programării - probleme - Pagina 5
Ingineria programării - probleme - Pagina 6
Ingineria programării - probleme - Pagina 7
Ingineria programării - probleme - Pagina 8
Ingineria programării - probleme - Pagina 9
Ingineria programării - probleme - Pagina 10
Ingineria programării - probleme - Pagina 11
Ingineria programării - probleme - Pagina 12
Ingineria programării - probleme - Pagina 13
Ingineria programării - probleme - Pagina 14
Ingineria programării - probleme - Pagina 15
Ingineria programării - probleme - Pagina 16
Ingineria programării - probleme - Pagina 17
Ingineria programării - probleme - Pagina 18
Ingineria programării - probleme - Pagina 19
Ingineria programării - probleme - Pagina 20
Ingineria programării - probleme - Pagina 21
Ingineria programării - probleme - Pagina 22
Ingineria programării - probleme - Pagina 23
Ingineria programării - probleme - Pagina 24
Ingineria programării - probleme - Pagina 25
Ingineria programării - probleme - Pagina 26
Ingineria programării - probleme - Pagina 27
Ingineria programării - probleme - Pagina 28
Ingineria programării - probleme - Pagina 29
Ingineria programării - probleme - Pagina 30
Ingineria programării - probleme - Pagina 31
Ingineria programării - probleme - Pagina 32
Ingineria programării - probleme - Pagina 33
Ingineria programării - probleme - Pagina 34
Ingineria programării - probleme - Pagina 35
Ingineria programării - probleme - Pagina 36
Ingineria programării - probleme - Pagina 37
Ingineria programării - probleme - Pagina 38

Conținut arhivă zip

  • Ingineria Programarii - Probleme.doc

Alții au mai descărcat și

Proiectarea unei Baze de Date

I. Principalele cerinte impuse de Serviciul de Ambulanta Judetean sunt urmatoarele : activitate acordarea serviciilor medicale de urgenta...

Java

INSTRUCTIUNI SI EXPRESII Toate activitatile ce se realizeaza intr-un program Java pot fi rezumate la o serie de instructiuni . O instructiune (...

Java

Exemplu de program class doi{ public static void main(String[] args){ float a,b; System.out.print("a="); a=Float.parseFloat(cin.Token());...

Seminar Limbaj Visual Fox Pro și Access

1. Obiectul cursului 2. Cerinţe a. 50% teorie b. 50% laborator Minim 5 la ambele 3. Bibliografie 1. [Niţchi07] Elemente de baze de date şi...

Laboratoare Java

Câmpurile obligatorii: - un câmp de tip intreg (int), pentru păstrarea numărul de etaje la fiecare casa; - un cimp de tip intreg pentru pastrarea...

Introducere în Limbajul Java

Programare Orientată pe Obiecte 1.Introducere în limbajul Java Java ca limbaj şi mediu de programare a fost lansat de firma Sun Microsystems. Cea...

Te-ar putea interesa și

Comanda MPP implementată pe calculator

INTRODUCERE Apariţia microprocesoarelor, microcontrolerelor şi a calculatoarelor personale a deschis noi posibilităţi controlului şi comenzii in...

Sisteme integrate de management - securitatea sistemelor informaționale

CAPITOLUL 1 1.1 INTRODUCERE După jumătate de secol de progrese tehnologice si de informatizare, societatea omeneasca isi pune, in mod logic,...

Portofoliu de probleme ingineria programării

Problema din Siracuza Fie n un număr natural oarecare citit de la tastatură. Dacă n este număr par, se împarte la 2, iar dacă este număr impar, se...

Managementul proiectelor în construcții

CAPITOLUL1 PREZENTAREA GENERALA A ACTIVITATII DE CONSTRUCTII Rezumat Dupa o succinta istorie a realizarilor si prezentarea principalelor...

Inginerie Software

Fazele dezvoltării unui produs software 1 Ce este ingineria programării? 2. Fazele ingineriei programării 2.1. Faza de analiză 2.2. Faza de...

Ingineria Sistemelor de Programe

INTRODUCERE Ingineria software a parcurs o cale lungă începând cu 1968, an în care acest termen a fost utilizat pentru prima oară la o conferinţă...

Ingineria programării

În “Ghidul cunoștințelor esențiale referitoare la Ingineria Programării” (Guide to the Software Engineering Body of Knowledge -...

Instrumente Software în Administrația Publică

CAPITOLUL NOTIUNI DE BAZA PRIVIND INSTRUMENTELE SOFTWARE Informatica a cunoscut si cunoaste o dinamica de dezvoltare accentuata, care s-a facut...

Ai nevoie de altceva?