miércoles, 29 de mayo de 2013

Subconsultas


Una consulta genera  un result set (tabla)
Una consulta puede generar :
-Dato (valor)
-Un registro(tupla)
-Una tabla (una columna o n columnas)

Una subconsulta es utilizar uno de los resultados en otra consulta
las subconsultas van en el where

where campo (operador realacional) consulta
                                    <,>,=, <> ----------->la consulta debe dar un solo valor
             
             campo  in   (subconsulta)-----------------> la subconsulta puede ser una columna o un valor
---listar empleados del dpart 20 que tienen tocayos en el 50
          nombre in (select nombre from e where d=50)
-----Listar por departamentos cantidad empleados que hay y el departamento debe tener un empleados llamado jorge
                                    >any
----Empleados con salario mayor a cualquier jefe 
                                   <=all

 Cuando hay group by o funciones  se usa having
     having count (e.id)>x



inteligencia de negocio, arquitectura de software




select * from employees;

select e1.employee_id, e1.first_name from employees e1 where e1.salary> select

avg(d.manager_id)from ;
select e.department_id, e.employee_id,  count( distinct e.employee_id) from employees e group by e.department_id, e.employee_id having  count( distinct e.employee_id)>4
join departments d1 on e.employee_id=d1.


join departments d2 on e.department_id=;



---Mostrar empleados cuyo salario sea mayor a la mitad del maximo s
alario de la region el cual el trabaja
select * from employees e where e.sala;ry> select max(e2) from employees e2 ---
where q.region_id =r1.region_id


---subconsultas en el from

select nombre from (select e.employee_id as codigo  , e.first_name as nombre from employees e where e.department_id=50);

select nombre from (select e.employee_id as codigo  , e.first_name as nombre from employees e where e.department_id=50 )join departments d on d.manager_id=codigo  ;

select nombre from (select e.employee_id  , e.first_name as nombre from employees e where e.department_id=50 )join departments d on d.manager_id=employee_id ;

----  con alias
select nombre from ((select e.employee_id  , e.first_name as nombre from employees e where e.department_id=50 )) M join departments d on d.manager_id=M.employee_id;

select Round((count(e.employee_id)/  total)*100 ) from employees e   cross join  (select count(*)  total from employees  ) group by e.department_id, total ;
----mostrar por departamento empleado que ams gana

select from   (select  max(e.salary ) , e.department_id ,m.department_id from employees e  join employees m on m.department_id=e.department_id group by e.department_id, m.department_id) as ta
join employees n on ta.


jueves, 23 de mayo de 2013

Group by

Permite calcular totales de grupo, se usa solo cuando se necesite una función , si se necesita mostar por  nombre o por algo solo se ordena

select
from
where
group by Exp-grupo

----------------------------------------------------------------------------------------------


--No se puede poner asterisco
select * from employees e join departments d  on d.department_id=e.department_id  order by d.department_name;

select e.department_id from employees e group by e.department_id;

select d.department_name from employees e join departments d  on d.department_id=e.department_id group by  d.department_name;

select d.department_name from employees e join departments d  on d.department_id=e.department_id group by  d.department_id, d.department_name;

-----------------------Total de salarios de Accouting 20300
--------Suma
select d.department_name , sum(e.salary)from employees e join departments d  on d.department_id=e.department_id group by  d.department_id, d.department_name;

-------Promedio 
select d.department_name , sum(e.salary), avg(e.salary) from employees e join departments d  on d.department_id=e.department_id group by  d.department_id, d.department_name;


Finance 51600 8600
Shipping 156400 3475,555555555555555555555555555555555556
Public Relations 10000 10000
Executive 58000 19333,3333333333333333333333333333333333
Purchasing 24900 4150
Administration 4400 4400
Accounting 20300 10150
Human Resources 6500 6500
IT 28800 5760
Sales 304500 8955,882352941176470588235294117647058824
Marketing 19000 9500


---Ordenar por el  d.department_id, d.department_name,  e.employee_id 
select d.department_name, sum(e.salary), avg(e.salary) from employees e join departments d  on d.department_id=e.department_id group by  d.department_id, d.department_name,  e.employee_id ;


Otras funciones


------Como todas las funciones son  en una agrupacion ´por departamento entonces todas las  funciones se ponen en una consulta

select d.department_name , sum(e.salary) , max(e.salary), avg(e.salary), min(e.salary) , variance (e.salary) from employees e join departments d  on d.department_id=e.department_id group by  d.department_id, d.department_name;


Mostrar departamentos  con menos de 3 empleados

select d.department_name, sum(e.salary), avg(e.salary), count(e.employee_id) from employees e right join departments d  on d.department_id=e.department_id group by
d.department_id, d.department_name having count (e.employee_id ) <3;


select count (*) from employees;

---- cuenta id aunque hayan repetidas
select count (department_id) from employees;

----Cuenta id sin repetir , sumar  salarios distintos , promediar salarios distintos
select  count (distinct department_id) from employees;










Funciones de Expresiones Regulares


REGEXP_LIKE

REGEXP_LIKE(cadena, expreg)
REGEXP_LIKE is similar to the LIKE condition, except REGEXP_LIKE performs regular expression matching instead of the simple pattern matching performed by LIKE. This condition evaluates strings using characters as defined by the input character set.
This condition complies with the POSIX regular expression standard and the Unicode Regular Expression Guidelines. For more information, please refer to Appendix C, " Oracle Regular Expression Support".

regexp_like_condition::=
Description of regexp_like_condition.gif follows
Description of the illustration regexp_like_condition.gif

  • source_string is a character expression that serves as the search value. It is commonly a character column and can be of any of the datatypes CHARVARCHAR2NCHARNVARCHAR2CLOB, or NCLOB.
  • pattern is the regular expression. It is usually a text literal and can be of any of the datatypes CHARVARCHAR2NCHAR, or NVARCHAR2. It can contain up to 512 bytes. If the datatype of pattern is different from the datatype of source_string, Oracle converts pattern to the datatype of source_string. For a listing of the operators you can specify in pattern, please refer to Appendix C, " Oracle Regular Expression Support".
  • match_parameter is a text literal that lets you change the default matching behavior of the function. You can specify one or more of the following values for match_parameter:
    • 'i' specifies case-insensitive matching.
    • 'c' specifies case-sensitive matching.
    • 'n' allows the period (.), which is the match-any-character wildcard character, to match the newline character. If you omit this parameter, the period does not match the newline character.
    • 'm' treats the source string as multiple lines. Oracle interprets ^ and $ as the start and end, respectively, of any line anywhere in the source string, rather than only at the start or end of the entire source string. If you omit this parameter, Oracle treats the source string as a single line.
    If you specify multiple contradictory values, Oracle uses the last value. For example, if you specify 'ic', then Oracle uses case-sensitive matching. If you specify a character other than those shown above, then Oracle returns an error.
    If you omit match_parameter, then:
    • The default case sensitivity is determined by the value of the NLS_SORT parameter.
    • A period (.) does not match the newline character.
    • The source string is treated as a single line.

      See Also:
      "LIKE "

Examples
The following query returns the first and last names for those employees with a first name of Steven or Stephen (where first_name begins with Ste and ends with en and in between is either v or ph):
SELECT first_name, last_name
FROM employees
WHERE REGEXP_LIKE (first_name, '^Ste(v|ph)en$');

FIRST_NAME           LAST_NAME
-------------------- -------------------------
Steven               King
Steven               Markle
Stephen              Stiles

The following query returns the last name for those employees with a double vowel in their last name (where last_name contains two adjacent occurrences of either aeio, or u, regardless of case):
SELECT last_name
FROM employees
WHERE REGEXP_LIKE (last_name, '([aeiou])\1', 'i');

LAST_NAME
-------------------------
De Haan
Greenberg
Khoo
Gee
Greene
Lee
Bloom
Feeney


REGEXP_REPLACE

Syntax
Description of regexp_replace.gif follows Description of the illustration regexp_replace.gif
Purpose
REGEXP_REPLACE extends the functionality of the REPLACE function by letting you search a string for a regular expression pattern. By default, the function returns source_char with every occurrence of the regular expression pattern replaced with replace_string. The string returned is in the same character set as source_char. The function returns VARCHAR2 if the first argument is not a LOB and returns CLOB if the first argument is a LOB.
This function complies with the POSIX regular expression standard and the Unicode Regular Expression Guidelines. For more information, please refer toAppendix C, "Oracle Regular Expression Support".
  • source_char is a character expression that serves as the search value. It is commonly a character column and can be of any of the datatypes CHAR,VARCHAR2NCHARNVARCHAR2CLOB or NCLOB.
  • pattern is the regular expression. It is usually a text literal and can be of any of the datatypes CHARVARCHAR2NCHAR, or NVARCHAR2. It can contain up to 512 bytes. If the datatype of pattern is different from the datatype of source_char, Oracle Database converts pattern to the datatype ofsource_char. For a listing of the operators you can specify in pattern, please refer to Appendix C, "Oracle Regular Expression Support".
  • replace_string can be of any of the datatypes CHARVARCHAR2NCHARNVARCHAR2CLOB, or NCLOB. If replace_string is a CLOB or NCLOB, then Oracle truncates replace_string to 32K. The replace_string can contain up to 500 backreferences to subexpressions in the form \n, where n is a number from 1 to 9. If n is the backslash character in replace_string, then you must precede it with the escape character (\\). For more information on backreference expressions, please refer to the notes to "Oracle Regular Expression Support"Table C-1.
  • position is a positive integer indicating the character of source_char where Oracle should begin the search. The default is 1, meaning that Oracle begins the search at the first character of source_char.
  • occurrence is a nonnegative integer indicating the occurrence of the replace operation:
    • If you specify 0, then Oracle replaces all occurrences of the match.
    • If you specify a positive integer n, then Oracle replaces the nth occurrence.
  • match_parameter is a text literal that lets you change the default matching behavior of the function. This argument affects only the matching process and has no effect on replace_string. You can specify one or more of the following values for match_parameter:
    • 'i' specifies case-insensitive matching.
    • 'c' specifies case-sensitive matching.
    • 'n' allows the period (.), which is the match-any-character character, to match the newline character. If you omit this parameter, the period does not match the newline character.
    • 'm' treats the source string as multiple lines. Oracle interprets ^ and $ as the start and end, respectively, of any line anywhere in the source string, rather than only at the start or end of the entire source string. If you omit this parameter, Oracle treats the source string as a single line.
    • 'x' ignores whitespace characters. By default, whitespace characters match themselves.
    If you specify multiple contradictory values, Oracle uses the last value. For example, if you specify 'ic', then Oracle uses case-sensitive matching. If you specify a character other than those shown above, then Oracle returns an error.
    If you omit match_parameter, then:
Examples
The following example examines phone_number, looking for the pattern xxx.xxx.xxxx. Oracle reformats this pattern with (xxxxxx-xxxx.
SELECT
  REGEXP_REPLACE(phone_number,
                 '([[:digit:]]{3})\.([[:digit:]]{3})\.([[:digit:]]{4})',
                 '(\1) \2-\3') "REGEXP_REPLACE"
  FROM employees;

REGEXP_REPLACE
--------------------------------------------------------------------------------
(515) 123-4567
(515) 123-4568
(515) 123-4569
(590) 423-4567
. . .

The following example examines country_name. Oracle puts a space after each non-null character in the string.
SELECT
  REGEXP_REPLACE(country_name, '(.)', '\1 ') "REGEXP_REPLACE"
  FROM countries;

REGEXP_REPLACE
--------------------------------------------------------------------------------
A r g e n t i n a
A u s t r a l i a
B e l g i u m
B r a z i l
C a n a d a
. . .

The following example examines the string, looking for two or more spaces. Oracle replaces each occurrence of two or more spaces with a single space.
SELECT
  REGEXP_REPLACE('500   Oracle     Parkway,    Redwood  Shores, CA',
                 '( ){2,}', ' ') "REGEXP_REPLACE"
  FROM DUAL;

REGEXP_REPLACE
--------------------------------------
500 Oracle Parkway, Redwood Shores, CA

select * from employees;

select first_name,  REGEXP_COUNT( first_name, '^[f-i]' ) as pattern_count from  employees;

-------
SELECT first_name, last_name  FROM employees  WHERE REGEXP_LIKE (first_name, '^Ste(v|ph)en$');
---Reempaza algo
SELECT  REGEXP_REPLACE(phone_number,  '([[:digit:]]{3})\.([[:digit:]]{3})\.([[:digit:]]{4})',   '(\1) \2-\3') "REGEXP_REPLACE"  FROM employees;
SELECT  REGEXP_REPLACE(first_name,  'a',   'b') "REGEXP_REPLACE"  FROM employees;
--The following example examines country_name. Oracle puts a space after each non-null character in the string.
SELECT  REGEXP_REPLACE(country_name, '(.)', '\1 ') "REGEXP_REPLACE"   FROM countries;
--El metacaracter () porner  expresion dentro de otra 
--- REGEXP_COUNT  si se ponen en el where es para comparar si se pone en el select es para retornar 
----  En que posicion de la cadena se cumple la expresion  ejemplo le[a-c] alea retornaria 2
SELECT last_name, REGEXP_INSTR(last_name, '[aeiou]') FROM   hr.employees;
----Saca un pedazo de la cadena
SELECT last_name, REGEXP_SUBSTR(last_name, '^[AC]') FROM   hr.employees;
---i, j retorna  cuantas  la letra  cuando aparezca j veces Ana 1,2 retorna la segunda  a
---i a partir de cual numero j:cantidad de ocurrencias
SELECT last_name, REGEXP_SUBSTR ( Upper(last_name), 'A',1,2) FROM  hr.employees;
---a partir del caracter 5 hay una a
SELECT last_name, REGEXP_SUBSTR ( Upper(last_name), 'A',5,1) FROM  hr.employees;
SELECT * FROM   hr.employees where  REGEXP_SUBSTR(last_name, 'a')=hr.last_name;
----Start at 3rd position, extract 2 characters from the last ----
SELECT last_name, REGEXP_SUBSTR(last_name, '..',3) FROM   hr.employees;


Programacion en Prolog

http://download.cnet.com/SWI-Prolog-32-bit/3001-2352_4-75375602.html?spi=5f15c7d3d32cded2de366bc067b3bc3a

PROYECTO DIAGNOSTICO DE ENFERMEDADES

ENFERMEDADES

ENFERMEDADES INFECCIOSAS


Infecciones bacterianas 

EnfermedadAgentePrincipales síntomas
BrucelosisBrucella spp.Fiebre ondulante, adenopatíaendocarditisneumonía
CarbuncoBacillus anthracisFiebrepápula cutánea, septicemia.
CóleraVibrio choleraeFiebrediarreavómitosdeshidratación.
DifteriaCorynebacterium diphtheriaeFiebreamigdalitis, membrana en la garganta: lesiones en la piel
Streptococcus pyogenesFiebreamigdalitiseritema
ErisipelaStreptococcus spp.Fiebreeritemapruritodolor
Fiebre QCoxiella burnetiiFiebre alta, cefalea intensa, mialgia, confusión, vómitosdiarrea
Fiebre tifoideaSalmonella typhiS. paratyphiFiebre alta, bacteriemiacefalalgiaestupor, tumefacción de la mucosa nasal, lengua tostada, úlceras en el paladar; hepatoesplenomegaliadiarrea], perforación intestinal
LegionelosisLegionella pneumophilaFiebreneumonía
NeumoníaStreptococcus pneumoniae,Staphylococcus aureus,
Klebsiella pneumoniae,Mycoplasma spp., Chlamydiaspp.
Fiebre alta, expectoración amarillenta y/o sanguinolenta, dolor torácico.
TuberculosisMycobacterium tuberculosisFiebrecansancio, sudor nocturno; necrosis pulmonar
TétanosClostridium tetaniFiebreparálisis

Infecciones víricas 

EnfermedadAgentePrincipales síntomas
DengueFlavivirusFiebredolor intenso en las articulaciones y músculosinflamación de losganglios linfáticos y erupción ocasional de la piel
Fiebre amarillaFlavivirusFiebre alta, ictericia, sangrado de nariz y boca, vómito negro, bradicardia a pesar de la fiebre, deshidratación
Fiebre hemorrágica de ÉbolaFilovirusFiebre alta, postración, mialgiaartralgiasdolor abdominalcefalea,erupciones hemorrágicas en todo el cuerpo.
GripeInfluenzavirusFiebreasteniaanorexiacefalea, malestar general, tos seca, dolor degargantagastroenteritisvómitosdiarrea.
Hepatitis AB,CA: Enterovirus (VHA); B:Orthohepadnavirus (VHB); C:Hepacivirus (VHC)Inflamación del hígadofiebrecansancionáuseasdiarrea
HerpesHerpesvirusAmpollas cutáneas en la boca (herpes labial), en los genitales (herpes genital) o en la piel (herpes zóster)
MononucleosisVirus de Epstein-BarrFiebrefaringitisinflamación de los ganglios linfáticosfatiga
Parotiditis(Paperas)ParamixovirusFiebrecefaleadolor e inflamación de las glándulas salivales
Peste porcinaPestivirusFiebreadelgazamientoleucopeniatembloresparálisismuerte
PoliomielitisEnterovirusInflamación en las neuronas motoras de la columna vertebral y del cerebro que ocasiona parálisis y atrofia muscular
RabiaRhabdovirusFiebrevómitosconfusiónagresividadalucinacionesconvulsionesparálisis,diplopíahidrofobiacoma y muerte
Resfriado comúnRinovirusCoronavirusEcovirus,CoxsackievirusEstornudos, secreción, congestión y picor nasal, dolor de gargantatos,cefalea, malestar general
RubéolaRubivirusFiebrecefaleaerupciones en la piel, malestar general, enrojecimiento de los ojos, faringitisinflamación dolorosa de ganglios alrededor de la nuca
SarampiónMorbillivirusFiebreerupciones en la pieltosrinitisdiarreaneumoníaencefalitis
VaricelaVaricela-zosterFiebrecefalea, malestar general, adelgazamientoerupción cutánea en forma de ampollas
ViruelaOrthopoxvirusFiebre alta, malestar, cefalea, fuerte erupción cutánea en forma de pústulas, que dejan graves cicatrices en la piel

ENFERMEDADES CANCEROSAS Y TUMORALES

Síntomas

Cancer del Higado
Los síntomas del cáncer de hígado en las etapas iniciales son vagos y, con frecuencia, pasan desapercibidos.
El cáncer de hígado puede provocar los siguientes síntomas:
  • Pérdida de apetito
  • Pérdida de peso sin explicación
  • Fiebre
  • Fatiga
  • Debilidad
  • Dolor abdominal
  • Hinchazón abdominal
  • Náuseas
  • Orina oscura
  • Color amarillento de la piel y/o en el blanco de los ojos
Nota: Estos síntomas también pueden surgir a raíz de otras condiciones de salud menos graves. La persona que sienta dichos síntomas debe consultar a un médico.

Cancer del Seno...

Síntomas

Al desarrollarse inicialmente el cáncer del seno, puede no presentar ningún síntoma. Sin embargo, a medida que crece el cáncer, puede causar los siguientes cambios:
  • Un bulto o espesamiento en el seno o cerca del mismo o en el área de la axila
  • Cambio en el tamaño o la forma del seno
  • Secreción del pezón o dolor en el mismo, o pezón invertido hacia dentro del pecho
  • Arrugas u hoyuelos en la piel del seno (como la cáscara de una naranja)
  • Cambio en el aspecto o al palpar la piel del seno, de la areola o del pezón (por ejemplo, caliente, hinchada, roja o escamosa)
Nota: Estos síntomas también pueden ser ocasionados por otros problemas de salud menos graves. Cualquiera que experimente estos síntomas debe consultar un médico

Cancer de los Huesos...


Síntomas

Los síntomas del cáncer de hígado en las etapas iniciales son vagos y, con frecuencia, pasan desapercibidos.
El cáncer de hígado puede provocar los siguientes síntomas:
  • Pérdida de apetito
  • Pérdida de peso sin explicación
  • Fiebre
  • Fatiga
  • Debilidad
  • Dolor abdominal
  • Hinchazón abdominal
  • Náuseas
  • Orina oscura
  • Color amarillento de la piel y/o en el blanco de los ojos
Nota: Estos síntomas también pueden surgir a raíz de otras condiciones de salud menos graves. La persona que sienta dichos síntomas debe consultar a un médico.

Cancer Uterino


Síntomas

Los síntomas incluyen:
  • Sangramiento anormal entre períodos menstruales
  • Sangramiento vaginal o manchas de sangre en las mujeres posmenopáusicas
  • Dolor en el área pélvica
  • Dolor al orinar
  • Dolor durante las relaciones sexuales
Nota: Estos síntomas también pueden surgir a raíz de otras condiciones de salud menos graves. La mujer que presente estos síntomas debe visitar a su médico.

Cancer del Pulmon

Síntomas

Los síntomas incluyen:
  • Tos que no desaparece o empeora con el tiempo
  • Dolor constante en el pecho
  • Escupir sangre al toser
  • Falta de aire, silbido en el pecho o afonía
  • Problemas repetitivos con neumonía o bronquitis
  • Hinchazón de cuello y rostro
  • Pérdida de apetito o de peso
  • Fatiga
Nota: Estos síntomas también pueden surgir a raíz de otras condiciones de salud menos graves. Cualquiera que experimente estos síntomas debe consultar a un médico.


Cancer de la Piel

Síntomas

Raramente causan dolor los cánceres de piel. El síntoma inicial más común es algún cambio en la piel, como la aparición de un bulto o una lastimadura que no cicatriza. En su fase inicial, el cáncer de piel puede tener los siguientes aspectos:
  • Un bulto pequeño, liso, con brillo, pálido o ceroso
  • Un bulto firme y rojo
  • Un bulto que sangra o crea una costra
  • Una mancha chata y roja que es áspera, seca o escamosa


Cancer del Riñon

Síntomas

Los síntomas pueden incluir:
  • Sangre en la orina
  • Dolor sin explicación en la baja espalda
  • Bulto en la panza
  • Presión sanguínea elevada
  • Pérdida de peso significativa, no planeada
  • Fiebre sin explicación
  • Hinchazón de tobillos, piernas y/o abdomen


ENFERMEDADES DE LA SANGRE 

Anemia.

Fatiga.
Dolor de pecho.
Dificultad para respirar.
Palidez anormal o pérdida de color en la piel.
Aceleración de la frecuencia cardíaca (taquicardia).
Mareos o vértigo, especialmente cuando se está de pie.
Dolores de cabeza.
Irritabilidad.
Ciclos menstruales irregulares.
Ausencia o retraso de la menstruación (amenorrea).
Llagas o inflamación en la lengua (glositis).
Ictericia o color amarillento de la piel, los ojos y la boca
Aumento del tamaño del bazo o del hígado (esplenomegalia, hepatomegalia)
Retraso o retardo del crecimiento y el desarrollo.
Cicatrización lenta de heridas y tejidos.


Leucemia

Decaimiento.
Palidez.
Temperatura.
Dolores de los huesos.
Sudoración nocturna.
Disnea.
Hematomas.
Sangrado fácil de mas de un sitio (encías, nasal, metrorragia).
Infecciones recurrentes.
Pérdida de peso.
Dolor abdominal.
Linfadenopatías.
Esplenomegalia.



Hemorragia

Sangre que sale por una herida abierta.
Magulladuras.
Shock.
Palidez.
Piel fría y húmeda.
Mareos o aturdimiento tras sufrir una lesión.
Ritmo cardíaco o pulso acelerado.
Presión sanguínea baja.
Confusión o disminución del estado de alerta.
Debilidad.
Internos: Cualquiera de los anteriormente mencionados y además:
Dolor abdominal.
Abdomen hinchado.
Signos de shock.
Hemorragia externa por un orificio natural.
Sangre en la heces de color rojo vivo, marrón o negro.
Sangre en la orina, de tonalidades rojas, rosa o color té.
Hemorragia vaginal más profusa o por más tiempo de lo normal.
Sangre en el vómito, de color rojo vivo o marrón como el café.


Hipertensión Arterial

Ansiedad.
Mareos.
Fatiga.
Dolores de cabeza.
Confusión.
Distorsión de la visión.
Náuseas.
Vómitos.
Dolor de pecho.
Respiración entrecortada.
Zumbidos en los oídos.
Hemorragia nasal.
Sudor excesivo.
Latidos cardíacos irregulares.
Cansancio.

ENFERMEDADES DEL APARATO DIGESTIVO

Apendicitis



ENFERMEDADES DE LA PIEL

acne

  • Lesión o sarpullido en la piel de la cara, pecho, cuello, espalda, u otra área.
  • Comedones (o
  • espinillas).
  • Pústulas.
  • Quistes.Pápulas.
  • Nódulos.
  • Enrojecimiento (eritema) de la piel, alrededor de las lesiones.
  • Inflamación alrededor de las erupciones.
  • Incrustación de las erupciones de la piel.
  • Cicatrices en la piel.

Herpes simple
Lo primero que suele aparecer es picor y quemazón en la zona que posteriormente se localizará la erupción. El aumento de la sensibilidad en la zona y quemazón suele aparecer uno o dos días antes de la aparición de las lesiones típicas del herpes simple que son:
  • Erupción de la piel con vesículas localizadas alrededor de los labioso o boca.
  • Las vesículas contienen un líquido claro amarillento.
  • Pueden juntarse apareciendo ampollas enrojecidas.
  • La zona queda dolorosa y con quemazón.
  • Posteriormente tanto las vesículas como las ampollas se rompen y forman una costra amarilla.
  • Esta costra caerá a posteriormente dejando una piel cicatricial.
  • Puede aparecer algo de fiebre y engrosamiento de los ganglios del cuello.



Uso de StringTokenizer con varios caracteres separadores (Java)

http://ubuntuarte.com/wordpress/wp-content/uploads/2008/06/java-orangebox.png


Todos hemos tenido que utilizar alguna vez StringTokenizer para separar subcadenas a partir de una cadena dada. Esto es muy sencillo si esas subcadenas son independientes entre sí. Pero ¿y si se organizan en forma "clave-valor"?. Por ejemplo, la siguiente cadena tiene la forma "jugador-deporte":

"Ronaldo=Futbol;Gasol=Baloncesto;Nadal=Tenis;Jordan=Baloncesto;"

Aquí tendríamos que tener en cuenta dos caracteres separadores: "=" y ";". Además, las subcademas habría que tratarlas teniendo en cuenta que las impares son nombres de deportistas y que las pares son nombres de deportistas. Lo mejor es que veamos unejemplo:





El código



   import java.util.StringTokenizer;

   class PruebaST{

   static String entrada = "Ronaldo=Futbol;Gasol=Baloncesto;Nadal=Tenis;Jordan=Baloncesto;";

   public static void main(String args[]) {

   StringTokenizer st = new StringTokenizer(entrada, "=;");

   while(st.hasMoreTokens()) {

   String jugador = st.nextToken();

   String deporte = st.nextToken();

   System.out.println(jugador + " " + deporte);

   }

   }

   }





Resultado


La salida que daría ese código sería la siguiente:


   Ronaldo Futbol
   Gasol Baloncesto
   Nadal Tenis
   Jordan Baloncesto


import java.util.StringTokenizer; class PruebaST{ Fiebre ondulante, adenopatíaendocarditisneumonía static String entrada = "fiebre=brucelosis;ondulante=brucelosis;adenopatía=brucelosis;
endocarditis=brucelosis;neumonía=brucelosis;";
public static void main(String args[]) { StringTokenizer st = new StringTokenizer(entrada, "=;"); while(st.hasMoreTokens()) { String jugador = st.nextToken(); String deporte = st.nextToken(); System.out.println("sintomade("+sintoma+ " " + enfermedad+").");
} } }