Diferència entre revisions de la pàgina «M3 - Programació estructurada / Exercicis UF1: Proves T C TD»

De wikiserver
Dreceres ràpides: navegació, cerca
Línia 132: Línia 132:
 
|3||3||2||3||2||2
 
|3||3||2||3||2||2
 
|}
 
|}
 +
 +
<!--
 +
package provatcted;
 +
 +
import java.util.Scanner;
 +
 +
public class ex3 {
 +
 +
    public static void main(String[] args) {
 +
        Scanner teclat = new Scanner(System.in);
 +
        System.out.println("Introdueix una frase: ");
 +
        String text = teclat.nextLine();
 +
        String textSeparat[] = text.split(" ");
 +
 +
        ex3Paraula taula[] = new ex3Paraula[textSeparat.length];
 +
       
 +
        int numParaules = 0;
 +
        int paraulesTaula = 0;
 +
 +
        while (numParaules < textSeparat.length) {
 +
            String paraula = textSeparat[numParaules];
 +
            System.out.println("paraula: "+textSeparat[numParaules]);
 +
            //Mirem si ja hem tractar la paraula
 +
            boolean trobat = false;
 +
            int index = 0;
 +
 +
            while (index < paraulesTaula && !trobat) {
 +
                if (paraula.equalsIgnoreCase(taula[index].paraula)) {
 +
 +
                    trobat = true;
 +
                } else {
 +
                    index++;
 +
                }
 +
 +
            }
 +
            if (!trobat) { //busquem si apareix a la frase més vegades la paraula
 +
 +
                int segonaAparicio = numParaules + 1;
 +
                boolean igualParaula = false;
 +
 +
                while (segonaAparicio < textSeparat.length && !igualParaula) {
 +
                    if (paraula.equalsIgnoreCase(textSeparat[segonaAparicio])) {
 +
 +
                        igualParaula = true;
 +
                    } else {
 +
                        segonaAparicio++;
 +
                    }
 +
                }
 +
                if (igualParaula){ //hem trobat una repetició de la paraula
 +
                    ex3Paraula nova_paraula = new ex3Paraula();
 +
                    nova_paraula.paraula = paraula;
 +
                    nova_paraula.numAparicio=2;
 +
                    taula[paraulesTaula]=nova_paraula;
 +
                   
 +
                    for (int i = segonaAparicio+1; i < textSeparat.length; i++) {
 +
                        if (paraula.equalsIgnoreCase(textSeparat[i])){
 +
                            taula[paraulesTaula].numAparicio++;
 +
                        }
 +
                    }
 +
                    paraulesTaula++;
 +
                }
 +
               
 +
            }
 +
            numParaules++;
 +
        }
 +
 +
        for (int j = 0; j < paraulesTaula; j++) {
 +
            if (taula[j].numAparicio > 1) {
 +
                System.out.println(taula[j].paraula + " numAparicio: " + taula[j].numAparicio);
 +
            }
 +
 +
        }
 +
    }
 +
 +
}
 +
-->
  
 
4. Donada una frase i dos  caràcters introduïts per teclat, mostreu, si existeix, la cadena de caràcters de  cada paraula de la frase compresa entre la primera aparició del primer caràcter i la darrera aparició del segon caràcter (ambdós caràcters inclosos) .
 
4. Donada una frase i dos  caràcters introduïts per teclat, mostreu, si existeix, la cadena de caràcters de  cada paraula de la frase compresa entre la primera aparició del primer caràcter i la darrera aparició del segon caràcter (ambdós caràcters inclosos) .

Revisió del 13:59, 5 feb 2019

Prova 1

1. Transposar una matriu quadrada de N*N sense utilitzar una matriu auxiliar.

Ex. N=4

 Matriu Original                                     Matriu Transposada
 1   2   3   4                                           1  5   9  13 
 5   6   7   8                                           2  6  10  14
 9  10  11  12                                           3  7  11  15
13  14  15  16                                           4  8  12  16


2. Indicar si una taula ja declarada per codi que conté Strings diferents està ordenada alfabèticament o no, sense distingir majúscules i minúscules.

Per exemple si tenim: 

String[] taula1= {"Python", "JAVA", "PHP", "HTML", "JavaScript","SQL"};

NO!

I si tenim:

String[] taula1= {"HTML",  "JAVA","JavaScript","PHP","Python", "SQL"};

SÍ!

3. A partir d’una frase introduïda per teclat creu una taula que contingui les paraules que surten més d’una vegada a la frase sense distingir minúscules i majúscules i el número de repeticions de les mateixes. A continuació, imprimiu la taula.

Per exemple si la frase és:

Oblidaran el que vas fer i oblidaran el que vas dir però mai oblidaran el que els vas fer sentir

El contingut de la taula seria:

Oblidaran el que vas fer
3 3 3 3 2

I si la frase és:

Abans que la sang de les teves venes retorni al mar i la pols dels teus ossos a la terra recorda que aquesta terra no et pertany sinó que ets tu qui pertany a aquesta terra

El contingut de la taula seria:

que la a terra aquesta pertany
3 3 2 3 2 2


4. Donada una frase i dos caràcters introduïts per teclat, mostreu, si existeix, la cadena de caràcters de cada paraula de la frase compresa entre la primera aparició del primer caràcter i la darrera aparició del segon caràcter (ambdós caràcters inclosos) .

Per exemple si la frase és:

Quan creus que coneixes totes les respostes arriba l'univers i et canvia totes les preguntes

I els caràcters són : primer ‘e’ i segon ‘s’.

El resultat seria:

eus eixes es es espostes ers es es eguntes

5. Ompliu un vector de 1000 posicions amb números enters del 1 al 9 generats de forma aleatòria i a continuació mostreu la seqüència més llarga de números imparells seguits.

                                    
import java.util.Random;
...
Random rand = new Random(); 

int rand_int = rand.nextInt(10)+1;