Diferència entre revisions de la pàgina «M3 - Programació estructurada / Exercicis UF1: Proves T C TD»
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;